| ROL
    | 
Provides the interface for and implements a bundle. The semidefinite quadratic subproblem is solved using TT algorithm by Antonio Frangioni (1996). More...
#include <ROL_Bundle_TT.hpp>
 Inheritance diagram for ROL::Bundle_TT< Real >:
 Inheritance diagram for ROL::Bundle_TT< Real >:| Public Member Functions | |
| Bundle_TT (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2) | |
| unsigned | solveDual (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) | 
|  Public Member Functions inherited from ROL::Bundle< Real > | |
| virtual | ~Bundle (void) | 
| Bundle (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2) | |
| virtual void | initialize (const Vector< Real > &g) | 
| const Real | linearizationError (const unsigned i) const | 
| const Real | distanceMeasure (const unsigned i) const | 
| const Vector< Real > & | subgradient (const unsigned i) const | 
| const Real | getDualVariable (const unsigned i) const | 
| void | setDualVariable (const unsigned i, const Real val) | 
| void | resetDualVariables (void) | 
| const Real | computeAlpha (const Real dm, const Real le) const | 
| const Real | alpha (const unsigned i) const | 
| unsigned | size (void) const | 
| void | aggregate (Vector< Real > &aggSubGrad, Real &aggLinErr, Real &aggDistMeas) const | 
| void | reset (const Vector< Real > &g, const Real le, const Real dm) | 
| void | update (const bool flag, const Real linErr, const Real distMeas, const Vector< Real > &g, const Vector< Real > &s) | 
| Private Member Functions | |
| Real | GiGj (const int i, const int j) const | 
| Real | sgn (const Real x) const | 
| void | swapRowsL (unsigned ind1, unsigned ind2, bool trans=false) | 
| void | updateK (void) | 
| void | addSubgradToBase (unsigned ind, Real delta) | 
| void | deleteSubgradFromBase (unsigned ind, Real tol) | 
| void | solveSystem (int size, char tran, LA::Matrix< Real > &L, LA::Vector< Real > &v) | 
| bool | isFeasible (LA::Vector< Real > &v, const Real &tol) | 
| unsigned | solveDual_TT (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) | 
| unsigned | solveDual_arbitrary (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) | 
| Private Attributes | |
| ROL::LAPACK< int, Real > | lapack_ | 
| int | QPStatus_ | 
| int | maxind_ | 
| int | entering_ | 
| int | LiMax_ | 
| int | LiMin_ | 
| unsigned | maxSize_ | 
| unsigned | dependent_ | 
| unsigned | currSize_ | 
| bool | isInitialized_ | 
| bool | optimal_ | 
| Real | rho_ | 
| Real | lhNorm | 
| Real | ljNorm | 
| Real | lhz1_ | 
| Real | lhz2_ | 
| Real | ljz1_ | 
| Real | kappa_ | 
| Real | objval_ | 
| Real | minobjval_ | 
| Real | deltaLh_ | 
| Real | deltaLj_ | 
| std::vector< int > | taboo_ | 
| std::vector< int > | base_ | 
| LA::Matrix< Real > | L_ | 
| LA::Matrix< Real > | Id_ | 
| LA::Vector< Real > | tempv_ | 
| LA::Vector< Real > | tempw1_ | 
| LA::Vector< Real > | tempw2_ | 
| LA::Vector< Real > | lh_ | 
| LA::Vector< Real > | lj_ | 
| LA::Vector< Real > | z1_ | 
| LA::Vector< Real > | z2_ | 
| Additional Inherited Members | |
|  Protected Member Functions inherited from ROL::Bundle< Real > | |
| const Real | GiGj (const unsigned i, const unsigned j) const | 
| const Real | dotGi (const unsigned i, const Vector< Real > &x) const | 
| void | addGi (const unsigned i, const Real a, Vector< Real > &x) const | 
| Real | evaluateObjective (std::vector< Real > &g, const std::vector< Real > &x, const Real t) const | 
| unsigned | solveDual_dim1 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) | 
| unsigned | solveDual_dim2 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) | 
Provides the interface for and implements a bundle. The semidefinite quadratic subproblem is solved using TT algorithm by Antonio Frangioni (1996).
Definition at line 77 of file ROL_Bundle_TT.hpp.
| 
 | inline | 
Definition at line 130 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::Id_, ROL::Bundle_TT< Real >::maxind_, and ROL::Bundle_TT< Real >::maxSize_.
| 
 | inlineprivate | 
Definition at line 119 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | inlineprivate | 
Definition at line 123 of file ROL_Bundle_TT.hpp.
References zero.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase().
| 
 | inlinevirtual | 
Implements ROL::Bundle< Real >.
Definition at line 143 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::solveDual_arbitrary(), ROL::Bundle< Real >::solveDual_dim1(), and ROL::Bundle< Real >::solveDual_dim2().
| 
 | inlineprivate | 
Definition at line 161 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::currSize_, ROL::Bundle_TT< Real >::Id_, ROL::Bundle_TT< Real >::L_, and zero.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), and ROL::Bundle_TT< Real >::deleteSubgradFromBase().
| 
 | inlineprivate | 
Definition at line 185 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::currSize_, ROL::Bundle_TT< Real >::dependent_, ROL::Bundle_TT< Real >::kappa_, ROL::Bundle_TT< Real >::L_, ROL::Bundle_TT< Real >::LiMax_, and ROL::Bundle_TT< Real >::LiMin_.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase().
| 
 | inlineprivate | 
