ROL
|
#include <ROL_RiskVector.hpp>
Public Member Functions | |
RiskVector (Teuchos::ParameterList &parlist, const Teuchos::RCP< Vector< Real > > &vec, const Real stat=1) | |
RiskVector (const Teuchos::RCP< Vector< Real > > &vec, const bool augmented=false) | |
RiskVector (const Teuchos::RCP< Vector< Real > > &vec, const std::vector< Real > &stat, const bool augmented=true) | |
void | set (const Vector< Real > &x) |
Set \(y \leftarrow x\) where \(y = \mathtt{*this}\). More... | |
void | plus (const Vector< Real > &x) |
Compute \(y \leftarrow y + x\), where \(y = \mathtt{*this}\). More... | |
void | scale (const Real alpha) |
Compute \(y \leftarrow \alpha y\) where \(y = \mathtt{*this}\). More... | |
void | axpy (const Real alpha, const Vector< Real > &x) |
Compute \(y \leftarrow \alpha x + y\) where \(y = \mathtt{*this}\). More... | |
Real | dot (const Vector< Real > &x) const |
Compute \( \langle y,x \rangle \) where \(y = \mathtt{*this}\). More... | |
Real | norm (void) const |
Returns \( \| y \| \) where \(y = \mathtt{*this}\). More... | |
Teuchos::RCP< Vector< Real > > | clone (void) const |
Clone to make a new (uninitialized) vector. More... | |
const Vector< Real > & | dual (void) const |
Return dual representation of \(\mathtt{*this}\), for example, the result of applying a Riesz map, or change of basis, or change of memory layout. More... | |
Teuchos::RCP< Vector< Real > > | basis (const int i) const |
Return i-th basis vector. More... | |
void | applyUnary (const Elementwise::UnaryFunction< Real > &f) |
void | applyBinary (const Elementwise::BinaryFunction< Real > &f, const Vector< Real > &x) |
Real | reduce (const Elementwise::ReductionOp< Real > &r) const |
int | dimension (void) const |
Return dimension of the vector space. More... | |
Teuchos::RCP< const StdVector< Real > > | getStatistic (void) const |
Teuchos::RCP< StdVector< Real > > | getStatistic (void) |
Teuchos::RCP< const Vector< Real > > | getVector (void) const |
Teuchos::RCP< Vector< Real > > | getVector (void) |
const Real | getStatistic (const int i) const |
void | getStatistic (std::vector< Real > &stat) const |
void | setStatistic (const Real stat) |
void | setStatistic (const std::vector< Real > &stat) |
void | setVector (const Vector< Real > &vec) |
![]() | |
virtual | ~Vector () |
virtual void | zero () |
Set to zero vector. More... | |
virtual std::vector< Real > | checkVector (const Vector< Real > &x, const Vector< Real > &y, const bool printToStream=true, std::ostream &outStream=std::cout) const |
Verify vector-space methods. More... | |
Private Attributes | |
Teuchos::RCP< std::vector< Real > > | stat_ |
Teuchos::RCP< StdVector< Real > > | stat_vec_ |
Teuchos::RCP< Vector< Real > > | vec_ |
bool | augmented_ |
int | nStat_ |
bool | isDualInitialized_ |
Teuchos::RCP< Vector< Real > > | dual_vec1_ |
Teuchos::RCP< RiskVector< Real > > | dual_vec_ |
Definition at line 54 of file ROL_RiskVector.hpp.
|
inline |
Definition at line 68 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::nStat_, ROL::RiskVector< Real >::stat_, and ROL::RiskVector< Real >::stat_vec_.
Referenced by ROL::RiskVector< Real >::clone().
|
inline |
Definition at line 88 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::nStat_, ROL::RiskVector< Real >::stat_, and ROL::RiskVector< Real >::stat_vec_.
|
inline |
Definition at line 98 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::stat_, and ROL::RiskVector< Real >::stat_vec_.
|
inlinevirtual |
Set \(y \leftarrow x\) where \(y = \mathtt{*this}\).
[in] | x | is a vector. On return \form#18. Uses #zero and #plus methods for the computation. Please overload if a more efficient implementation is needed. --- |
Reimplemented from ROL::Vector< Real >.
Definition at line 109 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Compute \(y \leftarrow y + x\), where \(y = \mathtt{*this}\).
[in] | x | is the vector to be added to \(\mathtt{*this}\). On return \form#9. --- |
Implements ROL::Vector< Real >.
Definition at line 117 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Compute \(y \leftarrow \alpha y\) where \(y = \mathtt{*this}\).
[in] | alpha | is the scaling of \(\mathtt{*this}\). On return \form#11. --- |
Implements ROL::Vector< Real >.
Definition at line 125 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Compute \(y \leftarrow \alpha x + y\) where \(y = \mathtt{*this}\).
[in] | alpha | is the scaling of x. |
[in] | x | is a vector. On return \form#16. Uses #clone, #set, #scale and #plus for the computation. Please overload if a more efficient implementation is needed. --- |
Reimplemented from ROL::Vector< Real >.
Definition at line 132 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Compute \( \langle y,x \rangle \) where \(y = \mathtt{*this}\).
[in] | x | is the vector that forms the dot product with \(\mathtt{*this}\). |
Implements ROL::Vector< Real >.
Definition at line 140 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
Referenced by ROL::RiskVector< Real >::norm().
|
inlinevirtual |
Returns \( \| y \| \) where \(y = \mathtt{*this}\).
Implements ROL::Vector< Real >.
Definition at line 149 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::dot().
|
inlinevirtual |
Clone to make a new (uninitialized) vector.
Provides the means of allocating temporary memory in ROL.
Implements ROL::Vector< Real >.
Definition at line 153 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::nStat_, ROL::RiskVector< Real >::RiskVector(), and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Return dual representation of \(\mathtt{*this}\), for example, the result of applying a Riesz map, or change of basis, or change of memory layout.
By default, returns the current object. Please overload if you need a dual representation.
Reimplemented from ROL::Vector< Real >.
Definition at line 158 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::dual_vec1_, ROL::RiskVector< Real >::dual_vec_, ROL::RiskVector< Real >::isDualInitialized_, ROL::RiskVector< Real >::nStat_, ROL::RiskVector< Real >::setStatistic(), ROL::RiskVector< Real >::stat_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Return i-th basis vector.
[in] | i | is the index of the basis function. |
Overloading the basis is only required if the default gradient implementation is used, which computes a finite-difference approximation.
Reimplemented from ROL::Vector< Real >.
Definition at line 176 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::nStat_, ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Reimplemented from ROL::Vector< Real >.
Definition at line 194 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Reimplemented from ROL::Vector< Real >.
Definition at line 201 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Reimplemented from ROL::Vector< Real >.
Definition at line 209 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inlinevirtual |
Return dimension of the vector space.
Overload if the basis is overloaded.
Reimplemented from ROL::Vector< Real >.
Definition at line 218 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::stat_vec_, and ROL::RiskVector< Real >::vec_.
|
inline |
Definition at line 229 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::stat_vec_.
Referenced by ROL::RiskVector< Real >::applyBinary(), ROL::RiskVector< Real >::axpy(), ROL::RiskVector< Real >::dot(), ROL::ConvexCombinationRiskMeasure< Real >::getGradient(), ROL::ConvexCombinationRiskMeasure< Real >::getHessVec(), ROL::StochasticProblem< Real >::getSolutionStatistic(), ROL::SimulatedObjectiveCVaR< Real >::gradient(), ROL::RiskVector< Real >::plus(), ROL::ConvexCombinationRiskMeasure< Real >::reset(), ROL::CVaR< Real >::reset(), ROL::ExpectationQuad< Real >::reset(), ROL::RiskVector< Real >::set(), and ROL::SimulatedObjectiveCVaR< Real >::value().
|
inline |
Definition at line 233 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::stat_vec_.
|
inline |
Definition at line 237 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::vec_.
Referenced by ROL::SimulatedEqualityConstraint< Real >::applyAdjointHessian(), ROL::SimulatedEqualityConstraint< Real >::applyAdjointJacobian(), ROL::RiskVector< Real >::applyBinary(), ROL::SimulatedEqualityConstraint< Real >::applyJacobian(), ROL::SimulatedEqualityConstraint< Real >::applyPreconditioner(), ROL::RiskVector< Real >::axpy(), ROL::RiskVector< Real >::dot(), ROL::ConvexCombinationRiskMeasure< Real >::getGradient(), ROL::ConvexCombinationRiskMeasure< Real >::getHessVec(), ROL::SimulatedObjectiveCVaR< Real >::gradient(), ROL::RiskVector< Real >::plus(), ROL::ConvexCombinationRiskMeasure< Real >::reset(), ROL::CVaR< Real >::reset(), ROL::MeanVariance< Real >::reset(), ROL::ExpectationQuad< Real >::reset(), ROL::MeanDeviationFromTarget< Real >::reset(), ROL::MeanDeviation< Real >::reset(), ROL::RiskVector< Real >::set(), ROL::SimulatedEqualityConstraint< Real >::value(), and ROL::SimulatedObjectiveCVaR< Real >::value().
|
inline |
Definition at line 241 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::vec_.
|
inline |
Definition at line 248 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::nStat_, and ROL::RiskVector< Real >::stat_.
|
inline |
Definition at line 256 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, and ROL::RiskVector< Real >::stat_.
|
inline |
Definition at line 263 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, ROL::RiskVector< Real >::nStat_, and ROL::RiskVector< Real >::stat_.
Referenced by ROL::RiskVector< Real >::dual(), ROL::QuantileRadiusQuadrangle< Real >::getGradient(), ROL::CVaR< Real >::getGradient(), ROL::MixedQuantileQuadrangle< Real >::getGradient(), ROL::FDivergence< Real >::getGradient(), ROL::ConvexCombinationRiskMeasure< Real >::getGradient(), ROL::ExpectationQuad< Real >::getGradient(), ROL::QuantileRadiusQuadrangle< Real >::getHessVec(), ROL::CVaR< Real >::getHessVec(), ROL::MixedQuantileQuadrangle< Real >::getHessVec(), ROL::FDivergence< Real >::getHessVec(), ROL::ConvexCombinationRiskMeasure< Real >::getHessVec(), ROL::ExpectationQuad< Real >::getHessVec(), ROL::SimulatedObjectiveCVaR< Real >::gradient(), ROL::BPOEObjective< Real >::gradient(), ROL::HMCRObjective< Real >::gradient(), ROL::BPOEObjective< Real >::hessVec(), ROL::HMCRObjective< Real >::hessVec(), ROL::ConvexCombinationRiskMeasure< Real >::reset(), and ROL::StochasticProblem< Real >::setSolutionStatistic().
|
inline |
Definition at line 269 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::augmented_, and ROL::RiskVector< Real >::stat_.
|
inline |
Definition at line 275 of file ROL_RiskVector.hpp.
References ROL::RiskVector< Real >::vec_.
Referenced by ROL::QuantileRadiusQuadrangle< Real >::getGradient(), ROL::CVaR< Real >::getGradient(), ROL::MixedQuantileQuadrangle< Real >::getGradient(), ROL::FDivergence< Real >::getGradient(), ROL::ExpectationQuad< Real >::getGradient(), ROL::QuantileRadiusQuadrangle< Real >::getHessVec(), ROL::CVaR< Real >::getHessVec(), ROL::MixedQuantileQuadrangle< Real >::getHessVec(), ROL::FDivergence< Real >::getHessVec(), ROL::ExpectationQuad< Real >::getHessVec(), ROL::BPOEObjective< Real >::gradient(), ROL::HMCRObjective< Real >::gradient(), ROL::BPOEObjective< Real >::hessVec(), and ROL::HMCRObjective< Real >::hessVec().
|
private |
Definition at line 56 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::dual(), ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::RiskVector(), and ROL::RiskVector< Real >::setStatistic().
|
private |
Definition at line 57 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::applyBinary(), ROL::RiskVector< Real >::applyUnary(), ROL::RiskVector< Real >::axpy(), ROL::RiskVector< Real >::basis(), ROL::RiskVector< Real >::dimension(), ROL::RiskVector< Real >::dot(), ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::plus(), ROL::RiskVector< Real >::reduce(), ROL::RiskVector< Real >::RiskVector(), ROL::RiskVector< Real >::scale(), and ROL::RiskVector< Real >::set().
|
private |
Definition at line 58 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::applyBinary(), ROL::RiskVector< Real >::applyUnary(), ROL::RiskVector< Real >::axpy(), ROL::RiskVector< Real >::basis(), ROL::RiskVector< Real >::clone(), ROL::RiskVector< Real >::dimension(), ROL::RiskVector< Real >::dot(), ROL::RiskVector< Real >::dual(), ROL::RiskVector< Real >::getVector(), ROL::RiskVector< Real >::plus(), ROL::RiskVector< Real >::reduce(), ROL::RiskVector< Real >::scale(), ROL::RiskVector< Real >::set(), and ROL::RiskVector< Real >::setVector().
|
private |
Definition at line 60 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::applyBinary(), ROL::RiskVector< Real >::applyUnary(), ROL::RiskVector< Real >::axpy(), ROL::RiskVector< Real >::basis(), ROL::RiskVector< Real >::clone(), ROL::RiskVector< Real >::dimension(), ROL::RiskVector< Real >::dot(), ROL::RiskVector< Real >::dual(), ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::plus(), ROL::RiskVector< Real >::reduce(), ROL::RiskVector< Real >::RiskVector(), ROL::RiskVector< Real >::scale(), ROL::RiskVector< Real >::set(), and ROL::RiskVector< Real >::setStatistic().
|
private |
Definition at line 61 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::basis(), ROL::RiskVector< Real >::clone(), ROL::RiskVector< Real >::dual(), ROL::RiskVector< Real >::getStatistic(), ROL::RiskVector< Real >::RiskVector(), and ROL::RiskVector< Real >::setStatistic().
|
mutableprivate |
Definition at line 63 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::dual().
|
mutableprivate |
Definition at line 64 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::dual().
|
mutableprivate |
Definition at line 65 of file ROL_RiskVector.hpp.
Referenced by ROL::RiskVector< Real >::dual().