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 | Кортеж, представляющий конечное состояние, с полями:
|
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/linalg/experimental/conjugate_gradient