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 dokładnie dolna trójkątna część 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
Smyczkowy | 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
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 |
Powroty
- 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. |
---|