List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
casadi::LinsolCall< Tr > Class Template Reference

Linear solve operation with a linear solver instance. More...

#include <solve.hpp>

Detailed Description

template<bool Tr>
class casadi::LinsolCall< Tr >

Author
Joel Andersson
Date
2013

Extra doc: https://github.com/casadi/casadi/wiki/L_g8

Definition at line 148 of file solve.hpp.

Inheritance diagram for casadi::LinsolCall< Tr >:
Inheritance graph
[legend]

Public Member Functions

 LinsolCall (const MX &r, const MX &A, const Linsol &linear_solver)
 Constructor. More...
 
 ~LinsolCall () override
 Destructor. More...
 
int eval (const double **arg, double **res, casadi_int *iw, double *w) const override
 Evaluate the function numerically. More...
 
int eval_sx (const SXElem **arg, SXElem **res, casadi_int *iw, SXElem *w) const override
 Evaluate the function symbolically (SX) More...
 
size_t sz_w () const override
 Get required length of w field. More...
 
void generate (CodeGenerator &g, const std::vector< casadi_int > &arg, const std::vector< casadi_int > &res) const override
 Generate code for the operation. More...
 
MX solve (const MX &A, const MX &B, bool tr) const override
 Solve another system with the same factorization. More...
 
void serialize_body (SerializingStream &s) const override
 Serialize an object without type information. More...
 
void serialize_type (SerializingStream &s) const override
 Serialize type information. More...
 
 LinsolCall (DeserializingStream &s)
 Deserializing constructor. More...
 
std::string disp (const std::vector< std::string > &arg) const override
 Print expression. More...
 
void disp (std::ostream &stream, bool more) const override
 Print a description. More...
 
virtual std::string mod_prefix () const
 Modifier for linear system, before argument. More...
 
virtual std::string mod_suffix () const
 Modifier for linear system, after argument. More...
 
void eval_mx (const std::vector< MX > &arg, std::vector< MX > &res) const override
 Evaluate symbolically (MX) More...
 
void ad_forward (const std::vector< std::vector< MX > > &fseed, std::vector< std::vector< MX > > &fsens) const override
 Calculate forward mode directional derivatives. More...
 
void ad_reverse (const std::vector< std::vector< MX > > &aseed, std::vector< std::vector< MX > > &asens) const override
 Calculate reverse mode directional derivatives. More...
 
casadi_int n_inplace () const override
 Can the operation be performed inplace (i.e. overwrite the result) More...
 
int sp_forward (const bvec_t **arg, bvec_t **res, casadi_int *iw, bvec_t *w) const override
 Propagate sparsity forward. More...
 
int sp_reverse (bvec_t **arg, bvec_t **res, casadi_int *iw, bvec_t *w) const override
 Propagate sparsity backwards. More...
 
casadi_int op () const override
 Get the operation. More...
 
Dict info () const override
 
virtual const SparsityA_sp () const
 Sparsity pattern for the linear system. More...
 
virtual bool __nonzero__ () const
 Check the truth value of this node. More...
 
virtual bool is_zero () const
 Check if identically zero. More...
 
virtual bool is_one () const
 Check if identically one. More...
 
virtual bool is_minus_one () const
 Check if identically minus one. More...
 
virtual bool is_value (double val) const
 Check if a certain value. More...
 
virtual bool is_eye () const
 Check if identity matrix. More...
 
virtual bool is_unary () const
 Check if unary operation. More...
 
virtual bool is_binary () const
 Check if binary operation. More...
 
void can_inline (std::map< const MXNode *, casadi_int > &nodeind) const
 Find out which nodes can be inlined. More...
 
std::string print_compact (std::map< const MXNode *, casadi_int > &nodeind, std::vector< std::string > &intermed) const
 Print compact. More...
 
virtual void add_dependency (CodeGenerator &g) const
 Add a dependent function. More...
 
virtual bool has_refcount () const
 Is reference counting needed in codegen? More...
 
virtual void codegen_incref (CodeGenerator &g, std::set< void * > &added) const
 Codegen incref. More...
 
virtual void codegen_decref (CodeGenerator &g, std::set< void * > &added) const
 Codegen decref. More...
 
virtual const std::string & name () const
 Get the name. More...
 
std::string class_name () const override
 Get name of public class. More...
 
virtual bool is_valid_input () const
 Check if valid function input. More...
 
virtual casadi_int n_primitives () const
 Get the number of symbolic primitives. More...
 
virtual void primitives (std::vector< MX >::iterator &it) const
 Get symbolic primitives. More...
 
template<typename T >
join_primitives_gen (typename std::vector< T >::const_iterator &it) const
 Join an expression along symbolic primitives (template) More...
 
virtual bool has_duplicates () const
 Detect duplicate symbolic expressions. More...
 
virtual void reset_input () const
 Reset the marker for an input expression. More...
 
virtual bool is_output () const
 Check if evaluation output. More...
 
virtual bool has_output () const
 Check if a multiple output node. More...
 
virtual casadi_int which_output () const
 Get function output. More...
 
virtual const Functionwhich_function () const
 Get called function. More...
 
void serialize (SerializingStream &s) const
 Serialize an object. More...
 
virtual bool is_equal (const MXNode *node, casadi_int depth) const
 
bool sameOpAndDeps (const MXNode *node, casadi_int depth) const
 Checks if two nodes have the same operation and have. More...
 
