具有c ++的稀疏矩阵和线性代数

时间:2015-07-30 10:48:40

标签: c++ matlab matrix sparse-matrix

我将程序从Matlab转换为Visual C ++(社区版),看看我能让它运行得多快。我的原始程序一次运行几天......

虽然我对Matlab非常有经验,但我只知道非常基本的C ++所以我想问一下我需要的线性代数函数。我看到了这件事:http://math.nist.gov/lapack++/但我不确定这对我来说是不是最好的选择。

我的Matlab程序在本质上看起来像这样:

1. Get a 30*30 pixel image from a big pre-loaded list of images.
2. Pad the image with random number of zeros (to be about 60*60).
3. Crop the Padded image randomly.
4. Down-sample the cropped image.
5. Run this line: A = A + 0.1*(sin(A) + W*A + Z*y); 
6. repeat about 7 Million times.

其中A是长度为1000的列向量.W是1000 * 1000稀疏矩阵。 Z是1000 * 30全矩阵。 y是30 * 1向量。

所以我需要良好的功能:

  1. 填充矩阵
  2. 裁剪矩阵
  3. 下采样矩阵
  4. 乘以和添加矩阵和稀疏矩阵。
  5. 您会推荐哪些特定的库/功能?请记住,我对C ++知之甚少,因此请在需要时提供URL。

0 个答案:

没有答案