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||\).
| Аргументы | |
|---|---|
operator | Объект LinearOperator, который является самосопряжённым и положительно определённым. |
rhs | Возможно, пакетный вектор формы [..., N], содержащий вектор правой части. |
preconditioner | Объект LinearOperator, аппроксимирующий обратную матрицу A. Эффективный предобуславливатель может значительно повысить скорость сходимости. Если preconditioner представляет матрицу M(M аппроксимирует A^{-1}), алгоритм использует preconditioner.apply(x) для оценки A^{-1}x. Чтобы это было полезно, вычислительные затраты на применение M должны быть значительно ниже затрат на непосредственное вычисление A^{-1}. |
x | Возможно, пакетный вектор формы [..., N], содержащий начальное приближение решения. |
tol | Скалярное значение с плавающей точкой, задающее допуск сходимости. |
max_iter | Целое число, задающее максимальное количество итераций. |
name | Область имён для операции. |
| Возвращаемое значение | |
|---|---|
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