const MXdep (casadi_int ind=0) const
 dependencies - functions that have to be evaluated before this one More...
 
casadi_int n_dep () const
 Number of dependencies. More...
 
virtual casadi_int nout () const
 Number of outputs. More...
 
virtual MX get_output (casadi_int oind) const
 Get an output. More...
 
const Sparsitysparsity () const
 Get the sparsity. More...
 
virtual const Sparsitysparsity (casadi_int oind) const
 Get the sparsity of output oind. More...
 
template<class T >
bool matches_sparsity (const std::vector< T > &arg) const
 
casadi_int numel () const
 Get shape. More...
 
casadi_int nnz (casadi_int i=0) const
 
casadi_int size1 () const
 
casadi_int size2 () const
 
std::pair< casadi_int, casadi_int > size () const
 
virtual casadi_int ind () const
 
virtual casadi_int segment () const
 
virtual casadi_int offset () const
 
void set_sparsity (const Sparsity &sparsity)
 Set the sparsity. More...
 
virtual size_t sz_arg () const
 Get required length of arg field. More...
 
virtual size_t sz_res () const
 Get required length of res field. More...
 
virtual size_t sz_iw () const
 Get required length of iw field. More...
 
void set_dep (const MX &dep)
 Set unary dependency. More...
 
void set_dep (const MX &dep1, const MX &dep2)
 Set binary dependencies. More...
 
void set_dep (const MX &dep1, const MX &dep2, const MX &dep3)
 Set ternary dependencies. More...
 
void set_dep (const std::vector< MX > &dep)
 Set multiple dependencies. More...
 
virtual double to_double () const
 Get the value (only for scalar constant nodes) More...
 
virtual DM get_DM () const
 Get the value (only for constant nodes) More...
 
virtual Matrix< casadi_int > mapping () const
 Get an IM representation of a GetNonzeros or SetNonzeros node. More...
 
virtual MX get_horzcat (const std::vector< MX > &x) const
 Create a horizontal concatenation node. More...
 
virtual std::vector< MXget_horzsplit (const std::vector< casadi_int > &output_offset) const
 Create a horizontal split node. More...
 
virtual MX get_repmat (casadi_int m, casadi_int n) const
 Create a repeated matrix node. More...
 
virtual MX get_repsum (casadi_int m, casadi_int n) const
 Create a repeated sum node. More...
 
virtual MX get_vertcat (const std::vector< MX > &x) const
 Create a vertical concatenation node (vectors only) More...
 
virtual std::vector< MXget_vertsplit (const std::vector< casadi_int > &output_offset) const
 Create a vertical split node (vectors only) More...
 
virtual MX get_diagcat (const std::vector< MX > &x) const
 Create a diagonal concatenation node. More...
 
virtual std::vector< MXget_diagsplit (const std::vector< casadi_int > &offset1, const std::vector< casadi_int > &offset2) const
 Create a diagonal split node. More...
 
virtual MX get_transpose () const
 Transpose. More...
 
virtual MX get_reshape (const Sparsity &sp) const
 Reshape. More...
 
virtual MX get_sparsity_cast (const Sparsity &sp) const
 Sparsity cast. More...
 
virtual MX get_mac (const MX &y, const MX &z) const
 Matrix multiplication and addition. More...
 
virtual MX get_einstein (const MX &A, const MX &B, const std::vector< casadi_int > &dim_c, const std::vector< casadi_int > &dim_a, const std::vector< casadi_int > &dim_b, const std::vector< casadi_int > &c, const std::vector< casadi_int > &a, const std::vector< casadi_int > &b) const
 Einstein product and addition. More...
 
virtual MX get_bilin (const MX &x, const MX &y) const
 Bilinear form. More...
 
virtual MX get_rank1 (const MX &alpha, const MX &x, const MX &y) const
 Bilinear form. More...
 
virtual MX get_logsumexp () const
 Logsumexp. More...
 
virtual MX get_solve (const MX &r, bool tr, const Linsol &linear_solver) const
 Solve a system of linear equations. More...
 
virtual MX get_solve_triu (const MX &r, bool tr) const
 Solve a system of linear equations, upper triangular A. More...
 
virtual MX get_solve_tril (const MX &r, bool tr) const
 Solve a system of linear equations, lower triangular A. More...
 
virtual MX get_solve_triu_unity (const MX &r, bool tr) const
 Solve a system of linear equations, upper triangular A, unity diagonal. More...
 
virtual MX get_solve_tril_unity (const MX &r, bool tr) const
 Solve a system of linear equations, lower triangular A, unity diagnal. More...
 
virtual MX get_nzref (const Sparsity &sp, const std::vector< casadi_int > &nz) const
 Get the nonzeros of matrix. More...
 
virtual MX get_nz_ref (const MX &nz) const
 Get the nonzeros of matrix, parametrically. More...
 
virtual MX get_nz_ref (const MX &inner, const Slice &outer) const
 Get the nonzeros of matrix, parametrically. More...
 
virtual MX get_nz_ref (const Slice &inner, const MX &outer) const
 Get the nonzeros of matrix, parametrically. More...
 
virtual MX get_nz_ref (const MX &inner, const MX &outer) const
 Get the nonzeros of matrix, parametrically. More...
 
virtual MX get_nzassign (const MX &y, const std::vector< casadi_int > &nz) const
 Assign the nonzeros of a matrix to another matrix. More...
 
