Jpp  15.0.1-rc.1-highQE
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
JTOOLS::JHesseMatrix< N, JData_t > Struct Template Reference

Hessian matrix. More...

#include <JHesseMatrix.hh>

Inheritance diagram for JTOOLS::JHesseMatrix< N, JData_t >:
JTOOLS::JTable2D< N, N, JData_t > JMATH::JMath< JFirst_t, JSecond_t >

Public Types

typedef JData_t data_type
 

Public Member Functions

 JHesseMatrix ()
 Default constructor. More...
 
template<class JResult_t >
 JHesseMatrix (const JResultHesse< JResult_t > &result)
 Constructor. More...
 
template<class JResult_t >
void set (const JResultHesse< JResult_t > &result)
 Set matrix according given result. More...
 
const data_typeoperator[] (int row) const
 Get row data. More...
 
data_typeoperator[] (int row)
 Get row data. More...
 
JTable2Dnegate ()
 Negate table. More...
 
JTable2Dadd (const JTable2D &table)
 Add table. More...
 
JTable2Dsub (const JTable2D &table)
 Subtract table. More...
 
JTable2Dmul (const double factor)
 Scale table. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
JTable2Ddiv (const double factor)
 Scale table. More...
 

Static Public Member Functions

static int getNX ()
 Get number of rows. More...
 
static int getNY ()
 Get number of columns. More...
 

Protected Attributes

data_type data [NX][NY]
 

Private Member Functions

void set (unsigned int pivot, const JResultHesse< JData_t > &result)
 Set final element. More...
 
void set (unsigned int row, unsigned int col, const JResultHesse< JData_t > &result)
 Set final element. More...
 
template<class JResult_t >
void set (unsigned int pivot, const JResultHesse< JResult_t > &result)
 Recursivaly set elements. More...
 
template<class JResult_t >
void set (unsigned int row, unsigned int col, const JResultHesse< JResult_t > &result)
 Recursivaly set elements. More...
 

Detailed Description

template<unsigned int N, class JData_t = double>
struct JTOOLS::JHesseMatrix< N, JData_t >

Hessian matrix.

Definition at line 22 of file JHesseMatrix.hh.

Member Typedef Documentation

typedef JData_t JTOOLS::JTable2D< NX, NY, JData_t >::data_type
inherited

Definition at line 30 of file JTable2D.hh.

Constructor & Destructor Documentation

template<unsigned int N, class JData_t = double>
JTOOLS::JHesseMatrix< N, JData_t >::JHesseMatrix ( )
inline

Default constructor.

Definition at line 28 of file JHesseMatrix.hh.

29  {}
template<unsigned int N, class JData_t = double>
template<class JResult_t >
JTOOLS::JHesseMatrix< N, JData_t >::JHesseMatrix ( const JResultHesse< JResult_t > &  result)
inline

Constructor.

Parameters
resultHesse result

Definition at line 38 of file JHesseMatrix.hh.

39  {
40  set(result);
41  }
void set(const JResultHesse< JResult_t > &result)
Set matrix according given result.
Definition: JHesseMatrix.hh:50

Member Function Documentation

template<unsigned int N, class JData_t = double>
template<class JResult_t >
void JTOOLS::JHesseMatrix< N, JData_t >::set ( const JResultHesse< JResult_t > &  result)
inline

Set matrix according given result.

Parameters
resultHesse result

Definition at line 50 of file JHesseMatrix.hh.

51  {
52  set(0, result);
53 
54  for (unsigned int i = 1; i != N; ++i) {
55  for (unsigned int j = 0; j != i; ++j) {
56  this->data[i][j] = this->data[j][i];
57  }
58  }
59  }
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
void set(const JResultHesse< JResult_t > &result)
Set matrix according given result.
Definition: JHesseMatrix.hh:50
int j
Definition: JPolint.hh:666
template<unsigned int N, class JData_t = double>
void JTOOLS::JHesseMatrix< N, JData_t >::set ( unsigned int  pivot,
const JResultHesse< JData_t > &  result 
)
inlineprivate

Set final element.

Parameters
pivotpivot
resultHesse result

Definition at line 68 of file JHesseMatrix.hh.

70  {
71  this->data[pivot][pivot] = result.fpp;
72  }
JResult_t fpp
second derivative
Definition: JResult.hh:318
template<unsigned int N, class JData_t = double>
void JTOOLS::JHesseMatrix< N, JData_t >::set ( unsigned int  row,
unsigned int  col,
const JResultHesse< JData_t > &  result 
)
inlineprivate

Set final element.

Parameters
rowrow
colcol
resultHesse result

Definition at line 82 of file JHesseMatrix.hh.

85  {
86  this->data[row][col] = result.fp;
87  }
JResult_t fp
first derivative
Definition: JResult.hh:195
template<unsigned int N, class JData_t = double>
template<class JResult_t >
void JTOOLS::JHesseMatrix< N, JData_t >::set ( unsigned int  pivot,
const JResultHesse< JResult_t > &  result 
)
inlineprivate

Recursivaly set elements.

Parameters
pivotpivot
resultHesse result

