44#ifndef ROL_BUNDLE_U_TT_H
45#define ROL_BUNDLE_U_TT_H
48#include "ROL_LAPACK.hpp"
49#include "ROL_LinearAlgebra.hpp"
60template<
typename Real>
107 const Real coeff = 0.0,
108 const Real omega = 2.0,
109 const unsigned remSize = 2);
111 unsigned solveDual(
const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8);
117 Real
sgn(
const Real x)
const;
119 void swapRowsL(
unsigned ind1,
unsigned ind2,
bool trans=
false);
128 void solveSystem(
int size,
char tran, LA::Matrix<Real> &L, LA::Vector<Real> &v);
131 bool isFeasible(LA::Vector<Real> &v,
const Real &tol);
133 unsigned solveDual_TT(
const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8);
135 unsigned solveDual_arbitrary(
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 u...
LA::Vector< Real > tempv_
LAPACK< int, Real > lapack_
Bundle_U_TT(const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2)
Real sgn(const Real x) const
LA::Vector< Real > tempw1_
void addSubgradToBase(unsigned ind, Real delta)
void deleteSubgradFromBase(unsigned ind, Real tol)
unsigned solveDual_arbitrary(const Real t, const unsigned maxit=1000, const Real tol=1.e-8)
bool isFeasible(LA::Vector< Real > &v, const Real &tol)
void solveSystem(int size, char tran, LA::Matrix< Real > &L, LA::Vector< Real > &v)
LA::Vector< Real > tempw2_
void swapRowsL(unsigned ind1, unsigned ind2, bool trans=false)
std::vector< int > taboo_
unsigned solveDual(const Real t, const unsigned maxit=1000, const Real tol=1.e-8)
unsigned solveDual_TT(const Real t, const unsigned maxit=1000, const Real tol=1.e-8)
Provides the interface for and implements a bundle.
unsigned size(void) const
const Real GiGj(const unsigned i, const unsigned j) const