Annotations for Linear Operators
Applying an annotation to a linear operator will add to its set of annotations attribute.
A = cola.SelfAdjoint(LinearOperator(...))
A.annotations
# Output:
# {cola.SelfAdjoint}
These annotations can be to make simplifications, such as for transposes or the algorithms used.
A.isa(cola.SelfAdjoint)
# Output:
# True
- class cola.annotations.Stiefel(obj: LinearOperator)[source]
Bases:
Annotation
Annotation for Stiefel matrices (incomplete unitary). A^H A = I but A A^H != I.
- class cola.annotations.Unitary(obj: LinearOperator)[source]
Bases:
Stiefel
Annotation for Unitary matrices. A^H A = I and A A^H = I.
- class cola.annotations.SelfAdjoint(obj: LinearOperator)[source]
Bases:
Annotation
Annotation for Self-Adjoint (Hermitian) matrices. A^H=A Means symmetric for real matrices. A^T = A
- class cola.annotations.PSD(obj: LinearOperator)[source]
Bases:
SelfAdjoint
Annotation for Positive Semi-Definite matrices. A >= 0 all eigenvalues are greater than or equal to zero, and the matrix should be self-adjoint.
- cola.annotations.get_annotations(A)[source]
Return the get_annotations of a linear operator. Called in the constructor of LinearOperator.
- cola.annotations.get_annotations(A: cola.ops.operators.Kronecker)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Product)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Sum)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.BlockDiag)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Hessian)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Identity)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Permutation)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Sliced)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Transpose)[source]
- cola.annotations.get_annotations(A: cola.ops.operators.Adjoint)[source]