ROOT
ROOT project
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
NewtonRaphsonStepper< T > Class Template Reference

The specialized Stepper to compute a step with the Newton-Raphson method. More...

#include <stepper_def.hpp>

Inheritance diagram for NewtonRaphsonStepper< T >:
Inheritance graph
Collaboration diagram for NewtonRaphsonStepper< T >:
Collaboration graph

Public Member Functions

 NewtonRaphsonStepper (std::function< double(double)> fun, bool aitken_mode, std::function< double(double)> der)
 The specialized constructor - initializes the function and the derivative.
 
Eigen::Vector2d compute_step (Eigen::Vector2d previous_iteration) override
 Specialized method to compute and return a new step with NR.
 
 NewtonRaphsonStepper (std::function< double(double)> fun, bool aitken_mode, std::function< double(double)> der)
 
Eigen::Vector2d compute_step (Eigen::Vector2d previous_iteration)
 Virtual function to compute the step for the method -> overridden by all the methods.
 
- Public Member Functions inherited from StepperBase< T >
 StepperBase (std::function< double(double)> fun, bool aitken_mode)
 Constructor for virtual Stepper class, which will be inherited by the daughters.
 
virtual ~StepperBase ()=default
 
Eigen::Vector2d step (Eigen::Vector2d previous_step)
 Method handling all the steps involved in computing the new guess.
 

Private Attributes

std::function< double(double)> derivative
 Stores the derivative of the function.
 

Additional Inherited Members

- Protected Member Functions inherited from StepperBase< T >
Eigen::Vector2d aitken_step (Eigen::Vector2d previous_iter)
 Method to handle the computation of a step using Aitken's acceleration.
 
- Protected Attributes inherited from StepperBase< T >
std::function< double(double)> function
 Function to compute the root of.
 
bool aitken_requirement
 Option to use Aitken's acceleration.
 

Detailed Description

template<typename T>
class NewtonRaphsonStepper< T >

The specialized Stepper to compute a step with the Newton-Raphson method.

Constructor & Destructor Documentation

◆ NewtonRaphsonStepper() [1/2]

template<typename T >
NewtonRaphsonStepper< T >::NewtonRaphsonStepper ( std::function< double(double)>  fun,
bool  aitken_mode,
std::function< double(double)>  der 
)

The specialized constructor - initializes the function and the derivative.

Parameters
funThe function to compute the root of
aitken_modeOption to use Aitken's acceleration
derThe derivative of the function, needed for NR method

◆ NewtonRaphsonStepper() [2/2]

NewtonRaphsonStepper< double >::NewtonRaphsonStepper ( std::function< double(double)>  fun,
bool  aitken_mode,
std::function< double(double)>  der 
)

Member Function Documentation

◆ compute_step() [1/2]

Eigen::Vector2d NewtonRaphsonStepper< double >::compute_step ( Eigen::Vector2d  )
virtual

Virtual function to compute the step for the method -> overridden by all the methods.

Parameters
previous_iteration2-dimensional vector storing x(i-1) and f(x(i-1)) - previous guesses
Returns
2-dimensional vector storing x(i) and f(x(i)) - new guesses

Implements StepperBase< T >.

◆ compute_step() [2/2]

template<typename T >
Eigen::Vector2d NewtonRaphsonStepper< T >::compute_step ( Eigen::Vector2d  previous_iteration)
overridevirtual

Specialized method to compute and return a new step with NR.

Parameters
previous_iteration2-dimensional vector storing x(i-1) and f(x(i-1)) - previous guesses
Returns
2-dimensional vector storing x(i) = x(i-1) - f(x(i-1)) / f'(x(i-1)) and f(x(i)) - new guesses

Implements StepperBase< T >.

Member Data Documentation

◆ derivative

template<typename T >
std::function<double(double)> NewtonRaphsonStepper< T >::derivative
private

Stores the derivative of the function.


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