10#ifndef ROL_BUNDLE_U_TT_H
11#define ROL_BUNDLE_U_TT_H
14#include "ROL_LAPACK.hpp"
15#include "ROL_LinearAlgebra.hpp"
26template<
typename Real>
73 const Real coeff = 0.0,
74 const Real omega = 2.0,
75 const unsigned remSize = 2);
77 unsigned solveDual(
const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8);
83 Real
sgn(
const Real x)
const;
85 void swapRowsL(
unsigned ind1,
unsigned ind2,
bool trans=
false);
94 void solveSystem(
int size,
char tran, LA::Matrix<Real> &L, LA::Vector<Real> &v);
97 bool isFeasible(LA::Vector<Real> &v,
const Real &tol);
99 unsigned solveDual_TT(
const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8);
101 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_
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