GetFEM  5.4.3
gmm_dense_lu.h File Reference

LU factorizations and determinant computation for dense matrices. More...

#include "gmm_dense_Householder.h"
#include "gmm_opt.h"

Go to the source code of this file.

Functions

template<typename DenseMatrix , typename Pvector >
size_type gmm::lu_factor (DenseMatrix &A, Pvector &ipvt)
 LU Factorization of a general (dense) matrix (real or complex). More...
 
template<typename DenseMatrix , typename VectorB , typename VectorX , typename Pvector >
void gmm::lu_solve (const DenseMatrix &LU, const Pvector &pvector, VectorX &x, const VectorB &b)
 LU Solve : Solve equation Ax=b, given an LU factored matrix.
 
template<typename DenseMatrixLU , typename DenseMatrix , typename Pvector >
void gmm::lu_inverse (const DenseMatrixLU &LU, const Pvector &pvector, const DenseMatrix &AInv_)
 Given an LU factored matrix, build the inverse of the matrix.
 
template<typename DenseMatrix >
linalg_traits< DenseMatrix >::value_type gmm::lu_inverse (const DenseMatrix &A_, bool doassert=true)
 Given a dense matrix, build the inverse of the matrix, and return the determinant.
 
template<typename DenseMatrixLU , typename Pvector >
linalg_traits< DenseMatrixLU >::value_type gmm::lu_det (const DenseMatrixLU &LU, const Pvector &pvector)
 Compute the matrix determinant (via a LU factorization)
 

Detailed Description

LU factorizations and determinant computation for dense matrices.

Author
Andrew Lumsdaine, Jeremy G. Siek, Lie-Quan Lee, Y. Renard
Date
June 5, 2003.

Definition in file gmm_dense_lu.h.

Function Documentation

◆ lu_factor()

template<typename DenseMatrix , typename Pvector >
size_type gmm::lu_factor ( DenseMatrix &  A,
Pvector &  ipvt 
)

LU Factorization of a general (dense) matrix (real or complex).

This is the outer product (a level-2 operation) form of the LU Factorization with pivoting algorithm . This is equivalent to LAPACK's dgetf2. Also see "Matrix Computations" 3rd Ed. by Golub and Van Loan section 3.2.5 and especially page 115.

The pivot indices in ipvt are indexed starting from 1 so that this is compatible with LAPACK (Fortran).

Definition at line 93 of file gmm_dense_lu.h.