tfmri.linalg.LinearOperatorComposition
tfmri.linalg.LinearOperatorComposition¶
- class LinearOperatorComposition(operators, is_non_singular=None, is_self_adjoint=None, is_positive_definite=None, is_square=None, name=None)[source]¶
Bases:
tensorflow_mri.python.util.linalg_imaging.LinalgImagingMixin
,tensorflow.python.ops.linalg.linear_operator_composition.LinearOperatorComposition
Composes one or more linear operators.
LinearOperatorComposition
is initialized with a list of operators \(A_1, A_2, ..., A_J\) and represents their composition \(A_1 A_2 ... A_J\).- Parameters
operators – A list of
LinearOperator
objects, each with the samedtype
and composable shape.is_non_singular – Expect that this operator is non-singular.
is_self_adjoint – Expect that this operator is equal to its Hermitian transpose.
is_positive_definite – Expect that this operator is positive definite, meaning the quadratic form \(x^H A x\) has positive real part for all nonzero \(x\). Note that we do not require the operator to be self-adjoint to be positive-definite.
is_square – Expect that this operator acts like square [batch] matrices.
name – A name for this
LinearOperator
. Default is the individual operators names joined with_o_
.
Initialize a
LinearOperatorComposition
.LinearOperatorComposition
is initialized with a list of operators[op_1,...,op_J]
. For thematmul
method to be well defined, the compositionop_i.matmul(op_{i+1}(x))
must be defined. Other methods have similar constraints.- Parameters
operators – Iterable of
LinearOperator
objects, each with the samedtype
and composable shape.is_non_singular – Expect that this operator is non-singular.
is_self_adjoint – Expect that this operator is equal to its hermitian transpose.
is_positive_definite – Expect that this operator is positive definite, meaning the quadratic form
x^H A x
has positive real part for all nonzerox
. Note that we do not require the operator to be self-adjoint to be positive-definite. See: https://en.wikipedia.org/wiki/Positive-definite_matrix#Extension_for_non-symmetric_matricesis_square – Expect that this operator acts like square [batch] matrices.
name – A name for this
LinearOperator
. Default is the individual operators names joined with_o_
.
- Raises
TypeError – If all operators do not have the same
dtype
.ValueError – If
operators
is empty.