1#ifndef ZONOOPT_CHOLESKY_UTILITIES_HPP_
2#define ZONOOPT_CHOLESKY_UTILITIES_HPP_
15#include "Eigen/Sparse"
18namespace ZonoOpt::detail {
22 Eigen::SparseMatrix<zono_float> L;
24 Eigen::PermutationMatrix<-1, -1,
int> P, Pinv;
25 bool factorized =
false;
28 void get_LDLT_data(
const Eigen::SimplicialLDLT<Eigen::SparseMatrix<zono_float>>& solver, LDLT_data& data);
30 Eigen::Vector<
zono_float, -1> solve_LDLT(
const LDLT_data& data,
const Eigen::Vector<zono_float, -1>& b);
32 void affine_set_projection(Eigen::Ref<Eigen::Vector<zono_float, -1>> z,
const Eigen::SparseMatrix<zono_float>& A,
33 const Eigen::SparseMatrix<zono_float>& AT,
const Eigen::Vector<zono_float, -1>& b,
const LDLT_data& AAT_ldlt);
#define zono_float
Defines the floating-point type used in ZonoOpt.
Definition ZonoOpt.hpp:45