TriangularSolve

classe finale publique TriangularSolve

Résout des systèmes d'équations linéaires avec des matrices triangulaires supérieures ou inférieures par rétrosubstitution.

`matrix` est un tenseur de forme `[..., M, M]` dont les 2 dimensions les plus intérieures forment des matrices carrées. Si « inférieur » est « Vrai », alors la partie triangulaire strictement supérieure de chaque matrice la plus interne est supposée être nulle et non accessible. Si « inférieur » est faux, alors la partie triangulaire strictement inférieure de chaque matrice la plus interne est supposée être nulle et non accessible. `rhs` est un tenseur de forme `[..., M, N]`.

La sortie est un tenseur de forme `[..., M, N]`. Si `adjoint` est `True` alors les matrices les plus internes de `output` satisfont aux équations matricielles `matrix[..., :, :] * output[..., :, :] = rhs[..., :, :]`. Si `adjoint` est `False` alors strictement alors les matrices les plus internes de `output` satisfont les équations matricielles `adjoint(matrix[..., i, k]) * output[..., k, j] = rhs[ ..., je, j]`.

Notez que les formes de lots pour les entrées doivent uniquement être diffusées.

Exemple :

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 imbriquées

classe TriangularSolve.Options Attributs facultatifs pour TriangularSolve

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

TriangularSolve.Options statique
adjoint (booléen adjoint)
Sortie <T>
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <T étend TType > TriangularSolve <T>
créer ( Scope scope, Opérande <T> matrice, Opérande <T> rhs, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération TriangularSolve.
TriangularSolve.Options statique
inférieur (booléen inférieur)
Sortie <T>
sortir ()
La forme est `[..., M, K]`.

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "MatrixTriangularSolve"

Méthodes publiques

public static TriangularSolve.Options adjoint (booléen adjoint)

Paramètres
adjoint Booléen indiquant s'il faut résoudre avec « matrice » ou son adjoint (par bloc).

sortie publique <T> asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static TriangularSolve <T> créer (portée de portée , matrice d'opérande <T>, opérande <T> rhs, options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération TriangularSolve.

Paramètres
portée portée actuelle
matrice La forme est `[..., M, M]`.
rhs La forme est `[..., M, K]`.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de TriangularSolve

public statique TriangularSolve.Options inférieur (booléen inférieur)

Paramètres
inférieur Booléen indiquant si les matrices les plus internes de « matrice » sont triangulaires inférieures ou supérieures.

sortie publique <T> sortie ()

La forme est `[..., M, K]`.