Resuelve sistemas de ecuaciones lineales con matrices triangulares superiores o inferiores mediante sustitución inversa.
`matrix` es un tensor de forma` [..., M, M] `cuyas 2 dimensiones más internas forman matrices cuadradas. Si "lower" es "True", entonces se supone que la parte triangular estrictamente superior de cada matriz más interna es cero y no se accede a ella. Si `lower` es False, 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` matrix [...,:,:] * output [...,:,:] = rhs [...,:, :] `. Si `adjoint` es` False` entonces estrictamente entonces las matrices más internas en `output` satisfacen las ecuaciones matriciales` adjoint (matrix [..., i, k]) * output [..., k, j] = rhs [ ..., yo, j] `.
Tenga en cuenta que las formas de lote para las entradas solo deben 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 | TriangularSolve.Options | Los atributos opcionales para TriangularSolve | |
Constantes
| Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow | 
Métodos públicos
| estáticas TriangularSolve.Options |  adjunto (adjunto Boolean) | 
| Salida <T> |  asOutput ()  Devuelve el identificador simbólico del tensor. | 
| estática <T se extiende Ttype > TriangularSolve <T> |  crear ( Alcance alcance, operando <T> matriz, operando <T> lado derecho, Opciones ... Opciones)  Método de fábrica para crear una clase que envuelva una nueva operación TriangularSolve. | 
| estáticas TriangularSolve.Options |  bajar (Boolean inferior) | 
| Salida <T> |  salida ()  La forma es "[..., M, K]".  | 
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
estáticas pública TriangularSolve.Options adjunto (adjunto booleana)
Parámetros
| adjunto | Booleano que indica si resolver con `matrix` o su adjunto (en bloques). | 
|---|
pública de salida <T> asOutput ()
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.
public static TriangularSolve <T> crear ( Alcance alcance, operando <T> matriz, operando <T> lado derecho, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación TriangularSolve.
Parámetros
| alcance | alcance actual | 
|---|---|
| matriz | La forma es "[..., M, M]". | 
| rhs | La forma es "[..., M, K]". | 
| opciones | lleva valores de atributos opcionales | 
Devoluciones
- una nueva instancia de TriangularSolve
estáticas pública TriangularSolve.Options inferior (booleano bajar)
Parámetros
| más bajo | Booleano que indica si las matrices más internas en "matrix" son triangulares inferiores o superiores. | 
|---|