作者micklin (Mick@Tucson)
看板CSSE
标题[问题] 怪异的加总问题
时间Thu Mar 8 19:53:16 2007
我写了一只程式对100*100的矩阵做QR分解, 然後输出eigenvalue及eigenvector.
然後我把两个eigenvector相乘, 得到一个数值.
这两个100个元素的向量, 里面的值是实数且有正有负,
问题来了, 我用程式加总之後的值跟Excel算出来的不一样....
为了找出问题, 我印出 v1[i] v2[i] v1[i]*v2[i] 的值,
然後用程式算出 v1[i]*v2[i] 的值,
再把 v1[i]*v2[i] 的值贴到 Excel 用 Sum() 加总.
程式算出来的值是 7.1991e-017
Excel 算出来的值是 0.00000008896 = 8.896e-8
差太多了, 我实在无法用"误差"来说服自己....
有人遇过类似的问题吗?
程式算出来的v1[i]*v2[i]和Excel算出来的倒是没太大差异.
如果只计算 0 到 98 项, 或 1 到 99 项, 程式和 Excel 也没太大差异.
若一百项全加起来, 值就差很多, 又因为我要求此值的倒数,
整个情况变的很混乱....
又, 我用VC2003, Release跟Debug所求出来的值是一样的.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 68.231.146.70