50int main(
int argc,
char* argv[])
69 int rows, cols, stride;
72 stride = My_Copy3.
stride();
78 Empty_Matrix.
shape( 3, 3 );
83 My_Copy1.putScalar( 1.0 );
85 Empty_Matrix = My_Matrix;
94 1.0, My_Matrix, My_Copy3, 0.0 );
95 My_Copy2 += My_Matrix;
96 My_Copy2.
scale( 0.5 );
101 double *My_Array=0, *My_Column=0;
102 My_Array = My_Matrix.
values();
103 My_Column = My_Matrix[2];
108 double norm_one, norm_inf, norm_fro;
109 norm_one = My_Matrix.
normOne();
110 norm_inf = My_Matrix.
normInf();
118 if (Empty_Matrix == My_Matrix) {
119 std::cout<<
"The matrices are the same!" <<std::endl;
122 if (My_Copy2 != My_Matrix) {
123 std::cout<<
"The matrices are different!" <<std::endl;
136 info = My_Solver.
factor();
138 std::cout <<
"Teuchos::SerialDenseSolver::factor() returned : " << info << std::endl;
139 info = My_Solver.
solve();
141 std::cout <<
"Teuchos::SerialDenseSolver::solve() returned : " << info << std::endl;
144 std::cout<< std::endl << printMat(My_Matrix) << std::endl;
145 std::cout<< printMat(X) << std::endl;
Reference-counted pointer class and non-member templated function implementations.
Templated serial dense matrix class.
Templated class for solving dense linear problems.
Templated serial dense vector class.
This class creates and provides basic support for dense rectangular matrix of templated type.
ScalarTraits< ScalarType >::magnitudeType normOne() const
Returns the 1-norm of the matrix.
int reshape(OrdinalType numRows, OrdinalType numCols)
Reshaping method for changing the size of a SerialDenseMatrix, keeping the entries.
int scale(const ScalarType alpha)
Scale this matrix by alpha; *this = alpha**this.
OrdinalType stride() const
Returns the stride between the columns of this matrix in memory.
int random()
Set all values in the matrix to be random numbers.
ScalarTraits< ScalarType >::magnitudeType normInf() const
Returns the Infinity-norm of the matrix.
OrdinalType numRows() const
Returns the row dimension of this matrix.
ScalarType * values() const
Data array access method.
int multiply(ETransp transa, ETransp transb, ScalarType alpha, const SerialDenseMatrix< OrdinalType, ScalarType > &A, const SerialDenseMatrix< OrdinalType, ScalarType > &B, ScalarType beta)
Multiply A * B and add them to this; this = beta * this + alpha*A*B.
ScalarTraits< ScalarType >::magnitudeType normFrobenius() const
Returns the Frobenius-norm of the matrix.
OrdinalType numCols() const
Returns the column dimension of this matrix.
int shape(OrdinalType numRows, OrdinalType numCols)
Shape method for changing the size of a SerialDenseMatrix, initializing entries to zero.
A class for solving dense linear problems.
int setMatrix(const RCP< SerialDenseMatrix< OrdinalType, ScalarType > > &A)
Sets the pointers for coefficient matrix.
int factor()
Computes the in-place LU factorization of the matrix using the LAPACK routine _GETRF.
int setVectors(const RCP< SerialDenseMatrix< OrdinalType, ScalarType > > &X, const RCP< SerialDenseMatrix< OrdinalType, ScalarType > > &B)
Sets the pointers for left and right hand side vector(s).
int solve()
Computes the solution X to AX = B for the this matrix and the B provided to SetVectors()....
This class creates and provides basic support for dense vectors of templated type as a specialization...
#define TEUCHOS_ASSERT_EQUALITY(val1, val2)
This macro is checks that to numbers are equal and if not then throws an exception with a good error ...
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.
std::string Teuchos_Version()