mprod.decompositions.tqrm

mprod.decompositions.tqrm(tens_a: numpy.ndarray, fun_m: Callable[numpy.ndarray, numpy.ndarray], inv_m: Callable[numpy.ndarray, numpy.ndarray], hats: bool = False) Tuple[numpy.ndarray, numpy.ndarray][source]

The tqrm implements tensor-QR decomposition: Q,R = tqrm(tensor_a, m, inv_m) where Q is M-orthogonal tensor of shape (m,m,n) and R is f-upper triangular tensor of shape (m,p,n)

Parameters
tens_a: np.ndarray

Tensor of shape (m,p,n)

fun_m: MatrixTensorProduct

Invertible mat-vec operation for transforming tens_a tube fibers

inv_m: MatrixTensorProduct

Invertible mat-vec operation for transforming tens_a tube fibers. This operation is the inverse of fun_m

hats: bool

Setting this to True will cause the function to return the tqrm factors in the tensor domain transform.

Returns
tens_q: np.ndarray

M-orthogonal tensor of shape (m,m,n)

tens_r: np.ndarray

f-upper triangular tensor of shape (m,p,n)