virtual MX get_nzassign (const MX &y, const MX &nz) const
 Assign the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzassign (const MX &y, const MX &inner, const Slice &outer) const
 Assign the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzassign (const MX &y, const Slice &inner, const MX &outer) const
 Assign the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzassign (const MX &y, const MX &inner, const MX &outer) const
 Assign the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzadd (const MX &y, const std::vector< casadi_int > &nz) const
 Add the nonzeros of a matrix to another matrix. More...
 
virtual MX get_nzadd (const MX &y, const MX &nz) const
 Add the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzadd (const MX &y, const MX &inner, const Slice &outer) const
 Add the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzadd (const MX &y, const Slice &inner, const MX &outer) const
 Add the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_nzadd (const MX &y, const MX &inner, const MX &outer) const
 Add the nonzeros of a matrix to another matrix, parametrically. More...
 
virtual MX get_subref (const Slice &i, const Slice &j) const
 Get submatrix reference. More...
 
virtual MX get_subassign (const MX &y, const Slice &i, const Slice &j) const
 Get submatrix assignment. More...
 
virtual MX get_project (const Sparsity &sp) const
 Create set sparse. More...
 
virtual MX get_unary (casadi_int op) const
 Get a unary operation. More...
 
MX get_binary (casadi_int op, const MX &y) const
 Get a binary operation operation. More...
 
virtual MX _get_binary (casadi_int op, const MX &y, bool scX, bool scY) const
 Get a binary operation operation (matrix-matrix) More...
 
virtual MX get_det () const
 Determinant. More...
 
virtual MX get_inv () const
 Inverse. More...
 
virtual MX get_dot (const MX &y) const
 Inner product. More...
 
virtual MX get_norm_fro () const
 Frobenius norm. More...
 
virtual MX get_norm_2 () const
 Spectral norm. More...
 
virtual MX get_norm_inf () const
 Infinity norm. More...
 
virtual MX get_norm_1 () const
 1-norm More...
 
virtual MX get_mmin () const
 Min. More...
 
virtual MX get_mmax () const
 Max. More...
 
MX get_assert (const MX &y, const std::string &fail_message) const
 Assertion. More...
 
MX get_monitor (const std::string &comment) const
 Monitor. More...
 
MX get_find () const
 Find. More...
 
MX get_low (const MX &v, const Dict &options) const
 Find. More...
 
MX get_bspline (const std::vector< double > &knots, const std::vector< casadi_int > &offset, const std::vector< double > &coeffs, const std::vector< casadi_int > &degree, casadi_int m, const std::vector< casadi_int > &lookup_mode) const
 BSpline. More...
 
MX get_bspline (const MX &coeffs, const std::vector< double > &knots, const std::vector< casadi_int > &offset, const std::vector< casadi_int > &degree, casadi_int m, const std::vector< casadi_int > &lookup_mode) const
 BSpline. More...
 
MX get_convexify (const Dict &opts) const
 Convexify. More...
 
virtual void split_primitives (const MX &x, std::vector< MX >::iterator &it) const
 Split up an expression along symbolic primitives. More...
 
virtual void split_primitives (const SX &x, std::vector< SX >::iterator &it) const
 Split up an expression along symbolic primitives. More...
 
virtual void split_primitives (const DM &x, std::vector< DM >::iterator &it) const
 Split up an expression along symbolic primitives. More...
 
virtual MX join_primitives (std::vector< MX >::const_iterator &it) const
 Join an expression along symbolic primitives. More...
 
virtual SX join_primitives (std::vector< SX >::const_iterator &it) const
 Join an expression along symbolic primitives. More...
 
virtual DM join_primitives (std::vector< DM >::const_iterator &it) const
 Join an expression along symbolic primitives. More...
 

Static Public Member Functions

static MXNodedeserialize (DeserializingStream &s)
 Deserialize with type disambiguation. More...
 
static bool is_equal (const MXNode *x, const MXNode *y, casadi_int depth)
 Check if two nodes are equivalent up to a given depth. More...
 
static bool maxDepth ()
 Get equality checking depth. More...
 
static MX to_matrix (const MX &x, const Sparsity &sp)
 Convert scalar to matrix. More...
 
static void copy_fwd (const bvec_t *arg, bvec_t *res, casadi_int len)
 Propagate sparsities forward through a copy operation. More...
 
static void copy_rev (bvec_t *arg, bvec_t *res, casadi_int len)
 Propagate sparsities backwards through a copy operation. More...
 

Public Attributes

Linsol linsol_
 Linear solver (may be shared between multiple nodes) More...
 
casadi_int temp
 
std::vector< MXdep_
 dependencies - functions that have to be evaluated before this one More...
 
Sparsity sparsity_
 The sparsity pattern. More...
 

Static Public Attributes

static std::map< casadi_int, MXNode *(*)(DeserializingStream &)> deserialize_map
 

Constructor & Destructor Documentation

◆ LinsolCall() [1/2]

template<bool Tr>
casadi::LinsolCall< Tr >::LinsolCall ( const MX r,
const MX A,
const Linsol linear_solver 
)

Extra doc: https://github.com/casadi/casadi/wiki/L_g9

Definition at line 52 of file solve_impl.hpp.

◆ ~LinsolCall()

template<bool Tr>
casadi::LinsolCall< Tr >::~LinsolCall ( )
inlineoverride

