26 #ifndef CASADI_LINSOL_QR_HPP
27 #define CASADI_LINSOL_QR_HPP
39 #include "casadi/core/linsol_internal.hpp"
40 #include <casadi/solvers/casadi_linsol_qr_export.h>
44 std::vector<double> v, r,
beta, w;
70 void init(
const Dict& opts)
override;
73 void finalize()
override;
85 int init_mem(
void* mem)
const override;
91 int nfact(
void* mem,
const double* A)
const override;
94 int sfact(
void* mem,
const double* A)
const override;
97 int solve(
void* mem,
const double* A,
double* x, casadi_int nrhs,
bool tr)
const override;
100 void generate(
CodeGenerator& g,
const std::string& A,
const std::string& x,
101 casadi_int nrhs,
bool tr)
const override;
107 std::string
class_name()
const override {
return "LinsolQr";}
113 std::vector<casadi_int> prinv_,
pc_;
Helper class for C code generation.
Helper class for Serialization.
static const std::string meta_doc
A documentation string.
std::string class_name() const override
Readable name of the internal class.
const Options & get_options() const override
Options.
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize with type disambiguation.
const char * plugin_name() const override
std::vector< casadi_int > pc_
void free_mem(void *mem) const override
Free memory block.
static LinsolInternal * creator(const std::string &name, const Sparsity &sp)
Create a new LinsolInternal.
casadi_int n_cache_
Cache size.
static const Options options_
Options.
void * alloc_mem() const override
Create memory block.
Base class for FunctionInternal and LinsolInternal.
Helper class for Serialization.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
std::vector< double > beta
std::vector< double > cache
std::vector< int > cache_loc
Options metadata for a class.