特征C ++:复杂矩阵的面积双曲正切(atanh)

时间:2018-10-24 12:54:52

标签: c++ eigen

我正在尝试计算本征复杂矩阵的面积双曲正切(atanh)。 我在“特征库”中没有找到用于计算atanh的函数,我可以对矩阵使用以下表达式:

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

谢谢:)

1 个答案:

答案 0 :(得分:1)

首先,您需要区分采用矩阵的tanh和其条目的tanh。如果只是其条目的atanh,则可以执行@ Ptaq666建议的操作。如果它是矩阵的atanh,则通过执行本征分解来找到E(本征向量矩阵)和l(本征值)来定义。然后将矩阵的反正切定义为E * diag(atanh(l)) * E^-1

Eigen::MatrixBase::logEigen::MatrixBase::sin等将执行此操作,因此您应查看其实现。

(等效地,您可以用表达式中的身份矩阵替换1