OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MLE_D_FI Class Reference

#include <newmatnl.h>

Inheritance diagram for MLE_D_FI:
FindMaximum2

Public Member Functions

 MLE_D_FI (LL_D_FI &ll, int lim=1000, Real criterion=0.0001)
 
void Fit (ColumnVector &Parameters)
 
void GetStandardErrors (ColumnVector &)
 
void GetCorrelations (SymmetricMatrix &)
 
- Public Member Functions inherited from FindMaximum2
void Fit (ColumnVector &, int)
 
virtual ~FindMaximum2 ()
 

Private Member Functions

void Value (const ColumnVector &, bool, Real &, bool &)
 
bool NextPoint (ColumnVector &, Real &)
 
Real LastDerivative (const ColumnVector &)
 
void MakeCovariance ()
 

Private Attributes

LL_D_FILL
 
int Lim
 
Real Criterion
 
ColumnVector Derivs
 
LowerTriangularMatrix LT
 
SymmetricMatrix Covariance
 
DiagonalMatrix SE
 

Detailed Description

Definition at line 282 of file newmatnl.h.

Constructor & Destructor Documentation

◆ MLE_D_FI()

MLE_D_FI::MLE_D_FI ( LL_D_FI ll,
int  lim = 1000,
Real  criterion = 0.0001 
)
inline

Definition at line 299 of file newmatnl.h.

300  : LL(ll), Lim(lim), Criterion(criterion) {}
LL_D_FI & LL
Definition: newmatnl.h:290
int Lim
Definition: newmatnl.h:291
Real Criterion
Definition: newmatnl.h:292

Member Function Documentation

◆ Fit()

void MLE_D_FI::Fit ( ColumnVector Parameters)

Definition at line 233 of file newmatnl.cpp.

References FindMaximum2::Fit().

234 {
235  Tracer tr("MLE_D_FI::Fit");
236  FindMaximum2::Fit(Parameters,Lim);
237  cout << "\nConverged" << endl;
238 }
int Lim
Definition: newmatnl.h:291
void Fit(ColumnVector &, int)
Definition: newmatnl.cpp:21

◆ GetCorrelations()

void MLE_D_FI::GetCorrelations ( SymmetricMatrix Corr)

Definition at line 255 of file newmatnl.cpp.

References BaseMatrix::i().

256 { MakeCovariance(); Corr << SE.i() * Covariance * SE.i(); }
DiagonalMatrix SE
Definition: newmatnl.h:296
InvertedMatrix i() const
Definition: newmat6.cpp:325
SymmetricMatrix Covariance
Definition: newmatnl.h:295
void MakeCovariance()
Definition: newmatnl.cpp:240

◆ GetStandardErrors()

void MLE_D_FI::GetStandardErrors ( ColumnVector SEX)

Definition at line 252 of file newmatnl.cpp.

References BaseMatrix::AsColumn().

253 { MakeCovariance(); SEX = SE.AsColumn(); }
ColedMatrix AsColumn() const
Definition: newmat6.cpp:332
DiagonalMatrix SE
Definition: newmatnl.h:296
void MakeCovariance()
Definition: newmatnl.cpp:240

◆ LastDerivative()

Real MLE_D_FI::LastDerivative ( const ColumnVector H)
privatevirtual

Implements FindMaximum2.

Definition at line 230 of file newmatnl.cpp.

231 { return (Derivs.t() * H).AsScalar(); }
ColumnVector Derivs
Definition: newmatnl.h:293
TransposedMatrix t() const
Definition: newmat6.cpp:316

◆ MakeCovariance()

void MLE_D_FI::MakeCovariance ( )
private

Definition at line 240 of file newmatnl.cpp.

References BaseMatrix::i(), n, and BaseMatrix::t().

241 {
242  if (Covariance.Nrows()==0)
243  {
244  LowerTriangularMatrix LTI = LT.i();
245  Covariance << LTI.t() * LTI;
246  SE << Covariance; // get diagonal
247  int n = Covariance.Nrows();
248  for (int i=1; i <= n; i++) SE(i) = sqrt(SE(i));
249  }
250 }
LowerTriangularMatrix LT
Definition: newmatnl.h:294
DiagonalMatrix SE
Definition: newmatnl.h:296
InvertedMatrix i() const
Definition: newmat6.cpp:325
SymmetricMatrix Covariance
Definition: newmatnl.h:295
os2<< "> n<< " > nendobj n
int Nrows() const
Definition: newmat.h:430
TransposedMatrix t() const
Definition: newmat6.cpp:316

◆ NextPoint()

bool MLE_D_FI::NextPoint ( ColumnVector Adj,
Real &  test 
)
privatevirtual

Implements FindMaximum2.

Definition at line 218 of file newmatnl.cpp.

References Cholesky(), BaseMatrix::i(), SumSquare(), and BaseMatrix::t().

219 {
220  Tracer tr("MLE_D_FI::NextPoint");
221  SymmetricMatrix FI = LL.FI();
222  LT = Cholesky(FI);
223  ColumnVector Adj1 = LT.i() * Derivs;
224  Adj = LT.t().i() * Adj1;
225  test = SumSquare(Adj1);
226  cout << " " << setw(20) << setprecision(10) << test;
227  return (test < Criterion);
228 }
LowerTriangularMatrix LT
Definition: newmatnl.h:294
LL_D_FI & LL
Definition: newmatnl.h:290
InvertedMatrix i() const
Definition: newmat6.cpp:325
ReturnMatrix Cholesky(const SymmetricMatrix &)
Definition: cholesky.cpp:30
ColumnVector Derivs
Definition: newmatnl.h:293
Real Criterion
Definition: newmatnl.h:292
TransposedMatrix t() const
Definition: newmat6.cpp:316
Real SumSquare(const BaseMatrix &B)
Definition: newmat.h:1755
virtual ReturnMatrix FI()=0

◆ Value()

void MLE_D_FI::Value ( const ColumnVector Parameters,
bool  wg,
Real &  v,
bool &  oorg 
)
privatevirtual

Implements FindMaximum2.

Definition at line 206 of file newmatnl.cpp.

207 {
208  Tracer tr("MLE_D_FI::Value");
209  if (!LL.IsValid(Parameters,wg)) { oorg=true; return; }
210  v = LL.LogLikelihood();
211  if (!LL.IsValid()) { oorg=true; return; } // check validity again
212  cout << endl;
213  cout << setw(20) << setprecision(10) << v;
214  oorg = false;
215  Derivs = LL.Derivatives(); // Get derivatives
216 }
virtual Real LogLikelihood()=0
LL_D_FI & LL
Definition: newmatnl.h:290
virtual ReturnMatrix Derivatives()=0
ColumnVector Derivs
Definition: newmatnl.h:293
virtual bool IsValid()
Definition: newmatnl.h:265

Member Data Documentation

◆ Covariance

SymmetricMatrix MLE_D_FI::Covariance
private

Definition at line 295 of file newmatnl.h.

◆ Criterion

Real MLE_D_FI::Criterion
private

Definition at line 292 of file newmatnl.h.

◆ Derivs

ColumnVector MLE_D_FI::Derivs
private

Definition at line 293 of file newmatnl.h.

◆ Lim

int MLE_D_FI::Lim
private

Definition at line 291 of file newmatnl.h.

◆ LL

LL_D_FI& MLE_D_FI::LL
private

Definition at line 290 of file newmatnl.h.

◆ LT

LowerTriangularMatrix MLE_D_FI::LT
private

Definition at line 294 of file newmatnl.h.

◆ SE

DiagonalMatrix MLE_D_FI::SE
private

Definition at line 296 of file newmatnl.h.


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