File rounding_util_functions.hpp

Enums

enum EllipsoidType

Values:

enumerator MAX_ELLIPSOID
enumerator LOG_BARRIER
enumerator VOLUMETRIC_BARRIER
enumerator VAIDYA_BARRIER

Functions

template<typename VT>
auto get_max_step(VT const &Ad, VT const &b_Ax)
template<typename NT, typename MT>
static inline auto initialize_chol(MT const &mat)
template<typename NT, typename MT>
static inline auto initialize_chol(MT const &A_trans, MT const &A)
template<typename NT, typename MT, typename Eigen_lltMT, typename VT>
static inline VT solve_vec(std::unique_ptr<Eigen_lltMT> const &llt, MT const &H, VT const &b)
template<typename Eigen_lltMT, typename MT, typename NT>
static inline Eigen::Matrix<NT, Eigen::Dynamic, Eigen::Dynamic> solve_mat(std::unique_ptr<Eigen_lltMT> const &llt, MT const &H, MT const &mat, NT &logdetE)
template<typename NT, typename MT, typename diag_MT>
static inline void update_Atrans_Diag_A(MT &H, MT const &A_trans, MT const &A, diag_MT const &D)
template<typename NT, typename MT, typename diag_MT>
static inline void update_Diag_A(MT &H, diag_MT const &D, MT const &A)
template<typename NT, typename MT, typename diag_MT>
static inline void update_A_Diag(MT &H, MT const &A, diag_MT const &D)
template<typename NT, typename MT>
static inline auto get_mat_prod_op(MT const &E)
template<typename NT, typename SpectraMatProdNT>
static inline auto get_eigs_solver(std::unique_ptr<SpectraMatProdNT> const &op, int const n)
template<typename NT, typename MT>
static inline void init_Bmat(MT &B, int const n, MT const &A_trans, MT const &A)
template<typename NT, typename MT, typename VT>
static inline void update_Bmat(MT &B, VT const &AtDe, VT const &d, MT const &AtD, MT const &A)
template<int BarrierType, typename NT>
std::tuple<NT, NT> init_step()
template<typename MT_dense, int BarrierType, typename MT, typename VT, typename llt_type, typename NT>
void get_barrier_hessian_grad(MT const &A, MT const &A_trans, VT const &b, VT const &x, VT const &Ax, llt_type const &llt, MT &H, VT &grad, VT &b_Ax, NT &obj_val)
template<int BarrierType, typename NT>
void get_step_next_iteration(NT const obj_val_prev, NT const obj_val, NT const tol_obj, NT &step_iter)
template<typename NT>
struct JohnEllipsoidParams

Public Members

unsigned int maxiter = 500
NT tol = 1e-6
NT reg = 1e-3
template<typename NT>
struct BarrierParams

Public Members

unsigned int maxiter = 500
NT grad_err_tol = 1e-08
NT rel_pos_err_tol = 1e-12
template<typename NT>
struct EllipsoidParams

Public Members

JohnEllipsoidParams<NT> john_params
BarrierParams<NT> barrier_params
template<int T>
struct AssertBarrierFalseType : public std::false_type
template<typename T>
struct AssertFalseType : public std::false_type