41template <concepts::single_variate_problem Problem>
42 requires concepts::mass_problem<Problem>
99template <concepts::multi_variate_problem Problem,
101 typename Problem::variable_type>
102 LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
103 requires concepts::mass_problem<Problem>
165template <concepts::single_variate_problem Problem>
166 requires concepts::mass_problem<Problem>
170 std::forward<Problem>(problem));
173#ifndef NUM_COLLECT_DOCUMENTATION
183template <concepts::multi_variate_problem Problem>
184 requires concepts::mass_problem<Problem>
186 -> multi_variate_implicit_problem_wrapper<std::decay_t<Problem>> {
187 return multi_variate_implicit_problem_wrapper<std::decay_t<Problem>>(
188 std::forward<Problem>(problem));
Class to wrap implicit problems to use as explicit problems.
void evaluate_on(const scalar_type &time, const variable_type &variable, evaluation_type)
Evaluate on a (time, variable) pair.
auto diff_coeff() const noexcept -> const variable_type &
Get the differential coefficient.
multi_variate_implicit_problem_wrapper(Problem problem)
Constructor.
LinearEquationSolver solver_
Solver of linear equations.
variable_type diff_coeff_
Differential coefficient.
typename Problem::scalar_type scalar_type
Type of scalars.
typename Problem::variable_type variable_type
Type of variables.
static constexpr auto allowed_evaluations
Allowed evaluations.
Class to wrap implicit problems to use as explicit problems.
single_variate_implicit_problem_wrapper(Problem problem)
Constructor.
auto diff_coeff() const noexcept -> const variable_type &
Get the differential coefficient.
typename Problem::variable_type variable_type
Type of variables.
variable_type diff_coeff_
Differential coefficient.
static constexpr auto allowed_evaluations
Allowed evaluations.
typename Problem::scalar_type scalar_type
Type of scalars.
void evaluate_on(const scalar_type &time, const variable_type &variable, evaluation_type)
Evaluate on a (time, variable) pair.
Concept of Eigen's solvers of linear equations.
Definition of eigen_solver_of concept.
Definition of evaluation_type enumeration.
Definition of mass_problem concept.
Definition of multi_variate_problem concept.
Namespace of solvers of ordinary differential equations (ODE).
auto wrap_implicit_problem(Problem &&problem) -> single_variate_implicit_problem_wrapper< std::decay_t< Problem > >
Wrap an implicit problem to use as an explicit problem.
Definition of single_variate_problem concept.
Struct to specify types of evaluations.