optimization.variable.variable

Variable Module

This module contains the Variable class for defining variables in an optical system for optimization. The Variable class serves as a wrapper around specific variable behaviors defined in separate modules.

Kramer Harrison, 2024

Classes

Variable(optic, type_name[, min_val, ...])

Represents a general variable in an optical system for optimization.

class Variable(optic, type_name, min_val=None, max_val=None, scaler: Scaler = None, **kwargs)[source]

Represents a general variable in an optical system for optimization.

This class serves as a backend-agnostic abstraction for variables used in optical system optimization. It acts as a wrapper around specific variable behaviors defined in separate modules, and can be used with multiple optimization backends. :param optic: The optical system to which the variable

belongs.

Parameters:
  • type (str) – The type of the variable.

  • min_val (float or None) – The minimum value allowed for the variable. Defaults to None.

  • max_val (float or None) – The maximum value allowed for the variable. Defaults to None.

  • scaler (Scaler) – The scaler to use for the variable. Defaults to None, which will use the default scaler for the variable type.

  • **kwargs – Additional keyword arguments to be stored as attributes of the variable.

Properties:

value: The current value of the variable. bounds: The bounds of the variable.

update(new_value)[source]

Updates the variable to a new value.

Raises:

ValueError – If an invalid variable type is provided.

static allowed_attributes()[source]

This method returns a set of strings that are the names of allowed attributes.

property bounds

Returns the bounds of the variable as a tuple.

Returns:

the bounds of the variable

Return type:

tuple

reset()[source]

Reset the variable to its initial value.

update(new_value)[source]

Update variable to a new value.

Parameters:

new_value (float) – The new value with which to update the variable.

Raises:

ValueError – If the variable type is invalid.

property value

Return the value of the variable.

Returns:

The value of the variable.

Return type:

float

Raises:

ValueError – If the variable type is invalid.