问题描述
我实现了Aberth–Ehrlich method来查找多项式的所有根(实际上,这是特征值查找的步骤之一)。 在25度以下时效果很好。 但是,当度数较大时,我的Delphi计算就开始失败。 我很确定这是因为在计算过程中积累了非常小的数字错误。
对于算法需求,我已经基于TComplex = record … end;
开发了Double
结构。
当基本数据类型为Extended
时,得到的结果相同。
我非常确定问题不是算法,因为当我将TComplex
更新为使用MPArith multi precision library时,我得到的结果与Octave
和{{ 1}}程序-因此我认为它们是正确的。
但是在这种情况下,计算时间是很漫长的。
所以我的问题是:
您知道如何绕过Delphi中的多精度问题吗?
您是否认为,如果我将计算的实现移植到另一种编程语言(例如Matlab
,C++
或其他任何一种编程语言)上,我将不会对计算的精度产生任何疑问?
当然,我必须将其包装到C#
中才能在dll
代码中调用。
欢迎任何想法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)