Resuelve sistemas de ecuaciones lineales con matrices triangulares superiores o inferiores mediante sustitución inversa.
`matriz` es un tensor de forma `[..., M, M]` cuyas 2 dimensiones más internas forman matrices cuadradas. Si "inferior" es "Verdadero", entonces se supone que la parte triangular estrictamente superior de cada matriz más interna es cero y no se accede a ella. Si "inferior" es Falso, entonces se supone que la parte triangular estrictamente inferior de cada matriz más interna es cero y no se accede a ella. `rhs` es un tensor de forma `[..., M, N]`.
La salida es un tensor de forma `[..., M, N]`. Si `adjoint` es `True`, entonces las matrices más internas en `output` satisfacen las ecuaciones matriciales `matriz[..., :, :] * salida[..., :, :] = rhs[..., :, :]`. Si `adjoint` es `Falso`, entonces estrictamente las matrices más internas en `output` satisfacen las ecuaciones matriciales `adjoint(matriz[..., i, k]) * salida[..., k, j] = rhs[ ..., yo, j]`.
Tenga en cuenta que las formas por lotes para las entradas solo necesitan transmitirse.
Ejemplo:
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)>
 Clases anidadas
| clase | Opciones de solución triangular | Atributos opcionales para TriangularSolve | |
Constantes
| Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. | 
Métodos públicos
| Opciones de resolución triangular estáticas |  adjunto (adjunto booleano) | 
| Salida <T> |  como salida ()  Devuelve el identificador simbólico del tensor. | 
| estático <T extiende TType > TriangularSolve <T> |  crear (alcance alcance , matriz de operando <T>, operando <T> rhs, opciones... opciones)  Método de fábrica para crear una clase que envuelve una nueva operación TriangularSolve. | 
| Opciones de resolución triangular estáticas |  inferior (booleano inferior) | 
| Salida <T> |  producción ()  La forma es `[..., M, K]`.  | 
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
Adjunto público estático TriangularSolve.Options (adjunto booleano)
Parámetros
| adjunto | Booleano que indica si se debe resolver con `matriz` o su adjunto (por bloques). | 
|---|
Salida pública <T> como Salida ()
Devuelve el identificador simbólico del tensor.
Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.
pública estática TriangularSolve <T> crear (alcance alcance , matriz de operando <T>, operando <T> rhs, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación TriangularSolve.
Parámetros
| alcance | alcance actual | 
|---|---|
| matriz | La forma es `[..., M, M]`. | 
| derecho | La forma es `[..., M, K]`. | 
| opciones | lleva valores de atributos opcionales | 
Devoluciones
- una nueva instancia de TriangularSolve
pública estática TriangularSolve.Options inferior (booleano inferior)
Parámetros
| más bajo | Booleano que indica si las matrices más internas de "matriz" son triangulares inferiores o superiores. | 
|---|