fips.linalg.KroneckerOperator.sqrt#

KroneckerOperator.sqrt()[source]#

Return a square root \(R\) with \(R R^T\) equal to the operator, through the factors.

When the rows are the whole product, in any order, \(R = D P (L_1 \otimes \dots \otimes L_K) P^T\), where \(L_k\) is the lower Cholesky factor of \(C_k\): since \(P\) is then a permutation, \(R R^T = S\). It is applied through the factors, as the operator is, and never formed. For a strict subset of the product, \(P^T P\) is not the identity, so the dense matrix is factored (LinearOperator.sqrt()).

Returns:

\(R\), square.

Return type:

LinearOperator

Raises:

numpy.linalg.LinAlgError – If a factor is not positive-definite or a standard deviation is zero.