Extra doc: https://github.com/casadi/casadi/wiki/L_ga

Definition at line 159 of file solve.hpp.

◆ LinsolCall() [2/2]

template<bool Tr>
casadi::LinsolCall< Tr >::LinsolCall ( DeserializingStream s)
explicit

Extra doc: https://github.com/casadi/casadi/wiki/L_gg

Definition at line 317 of file solve_impl.hpp.

Member Function Documentation

◆ __nonzero__()

virtual bool casadi::MXNode::__nonzero__ ( ) const
virtualinherited

◆ _get_binary()

virtual MX casadi::MXNode::_get_binary ( casadi_int  op,
const MX y,
bool  scX,
bool  scY 
) const
virtualinherited

◆ A_sp()

template<bool Tr>
virtual const Sparsity& casadi::Solve< Tr >::A_sp ( ) const
inlinevirtualinherited

Reimplemented in casadi::SolveUnity< Tr >.

Definition at line 118 of file solve.hpp.

◆ ad_forward()

template<bool Tr>
void casadi::Solve< Tr >::ad_forward ( const std::vector< std::vector< MX > > &  fseed,
std::vector< std::vector< MX > > &  fsens 
) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_fz

Reimplemented from casadi::MXNode.

Definition at line 91 of file solve_impl.hpp.

◆ ad_reverse()

template<bool Tr>
void casadi::Solve< Tr >::ad_reverse ( const std::vector< std::vector< MX > > &  aseed,
std::vector< std::vector< MX > > &  asens 
) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_g0

Reimplemented from casadi::MXNode.

Definition at line 124 of file solve_impl.hpp.

◆ add_dependency()

virtual void casadi::MXNode::add_dependency ( CodeGenerator g) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qo

Definition at line 121 of file mx_node.hpp.

◆ can_inline()

void casadi::MXNode::can_inline ( std::map< const MXNode *, casadi_int > &  nodeind) const
inherited

◆ class_name()

std::string casadi::MXNode::class_name ( ) const
overrideinherited

◆ codegen_decref()

virtual void casadi::MXNode::codegen_decref ( CodeGenerator g,
std::set< void * > &  added 
) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qr

Definition at line 136 of file mx_node.hpp.

◆ codegen_incref()

virtual void casadi::MXNode::codegen_incref ( CodeGenerator g,
std::set< void * > &  added 
) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qq

Definition at line 131 of file mx_node.hpp.

◆ copy_fwd()

static void casadi::MXNode::copy_fwd ( const bvec_t *  arg,
bvec_t *  res,
casadi_int  len 
)
staticinherited

◆ copy_rev()

static void casadi::MXNode::copy_rev ( bvec_t *  arg,
bvec_t *  res,
casadi_int  len 
)
staticinherited

◆ dep()

const MX& casadi::MXNode::dep ( casadi_int  ind = 0) const
inlineinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rm

Definition at line 319 of file mx_node.hpp.

◆ deserialize()

template<bool Tr>
MXNode * casadi::LinsolCall< Tr >::deserialize ( DeserializingStream s)
static

Extra doc: https://github.com/casadi/casadi/wiki/L_gf

Definition at line 322 of file solve_impl.hpp.

◆ disp() [1/2]

template<bool Tr>
std::string casadi::Solve< Tr >::disp ( const std::vector< std::string > &  arg) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_fv

Implements casadi::MXNode.

Definition at line 43 of file solve_impl.hpp.

◆ disp() [2/2]

void casadi::MXNode::disp ( std::ostream &  stream,
bool  more 
) const
overrideinherited

◆ eval()

template<bool Tr>
int casadi::LinsolCall< Tr >::eval ( const double **  arg,
double **  res,
casadi_int *  iw,
double *  w 
) const
overridevirtual

Reimplemented from casadi::MXNode.

Definition at line 57 of file solve_impl.hpp.

◆ eval_mx()

template<bool Tr>
void casadi::Solve< Tr >::eval_mx ( const std::vector< MX > &  arg,
std::vector< MX > &  res 
) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_fy

Reimplemented from casadi::MXNode.

Definition at line 82 of file solve_impl.hpp.

◆ eval_sx()

template<bool Tr>
int casadi::LinsolCall< Tr >::eval_sx ( const SXElem **  arg,
SXElem **  res,
casadi_int *  iw,
SXElem w 
) const
overridevirtual

Reimplemented from casadi::MXNode.

Definition at line 76 of file solve_impl.hpp.

◆ generate()

template<bool Tr>
void casadi::LinsolCall< Tr >::generate ( CodeGenerator g,
const std::vector< casadi_int > &  arg,
const std::vector< casadi_int > &  res 
) const
overridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_gc

Reimplemented from casadi::MXNode.

Definition at line 261 of file solve_impl.hpp.

◆ get_assert()

MX casadi::MXNode::get_assert ( const MX y,
const std::string &  fail_message 
) const
inherited

◆ get_bilin()

virtual MX casadi::MXNode::get_bilin ( const MX x,
const MX y 
) const
virtualinherited

◆ get_binary()

MX casadi::MXNode::get_binary ( casadi_int  op,
const MX y 
) const
inherited

◆ get_bspline() [1/2]

MX casadi::MXNode::get_bspline ( const MX coeffs,
const std::vector< double > &  knots,
const std::vector< casadi_int > &  offset,
const std::vector< casadi_int > &  degree,
casadi_int  m,
const std::vector< casadi_int > &  lookup_mode 
) const
inherited

