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

The specialized Stepper to compute a step with the Chords Method (also called Secants in literature) More...

#include <stepper_def.hpp>

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

Public Member Functions

 ChordsStepper (std::function< double(double)> fun, bool aitken_mode, Eigen::Vector2d _int)
 Constructor for the ChordsStepper class.
 
Eigen::Vector2d compute_step (Eigen::Vector2d previous_iteration) override
 Specialized method to compute and return a new step with Chords.
 
 ChordsStepper (std::function< double(double)> fun, bool aitken_mode, Eigen::Vector2d _int)
 
Eigen::Vector2d compute_step (Eigen::Vector2d last_iter)
 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

double iter_minus_1
 
double iter_zero
 The two previous guesses required at each iteration.
 

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 ChordsStepper< T >

The specialized Stepper to compute a step with the Chords Method (also called Secants in literature)

Constructor & Destructor Documentation

◆ ChordsStepper() [1/2]

template<typename T >
ChordsStepper< T >::ChordsStepper ( std::function< double(double)>  fun,
bool  aitken_mode,
Eigen::Vector2d  _int 
)

Constructor for the ChordsStepper class.

Parameters
funThe function to compute the root of
aitken_modeOption to use Aitken's acceleration
_int2-dimensional vector storing the two initial guesses x(-1) and x(0)

◆ ChordsStepper() [2/2]

ChordsStepper< Eigen::Vector2d >::ChordsStepper ( std::function< double(double)>  fun,
bool  aitken_mode,
Eigen::Vector2d  _int 
)

Member Function Documentation

◆ compute_step() [1/2]

Eigen::Vector2d ChordsStepper< Eigen::Vector2d >::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 ChordsStepper< T >::compute_step ( Eigen::Vector2d  previous_iteration)
overridevirtual

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

After the computation, the two previous guesses are then updated for the next step.

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

Implements StepperBase< T >.

Member Data Documentation

◆ iter_minus_1

template<typename T >
double ChordsStepper< T >::iter_minus_1
private

◆ iter_zero

template<typename T >
double ChordsStepper< T >::iter_zero
private

The two previous guesses required at each iteration.


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