ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::multimin::fdfminimizer Class Reference

Workspace for fdfminimizer. More...

#include <multimin.hpp>

Collaboration diagram for gsl::multimin::fdfminimizer:
Collaboration graph

Public Member Functions

 fdfminimizer ()
 The default constructor is only really useful for assigning to. More...
 
 fdfminimizer (type const *T, size_t const n)
 The default constructor creates a new fdfminimizer with n elements. More...
 
 fdfminimizer (gsl_multimin_fdfminimizer *v)
 Could construct from a gsl_multimin_fminimizer. More...
 
 fdfminimizer (fdfminimizer const &v)
 The copy constructor. More...
 
fdfminimizeroperator= (fdfminimizer const &v)
 The assignment operator. More...
 
 ~fdfminimizer ()
 The destructor only deletes the pointers if count reaches zero. More...
 
 fdfminimizer (fdfminimizer &&v)
 Move constructor. More...
 
fdfminimizeroperator= (fdfminimizer &&v)
 Move operator. More...
 
bool operator== (fdfminimizer const &v) const
 Two fdfminimizer are identically equal if their elements are identical. More...
 
bool operator!= (fdfminimizer const &v) const
 Two fdfminimizer are different if their elements are not identical. More...
 
bool operator< (fdfminimizer const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator> (fdfminimizer const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator<= (fdfminimizer const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator>= (fdfminimizer const &v) const
 A container needs to define an ordering for sorting. More...
 
bool empty () const
 Find if the fdfminimizer is empty. More...
 
void swap (fdfminimizer &v)
 Swap two fdfminimizer objects. More...
 
gsl_multimin_fdfminimizer * get () const
 Get the gsl_multimin_fminimizer. More...
 
bool unique () const
 Find if this is the only object sharing the gsl_multimin_fminimizer. More...
 
size_t use_count () const
 Find how many fdfminimizer objects share this pointer. More...
 
 operator bool () const
 Allow conversion to bool. More...
 
int set (function_fdf *fdf, vector const &x, double step_size, double tol)
 C++ version of gsl_multimin_fdfminimizer_set(). More...
 
int set (function_fdf &fdf, vector const &x, double step_size, double tol)
 C++ version of gsl_multimin_fdfminimizer_set(). More...
 
char const * name ()
 C++ version of gsl_multimin_fdfminimizer_name(). More...
 
int iterate ()
 C++ version of gsl_multimin_fdfminimizer_iterate(). More...
 
int restart ()
 C++ version of gsl_multimin_fdfminimizer_restart(). More...
 
vector x ()
 C++ version of gsl_multimin_fdfminimizer_x(). More...
 
vector dx ()
 C++ version of gsl_multimin_fdfminimizer_dx(). More...
 
vector gradient ()
 C++ version of gsl_multimin_fdfminimizer_gradient(). More...
 
double minimum ()
 C++ version of gsl_multimin_fdfminimizer_minimum(). More...
 

Static Public Member Functions

static int set (fdfminimizer &s, function_fdf *fdf, vector const &x, double step_size, double tol)
 C++ version of gsl_multimin_fdfminimizer_set(). More...
 
static int set (fdfminimizer &s, function_fdf &fdf, vector const &x, double step_size, double tol)
 C++ version of gsl_multimin_fdfminimizer_set(). More...
 
static char const * name (fdfminimizer const &s)
 C++ version of gsl_multimin_fdfminimizer_name(). More...
 
static int iterate (fdfminimizer &s)
 C++ version of gsl_multimin_fdfminimizer_iterate(). More...
 
static int restart (fdfminimizer &s)
 C++ version of gsl_multimin_fdfminimizer_restart(). More...
 
static vector x (fdfminimizer const &s)
 C++ version of gsl_multimin_fdfminimizer_x(). More...
 
static vector dx (fdfminimizer const &s)
 C++ version of gsl_multimin_fdfminimizer_dx(). More...
 
static vector gradient (fdfminimizer const &s)
 C++ version of gsl_multimin_fdfminimizer_gradient(). More...
 
static double minimum (fdfminimizer const &s)
 C++ version of gsl_multimin_fdfminimizer_minimum(). More...
 
static type const * steepest_descent ()
 Static type. More...
 
static type const * conjugate_pr ()
 Static type. More...
 
static type const * conjugate_fr ()
 Static type. More...
 
static type const * vector_bfgs ()
 Static type. More...
 
static type const * vector_bfgs2 ()
 Static type. More...
 

Private Types

typedef gsl_multimin_fdfminimizer_type type
 Typedef. More...
 

Private Attributes

gsl_multimin_fdfminimizer * ccgsl_pointer
 The shared pointer. More...
 
size_t * count
 The shared reference count. More...
 

Detailed Description

Workspace for fdfminimizer.

Also functions as a namespace for fdfminimizer functions. This also allows for functions to be called on fminimizer as an object.

Definition at line 419 of file multimin.hpp.

Member Typedef Documentation

◆ type

typedef gsl_multimin_fdfminimizer_type gsl::multimin::fdfminimizer::type
private

Typedef.

Definition at line 423 of file multimin.hpp.

Constructor & Destructor Documentation

◆ fdfminimizer() [1/5]

gsl::multimin::fdfminimizer::fdfminimizer ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 428 of file multimin.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ fdfminimizer() [2/5]

gsl::multimin::fdfminimizer::fdfminimizer ( type const *  T,
size_t const  n 
)
inlineexplicit

The default constructor creates a new fdfminimizer with n elements.

Parameters
TThe type of the fminimizer
nThe number of elements in the fdfminimizer

Definition at line 439 of file multimin.hpp.

References ccgsl_pointer, count, and gsl::rstat::n().

◆ fdfminimizer() [3/5]

gsl::multimin::fdfminimizer::fdfminimizer ( gsl_multimin_fdfminimizer *  v)
inlineexplicit

Could construct from a gsl_multimin_fminimizer.

This is not usually a good idea. In this case we should not use gsl_multimin_fminimizer_free() to deallocate the memory.

Parameters
vThe fdfminimizer

Definition at line 455 of file multimin.hpp.

References ccgsl_pointer, and count.

◆ fdfminimizer() [4/5]

gsl::multimin::fdfminimizer::fdfminimizer ( fdfminimizer const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe fdfminimizer to copy.

Definition at line 466 of file multimin.hpp.

References ccgsl_pointer, and count.

◆ ~fdfminimizer()

gsl::multimin::fdfminimizer::~fdfminimizer ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 485 of file multimin.hpp.

References ccgsl_pointer, and count.

◆ fdfminimizer() [5/5]

gsl::multimin::fdfminimizer::fdfminimizer ( fdfminimizer &&  v)
inline

Move constructor.

Parameters
vThe fdfminimizer to move.

Definition at line 497 of file multimin.hpp.

References count.

Member Function Documentation

◆ conjugate_fr()

static type const * gsl::multimin::fdfminimizer::conjugate_fr ( )
inlinestatic

Static type.

Returns
the named fdfminimizer type

Definition at line 806 of file multimin.hpp.

◆ conjugate_pr()

static type const * gsl::multimin::fdfminimizer::conjugate_pr ( )
inlinestatic

Static type.

Returns
the named fdfminimizer type

Definition at line 801 of file multimin.hpp.

◆ dx() [1/2]

vector gsl::multimin::fdfminimizer::dx ( )
inline

C++ version of gsl_multimin_fdfminimizer_dx().

Returns
The vlaue of dx

Definition at line 769 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

◆ dx() [2/2]

static vector gsl::multimin::fdfminimizer::dx ( fdfminimizer const &  s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_dx().

Parameters
sAn fdfminimizer
Returns
The vlaue of dx

Definition at line 687 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

◆ empty()

bool gsl::multimin::fdfminimizer::empty ( ) const
inline

Find if the fdfminimizer is empty.

Returns
true if has size zero; otherwise false

Definition at line 574 of file multimin.hpp.

References ccgsl_pointer.

◆ get()

gsl_multimin_fdfminimizer * gsl::multimin::fdfminimizer::get ( ) const
inline

Get the gsl_multimin_fminimizer.

Returns
the gsl_multimin_fminimizer

Definition at line 600 of file multimin.hpp.

References ccgsl_pointer.

Referenced by dx(), gradient(), iterate(), minimum(), name(), restart(), set(), and x().

◆ gradient() [1/2]

vector gsl::multimin::fdfminimizer::gradient ( )
inline

C++ version of gsl_multimin_fdfminimizer_gradient().

Returns
The current gradient estimate

Definition at line 779 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

◆ gradient() [2/2]

static vector gsl::multimin::fdfminimizer::gradient ( fdfminimizer const &  s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_gradient().

Parameters
sAn fdfminimizer
Returns
The current gradient estimate

Definition at line 698 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

◆ iterate() [1/2]

int gsl::multimin::fdfminimizer::iterate ( )
inline

C++ version of gsl_multimin_fdfminimizer_iterate().

Returns
Error code on failure

Definition at line 745 of file multimin.hpp.

References get().

◆ iterate() [2/2]

static int gsl::multimin::fdfminimizer::iterate ( fdfminimizer s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_iterate().

Parameters
sAn fdfminimizer
Returns
Error code on failure

Definition at line 660 of file multimin.hpp.

References get().

◆ minimum() [1/2]

double gsl::multimin::fdfminimizer::minimum ( )
inline

C++ version of gsl_multimin_fdfminimizer_minimum().

Returns
The current estimate of the function minimum

Definition at line 789 of file multimin.hpp.

References get().

◆ minimum() [2/2]

static double gsl::multimin::fdfminimizer::minimum ( fdfminimizer const &  s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_minimum().

Parameters
sAn fdfminimizer
Returns
The current estimate of the function minimum

Definition at line 709 of file multimin.hpp.

References get().

◆ name() [1/2]

char const * gsl::multimin::fdfminimizer::name ( )
inline

C++ version of gsl_multimin_fdfminimizer_name().

Returns
The name of the minimizer

Definition at line 739 of file multimin.hpp.

References get().

◆ name() [2/2]

static char const * gsl::multimin::fdfminimizer::name ( fdfminimizer const &  s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_name().

Parameters
sAn fdfminimizer
Returns
The name of the minimizer

Definition at line 652 of file multimin.hpp.

References get().

◆ operator bool()

gsl::multimin::fdfminimizer::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

Returns
true or false according as this contains a pointer to a gsl_multimin_fminimizer.

Definition at line 620 of file multimin.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::multimin::fdfminimizer::operator!= ( fdfminimizer const &  v) const
inline

Two fdfminimizer are different if their elements are not identical.

Parameters
vThe fdfminimizer to be compared with this
Returns
false or true according as this and v have identical elements or not

Definition at line 527 of file multimin.hpp.

References operator==().

◆ operator<()

bool gsl::multimin::fdfminimizer::operator< ( fdfminimizer const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a fdfminimizer is nonnegative.

Parameters
vThe fdfminimizer to be compared with this
Returns
false or true according as this is less than v lexicographically

Definition at line 539 of file multimin.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::multimin::fdfminimizer::operator<= ( fdfminimizer const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a fdfminimizer is nonnegative.

Parameters
vThe fdfminimizer to be compared with this
Returns
false or true according as this is less than or equal to v lexicographically

Definition at line 559 of file multimin.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

fdfminimizer & gsl::multimin::fdfminimizer::operator= ( fdfminimizer &&  v)
inline

Move operator.

Parameters
vThe fdfminimizer to move.
Returns
A reference to this.

Definition at line 506 of file multimin.hpp.

References fdfminimizer().

◆ operator=() [2/2]

fdfminimizer & gsl::multimin::fdfminimizer::operator= ( fdfminimizer const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe fdfminimizer to copy

Definition at line 473 of file multimin.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::multimin::fdfminimizer::operator== ( fdfminimizer const &  v) const
inline

Two fdfminimizer are identically equal if their elements are identical.

Parameters
vThe fdfminimizer to be compared with this
Returns
true or false according as this and v have identical elements or not

Definition at line 519 of file multimin.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::multimin::fdfminimizer::operator> ( fdfminimizer const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a fdfminimizer is nonnegative.

Parameters
vThe fdfminimizer to be compared with this
Returns
false or true according as this is greater than v lexicographically

Definition at line 549 of file multimin.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::multimin::fdfminimizer::operator>= ( fdfminimizer const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a fdfminimizer is nonnegative.

Parameters
vThe fdfminimizer to be compared with this
Returns
false or true according as this is no less than v lexicographically

Definition at line 569 of file multimin.hpp.

References ccgsl_pointer.

◆ restart() [1/2]

int gsl::multimin::fdfminimizer::restart ( )
inline

C++ version of gsl_multimin_fdfminimizer_restart().

Returns
Error code on failure

Definition at line 752 of file multimin.hpp.

References get().

◆ restart() [2/2]

static int gsl::multimin::fdfminimizer::restart ( fdfminimizer s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_restart().

Parameters
sAn fdfminimizer
Returns
Error code on failure

Definition at line 668 of file multimin.hpp.

References get().

◆ set() [1/4]

static int gsl::multimin::fdfminimizer::set ( fdfminimizer s,
function_fdf fdf,
vector const &  x,
double  step_size,
double  tol 
)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_set().

Parameters
sAn fdfminimizer
fdfAn fdfunction
xA vector argument
step_sizeThe step size
tolThe tolerance of the line search method
Returns
Error code on failure

Definition at line 643 of file multimin.hpp.

References gsl::vector::get(), get(), and x().

◆ set() [2/4]

static int gsl::multimin::fdfminimizer::set ( fdfminimizer s,
function_fdf fdf,
vector const &  x,
double  step_size,
double  tol 
)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_set().

Parameters
sAn fdfminimizer
fdfAn fdfunction
xA vector argument
step_sizeThe step size
tolThe tolerance of the line search method
Returns
Error code on failure

Definition at line 631 of file multimin.hpp.

References gsl::vector::get(), get(), and x().

◆ set() [3/4]

int gsl::multimin::fdfminimizer::set ( function_fdf fdf,
vector const &  x,
double  step_size,
double  tol 
)
inline

C++ version of gsl_multimin_fdfminimizer_set().

Parameters
fdfAn fdfunction
xA vector argument
step_sizeThe step size
tolThe tolerance of the line search method
Returns
Error code on failure

Definition at line 731 of file multimin.hpp.

References gsl::vector::get(), get(), and x().

◆ set() [4/4]

int gsl::multimin::fdfminimizer::set ( function_fdf fdf,
vector const &  x,
double  step_size,
double  tol 
)
inline

C++ version of gsl_multimin_fdfminimizer_set().

Parameters
fdfAn fdfunction
xA vector argument
step_sizeThe step size
tolThe tolerance of the line search method
Returns
Error code on failure

Definition at line 720 of file multimin.hpp.

References gsl::vector::get(), get(), and x().

◆ steepest_descent()

static type const * gsl::multimin::fdfminimizer::steepest_descent ( )
inlinestatic

Static type.

Returns
the named fdfminimizer type

Definition at line 796 of file multimin.hpp.

◆ swap()

void gsl::multimin::fdfminimizer::swap ( fdfminimizer v)
inline

Swap two fdfminimizer objects.

This works even if the fdfminimizer have different sizes because it swaps pointers.

Parameters
vThe fdfminimizer to swap with this.

Definition at line 581 of file multimin.hpp.

References ccgsl_pointer, and count.

◆ unique()

bool gsl::multimin::fdfminimizer::unique ( ) const
inline

Find if this is the only object sharing the gsl_multimin_fminimizer.

Returns
true or falses according as this is the only workspace object sharing the gsl_multimin_fminimizer.

Definition at line 606 of file multimin.hpp.

References count.

◆ use_count()

size_t gsl::multimin::fdfminimizer::use_count ( ) const
inline

Find how many fdfminimizer objects share this pointer.

Returns
the number of workspace objects that share this pointer.

Definition at line 611 of file multimin.hpp.

References count.

◆ vector_bfgs()

static type const * gsl::multimin::fdfminimizer::vector_bfgs ( )
inlinestatic

Static type.

Returns
the named fdfminimizer type

Definition at line 811 of file multimin.hpp.

◆ vector_bfgs2()

static type const * gsl::multimin::fdfminimizer::vector_bfgs2 ( )
inlinestatic

Static type.

Returns
the named fdfminimizer type

Definition at line 816 of file multimin.hpp.

◆ x() [1/2]

vector gsl::multimin::fdfminimizer::x ( )
inline

C++ version of gsl_multimin_fdfminimizer_x().

Returns
The current value of the argmin estimate

Definition at line 759 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

Referenced by set().

◆ x() [2/2]

static vector gsl::multimin::fdfminimizer::x ( fdfminimizer const &  s)
inlinestatic

C++ version of gsl_multimin_fdfminimizer_x().

Parameters
sAn fdfminimizer
Returns
The current value of the argmin estimate

Definition at line 676 of file multimin.hpp.

References get(), and gsl::vector::wrap_gsl_vector_without_ownership().

Member Data Documentation

◆ ccgsl_pointer

gsl_multimin_fdfminimizer* gsl::multimin::fdfminimizer::ccgsl_pointer
private

◆ count

size_t* gsl::multimin::fdfminimizer::count
private

The shared reference count.

Definition at line 593 of file multimin.hpp.

Referenced by fdfminimizer(), operator=(), swap(), unique(), use_count(), and ~fdfminimizer().


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