◆ get_bspline() [2/2]

MX casadi::MXNode::get_bspline ( const std::vector< double > &  knots,
const std::vector< casadi_int > &  offset,
const std::vector< double > &  coeffs,
const std::vector< casadi_int > &  degree,
casadi_int  m,
const std::vector< casadi_int > &  lookup_mode 
) const
inherited

◆ get_convexify()

MX casadi::MXNode::get_convexify ( const Dict opts) const
inherited

◆ get_det()

virtual MX casadi::MXNode::get_det ( ) const
virtualinherited

◆ get_diagcat()

virtual MX casadi::MXNode::get_diagcat ( const std::vector< MX > &  x) const
virtualinherited

◆ get_diagsplit()

virtual std::vector<MX> casadi::MXNode::get_diagsplit ( const std::vector< casadi_int > &  offset1,
const std::vector< casadi_int > &  offset2 
) const
virtualinherited

◆ get_DM()

virtual DM casadi::MXNode::get_DM ( ) const
virtualinherited

◆ get_dot()

virtual MX casadi::MXNode::get_dot ( const MX y) const
virtualinherited

◆ get_einstein()

virtual MX casadi::MXNode::get_einstein ( const MX A,
const MX B,
const std::vector< casadi_int > &  dim_c,
const std::vector< casadi_int > &  dim_a,
const std::vector< casadi_int > &  dim_b,
const std::vector< casadi_int > &  c,
const std::vector< casadi_int > &  a,
const std::vector< casadi_int > &  b 
) const
virtualinherited

◆ get_find()

MX casadi::MXNode::get_find ( ) const
inherited

◆ get_horzcat()

virtual MX casadi::MXNode::get_horzcat ( const std::vector< MX > &  x) const
virtualinherited

◆ get_horzsplit()

virtual std::vector<MX> casadi::MXNode::get_horzsplit ( const std::vector< casadi_int > &  output_offset) const
virtualinherited

◆ get_inv()

virtual MX casadi::MXNode::get_inv ( ) const
virtualinherited

◆ get_logsumexp()

virtual MX casadi::MXNode::get_logsumexp ( ) const
virtualinherited

◆ get_low()

MX casadi::MXNode::get_low ( const MX v,
const Dict options 
) const
inherited

◆ get_mac()

virtual MX casadi::MXNode::get_mac ( const MX y,
const MX z 
) const
virtualinherited

◆ get_mmax()

virtual MX casadi::MXNode::get_mmax ( ) const
virtualinherited

◆ get_mmin()

virtual MX casadi::MXNode::get_mmin ( ) const
virtualinherited

◆ get_monitor()

MX casadi::MXNode::get_monitor ( const std::string &  comment) const
inherited

◆ get_norm_1()

virtual MX casadi::MXNode::get_norm_1 ( ) const
virtualinherited

◆ get_norm_2()

virtual MX casadi::MXNode::get_norm_2 ( ) const
virtualinherited

◆ get_norm_fro()

virtual MX casadi::MXNode::get_norm_fro ( ) const
virtualinherited

◆ get_norm_inf()

virtual MX casadi::MXNode::get_norm_inf ( ) const
virtualinherited

◆ get_nz_ref() [1/4]

virtual MX casadi::MXNode::get_nz_ref ( const MX inner,
const MX outer 
) const
virtualinherited

◆ get_nz_ref() [2/4]

virtual MX casadi::MXNode::get_nz_ref ( const MX inner,
const Slice outer 
) const
virtualinherited

◆ get_nz_ref() [3/4]

virtual MX casadi::MXNode::get_nz_ref ( const MX nz) const
virtualinherited

◆ get_nz_ref() [4/4]

virtual MX casadi::MXNode::get_nz_ref ( const Slice inner,
const MX outer 
) const
virtualinherited

◆ get_nzadd() [1/5]

virtual MX casadi::MXNode::get_nzadd ( const MX y,
const MX inner,
const MX outer 
) const
virtualinherited

a->get_nzadd(b,nz) returns b with b[nz]+=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1si

◆ get_nzadd() [2/5]

virtual MX casadi::MXNode::get_nzadd ( const MX y,
const MX inner,
const Slice outer 
) const
virtualinherited

a->get_nzadd(b,nz) returns b with b[nz]+=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sg

◆ get_nzadd() [3/5]

virtual MX casadi::MXNode::get_nzadd ( const MX y,
const MX nz 
) const
virtualinherited

a->get_nzadd(b,nz) returns b with b[nz]+=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sf

◆ get_nzadd() [4/5]

virtual MX casadi::MXNode::get_nzadd ( const MX y,
const Slice inner,
const MX outer 
) const
virtualinherited

a->get_nzadd(b,nz) returns b with b[nz]+=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sh

◆ get_nzadd() [5/5]

virtual MX casadi::MXNode::get_nzadd ( const MX y,
const std::vector< casadi_int > &  nz 
) const
virtualinherited

a->get_nzadd(b,nz) returns b with b[nz]+=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sa

◆ get_nzassign() [1/5]

virtual MX casadi::MXNode::get_nzassign ( const MX y,
const MX inner,
const MX outer 
) const
virtualinherited

a->get_nzassign(b,nz) returns b with b[nz]=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1se

◆ get_nzassign() [2/5]

