71 const Teuchos::SerialDenseMatrix<ordinal_type, value_type>& Input,
72 Teuchos::SerialDenseMatrix<ordinal_type, value_type>& Result,
73 ordinal_type m)
const {
75 ordinal_type n=
A.numRows();
80 Teuchos::SerialDenseMatrix<ordinal_type, value_type> L(
A);
81 for (ordinal_type i=0; i<n; i++){
82 for (ordinal_type
j=0;
j<n;
j++){
90 Teuchos::SerialDenseMatrix<ordinal_type, value_type> D(n,n);
91 for (ordinal_type i=0; i<n; i++){
92 for (ordinal_type
j=0;
j<n;
j++){
98 Teuchos::SerialDenseMatrix<ordinal_type, value_type> U(
A);
99 for (ordinal_type i=0; i<n; i++){
100 for (ordinal_type
j=0;
j<n;
j++){
106 Result.assign(Input);
109 Teuchos::SerialDenseMatrix<ordinal_type, value_type> M(n,n);
110 M.multiply(Teuchos::NO_TRANS,Teuchos::NO_TRANS,1.0, L, D, 0.0);
113 lapack.TRTRS(
'L',
'N',
'N', M.numRows(), 1, M.values(), M.stride(), Result.values(), Result.stride(),&info);
116 lapack.TRTRS(
'U',
'N',
'N', U.numRows(), 1, U.values(), U.stride(), Result.values(), Result.stride(),&info);
120 lapack.TRTRS(
'L',
'N',
'N', L.numRows(), 1, L.values(), L.stride(), Result.values(), Result.stride(),&info);