43 #ifndef RTOPPACK_LAPACK_WRAPPERS_HPP 44 #define RTOPPACK_LAPACK_WRAPPERS_HPP 75 template<
class Scalar>
84 template<
class Scalar>
101 template<
class Scalar>
109 const int maxRank =
TEUCHOS_MIN(
A.subDim(),
A.numSubCols() );
119 lapack.
GETRF(
A.subDim(),
A.numSubCols(),
A.values().get(),
A.leadingDim(),
123 info < 0, std::invalid_argument
124 ,
"getrf(...): Error, Invalid argument " 125 << -info <<
" sent to LAPACK function xGETRF(...)" );
131 template<
class Scalar>
153 A.subDim(), BX->numSubCols(),
A.values().get(),
A.leadingDim(),
154 &ipiv[0], BX->values().get(), BX->leadingDim(), &info
157 info < 0, std::invalid_argument
158 ,
"getrs(...): Error, Invalid argument " 159 << -info <<
" sent to LAPACK function xGETRS(...)" );
164 #endif // RTOPPACK_LAPACK_WRAPPERS_HPP bool is_null(const boost::shared_ptr< T > &p)
void getrs(const ConstSubMultiVectorView< Scalar > &A, const ArrayView< const int > &ipiv, const ETransp transp, const Ptr< const SubMultiVectorView< Scalar > > &BX)
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void GETRF(const OrdinalType m, const OrdinalType n, ScalarType *A, const OrdinalType lda, OrdinalType *IPIV, OrdinalType *info) const
const int NUM_ETRANS_ARGS
void GETRS(const char TRANS, const OrdinalType n, const OrdinalType nrhs, const ScalarType *A, const OrdinalType lda, const OrdinalType *IPIV, ScalarType *B, const OrdinalType ldb, OrdinalType *info) const
Class for a changeable sub-vector.
TypeTo as(const TypeFrom &t)
void getrf(const SubMultiVectorView< Scalar > &A, const ArrayView< int > &ipiv, const Ptr< int > &rank)
Peform an in-place factorization of a square or rectangular matrix.
const Teuchos::Tuple< char, NUM_ETRANS_ARGS > transpMap
Class for a non-changeable sub-multi-vector (submatrix).
#define TEUCHOS_ASSERT(assertion_test)
#define TEUCHOS_ASSERT_EQUALITY(val1, val2)
#define TEUCHOS_MIN(x, y)
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)