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