virtual MX casadi::MXNode::get_nzassign ( const MX y,
const MX inner,
const Slice outer 
) const
virtualinherited

a->get_nzassign(b,nz) returns b with b[nz]=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sc

◆ get_nzassign() [3/5]

virtual MX casadi::MXNode::get_nzassign ( const MX y,
const MX nz 
) const
virtualinherited

a->get_nzassign(b,nz) returns b with b[nz]=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sb

◆ get_nzassign() [4/5]

virtual MX casadi::MXNode::get_nzassign ( const MX y,
const Slice inner,
const MX outer 
) const
virtualinherited

a->get_nzassign(b,nz) returns b with b[nz]=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1sd

◆ get_nzassign() [5/5]

virtual MX casadi::MXNode::get_nzassign ( const MX y,
const std::vector< casadi_int > &  nz 
) const
virtualinherited

a->get_nzassign(b,nz) returns b with b[nz]=a

Extra doc: https://github.com/casadi/casadi/wiki/L_1s9

◆ get_nzref()

virtual MX casadi::MXNode::get_nzref ( const Sparsity sp,
const std::vector< casadi_int > &  nz 
) const
virtualinherited

a->get_nzref(sp,nz)

returns Matrix(sp,a[nz])

Extra doc: https://github.com/casadi/casadi/wiki/L_1s4

◆ get_output()

virtual MX casadi::MXNode::get_output ( casadi_int  oind) const
virtualinherited

◆ get_project()

virtual MX casadi::MXNode::get_project ( const Sparsity sp) const
virtualinherited

◆ get_rank1()

virtual MX casadi::MXNode::get_rank1 ( const MX alpha,
const MX x,
const MX y 
) const
virtualinherited

◆ get_repmat()

virtual MX casadi::MXNode::get_repmat ( casadi_int  m,
casadi_int  n 
) const
virtualinherited

◆ get_repsum()

virtual MX casadi::MXNode::get_repsum ( casadi_int  m,
casadi_int  n 
) const
virtualinherited

◆ get_reshape()

virtual MX casadi::MXNode::get_reshape ( const Sparsity sp) const
virtualinherited

◆ get_solve()

virtual MX casadi::MXNode::get_solve ( const MX r,
bool  tr,
const Linsol linear_solver 
) const
virtualinherited

For system Ax = b:

A->get_solve(b)

Extra doc: https://github.com/casadi/casadi/wiki/L_1rz

◆ get_solve_tril()

virtual MX casadi::MXNode::get_solve_tril ( const MX r,
bool  tr 
) const
virtualinherited

For system Ax = b:

A->get_solve_tril(b)

Extra doc: https://github.com/casadi/casadi/wiki/L_1s1

◆ get_solve_tril_unity()

virtual MX casadi::MXNode::get_solve_tril_unity ( const MX r,
bool  tr 
) const
virtualinherited

For system Ax = b:

A->get_solve_tril(b)

Extra doc: https://github.com/casadi/casadi/wiki/L_1s3

◆ get_solve_triu()

virtual MX casadi::MXNode::get_solve_triu ( const MX r,
bool  tr 
) const
virtualinherited

For system Ax = b:

A->get_solve_triu(b)

Extra doc: https://github.com/casadi/casadi/wiki/L_1s0

◆ get_solve_triu_unity()

virtual MX casadi::MXNode::get_solve_triu_unity ( const MX r,
bool  tr 
) const
virtualinherited

For system Ax = b:

A->get_solve_triu(b)

Extra doc: https://github.com/casadi/casadi/wiki/L_1s2

◆ get_sparsity_cast()

virtual MX casadi::MXNode::get_sparsity_cast ( const Sparsity sp) const
virtualinherited

◆ get_subassign()

virtual MX casadi::MXNode::get_subassign ( const MX y,
const Slice i,
const Slice j 
) const
virtualinherited

◆ get_subref()

virtual MX casadi::MXNode::get_subref ( const Slice i,
const Slice j 
) const
virtualinherited

◆ get_transpose()

virtual MX casadi::MXNode::get_transpose ( ) const
virtualinherited

◆ get_unary()

virtual MX casadi::MXNode::get_unary ( casadi_int  op) const
virtualinherited

◆ get_vertcat()

virtual MX casadi::MXNode::get_vertcat ( const std::vector< MX > &  x) const
virtualinherited

◆ get_vertsplit()

virtual std::vector<MX> casadi::MXNode::get_vertsplit ( const std::vector< casadi_int > &  output_offset) const
virtualinherited

◆ has_duplicates()

virtual bool casadi::MXNode::has_duplicates ( ) const
virtualinherited

◆ has_output()

virtual bool casadi::MXNode::has_output ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rb

Definition at line 252 of file mx_node.hpp.

◆ has_refcount()

virtual bool casadi::MXNode::has_refcount ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qp

Definition at line 126 of file mx_node.hpp.

◆ ind()

virtual casadi_int casadi::MXNode::ind ( ) const
virtualinherited

Reimplemented in casadi::IOInstruction.

◆ info()

template<bool Tr>
Dict casadi::Solve< Tr >::info ( ) const
inlineoverridevirtualinherited

Obtain information about function

Reimplemented from casadi::MXNode.

Definition at line 110 of file solve.hpp.

◆ is_binary()

virtual bool casadi::MXNode::is_binary ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qk

Definition at line 100 of file mx_node.hpp.