Definition at line 206 of file ROL_Bundle_TT.hpp.
References ROL::Bundle< Real >::alpha(), ROL::Bundle_TT< Real >::base_, ROL::Bundle_TT< Real >::currSize_, ROL::Bundle_TT< Real >::dependent_, ROL::Bundle_TT< Real >::kappa_, ROL::Bundle_TT< Real >::L_, ROL::Bundle_TT< Real >::lhz1_, ROL::Bundle_TT< Real >::lhz2_, ROL::Bundle_TT< Real >::LiMax_, ROL::Bundle_TT< Real >::LiMin_, ROL::Bundle_TT< Real >::swapRowsL(), ROL::Bundle_TT< Real >::z1_, and ROL::Bundle_TT< Real >::z2_.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | inlineprivate | 
Definition at line 239 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::base_, ROL::Bundle_TT< Real >::currSize_, ROL::Bundle_TT< Real >::deltaLh_, ROL::Bundle_TT< Real >::deltaLj_, ROL::Bundle_TT< Real >::dependent_, ROL::Bundle_TT< Real >::GiGj(), ROL::Bundle_TT< Real >::kappa_, ROL::Bundle_TT< Real >::L_, ROL::Bundle_TT< Real >::lh_, ROL::Bundle_TT< Real >::lhNorm, ROL::Bundle_TT< Real >::lhz1_, ROL::Bundle_TT< Real >::lhz2_, ROL::Bundle_TT< Real >::lj_, ROL::Bundle_TT< Real >::ljNorm, ROL::Bundle_TT< Real >::ljz1_, ROL::Bundle_TT< Real >::sgn(), ROL::Bundle_TT< Real >::swapRowsL(), ROL::Bundle_TT< Real >::updateK(), ROL::Bundle_TT< Real >::z1_, ROL::Bundle_TT< Real >::z2_, and zero.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | inlineprivate | 
Definition at line 466 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::lapack_, and ROL::Bundle< Real >::size().
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | inlineprivate | 
Definition at line 481 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | inlineprivate | 
Definition at line 491 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle< Real >::alpha(), ROL::Bundle_TT< Real >::base_, ROL::Bundle_TT< Real >::currSize_, ROL::Bundle_TT< Real >::deleteSubgradFromBase(), ROL::Bundle_TT< Real >::dependent_, ROL::Bundle_TT< Real >::entering_, ROL::Bundle< Real >::getDualVariable(), ROL::Bundle_TT< Real >::GiGj(), ROL::Bundle_TT< Real >::isFeasible(), ROL::Bundle_TT< Real >::kappa_, ROL::Bundle_TT< Real >::L_, ROL::Bundle_TT< Real >::lh_, ROL::Bundle_TT< Real >::lhNorm, ROL::Bundle_TT< Real >::lhz1_, ROL::Bundle_TT< Real >::lhz2_, ROL::Bundle_TT< Real >::LiMax_, ROL::Bundle_TT< Real >::LiMin_, ROL::Bundle_TT< Real >::lj_, ROL::Bundle_TT< Real >::ljNorm, ROL::Bundle_TT< Real >::ljz1_, ROL::Bundle_TT< Real >::maxind_, ROL::Bundle_TT< Real >::minobjval_, ROL::Bundle_TT< Real >::objval_, ROL::Bundle_TT< Real >::optimal_, ROL::Bundle_TT< Real >::QPStatus_, ROL::Bundle< Real >::resetDualVariables(), ROL::Bundle_TT< Real >::rho_, ROL::Bundle< Real >::setDualVariable(), ROL::Bundle_TT< Real >::solveSystem(), ROL::Bundle_TT< Real >::taboo_, ROL::Bundle_TT< Real >::tempv_, ROL::Bundle_TT< Real >::tempw1_, ROL::Bundle_TT< Real >::tempw2_, ROL::Bundle_TT< Real >::z1_, ROL::Bundle_TT< Real >::z2_, and zero.
Referenced by ROL::Bundle_TT< Real >::solveDual_arbitrary().
| 
 | inlineprivate | 
Definition at line 858 of file ROL_Bundle_TT.hpp.
References ROL::Bundle_TT< Real >::QPStatus_, and ROL::Bundle_TT< Real >::solveDual_TT().
Referenced by ROL::Bundle_TT< Real >::solveDual().
| 
 | private | 
Definition at line 79 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveSystem().
| 
 | private | 
Definition at line 81 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_arbitrary(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 82 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::Bundle_TT(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 83 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 84 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::solveDual_TT(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 85 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::solveDual_TT(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 87 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::Bundle_TT().
| 
 | private | 
Definition at line 88 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), ROL::Bundle_TT< Real >::solveDual_TT(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 89 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), ROL::Bundle_TT< Real >::solveDual_TT(), ROL::Bundle_TT< Real >::swapRowsL(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 91 of file ROL_Bundle_TT.hpp.
| 
 | private | 
Definition at line 92 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 94 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 95 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 96 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 97 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 98 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 99 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 100 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), ROL::Bundle_TT< Real >::solveDual_TT(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 101 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 102 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 103 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase().
| 
 | private | 
Definition at line 104 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase().
| 
 | private | 
Definition at line 106 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 107 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 109 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), ROL::Bundle_TT< Real >::solveDual_TT(), ROL::Bundle_TT< Real >::swapRowsL(), and ROL::Bundle_TT< Real >::updateK().
| 
 | private | 
Definition at line 110 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::Bundle_TT(), and ROL::Bundle_TT< Real >::swapRowsL().
| 
 | private | 
Definition at line 111 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 112 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 113 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 114 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 115 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 116 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
| 
 | private | 
Definition at line 117 of file ROL_Bundle_TT.hpp.
Referenced by ROL::Bundle_TT< Real >::addSubgradToBase(), ROL::Bundle_TT< Real >::deleteSubgradFromBase(), and ROL::Bundle_TT< Real >::solveDual_TT().
 1.8.5
 1.8.5