The Teuchos_SerialSymDenseMatrix class enables the construction and use of symmetric, positive-definite, dense matrices of templated type.
The Teuchos::SerialSymDenseMatrix class is intended to provide full-featured support for solving linear and eigen system problems for symmetric positive-definite (SPD) matrices. It is written on top of BLAS and LAPACK and thus has excellent performance and numerical capabilities. Using this class, one can either perform simple factorizations and solves or apply all the tricks available in LAPACK to get the best possible solution for very ill-conditioned problems.
Teuchos::SerialSymDenseMatrix vs. Teuchos::LAPACK
The Teuchos::LAPACK class provides access to most of the same functionality as Teuchos::SerialSymDenseMatrix. The primary difference is that Teuchos::LAPACK is a "thin" layer on top of LAPACK and Teuchos::SerialSymDenseMatrix attempts to provide easy access to the more sophisticated aspects of solving dense linear and eigensystems.
Constructing Teuchos::SerialSymDenseMatrix Objects
There are three Teuchos::SerialSymDenseMatrix constructors. The first constructs a zero-sized object which should be made to appropriate length using the Shape() or Reshape() functions and then filled with the [] or () operators. The second is a constructor that accepts user data as a 2D array, the third is a copy constructor. The second constructor has two data access modes (specified by the Teuchos::DataAccess argument):
Once a Teuchos::SerialSymDenseMatrix is constructed, it is possible to view the data via access functions.
Once a Teuchos::SerialSymDenseMatrix is constructed, several mathematical functions can be applied to the object. Specifically: