代码之家  ›  专栏  ›  技术社区  ›  Peter Smit

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

  •  1
  • Peter Smit  · 技术社区  · 16 年前

    计算(非对称,平方)行列式的最佳(最快)方法是什么? LaMatGenDouble 矩阵与 lapack++ 图书馆?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Peter Smit    16 年前

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

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

    警告, 会有变化,所以最好复印一份。

        2
  •  0
  •   javier-sanz    16 年前

    我不知道Lapack++,但我确信在标准Lapack中没有, check . 据我所知,Lapack++本身并不实现矩阵运算,而是使用其他运算,实际上,您可以在其中几个运算之间进行切换(Atlas、MKL(英特尔数学内核库)等)。因此,我的假设是,在lapack++中也有任何行列式运算。

    推荐文章