◆ is_equal() [1/2]

virtual bool casadi::MXNode::is_equal ( const MXNode node,
casadi_int  depth 
) const
inlinevirtualinherited

Definition at line 302 of file mx_node.hpp.

◆ is_equal() [2/2]

static bool casadi::MXNode::is_equal ( const MXNode x,
const MXNode y,
casadi_int  depth 
)
staticinherited

◆ is_eye()

virtual bool casadi::MXNode::is_eye ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qi

Definition at line 90 of file mx_node.hpp.

◆ is_minus_one()

virtual bool casadi::MXNode::is_minus_one ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qg

Definition at line 80 of file mx_node.hpp.

◆ is_one()

virtual bool casadi::MXNode::is_one ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qf

Definition at line 75 of file mx_node.hpp.

◆ is_output()

virtual bool casadi::MXNode::is_output ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1ra

Definition at line 247 of file mx_node.hpp.

◆ is_unary()

virtual bool casadi::MXNode::is_unary ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qj

Definition at line 95 of file mx_node.hpp.

◆ is_valid_input()

virtual bool casadi::MXNode::is_valid_input ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1r3

Definition at line 200 of file mx_node.hpp.

◆ is_value()

virtual bool casadi::MXNode::is_value ( double  val) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qh

Definition at line 85 of file mx_node.hpp.

◆ is_zero()

virtual bool casadi::MXNode::is_zero ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1qe

Definition at line 70 of file mx_node.hpp.

◆ join_primitives() [1/3]

virtual DM casadi::MXNode::join_primitives ( std::vector< DM >::const_iterator &  it) const
virtualinherited

◆ join_primitives() [2/3]

virtual MX casadi::MXNode::join_primitives ( std::vector< MX >::const_iterator &  it) const
virtualinherited

◆ join_primitives() [3/3]

virtual SX casadi::MXNode::join_primitives ( std::vector< SX >::const_iterator &  it) const
virtualinherited

◆ join_primitives_gen()

template<typename T >
T casadi::MXNode::join_primitives_gen ( typename std::vector< T >::const_iterator &  it) const
inherited

◆ mapping()

virtual Matrix<casadi_int> casadi::MXNode::mapping ( ) const
virtualinherited

◆ matches_sparsity()

template<class T >
bool casadi::MXNode::matches_sparsity ( const std::vector< T > &  arg) const
inlineinherited

Definition at line 343 of file mx_node.hpp.

◆ maxDepth()

static bool casadi::MXNode::maxDepth ( )
inlinestaticinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rk

Definition at line 307 of file mx_node.hpp.

◆ mod_prefix()

template<bool Tr>
virtual std::string casadi::Solve< Tr >::mod_prefix ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_fw

Reimplemented in casadi::SolveUnity< Tr >.

Definition at line 67 of file solve.hpp.

◆ mod_suffix()

template<bool Tr>
virtual std::string casadi::Solve< Tr >::mod_suffix ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_fx

Reimplemented in casadi::SolveUnity< Tr >.

Definition at line 72 of file solve.hpp.

◆ n_dep()

casadi_int casadi::MXNode::n_dep ( ) const
inherited

◆ n_inplace()

template<bool Tr>
casadi_int casadi::Solve< Tr >::n_inplace ( ) const
inlineoverridevirtualinherited

Reimplemented from casadi::MXNode.

Definition at line 92 of file solve.hpp.

◆ n_primitives()

virtual casadi_int casadi::MXNode::n_primitives ( ) const
virtualinherited

◆ name()

virtual const std::string& casadi::MXNode::name ( ) const
virtualinherited

◆ nnz()

casadi_int casadi::MXNode::nnz ( casadi_int  i = 0) const
inlineinherited

Definition at line 354 of file mx_node.hpp.

◆ nout()

virtual casadi_int casadi::MXNode::nout ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1ro

Reimplemented in casadi::Output.

Definition at line 329 of file mx_node.hpp.

◆ numel()

casadi_int casadi::MXNode::numel ( ) const
inlineinherited

Definition at line 353 of file mx_node.hpp.

◆ offset()

virtual casadi_int casadi::MXNode::offset ( ) const
virtualinherited

Reimplemented in casadi::IOInstruction.

◆ op()

template<bool Tr>
casadi_int casadi::Solve< Tr >::op ( ) const
inlineoverridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_g3

Implements casadi::MXNode.

Definition at line 107 of file solve.hpp.

◆ primitives()

virtual void casadi::MXNode::primitives ( std::vector< MX >::iterator &  it) const
virtualinherited

◆ print_compact()

std::string casadi::MXNode::print_compact ( std::map< const MXNode *, casadi_int > &  nodeind,
std::vector< std::string > &  intermed 
) const
inherited

◆ reset_input()

virtual void casadi::MXNode::reset_input ( ) const
virtualinherited

◆ sameOpAndDeps()

bool casadi::MXNode::sameOpAndDeps ( const MXNode node,
casadi_int  depth 
) const
inherited

equivalent dependencies up to a given depth

Extra doc: https://github.com/casadi/casadi/wiki/L_1rl

◆ segment()

virtual casadi_int casadi::MXNode::segment ( ) const
virtualinherited

Reimplemented in casadi::IOInstruction.

◆ serialize()

void casadi::MXNode::serialize ( SerializingStream s) const
inherited

◆ serialize_body()

