26 #ifndef CASADI_LSQR_HPP
27 #define CASADI_LSQR_HPP
29 #include "casadi/core/linsol_internal.hpp"
30 #include <casadi/solvers/casadi_linsol_lsqr_export.h>
49 std::vector<const double*>
arg;
50 std::vector<double>
w;
52 std::vector<double>
A;
74 std::string
class_name()
const override {
return "Lsqr";}
78 return new Lsqr(name, sp);
85 int init_mem(
void* mem)
const override;
91 int nfact(
void* mem,
const double* A)
const override;
94 int solve(
void* mem,
const double* A,
double* x, casadi_int nrhs,
bool tr)
const override;
97 void generate(
CodeGenerator& g,
const std::string& A,
const std::string& x,
98 casadi_int nrhs,
bool tr)
const override;
Helper class for C code generation.
Helper class for Serialization.
'symbolicqr' plugin for Linsol
static const std::string meta_doc
A documentation string.
static LinsolInternal * creator(const std::string &name, const Sparsity &sp)
Create a new Linsol.
const char * plugin_name() const override
std::string class_name() const override
Readable name of the internal class.
void free_mem(void *mem) const override
Free memory block.
Lsqr(DeserializingStream &s)
Deserializing constructor.
static ProtoFunction * deserialize(DeserializingStream &s)
Deserialize with type disambiguation.
void * alloc_mem() const override
Create memory block.
Base class for FunctionInternal and LinsolInternal.
std::vector< const double * > arg