|
EpetraExt Development
|
00001 #ifndef GENSQP_YUEPETRAVECTOR_H 00002 #define GENSQP_YUEPETRAVECTOR_H 00003 00004 #include "GenSQP_Vector.hpp" 00005 #include "Epetra_MultiVector.h" 00006 00007 00018 namespace GenSQP { 00019 00020 class YUEpetraVector : public Vector { 00021 00022 private: 00023 00024 Teuchos::RefCountPtr<Epetra_MultiVector> y_epetra_vec_; 00025 Teuchos::RefCountPtr<Epetra_MultiVector> u_epetra_vec_; 00026 00027 public: 00028 00029 YUEpetraVector( const Teuchos::RefCountPtr<Epetra_MultiVector> &y_epetra_vec, 00030 const Teuchos::RefCountPtr<Epetra_MultiVector> &u_epetra_vec ); 00031 00034 00035 double innerProd( const Vector &x ) const; 00036 00037 void linComb( const double &alpha, const Vector &x, const double &beta ); 00038 00039 void Scale( const double &alpha ); 00040 00041 void Set( const double &alpha ); 00042 00043 void Set( const double &alpha, const Vector &x ); 00044 00045 Teuchos::RefCountPtr<Vector> createVector() const; 00046 00048 00051 Teuchos::RefCountPtr<const Epetra_MultiVector> getYVector() const; 00052 00055 Teuchos::RefCountPtr<const Epetra_MultiVector> getUVector() const; 00056 00057 00058 }; // class YUEpetraVector 00059 00060 } // namespace GenSQP 00061 00062 #endif
1.7.4