tf.linalg.experimental.conjugate_gradient
Решение системы линейных уравнений методом сопряжённых градиентов.
tf.linalg.experimental.conjugate_gradient(
operator,
rhs,
preconditioner=None,
x=None,
tol=1e-05,
max_iter=20,
name='conjugate_gradient'
)
Решает систему линейных уравнений A*x = rhs для самосопряжённой, положительно определённой матрицы A и вектора правой части rhs, используя итеративный, свободный от матриц алгоритм, где действие матрицы A представлено как operator. Итерация завершается, когда либо количество итераций превышает max_iter, либо когда норма остатка уменьшается до tol от её начального значения, т.е. \(||rhs - A x_k|| <= tol ||rhs||\).
| Args | |
|---|---|
operator | Матрица LinearOperator, которая является самосопряжённой и положительно определённой. |
rhs | Возможно пакетный вектор формы [..., N], содержащий вектор правой части. |
preconditioner | LinearOperator, приближающий обратную матрицу к A. Эффективный предварительный обусловитель может значительно улучшить скорость сходимости. Если preconditioner представляет матрицу M(M приближает A^{-1}), алгоритм использует preconditioner.apply(x) для оценки A^{-1}x. Для того чтобы это было полезно, стоимость применения M должна быть намного ниже, чем вычисление A^{-1} напрямую. |
x | Возможно пакетный вектор формы [..., N], содержащий начальное приближение для решения. |
tol | Скалярная величина типа float, представляющая точность сходимости. |
max_iter | Целое число, задающее максимальное количество итераций. |
name | Область имён для операции. |
| Returns | |
|---|---|
output | Именованный кортеж, представляющий конечное состояние с полями:
|
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/linalg/experimental/conjugate_gradient