Muller
sample Muller's potential
potential.h File Reference

Muller's potential function. More...

#include <config.h>
#include <stdlib.h>
#include <jwsc/base/error.h>
#include <jwsc/matrix/matrix.h>

Go to the source code of this file.

Functions

mullers_potential

Computes Muller's potential.

Errormullers_potential_f (float *V_out, float x, float y)
 Calculates Muller's potential with single precision.
Errormullers_potential_d (double *V_out, double x, double y)
 Calculates Muller's potential with double precision.
grad_mullers_potential

Calculates the gradient of Muller's potential.

Errorgrad_mullers_potential_f (float *dx_V_out, float *dy_V_out, float x, float y)
 Calculates the gradient of Muller's potential with single precision.
Errorgrad_mullers_potential_d (double *dx_V_out, double *dy_V_out, double x, double y)
 Calculates the gradient of Muller's potential with double precision.
grad_matrix_mullers_potential

Calculates the gradient matrix of Muller's potential.

Errorgrad_matrix_mullers_potential_d (Matrix_d **gg_out, double x, double y)
 Calculates the gradient matrix of Muller's potential.
hessian_mullers_potential

Calculates the Hessian matrix of Muller's potential.

Errorhessian_mullers_potential_f (Matrix_f **H_V_out, float x, float y)
 Calculates the Hessian matrix of Muller's potential with single precision.
Errorhessian_mullers_potential_d (Matrix_d **H_V_out, double x, double y)
 Calculates the Hessian matrix of Muller's potential with single precision.

Detailed Description

Muller's potential function.

Author:
Joseph Schlecht
License:
Creative Commons BY-NC-SA 3.0

Definition in file potential.h.


Function Documentation

Error* mullers_potential_f ( float *  V_out,
float  x,
float  y 
)

Calculates Muller's potential with single precision.

Parameters:
V_outResult parameter. Muller's potential evaluated at x,y.
xInput to evaluate Muller's potential at.
yInput to evaluate Muller's potential at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 106 of file potential.c.

Error* mullers_potential_d ( double *  V_out,
double  x,
double  y 
)

Calculates Muller's potential with double precision.

Parameters:
V_outResult parameter. Muller's potential evaluated at x,y.
xInput to evaluate Muller's potential at.
yInput to evaluate Muller's potential at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 144 of file potential.c.

Error* grad_mullers_potential_f ( float *  dx_V_out,
float *  dy_V_out,
float  x,
float  y 
)

Calculates the gradient of Muller's potential with single precision.

Parameters:
dx_V_outResult parameter. Partial derivative of Muller's potential w.r.t. x.
dy_V_outResult parameter. Partial derivative of Muller's potential w.r.t. y.
xInput to evaluate the partial derivative of Muller's potential w.r.t. x at.
yInput to evaluate the partial derivative of Muller's potential w.r.t. y at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 199 of file potential.c.

Error* grad_mullers_potential_d ( double *  dx_V_out,
double *  dy_V_out,
double  x,
double  y 
)

Calculates the gradient of Muller's potential with double precision.

Parameters:
dx_V_outResult parameter. Partial derivative of Muller's potential w.r.t. x.
dy_V_outResult parameter. Partial derivative of Muller's potential w.r.t. y.
xInput to evaluate the partial derivative of Muller's potential w.r.t. x at.
yInput to evaluate the partial derivative of Muller's potential w.r.t. y at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 259 of file potential.c.

Error* grad_matrix_mullers_potential_d ( Matrix_d **  gg_out,
double  x,
double  y 
)

Calculates the gradient matrix of Muller's potential.

Parameters:
gg_outResult parameter. Partial derivatives of Muller's potential in a matrix.
xInput to evaluate the partial derivative of Muller's potential w.r.t. x at.
yInput to evaluate the partial derivative of Muller's potential w.r.t. y at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 333 of file potential.c.

Error* hessian_mullers_potential_f ( Matrix_f **  H_V_out,
float  x,
float  y 
)

Calculates the Hessian matrix of Muller's potential with single precision.

Parameters:
H_V_outResult parameter. Hessian matrix: second order partial derivatives of Muller's potential.
xInput to evaluate the partial derivative of Muller's potential w.r.t. x at.
yInput to evaluate the partial derivative of Muller's potential w.r.t. y at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 393 of file potential.c.

Error* hessian_mullers_potential_d ( Matrix_d **  H_V_out,
double  x,
double  y 
)

Calculates the Hessian matrix of Muller's potential with single precision.

Parameters:
H_V_outResult parameter. Hessian matrix: second order partial derivatives of Muller's potential.
xInput to evaluate the partial derivative of Muller's potential w.r.t. x at.
yInput to evaluate the partial derivative of Muller's potential w.r.t. y at.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 473 of file potential.c.