26 #ifndef CASADI_SLICOT_DPLE_HPP
27 #define CASADI_SLICOT_DPLE_HPP
29 #include "../../core/dple_impl.hpp"
30 #include "../../core/linsol.hpp"
31 #include <casadi/interfaces/slicot/casadi_dple_slicot_export.h>
74 double *VZ, *
T, *
Z, *
X, *Xbar, *nnKa, *nnKb, *eig_real, *eig_imag, *F, *FF, *
A, *B;
122 std::string
class_name()
const override {
return "SlicotDple";}
131 void init(
const Dict& opts)
override;
137 int init_mem(
void* mem)
const override;
143 void set_work(
void* mem,
const double**& arg,
double**& res,
144 casadi_int*& iw,
double*& w)
const override;
147 int eval(
const double** arg,
double** res, casadi_int* iw,
double* w,
void* mem)
const override;
158 inline casadi_int partindex(
const SlicotDpleMemory* m, casadi_int i, casadi_int j, casadi_int k,
159 casadi_int r, casadi_int c)
const;
162 double psd_num_zero_;
165 std::string linear_solver_;
168 Dict linear_solver_options_;
171 static bool has_loaded_;
177 double* t,
double * z,
178 double* dwork,
double* eig_real,
179 double *eig_imag,
double num_zero=0);
static const std::string meta_doc
A documentation string.
SlicotDple(const SpDict &st)
static Dple * creator(const std::string &name, const SpDict &st)
Create a new QP Solver.
std::string class_name() const override
Readable name of the internal class.
static const Options options_
Options.
void * alloc_mem() const override
Create memory block.
const char * plugin_name() const override
const Options & get_options() const override
Options.
void free_mem(void *mem) const override
Free memory block.
void slicot_periodic_schur(casadi_int n, casadi_int K, const double *a, double *t, double *z, double *dwork, double *eig_real, double *eig_imag, double num_zero)
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
std::map< std::string, Sparsity > SpDict
Options metadata for a class.
Function memory with temporary work vectors.
std::vector< std::vector< Linsol > > dpse_solvers
Solvers for low-order Discrete Periodic Sylvester Equations.
~SlicotDpleMemory()
Destructor.
SlicotDpleMemory()
Constructor.