mprod.m_prod

mprod.m_prod(tens_a: numpy.ndarray, tens_b: numpy.ndarray, fun_m: Callable[numpy.ndarray, numpy.ndarray], inv_m: Callable[numpy.ndarray, numpy.ndarray]) numpy.ndarray[source]

Returns the \(\star_{\mathbf{M}}\) product of tensors A and B where A.shape == (m,p,n) and B.shape == (p,r,n).

Parameters
tens_a: array-like

3’rd order tensor with shape m x p x n

tens_b: array-like

3’rd order tensor with shape p x r x n

fun_m: MatrixTensorProduct, Callable[[NumpynDArray], NumpynDArray]

Invertible linear mapping from R^n to R^n

inv_m: MatrixTensorProduct, Callable[[NumpynDArray], NumpynDArray]

Invertible linear mapping from R^n to R^n ( fun_m(inv_m(x)) = inv_m(fun_m(x)) = x )

Returns
tensor: array-like

3’rd order tensor of shape m x r x n that is the star \(\star_{\mathbf{M}}\) product of A and B