Собственный c ++: площадь гиперболического тангенса (atanh) комплексной матрицы - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь вычислить площадь гиперболического тангенса (atanh) моей собственной комплексной матрицы.Я не нашел в "Eigen library" функции, которая бы вычисляла atanh, могу ли я использовать это выражение для моей матрицы:

atanh(x)= 1/2 (ln (1+x)-ln (1-x))

Спасибо:)

1 Ответ

0 голосов
/ 24 октября 2018

Сначала вам нужно различить atanh матрицы и atanh ее элементов.Если это просто atanh его записей, вы можете делать то, что предлагает @ Ptaq666.Если это atanh матрицы, то это определяется путем выполнения собственного разложения, чтобы найти E (матрица собственных векторов) и l (собственные значения).Арктанх матрицы затем определяется как E * diag(atanh(l)) * E^-1.

. Это то, что Eigen::MatrixBase::log, Eigen::MatrixBase::sin и т. Д., Поэтому вы должны проверить их реализации.

(Эквивалентно, вы можетезамените 1 на тождественную матрицу в вашем выражении)

...