optimization.variable.chebyshev_coeff

Chebyshev Coefficients Variable Module

This module contains the class for a Chebyshev coefficient variable in an optic system. The ChebyshevCoeffVariable class is a subclass of the PolynomialCoeffVariable class that represents a variable for a Chebyshev coefficient of a ChebyshevGeometry. It is used in the optimization process for Chebyshev geometries.

Kramer Harrison, 2024

Classes

ChebyshevCoeffVariable(optic, ...[, scaler])

Represents a variable for a Chebyshev coefficient of a ChebyshevGeometry.

class ChebyshevCoeffVariable(optic, surface_number, coeff_index, scaler=None, **kwargs)[source]

Represents a variable for a Chebyshev coefficient of a ChebyshevGeometry.

Parameters:
  • optic (Optic) – The optic object associated with the variable.

  • surface_number (int) – The index of the surface in the optical system.

  • coeff_index (tuple(int, int)) – The (x, y) indices of the Chebyshev coefficient.

  • scaler (Scaler) – The scaler to use for the variable. Defaults to IdentityScaler().

  • **kwargs – Additional keyword arguments.

coeff_number

The index of the Chebyshev coefficient.

Type:

int

get_value()

Get the current value of the polynomial coefficient.

Returns:

The current value of the polynomial coefficient.

Return type:

float

inverse_scale(scaled_value)

Inverse scale the value of the variable.

Parameters:

scaled_value – The scaled value to inverse scale

scale(value)

Scale the value of the variable for improved optimization performance.

Parameters:

value – The value to scale

update_value(new_value)

Update the value of the polynomial coefficient.

Parameters:

new_value (float) – The new value of the polynomial coefficient.