1

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

4

2 回答 2

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会改变,因此可能建议制作副本。

于 2009-07-21T09:37:47.337 回答
0

我不知道 lapack++,但我确定标准 lapack 中没有,请检查。据我所知,lapack++ 本身并没有实现矩阵运算,而是使用了其他的运算,实际上您可以在其中几个(atlas、mkl(英特尔数学内核库)等)之间切换。因此,我的假设是 lapack++ 中也存在任何行列式操作。

于 2009-07-20T10:02:38.130 回答