cagpjax.linalg
Linear algebra functions.
Modules:
-
congruence–Congruence transformations for linear operators.
-
eigh–Hermitian eigenvalue decomposition.
-
lower_cholesky–Lower Cholesky decomposition of positive semidefinite operators.
-
orthogonalize–Orthogonalization methods.
-
utils–Linear algebra utilities.
Classes:
-
Eigh–Eigh algorithm for eigenvalue decomposition.
-
Lanczos–Lanczos algorithm for approximate partial eigenvalue decomposition.
-
OrthogonalizationMethod–Methods for orthogonalizing a matrix.
Functions:
-
congruence_transform–Congruence transformation
A.T @ B @ A.
Eigh
Bases: Algorithm
Eigh algorithm for eigenvalue decomposition.
Lanczos
Lanczos(max_iters: int | None = None, /, *, v0: Float[Array, N] | None = None, key: PRNGKeyArray | None = None)
Bases: Algorithm
Lanczos algorithm for approximate partial eigenvalue decomposition.
Parameters:
-
(max_itersint | None, default:None) –Maximum number of iterations (number of eigenvalues/vectors to compute). If
None, all eigenvalues/eigenvectors are computed. -
(v0Float[Array, N] | None, default:None) –Initial vector. If
None, a random vector is generated usingkey. -
(keyPRNGKeyArray | None, default:None) –Random key for generating a random initial vector if
v0is not provided.
Source code in src/cagpjax/linalg/eigh.py
OrthogonalizationMethod
Bases: Enum
Methods for orthogonalizing a matrix.
Attributes:
congruence_transform
Congruence transformation A.T @ B @ A.
Parameters:
-
(AAny) –Linear operator or array to be applied.
-
(BAny) –Square linear operator or array to be transformed.