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/versions/r2.9/api_docs/python/tf/linalg/experimental/conjugate_gradient