### matrix inverse and determinant

Factiods about determinants:

* Switching two rows or columns changes the sign.

* Scalars can be factored out from rows and columns.

* Multiples of rows and columns can be added together without changing the determinant's value.

* Scalar multiplication of a row by a constant c multiplies the determinant by c.

* A determinant with a row or column of zeros has value 0.

* Any determinant with two rows or columns equal has value 0.

Factoid about the inverse:

* the inverse of A is only valid if the derterminant of A != 0

The uLAPACK templates, built on the bigger CLAPACK library, interface to the boost::ublas matrix type and have inverse and determinant functions.

It takes awhile to walk through all the steps to get CLAPACK to compile, but it all does work on MSVC8 Express.

Relevant qmake lines so the linker will acutally spit out an executable based on this stuff:

linkage:

http://mathworld.wolfram.com/Determinant.html

http://www.acfr.usyd.edu.au/homepages/academic/tbailey/software/software.html

http://www.netlib.org/clapack/

http://wims.unice.fr/wims/wims.cgi?session=BVDF4AB014.1%E2%8C%A9=en&module=tool%2Flinear%2Fmatrix.en

* Switching two rows or columns changes the sign.

* Scalars can be factored out from rows and columns.

* Multiples of rows and columns can be added together without changing the determinant's value.

* Scalar multiplication of a row by a constant c multiplies the determinant by c.

* A determinant with a row or column of zeros has value 0.

* Any determinant with two rows or columns equal has value 0.

Factoid about the inverse:

* the inverse of A is only valid if the derterminant of A != 0

The uLAPACK templates, built on the bigger CLAPACK library, interface to the boost::ublas matrix type and have inverse and determinant functions.

It takes awhile to walk through all the steps to get CLAPACK to compile, but it all does work on MSVC8 Express.

Relevant qmake lines so the linker will acutally spit out an executable based on this stuff:

INCLUDEPATH += C:\ulapack

debug {

LIBPATH += C:\clapack\Debug

LIBPATH += C:\CLAPACK\F2CLIBS\Debug

LIBPATH += C:\CLAPACK\BLAS\Debug

}

release {

LIBPATH += C:\clapack\release

LIBPATH += C:\CLAPACK\F2CLIBS\Release

LIBPATH += C:\CLAPACK\BLAS\Release

}

LIBS += clapack.lib

LIBS += libF77.lib

LIBS += blas.lib

linkage:

http://mathworld.wolfram.com/Determinant.html

http://www.acfr.usyd.edu.au/homepages/academic/tbailey/software/software.html

http://www.netlib.org/clapack/

http://wims.unice.fr/wims/wims.cgi?session=BVDF4AB014.1%E2%8C%A9=en&module=tool%2Flinear%2Fmatrix.en

## 0 Comments:

Post a Comment

<< Home