42 #ifndef MATRIX_VAR_REDUCT_IMPLICIT_H
43 #define MATRIX_VAR_REDUCT_IMPLICIT_H
48 #include "ConstrainedOptPack_Types.hpp"
49 #include "AbstractLinAlgPack_MatrixOp.hpp"
50 #include "AbstractLinAlgPack_VectorSpace.hpp"
52 namespace ConstrainedOptPack {
205 std::ostream&
output(std::ostream&)
const;
208 VectorMutable* v_lhs, value_type alpha
210 ,
const Vector& v_rhs2, value_type beta
214 VectorMutable* v_lhs, value_type alpha
216 ,
const SpVectorSlice& sv_rhs2, value_type beta
220 VectorMutable* v_lhs, value_type alpha
223 ,
const Vector& v_rhs3, value_type beta
227 VectorMutable* v_lhs, value_type alpha
230 ,
const SpVectorSlice& sv_rhs3, value_type beta
240 typedef std::vector<VectorSpace::vec_mut_ptr_t> InvCtN_rows_t;
241 typedef std::list<index_type> InvCtN_rows_set_list_t;
246 #ifdef DOXYGEN_COMPILE
255 mutable InvCtN_rows_t InvCtN_rows_;
263 mutable InvCtN_rows_set_list_t InvCtN_rows_set_list_;
275 void assert_initialized()
const;
305 #endif // MATRIX_VAR_REDUCT_IMPLICIT_H
Teuchos::RCP< const MatrixOp > mat_ptr_t
const mat_nonsing_ptr_t & C_ptr() const
Return the smart pointer to the aggregate basis matrix object C.
virtual void initialize(const mat_nonsing_ptr_t &C, const mat_ptr_t &N, const mat_ptr_t &D_direct)
Initialize this matrix object.
std::ostream & output(std::ostream &) const
void Vp_StPtMtV(VectorMutable *v_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const Vector &v_rhs3, value_type beta) const
const mat_ptr_t & D_direct_ptr() const
Return the smart pointer to the aggregate precomputed matrix object D_direct (if set).
const VectorSpace & space_cols() const
const mat_ptr_t & N_ptr() const
Return the smart pointer to the aggregate nonbasis matrix object N.
void Vp_StMtV(VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
Implements D = - inv(C) * N for a variable reduction projection.
Teuchos::RCP< const MatrixOpNonsing > mat_nonsing_ptr_t
const VectorSpace & space_rows() const
MatrixOp & operator=(const MatrixOp &M)
virtual void set_uninitialized()
Set the matrix to uninitialized.