template<bool Tr>
void casadi::LinsolCall< Tr >::serialize_body ( SerializingStream s) const
overridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_gd

Reimplemented from casadi::Solve< Tr >.

Definition at line 306 of file solve_impl.hpp.

◆ serialize_type()

template<bool Tr>
void casadi::LinsolCall< Tr >::serialize_type ( SerializingStream s) const
overridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_ge

Reimplemented from casadi::Solve< Tr >.

Definition at line 312 of file solve_impl.hpp.

◆ set_dep() [1/4]

void casadi::MXNode::set_dep ( const MX dep)
inherited

◆ set_dep() [2/4]

void casadi::MXNode::set_dep ( const MX dep1,
const MX dep2 
)
inherited

◆ set_dep() [3/4]

void casadi::MXNode::set_dep ( const MX dep1,
const MX dep2,
const MX dep3 
)
inherited

◆ set_dep() [4/4]

void casadi::MXNode::set_dep ( const std::vector< MX > &  dep)
inherited

◆ set_sparsity()

void casadi::MXNode::set_sparsity ( const Sparsity sparsity)
inherited

◆ size()

std::pair<casadi_int, casadi_int> casadi::MXNode::size ( ) const
inlineinherited

Definition at line 357 of file mx_node.hpp.

◆ size1()

casadi_int casadi::MXNode::size1 ( ) const
inlineinherited

Definition at line 355 of file mx_node.hpp.

◆ size2()

casadi_int casadi::MXNode::size2 ( ) const
inlineinherited

Definition at line 356 of file mx_node.hpp.

◆ solve()

template<bool Tr>
MX casadi::LinsolCall< Tr >::solve ( const MX A,
const MX B,
bool  tr 
) const
inlineoverridevirtual

Implements casadi::Solve< Tr >.

Definition at line 183 of file solve.hpp.

◆ sp_forward()

template<bool Tr>
int casadi::Solve< Tr >::sp_forward ( const bvec_t **  arg,
bvec_t **  res,
casadi_int *  iw,
bvec_t *  w 
) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_g1

Reimplemented from casadi::MXNode.

Definition at line 174 of file solve_impl.hpp.

◆ sp_reverse()

template<bool Tr>
int casadi::Solve< Tr >::sp_reverse ( bvec_t **  arg,
bvec_t **  res,
casadi_int *  iw,
bvec_t *  w 
) const
overridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_g2

Reimplemented from casadi::MXNode.

Definition at line 214 of file solve_impl.hpp.

◆ sparsity() [1/2]

const Sparsity& casadi::MXNode::sparsity ( ) const
inlineinherited

Definition at line 337 of file mx_node.hpp.

◆ sparsity() [2/2]

virtual const Sparsity& casadi::MXNode::sparsity ( casadi_int  oind) const
virtualinherited

◆ split_primitives() [1/3]

virtual void casadi::MXNode::split_primitives ( const DM x,
std::vector< DM >::iterator &  it 
) const
virtualinherited

◆ split_primitives() [2/3]

virtual void casadi::MXNode::split_primitives ( const MX x,
std::vector< MX >::iterator &  it 
) const
virtualinherited

◆ split_primitives() [3/3]

virtual void casadi::MXNode::split_primitives ( const SX x,
std::vector< SX >::iterator &  it 
) const
virtualinherited

◆ sz_arg()

virtual size_t casadi::MXNode::sz_arg ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rq

Definition at line 374 of file mx_node.hpp.

◆ sz_iw()

virtual size_t casadi::MXNode::sz_iw ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rs

Definition at line 384 of file mx_node.hpp.

◆ sz_res()

virtual size_t casadi::MXNode::sz_res ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1rr

Definition at line 379 of file mx_node.hpp.

◆ sz_w()

template<bool Tr>
size_t casadi::LinsolCall< Tr >::sz_w
overridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_gb

Reimplemented from casadi::MXNode.

Definition at line 256 of file solve_impl.hpp.

◆ to_double()

virtual double casadi::MXNode::to_double ( ) const
virtualinherited

◆ to_matrix()

static MX casadi::MXNode::to_matrix ( const MX x,
const Sparsity sp 
)
inlinestaticinherited

Definition at line 404 of file mx_node.hpp.

◆ which_function()

virtual const Function& casadi::MXNode::which_function ( ) const
virtualinherited

◆ which_output()

virtual casadi_int casadi::MXNode::which_output ( ) const
virtualinherited

Member Data Documentation

◆ dep_

std::vector<MX> casadi::MXNode::dep_
inherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1sj

Definition at line 724 of file mx_node.hpp.

◆ deserialize_map

std::map<casadi_int, MXNode* (*)(DeserializingStream&)> casadi::MXNode::deserialize_map
staticinherited

Definition at line 741 of file mx_node.hpp.

◆ linsol_

template<bool Tr>
Linsol casadi::LinsolCall< Tr >::linsol_

Definition at line 180 of file solve.hpp.

◆ sparsity_

Sparsity casadi::MXNode::sparsity_
inherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1sk

Definition at line 729 of file mx_node.hpp.

◆ temp

casadi_int casadi::MXNode::temp
mutableinherited

Temporary variables to be used in user algorithms like sorting, the user is responsible of making sure that use is thread-safe The variable is initialized to zero

Definition at line 719 of file mx_node.hpp.


The documentation for this class was generated from the following files: