Skip to content

cagpjax.linalg.congruence

Congruence transformations for linear operators.

congruence_transform(A, B)

congruence_transform(A: Any, B: Any) -> Any
congruence_transform(A: Diagonal, B: Diagonal) -> Diagonal
congruence_transform(A: BlockDiagonalSparse, B: Diagonal | ScalarMul) -> Diagonal

Congruence transformation A @ B @ A.T.

Parameters:

Name Type Description Default
A Any

Linear operator or array to be applied.

required
B Any

Square linear operator or array to be transformed.

required
Source code in src/cagpjax/linalg/congruence.py
@cola.dispatch
def congruence_transform(A: Any, B: Any) -> Any:
    """Congruence transformation ``A @ B @ A.T``.

    Args:
        A: Linear operator or array to be applied.
        B: Square linear operator or array to be transformed.
    """
    pass