Resolve sistemas de equações lineares com matrizes triangulares superiores ou inferiores por retrosubstituição.
`matriz` é um tensor de forma `[..., M, M]` cujas 2 dimensões mais internas formam matrizes quadradas. Se `lower` for `True` então a parte triangular estritamente superior de cada matriz mais interna é considerada zero e não acessada. Se `inferior` for falso, então a parte triangular estritamente inferior de cada matriz mais interna é considerada zero e não acessada. `rhs` é um tensor de forma `[..., M, N]`.
A saída é um tensor de forma `[..., M, N]`. Se `adjoint` for `True` então as matrizes mais internas em `output` satisfazem as equações matriciais `matrix[..., :, :] * output[..., :, :] = rhs[..., :, :]`. Se `adjoint` for `False` então estritamente as matrizes mais internas em `output` satisfazem as equações matriciais `adjoint(matrix[..., i, k]) * output[..., k, j] = rhs[ ..., eu, j]`.
Observe que os formatos de lote para as entradas só precisam ser transmitidos.
Exemplo:
a = tf.constant([[3, 0, 0, 0],
[2, 1, 0, 0],
[1, 0, 1, 0],
[1, 1, 1, 1]], dtype=tf.float32)
b = tf.constant([[4],
[2],
[4],
[2]], dtype=tf.float32)
x = tf.linalg.triangular_solve(a, b, lower=True)
x
# <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
# array([[ 1.3333334 ],
# [-0.66666675],
# [ 2.6666665 ],
# [-1.3333331 ]], dtype=float32)>
# in python3 one can use `a@x`
tf.matmul(a, x)
# <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
# array([[4. ],
# [2. ],
# [4. ],
# [1.9999999]], dtype=float32)>
Classes aninhadas
aula | TriangularSolve.Options | Atributos opcionais para TriangularSolve |
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
TriangularSolve.Options estático | adjunto (adjunto booleano) |
Saída <T> | asOutput () Retorna o identificador simbólico do tensor. |
estático <T estende TType > TriangularSolve <T> | |
TriangularSolve.Options estático | inferior (booleano inferior) |
Saída <T> | saída () A forma é `[..., M, K]`. |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
public static TriangularSolve.Options adjunto (adjunto booleano)
Parâmetros
adjunto | Booleano indicando se deve ser resolvido com `matriz` ou seu adjunto (em bloco). |
---|
Saída pública <T> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static TriangularSolve <T> create ( Escopo , Operando <T> matriz, Operando <T> rhs, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação TriangularSolve.
Parâmetros
escopo | escopo atual |
---|---|
matriz | A forma é `[..., M, M]`. |
rh | A forma é `[..., M, K]`. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância do TriangularSolve
public static TriangularSolve.Options inferior (booleano inferior)
Parâmetros
mais baixo | Booleano que indica se as matrizes mais internas em `matriz` são triangulares inferiores ou superiores. |
---|