回 帖 发 新 帖 刷新版面

主题:[讨论]如何提高精度计算

现有三个向量, 
                Y1=(-9.5241308E-02,-3.4517303E-02,0.2090452),
                Y2=(-8.0674507E-02,-4.2283848E-02,0.1591480)
        Y3=(0.2652879,0.8108509,0.3997021)
如何对于这三个向量进行高精度的Gram-Schmidt正交化?
本人进行尝试过,效果十分差,因为其中涉及到浮点数的计算问题。
    更加一般的问题是,有两个向量正交向量X,Y,其中Y的范数(模、长度)很小,比如说次数为-7.理论上计算X*Y=0,实际上计算X*Y的次数为-8次。如果再次对向量X,Y进行规范化(即标准化,使每个向量的模为1),这时再看X*Y的值可以发现次数很高,比如说-2次。这个结果很不符合正交化的特征,如何解决这一问题。
    本人在利用wolf计算Lyapunov指数谱,如果有相同兴趣的朋友可以一起讨论。

回复列表 (共2个回复)

沙发

我是用modified Gram-Schmidt来做正交化的, 但我处理的问题比较特殊, 正交矢中间还夹杂着一个矩阵. 那个东西我都2年没有去维护了. 一般正交化过程我记得是有更好的正交化算法的(利用QR,不记得了!!)
我认为归一化之后,正交值变大是本身求解出来的正交矢"体质"本身就有问题.而不是处理过程引入的误差.

板凳


谢谢!
我根据您的思路去查文献看看。

我来回复

您尚未登录,请登录后再回复。点此登录或注册