Graph Framework
Loading...
Searching...
No Matches
solver Namespace Reference

Name space for solvers. More...

Classes

class  adaptive_rk4
 Adaptive Fourth Order Runge Kutta class. More...
 
class  rk2
 Second Order Runge Kutta class. More...
 
class  rk4
 Fourth Order Runge Kutta class. More...
 
class  solver_interface
 Class interface the solver. More...
 
class  split_simplextic
 Predictor corrector that trys to minimize the disperison residule. More...
 

Concepts

concept  method
 Solver method concept.
 

Functions

template<jit::float_scalar T, bool SAFE_MATH = false>
void newton (workflow::manager< T, SAFE_MATH > &work, graph::output_nodes< T, SAFE_MATH > vars, graph::input_nodes< T, SAFE_MATH > inputs, graph::shared_leaf< T, SAFE_MATH > func, graph::shared_random_state< T, SAFE_MATH > state, const T tolarance=1.0E-30, const size_t max_iterations=1000, const T step=1.0)
 Determine the value of vars to minimze the loss function.
 

Detailed Description

Name space for solvers.

Function Documentation

◆ newton()

template<jit::float_scalar T, bool SAFE_MATH = false>
void solver::newton ( workflow::manager< T, SAFE_MATH > &  work,
graph::output_nodes< T, SAFE_MATH >  vars,
graph::input_nodes< T, SAFE_MATH >  inputs,
graph::shared_leaf< T, SAFE_MATH >  func,
graph::shared_random_state< T, SAFE_MATH >  state,
const T  tolarance = 1.0E-30,
const size_t  max_iterations = 1000,
const T  step = 1.0 
)

Determine the value of vars to minimze the loss function.

This uses newtons methods to solver for D(x) = 0.

Template Parameters
TBase type of the calculation.
SAFE_MATHUse Safe Math operations.
Parameters
[in,out]workWorkflow manager.
[in]varsThe unknowns to solver for.
[in]inputsInputs for jit compile.
[in]funcFunction to find the root of.
[in]stateRandom state node.
[in]tolaranceTolarance to solve the dispersion function to.
[in]max_iterationsMaximum number of iterations before giving up.
[in]stepNewton step size.