matrix - 以 Octave 为单位调整矩阵

标签 matrix octave

gnu Octave 中是否有任何函数可以附加矩阵(类似于matlab等中的伴随矩阵)?

最佳答案

辅助词可能不是您真正想要的。

如果您想要正常的伴随(共轭转置),那么 x' 将为您提供 x 。 (非共轭转置是 x.'transpose(x)conj(x) 给出复共轭,也适用于矩阵和向量。)

如果你真的想要 adjugate (aka classical adjoint) ,我不相信 Octave 已经内置了它。有几种方法可以计算这个。如果您可以假设可逆性,那么它只是 det(x)*inv(x) 。如果没有,那就有点复杂了。一般来说,adjugate 是辅因子矩阵的转置。辅因子矩阵将原始矩阵中的每个元素替换为其辅因子(加上或减去其次要元素,这是没有该行和列的原始矩阵的行列式。加或减规则对于行列式扩展是相同的——如果总和行列为偶数,为正数,负数为奇数)。

最简单的 codewise 可能是使用 SVD(内置的)——调节是具有 adj(xy) = adj(y) adj(x) 的反同态。 x 的 SVD 是一组矩阵 u,s,v,其中 u*s*v' = x,s 对角线,u 和 v 都是酉矩阵。 adj(x) = adj(u*s*v') = adj(v')adj(s)adj(u)。对于可逆矩阵,调节只是行列式乘以逆矩阵。对于酉矩阵,这只是共轭转置。 adj(x) = det(v') v adj(s) det(u) u' = det(v'*u) v adj(s) u'。对角矩阵 s 的调整相对容易计算——对角线上的每一项都是零,对角线上的每一项都是其他项的乘积。

关于matrix - 以 Octave 为单位调整矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4447890/

相关文章:

macos - 在 MacOS 上使用 brew 安装 Octave 4.2.1;无法让它与 GUI 一起运行

matlab - 计算二维矩阵的相同行

octave - 查找 Octave 四元数的向量部分

c++ - 如何从文件中一个一个地读取矩阵元素

python - 将字典转换为稀疏矩阵

octave - 如何清除 Octave 中的命令历史记录

octave - Emacs : Octave Sending lines C-c i l doesn't work

matlab - 如何将向量(沿第四维)分配给预先指定的下标

c++ - 如何在矩阵中添加数字以产生最小结果?

matrix - Jenkins "selective"矩阵构建 [matrix-project-plugin]