|TensorFlow 1 version||View source on GitHub|
LinearOperator acting like a [batch] of toeplitz matrices.
Compat aliases for migration
See Migration guide for more details.
tf.linalg.LinearOperatorToeplitz( col, row, is_non_singular=None, is_self_adjoint=None, is_positive_definite=None, is_square=None, name='LinearOperatorToeplitz' )
This operator acts like a [batch] Toeplitz matrix
A with shape
[B1,...,Bb, N, N] for some
b >= 0. The first
b indices index a
batch member. For every batch index
A[i1,...,ib, : :] is
N x N matrix. This matrix
A is not materialized, but for
purposes of broadcasting this shape will be relevant.
Description in terms of toeplitz matrices
Toeplitz means that
A has constant diagonals. Hence,
A can be generated
with two vectors. One represents the first column of the matrix, and the
other represents the first row.
Below is a 4 x 4 example:
A = |a b c d| |e a b c| |f e a b| |g f e a|
Example of a Toeplitz operator.
# Create a 3 x 3 Toeplitz operator. col = [1., 2., 3.] row = [1., 4., -9.] operator = LinearOperatorToeplitz(col, row) operator.to_dense() ==> [[1., 4., -9.], [2., 1., 4.], [3., 2., 1.]] operator.shape ==> [3, 3] operator.log_abs_determinant() ==> scalar Tensor x = ... Shape [3, 4] Tensor operator.matmul(x) ==> Shape [3, 4] Tensor
This operator acts on [batch] matrix with compatible shape.
x is a batch matrix with compatible shape for
operator.shape = [B1,...,Bb] + [N, N], with b >= 0 x.shape = [C1,...,Cc] + [N, R], and [C1,...,Cc] broadcasts with [B1,...,Bb] to [D1,...,Dd]
Matrix property hints
LinearOperator is initialized with boolean flags of the form
X = non_singular, self_adjoint, positive_definite, square.
These have the following meaning:
is_X == True, callers should expect the operator to have the property
X. This is a promise that should be fulfilled, but is not a runtime assert. For example, finite floating point precision may result in these promises being violated.
is_X == False, callers should expect the operator to not have
is_X == None(the default), callers should have no expectation either way.
||Expect that this operator is non-singular.|
Expect that this operator is equal to its hermitian
Expect that this operator is positive definite,
meaning the quadratic form
||Expect that this operator acts like square [batch] matrices.|
A name for this
Returns the adjoint of the current |