如何用lapack ++(2.5+)计算行列式矩阵

时间:2009-07-20 07:04:22

标签: c++ lapack++

使用LaMatGenDouble库计算(非对称,平方)lapack++矩阵的行列式的最佳(最快)方法是什么?

2 个答案:

答案 0 :(得分:2)

计算行列式的一种方法是使用LU分解:

  LaVectorLongInt pivots(A.cols());

  LUFactorizeIP(A, pivots);

  double detA = 1;
  for (int i = 0; i < A.cols(); ++i)
    detA *= A(i, i);

警告, A 会发生变化,因此建议您复制。

答案 1 :(得分:0)

我不知道lapack ++,但我确定没有标准的lapack,check。据我所知,lapack ++本身并没有实现matricial操作,而是使用其他操作,实际上你可以在其中几个之间切换(atlas,mkl(intel数学内核库)等等)。因此我的假设是在lapack ++中也有任何决定性操作。