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], а внутренние 2 измерения образуют квадратные матрицы. Выходной тензор имеет такую же форму, что и входной, содержащий матричный квадратный корень для всех входных подматриц [..., :, :].
| Аргументы | |
|---|---|
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