26 #ifndef CASADI_SYMBOLIC_QR_HPP
27 #define CASADI_SYMBOLIC_QR_HPP
29 #include "casadi/core/linsol_internal.hpp"
30 #include <casadi/solvers/casadi_linsol_symbolicqr_export.h>
51 std::vector<const double*>
arg;
52 std::vector<double*>
res;
53 std::vector<casadi_int>
iw;
54 std::vector<double>
w;
60 std::vector<double>
q, r;
79 const char*
plugin_name()
const override {
return "symbolicqr";}
82 std::string
class_name()
const override {
return "SymbolicQr";}
96 void init(
const Dict& opts)
override;
102 int init_mem(
void* mem)
const override;
108 int nfact(
void* mem,
const double* A)
const override;
111 int solve(
void* mem,
const double* A,
double* x, casadi_int nrhs,
bool tr)
const override;
114 void linsol_eval_sx(
const SXElem** arg,
SXElem** res, casadi_int* iw,
SXElem* w,
void* mem,
115 bool tr, casadi_int nrhs)
const override;
Helper class for Serialization.
Sparse matrix class. SX and DM are specializations.
Base class for FunctionInternal and LinsolInternal.
The basic scalar symbolic class of CasADi.
Helper class for Serialization.
'symbolicqr' plugin for Linsol
void * alloc_mem() const override
Create memory block.
static const Options options_
Options.
void free_mem(void *mem) const override
Free memory block.
static LinsolInternal * creator(const std::string &name, const Sparsity &sp)
Create a new Linsol.
std::string class_name() const override
Readable name of the internal class.
static const std::string meta_doc
A documentation string.
const char * plugin_name() const override
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize with type disambiguation.
const Options & get_options() const override
Options.
std::vector< SXPtr > SXPtrV
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
Options metadata for a class.
std::vector< casadi_int > iw
std::vector< double * > res
std::vector< const double * > arg