tf.linalg.sqrtm
Вычисляет квадратный корень одной или нескольких квадратных матриц:
tf.linalg.sqrtm(
input: Annotated[Any, TV_MatrixSquareRoot_T], name=None
) -> Annotated[Any, TV_MatrixSquareRoot_T]
matmul(sqrtm(A), sqrtm(A)) = A
Входная матрица должна быть обратимой. Если входная матрица вещественная, у неё не должно быть вещественных отрицательных собственных значений (допускаются пары комплексно-сопряжённых собственных значений).
Квадратный корень матрицы вычисляется сначала путём приведения матрицы к квазитреугольной форме с помощью вещественного разложения Шура. Затем квадратный корень квазитреугольной матрицы вычисляется напрямую. Подробное описание алгоритма приведено в работе: Nicholas J. Higham, «Computing real square roots of a real matrix», Linear Algebra Appl., 1987.
Входные данные — тензор формы [..., M, M], внутренние два измерения которого образуют квадратные матрицы. Выходные данные — тензор той же формы, что и входные, содержащий квадратный корень матрицы для всех входных подматриц [..., :, :].
| Аргументы | |
|---|---|
input | A Tensor. Должен иметь один из следующих типов: float64, float32, half, complex64, complex128. Форма — [..., M, M]. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
A Tensor. Имеет тот же тип, что и input. |
© 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/sqrtm