15#include <symengine/basic.h>
16#include <symengine/symbol.h>
17#include <symengine/add.h>
18#include <symengine/mul.h>
19#include <symengine/pow.h>
20#include <symengine/real_double.h>
21#include <symengine/eval_double.h>
22#include <symengine/eval.h>
23#include <symengine/functions.h>
24#include <symengine/complex.h>
25#include <symengine/complex_double.h>
26#include <symengine/expression.h>
27#include <symengine/symengine_config.h>
28#include <symengine/matrix.h>
29#include <symengine/subs.h>
30#include <symengine/simplify.h>
31#include <symengine/matrices/identity_matrix.h>
32#include <symengine/matrices/matrix_mul.h>
33#include <symengine/matrices/matrix_add.h>
34#include <symengine/matrix_expressions.h>
35#include <symengine/matrices/immutable_dense_matrix.h>
36#include <symengine/polys/basic_conversions.h>
37#include <symengine/printers.h>
38#include <symengine/real_mpfr.h>
42#include <Eigen/Sparse>
43#include <unsupported/Eigen/MatrixFunctions>
44#include <unsupported/Eigen/NonLinearOptimization>
45#include <unsupported/Eigen/NumericalDiff>
47#define _USE_MATH_DEFINES
66#include <unordered_map>
77#include "gurobi_c++.h"
80using SymEngine::Basic;
81using SymEngine::DenseMatrix;
82using SymEngine::integer;
84using SymEngine::symbol;
86using SymEngine::ComplexDouble;
87using SymEngine::map_basic_basic;
88using SymEngine::real_double;
89using SymEngine::minus_one;
92using SymEngine::complex_double;
93using SymEngine::vec_uint;
94using SymEngine::Symbol;
95using SymEngine::SymEngineException;
96using SymEngine::RealMPFR;
99using namespace std::complex_literals;
100using namespace Eigen;
113template<
typename Table>
115 const std::vector<std::string>& colNames)
117 const int nRow =
static_cast<int>(tbl.size());
118 const int nCol =
static_cast<int>(colNames.size());
119 Eigen::MatrixXd M(nRow, nCol);
121 for (
const auto& [rowKey, colMap] : tbl)
123 int r = std::stoi(rowKey);
124 for (
int c = 0; c < nCol; ++c)
126 auto it = colMap.find(colNames[c]);
127 M(r, c) = (it != colMap.end()) ? it->second : 0.0;
136 #define GLFW_INCLUDE_GLCOREARB
140#include <GLFW/glfw3.h>
142#include <imgui_impl_glfw.h>
143#include <imgui_impl_opengl3.h>
148#include <sundials/sundials_types.h>
149#include <sundials/sundials_context.h>
150#include <cvode/cvode.h>
151#include <kinsol/kinsol.h>
152#include <nvector/nvector_serial.h>
153#include <sunmatrix/sunmatrix_dense.h>
154#include <sunlinsol/sunlinsol_dense.h>
Eigen::MatrixXd map2dense(const Table &tbl, const std::vector< std::string > &colNames)
Convert a nested string-keyed table to a dense Eigen matrix.
Definition Constants.h:114