Definition at line 97 of file JHesseMatrix.hh.

99  {
100  this->data[pivot][pivot] = get_value(result.fpp);
101 
102  set(pivot, pivot + 1, result.fp);
103  set(pivot + 1, result.f);
104  }
JResult_t fp
first derivative
Definition: JResult.hh:195
JResult_t f
function value
Definition: JResult.hh:194
void set(const JResultHesse< JResult_t > &result)
Set matrix according given result.
Definition: JHesseMatrix.hh:50
JResult_t fpp
second derivative
Definition: JResult.hh:318
JResultEvaluator< JResult_t >::result_type get_value(const JResult_t &value)
Helper method to recursively evaluate a to function value.
Definition: JResult.hh:998
template<unsigned int N, class JData_t = double>
template<class JResult_t >
void JTOOLS::JHesseMatrix< N, JData_t >::set ( unsigned int  row,
unsigned int  col,
const JResultHesse< JResult_t > &  result 
)
inlineprivate

Recursivaly set elements.

Parameters
rowrow
colcol
resultHesse result

Definition at line 115 of file JHesseMatrix.hh.

118  {
119  this->data[row][col] = get_value(result.fp);
120 
121  set(row, col + 1, result.f);
122  }
JResult_t fp
first derivative
Definition: JResult.hh:195
JResult_t f
function value
Definition: JResult.hh:194
void set(const JResultHesse< JResult_t > &result)
Set matrix according given result.
Definition: JHesseMatrix.hh:50
JResultEvaluator< JResult_t >::result_type get_value(const JResult_t &value)
Helper method to recursively evaluate a to function value.
Definition: JResult.hh:998
static int JTOOLS::JTable2D< NX, NY, JData_t >::getNX ( )
inlinestaticinherited

Get number of rows.

Returns
number of rows

Definition at line 50 of file JTable2D.hh.

51  {
52  return NX;
53  }
static int JTOOLS::JTable2D< NX, NY, JData_t >::getNY ( )
inlinestaticinherited

Get number of columns.

Returns
number of columns

Definition at line 61 of file JTable2D.hh.

62  {
63  return NY;
64  }
const data_type* JTOOLS::JTable2D< NX, NY, JData_t >::operator[] ( int  row) const
inlineinherited

Get row data.

Parameters
rowrow number
Returns
row data

Definition at line 73 of file JTable2D.hh.

74  {
75  return data[row];
76  };
data_type* JTOOLS::JTable2D< NX, NY, JData_t >::operator[] ( int  row)
inlineinherited

Get row data.

Parameters
rowrow number
Returns
row data

Definition at line 85 of file JTable2D.hh.

86  {
87  return data[row];
88  };
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::negate ( )
inlineinherited

Negate table.

Returns
this table

Definition at line 96 of file JTable2D.hh.

97  {
98  for (int i = 0; i != NX; ++i) {
99  for (int j = 0; j != NY; ++j) {
100  data[i][j] = -data[i][j];
101  }
102  }
103 
104  return *this;
105  }
int j
Definition: JPolint.hh:666
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::add ( const JTable2D< N, N, JData_t > &  table)
inlineinherited

Add table.

Parameters
tabletable
Returns
this table

Definition at line 114 of file JTable2D.hh.

115  {
116  for (int i = 0; i != NX; ++i) {
117  for (int j = 0; j != NY; ++j) {
118  data[i][j] += table.data[i][j];
119  }
120  }
121 
122  return *this;
123  }
int j
Definition: JPolint.hh:666
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::sub ( const JTable2D< N, N, JData_t > &  table)
inlineinherited

Subtract table.

Parameters
tabletable
Returns
this table

Definition at line 132 of file JTable2D.hh.

133  {
134  for (int i = 0; i != NX; ++i) {
135  for (int j = 0; j != NY; ++j) {
136  data[i][j] -= table.data[i][j];
137  }
138  }
139 
140  return *this;
141  }
int j
Definition: JPolint.hh:666
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::mul ( const double  factor)
inlineinherited

Scale table.

Parameters
factormultiplication factor
Returns
this table

Definition at line 150 of file JTable2D.hh.

151  {
152  for (int i = 0; i != NX; ++i) {
153  for (int j = 0; j != NY; ++j) {
154  data[i][j] *= factor;
155  }
156  }
157 
158  return *this;
159  }
int j
Definition: JPolint.hh:666
template<class JFirst_t, class JSecond_t = JNullType>
JFirst_t& JMATH::JMath< JFirst_t, JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 357 of file JMath.hh.

358  {
359  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
360  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::div ( const double  factor)
inlineinherited

Scale table.

Parameters
factordivision factor
Returns
this table

Definition at line 168 of file JTable2D.hh.

169  {
170  for (int i = 0; i != NX; ++i) {
171  for (int j = 0; j != NY; ++j) {
172  data[i][j] /= factor;
173  }
174  }
175 
176  return *this;
177  }
int j
Definition: JPolint.hh:666

Member Data Documentation

data_type JTOOLS::JTable2D< NX, NY, JData_t >::data[NX][NY]
protectedinherited

Definition at line 219 of file JTable2D.hh.


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