You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow solvers parameters to be modified after construction of the solver. May revisit how solver builder works - may not need to take parameters at construction time.
#621
Users currently have to access the solver parameters something like: solver.solver_.parameters_.h_start_ = 3 to modify solver parameters after construction. Allow users to modify these parameters without having to access nested data members.
Acceptance Criteria
Users can modify solver parameters using Solver functions directly
Remove all accesses of solver.solver_.parameters_ from tests
Ideas
Overload Solver::Solve() with a version of the function that takes a set of solver parameters as an argument.
If a user doesn't pass parameters to the solve function, then the current parameters are used.
If someone does pass a set of parameters, the internal solver parameters are set to the provided values. These values will be used for any subsequent calls to Solver::Solve() that don't provide parameters
Tolerances
Move the absolute and relative tolerance(s) to the StateParameters struct.
Save these tolerances as data members of the State class.
Update the solver builder to store the tolerance(s) on the StateParameters struct that gets created in the Build function
Ideas
Start with moving
std::vector absolute_tolerance_;
double relative_tolerance_{ 1e-6 }; from rosenbrock_solver_parameter.hpp to solver.hpp or solvr_builder.hpp
ideas to start doing the above and fix whats broken and go from there.
The text was updated successfully, but these errors were encountered:
Users currently have to access the solver parameters something like:
solver.solver_.parameters_.h_start_ = 3
to modify solver parameters after construction. Allow users to modify these parameters without having to access nested data members.Acceptance Criteria
Solver
functions directlysolver.solver_.parameters_
from testsIdeas
Solver::Solve()
with a version of the function that takes a set of solver parameters as an argument.Solver::Solve()
that don't provide parametersStateParameters
struct.State
class.StateParameters
struct that gets created in theBuild
functionIdeas
Start with moving
std::vector absolute_tolerance_;
double relative_tolerance_{ 1e-6 }; from rosenbrock_solver_parameter.hpp to solver.hpp or solvr_builder.hpp
ideas to start doing the above and fix whats broken and go from there.
The text was updated successfully, but these errors were encountered: