特征向量,特征值在C中的定点计算

时间:2015-02-16 11:36:13

标签: c fixed-point svd eigenvector eigenvalue

** 已修改 **

我尝试使用libfixmath将提到的Jacobi算法更改为固定点,但我得不到正确的结果。我错过了什么?

edited Jacobi code

makefile


C新手在这里。我在某种程度上让自己深陷其中,我无法找到自己的出路。如果你能帮到那就太棒了!

情况:我正在尝试在C中实现ICA算法。我使用浮点运算(double,float)来实现。现在我希望这段代码将其转换为固定点,这样我就可以在32位的ARM微控制器上导入它(这就是为什么我不能使用double,float等)。

我发现我认为可以帮助我的四个库:

  1. http:// sourceforge.net/projects/avrfix/files /
  2. http:// www.dsprelated.com/showcode/40.php
  3. http:// sourceforge.net/p/fixedptc/code/ci/default/tree /
  4. libfixmath
  5. 我没有使用1. 2.或3.我目前正在尝试libfixmath,因为几乎所有的计算都是用矩阵完成的。

    我的问题是在尝试找到协方差矩阵(正对称3x3矩阵)的特征值和特征向量时。我四处寻找能够进行特征分解或SVD等的库或函数,但我没有找到任何东西。

    如何在固定点进行这种计算? 有没有我没找到的功能/库?我是否必须改变浮点中的本征函数(逐行转换为定点 - 即fix16_from_dbl())?

    我当前的特征函数(当然不是我的,我认为它来自Numerical Recipes)

    jacobi.h

    其他相关问题: 这是StackOverflow fixed SVD

    ****我的第一个问题是,如果我的问题中有任何要纠正的话请说出来....不要活着我! :)

    **编辑**

    libfixmath执行Cholesky 1,wiki 2和QR分解。

    我尝试使用数学运算并使用此数据生成矩阵的特征向量或特征值(来自上述函数的数据),但我失败了。

    如果有人知道怎么做,那么问题就解决了。

    *我应该将它发布到数学堆栈网站吗?

    1 http:// rosettacode.org/wiki/Cholesky_decomposition

    2 http:// en.wikipedia.org/wiki/Cholesky_decomposition#The_Cholesky.E2.80.93Banachiewicz_and_Cholesky.E2.80.93Crout_algorithms

1 个答案:

答案 0 :(得分:1)

GNU Scientific Library怎么样?它有一个number of functions related to eigenvalue decomposition

您可以使用类似IQMath的内容来从浮点转换为定点。类似问题here

也有很多答案