TriangularSolve

publiczna klasa końcowa TriangularSolve

Rozwiązuje układy równań liniowych z górnymi i dolnymi macierzami trójkątnymi metodą podstawienia wstecznego.

„macierz” jest tensorem kształtu „[..., M, M]”, którego dwa najbardziej wewnętrzne wymiary tworzą macierze kwadratowe. Jeśli „niższy” ma wartość „True”, wówczas zakłada się, że dokładnie górna trójkątna część każdej najbardziej wewnętrznej macierzy ma wartość zero i nie jest dostępna. Jeśli „niższa” ma wartość Fałsz, wówczas zakłada się, że ściśle dolna część trójkątna każdej najbardziej wewnętrznej macierzy ma wartość zero i nie jest dostępna. `rhs` jest tensorem kształtu `[..., M, N]`.

Wynikiem jest tensor kształtu „[..., M, N]”. Jeśli „sprzężony” ma wartość „Prawda”, wówczas najbardziej wewnętrzne macierze w „wyjściu” spełniają równania macierzowe „macierz[..., :, :] * wyjście[..., :, :] = rhs[..., :, :]`. Jeśli „sprzężone” ma wartość „Fałsz”, to dokładnie wtedy najbardziej wewnętrzne macierze w „wyjściu” spełniają równania macierzowe „sprzężone (macierz [..., i, k]) * wyjście [..., k, j] = rhs [ ..., i, j]`.

Uwaga: kształty wsadowe dla danych wejściowych wymagają jedynie rozgłaszania.

Przykład:

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)>
 

Klasy zagnieżdżone

klasa Opcje rozwiązania trójkątnego Opcjonalne atrybuty TriangularSolve

Stałe

Strunowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

statyczne rozwiązanie trójkątne.Opcje
sprzężenie (sprzężenie logiczne)
Wyjście <T>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny <T rozszerza TType > TriangularSolve <T>
utwórz (zakres zakresu , macierz argumentów <T>, argument <T> rhs, opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację TriangularSolve.
statyczne rozwiązanie trójkątne.Opcje
niższy (Boolean niższy)
Wyjście <T>
wyjście ()
Kształt to „[..., M, K]”.

Metody dziedziczone

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „MatrixTriangularSolve”

Metody publiczne

publiczne statyczne połączenie TriangularSolve.Options (sprzężenie logiczne)

Parametry
przylegać Wartość logiczna wskazująca, czy rozwiązać za pomocą „macierzy”, czy jej (blokowej) sprzężenia.

publiczne wyjście <T> asOutput ()

Zwraca symboliczny uchwyt tensora.

Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.

public static TriangularSolve <T> create (zakres zakresu , macierz argumentów <T>, argumenty <T> rhs, opcje... opcje)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację TriangularSolve.

Parametry
zakres aktualny zakres
matryca Kształt to „[..., M, M]”.
prawa strona Kształt to „[..., M, K]”.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja TriangularSolve

publiczny statyczny TriangularSolve.Opcje niższe (boolean niższe)

Parametry
niżej Wartość logiczna wskazująca, czy najbardziej wewnętrzne macierze w „macierzy” są trójkątne dolne czy górne.

publiczne wyjście <T> wyjście ()

Kształt to „[..., M, K]”.