summaryrefslogtreecommitdiff
path: root/src/domain_energy.h
blob: 6cdf8821e9d2b2e97d4dff9361e1acf44128e036 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef DOMAIN_ENERGY_H
#define DOMAIN_ENERGY_H

#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>

double domain_energy_nakedEnergy(unsigned n, const gsl_vector *z, double c);

double domain_energy_nakedLagrangian(unsigned n, const gsl_vector *z, double c);

double domain_energy_nakedGradient(gsl_vector *grad, unsigned n, const gsl_vector *z, double c);

double domain_energy_nakedHessian(gsl_matrix *hess, unsigned n, const gsl_vector *z, double c);

double domain_energy_fixedEnergy(unsigned n, const gsl_vector *z, double c);

double domain_energy_fixedLagrangian(unsigned n, const gsl_vector *z, double c);

double domain_energy_fixedGradient(gsl_vector *grad, unsigned n, const gsl_vector *z, double c);

double domain_energy_fixedHessian(gsl_matrix *hess, unsigned n, const gsl_vector *z, double c);

double domain_energy_nakedRandLagrangian(unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi);

double domain_energy_nakedRandGradient(gsl_vector *grad, unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi);

double domain_energy_nakedRandHessian(gsl_matrix *hess, unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi);

double domain_energy_nakedWellLagrangian(unsigned n, const gsl_vector *z, double c, double w, double s);

double domain_energy_nakedWellGradient(gsl_vector *grad, unsigned n, const gsl_vector *z, double c, double w, double s);

double domain_energy_nakedWellHessian(gsl_matrix *hess, unsigned n, const gsl_vector *z, double c, double w, double s);

double domain_energy_randWellLagrangian(unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi, double w, double s);

double domain_energy_randWellGradient(gsl_vector *grad, unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi, double w, double s);

double domain_energy_randWellHessian(gsl_matrix *hess, unsigned n, const gsl_vector *z, double c, unsigned ord, const gsl_vector *k, const gsl_vector *a, const gsl_vector *phi, double w, double s);

#endif