44 #ifndef GENSQP_YUEPETRAVECTOR_H
45 #define GENSQP_YUEPETRAVECTOR_H
48 #include "Epetra_MultiVector.h"
67 Teuchos::RCP<Epetra_MultiVector> y_epetra_vec_;
68 Teuchos::RCP<Epetra_MultiVector> u_epetra_vec_;
72 YUEpetraVector(
const Teuchos::RCP<Epetra_MultiVector> &y_epetra_vec,
73 const Teuchos::RCP<Epetra_MultiVector> &u_epetra_vec );
80 void linComb(
const double &alpha,
const Vector &x,
const double &beta );
82 void Scale(
const double &alpha );
84 void Set(
const double &alpha );
86 void Set(
const double &alpha,
const Vector &x );
94 Teuchos::RCP<const Epetra_MultiVector>
getYVector()
const;
98 Teuchos::RCP<const Epetra_MultiVector>
getUVector()
const;
Teuchos::RCP< const Epetra_MultiVector > getYVector() const
Returns a reference counted pointer to the private y_epetra_vec data container ("state variables")...
Teuchos::RCP< Vector > createVector() const
Clone to make a new (uninitialized) vector.
double innerProd(const Vector &x) const
Returns inner(*this,x).
Provides the interface to generic abstract vector libraries.
void linComb(const double &alpha, const Vector &x, const double &beta)
y = alpha*x + beta*y where y == *this.
void Scale(const double &alpha)
y = alpha*y where y == *this.
void Set(const double &alpha)
y = alpha where y == *this.
YUEpetraVector(const Teuchos::RCP< Epetra_MultiVector > &y_epetra_vec, const Teuchos::RCP< Epetra_MultiVector > &u_epetra_vec)
The GenSQP::Vector / (y,u) Epetra_MultiVector adapter class.
Teuchos::RCP< const Epetra_MultiVector > getUVector() const
Returns a reference counted pointer to the private u_epetra_vec data container ("control variables")...