GCDHyperparameters#

class GCDHyperparameters(max_proj_cstrt_num=10, orthonormalize=True, ortho_metric='hilbert_schmidt', opt_params=None, max_gcd_iter_num=50, gcd_iter_period=5, gcd_tol=0.01)[source]#

Bases: object

Hyperparameters for GCD algorithm.

Parameters:
  • max_proj_cstrt_num (int)

  • orthonormalize (bool)

  • ortho_metric (Literal['euclidean', 'hilbert_schmidt'])

  • opt_params (OptimizationHyperparameters | None)

  • max_gcd_iter_num (int)

  • gcd_iter_period (int)

  • gcd_tol (float)

max_proj_cstrt_num#

Maximum number of projector constraints to keep during GCD.

Type:

int

orthonormalize#

Whether to keep projector constraints orthonormalized.

Type:

bool

ortho_metric#

Inner product used for orthonormalization. Either "hilbert_schmidt" (the default: orthonormalize the constraints themselves, in the augmented Hilbert-Schmidt metric that reflects how each constraint enters the dual) or "euclidean" (orthonormalize the raw projector data vec(P_j)). See _hs_gram_matrix(). Ignored if orthonormalize is False.

Type:

str

opt_params#

Optimization hyperparameters used for the internal dual solve at each GCD iteration. If None, GCD uses defaults suitable for frequent re-solves (notably max_restart=1).

Type:

OptimizationHyperparameters | None

max_gcd_iter_num#

Maximum number of GCD iterations.

Type:

int

gcd_iter_period#

Period for checking GCD convergence.

Type:

int

gcd_tol#

Relative tolerance for GCD convergence.

Type:

float

Attributes Summary

Attributes Documentation

gcd_iter_period: int = 5#
gcd_tol: float = 0.01#
max_gcd_iter_num: int = 50#
max_proj_cstrt_num: int = 10#
opt_params: OptimizationHyperparameters | None = None#
ortho_metric: Literal['euclidean', 'hilbert_schmidt'] = 'hilbert_schmidt'#
orthonormalize: bool = True#