我有一个非常复杂和复杂的数据拟合程序,它使用 Levenverg-Marquardt 算法进行双精度拟合(基本上拟合类是模板化的,但我使用实例化它来加倍)。拟合过程包括:
- 计算误差函数(卡方)
- 求解线性方程组(我使用 lapack)
- 计算函数相对于参数的导数,我想拟合数据(通常是 20 多个参数)
- 连续计算函数值:函数是正弦函数和指数函数的复杂组合,具有少量谐波。
我的一位同事建议我使用整数至少快 10 倍。我的问题是:
- 我会得到那种改善是真的吗?
- 将所有内容转换为整数是否安全?这有什么缺点?
- 对于整个问题,您有什么建议?你会怎么做?
该程序是为在线计算信号中的一些参数而开发的,这意味着程序必须尽可能快,但我想知道是否值得启动将所有内容转换为整数的项目。