MuGen
Multitrait genetics
Public Member Functions | Protected Attributes | List of all members
MVnormMuPEX Class Reference

Individual vector of means with parameter expansion. More...

#include <MuGen.h>

Inheritance diagram for MVnormMuPEX:
[legend]
Collaboration diagram for MVnormMuPEX:
[legend]

Public Member Functions

 MVnormMuPEX ()
 Default constructor.
 
 MVnormMuPEX (gsl_matrix *mn, const size_t &iRw, const vector< size_t > &low, const size_t &up, Apex &A, gsl_matrix *tSigIAt)
 Deterministic constructor. More...
 
 MVnormMuPEX (gsl_matrix *mn, const size_t &iRw, const gsl_vector *sd, const gsl_rng *r, const vector< size_t > &low, const size_t &up, Apex &A, gsl_matrix *tSigIAt)
 Univariate random constructor. More...
 
 MVnormMuPEX (const MVnormMuPEX &mu)
 Deterministic copy constructor. More...
 
MVnormMuPEXoperator= (const MVnormMuPEX &mu)
 Assignment operator. More...
 
virtual ~MVnormMuPEX ()
 Destructor.
 
virtual void update (const Grp &dat, const SigmaI &SigIm, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIm, const double &qPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Student- \(t\) prior. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const double &qPr, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Student- \(t\) prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIm, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIm, const Grp &muPr, const double &qPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Student- \(t\) prior. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const Grp &muPr, const double &qPr, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Student- \(t\) prior. More...
 
- Public Member Functions inherited from MVnormMu
 MVnormMu ()
 Default constructor. More...
 
 MVnormMu (const size_t &d)
 Zero vector constructor. More...
 
 MVnormMu (const size_t &d, const vector< size_t > &low, const size_t &up)
 Zero vector with pointers. More...
 
 MVnormMu (gsl_vector *mn, const vector< size_t > &low, const size_t &up)
 Deterministic constructor. More...
 
 MVnormMu (gsl_vector *mn, const size_t &up)
 Deterministic constructor, prior index only. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw)
 Deterministic constructor with a matrix. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw, const vector< size_t > &low)
 Deterministic constructor with a matrix and an index to data. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw, const vector< size_t > &low, const size_t &up)
 Deterministic constructor with a matrix and indexes to data and a prior. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw, const size_t &up)
 Deterministic constructor with a matrix and an index to a prior. More...
 
 MVnormMu (gsl_vector *mn, const gsl_vector *sd, const gsl_rng *r, const vector< size_t > &low, const size_t &up)
 Univariate random constructor with a vector and indexes to data and a prior. More...
 
 MVnormMu (gsl_vector *mn, const gsl_matrix *Sig, const gsl_rng *r, const vector< size_t > &low, const size_t &up)
 Multivariate random constructor with a vector and indexes to data and a prior. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw, const gsl_vector *sd, const gsl_rng *r, const vector< size_t > &low, const size_t &up)
 Univariate random constructor with a matrix and indexes to data and a prior. More...
 
 MVnormMu (gsl_matrix *mn, const size_t &iRw, const gsl_matrix *Sig, const gsl_rng *r, const vector< size_t > &low, const size_t &up)
 Multivariate random constructor with a matrix and indexes to data and a prior. More...
 
 MVnormMu (const MVnormMu &)
 Copy constructor. More...
 
MVnormMuoperator= (const MVnormMu &)
 Assignment operator. More...
 
virtual ~MVnormMu ()
 Destructor.
 
virtual void update (const Grp &dat, const SigmaI &SigIm, const gsl_rng *r)
 Gaussian likelihood. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const gsl_rng *r)
 Sudent- \(t\) likelihood. More...
 
virtual size_t nMissP () const
 Number of missing values. More...
 
virtual const vector< size_t > getMisPhen () const
 Indexes of missing values. More...
 
const vector< size_t > * down () const
 Points to the corresponding data. More...
 
const size_t * up () const
 Points to the prior. More...
 
- Public Member Functions inherited from MVnorm
 MVnorm (const MVnorm &)
 Copy constructor. More...
 
MVnormoperator= (const MVnorm &)
 Assignement operator. More...
 
virtual ~MVnorm ()
 Virtual destructor. More...
 
virtual double mhl (const MVnorm *x, const SigmaI &SigI)
 Mahalanobis distance to a vector. More...
 
virtual double mhl (const MVnorm *x, const SigmaI &SigI) const
 Mahalanobis distance to a vector. More...
 
virtual double mhl (const gsl_vector *x, const SigmaI &SigI)
 Mahalanobis distance to a vector. More...
 
virtual double mhl (const gsl_vector *x, const SigmaI &SigI) const
 Mahalanobis distance to a vector. More...
 
virtual double mhl (const SigmaI &SigI)
 Mahalanobis distance to zero. More...
 
virtual double mhl (const SigmaI &SigI) const
 Mahalanobis distance to zero. More...
 
double density (const gsl_vector *theta, const SigmaI &SigI)
 Multivariate Gaussian density. More...
 
double density (const gsl_vector *theta, const SigmaI &SigI) const
 Multivariate Gaussian density. More...
 
double density (const MVnorm *theta, const SigmaI &SigI)
 Multivariate Gaussian density. More...
 
double density (const MVnorm *theta, const SigmaI &SigI) const
 Multivariate Gaussian density. More...
 
void save (const string &fileNam, const char *how="a")
 Save function. More...
 
void save (FILE *fileStr)
 Save function. More...
 
double operator[] (const size_t i) const
 Subscript operator. More...
 
void valSet (const size_t i, const double x)
 Setting an element to a value. More...
 
const gsl_vector * getVec () const
 Access the location vector. More...
 
size_t len () const
 Length of the location vector. More...
 
virtual double scalePar () const
 Scale parameter. More...
 

Protected Attributes

Apex_A
 Pointer to the redundant parameter. More...
 
gsl_matrix_view _tSAprod
 Pre-computed auxiliary matrix. More...
 
- Protected Attributes inherited from MVnormMu
const vector< size_t > * _lowLevel
 Data indexes. More...
 
const size_t * _upLevel
 Prior index. More...
 
- Protected Attributes inherited from MVnorm
gsl_vector_view _vec
 Data vector. More...
 
size_t _d
 Length of the data vector.
 

Additional Inherited Members

- Protected Member Functions inherited from MVnorm
 MVnorm ()
 Default constructor. More...
 
 MVnorm (const size_t &d)
 Dimension-only constructor. More...
 
 MVnorm (gsl_vector *mn)
 Dimension and vector value constructor. More...
 
 MVnorm (gsl_vector *mn, const gsl_vector *sd, const gsl_rng *r)
 Univariate Gaussian constructor. More...
 
 MVnorm (gsl_vector *mn, const gsl_matrix *Sig, const gsl_rng *r)
 Multivariate Gaussian constructor. More...
 
 MVnorm (gsl_matrix *mn, const size_t &iRw)
 Dimension and vector value constructor. More...
 
 MVnorm (gsl_matrix *mn, const size_t &iRw, const gsl_vector *sd, const gsl_rng *r)
 Univariate Gaussian constructor with a matrix. More...
 
 MVnorm (gsl_matrix *mn, const size_t &iRw, const gsl_matrix *Sig, const gsl_rng *r)
 Multivariate Gaussian constructor with a matrix. More...
 

Detailed Description

Individual vector of means with parameter expansion.

This class is the same as MVnormMu, but implements multivariate parameter expansion for updating (Greenberg, in prep.)

Constructor & Destructor Documentation

◆ MVnormMuPEX() [1/3]

MVnormMuPEX::MVnormMuPEX ( gsl_matrix *  mn,
const size_t &  iRw,
const vector< size_t > &  low,
const size_t &  up,
Apex A,
gsl_matrix *  tSigIAt 
)

Deterministic constructor.

Parameters
[in]gsl_matrix*matrix of values
[in]size_t&row index of the matrix of values
[in]vector<size_t>&vector of indexes of rows in the data matrix
[in]size_t&index in the matrix of priors
[in]Apex&object storing the redundant parameter matrix
[in]gsl_matrix*pre-computed auxiliary matrix

◆ MVnormMuPEX() [2/3]

MVnormMuPEX::MVnormMuPEX ( gsl_matrix *  mn,
const size_t &  iRw,
const gsl_vector *  sd,
const gsl_rng *  r,
const vector< size_t > &  low,
const size_t &  up,
Apex A,
gsl_matrix *  tSigIAt 
)

Univariate random constructor.

Parameters
[in]gsl_matrix*matrix of values
[in]size_t&row index of the matrix of values
[in]gsl_vector*vector of standard deviations for the univariate Gaussian
[in]gsl_rng*pointer to a PNG
[in]vector<size_t>&vector of indexes of rows in the data matrix
[in]size_t&index in the matrix of priors
[in]Apex&object storing the redundant parameter matrix
[in]gsl_matrix*pre-computed auxiliary matrix

◆ MVnormMuPEX() [3/3]

MVnormMuPEX::MVnormMuPEX ( const MVnormMuPEX mu)

Deterministic copy constructor.

Parameters
[in]MVnormMuPEX&object of type MVnormMuPEX

Member Function Documentation

◆ operator=()

MVnormMuPEX & MVnormMuPEX::operator= ( const MVnormMuPEX mu)

Assignment operator.

Deterministic assignement operator

Parameters
[in]MVnormMuPEX&object of type MVnormMuPEX
Returns
A reference to an object of type MVnormMuPEX

◆ update() [1/8]

void MVnormMuPEX::update ( const Grp ,
const Qgrp ,
const SigmaI ,
const double &  ,
const SigmaI ,
const gsl_rng *   
)
virtual

Student- \(t\) likelihood, Student- \(t\) prior.

Parameters
[in]Grp&data for the likelihood
[in]Qgrp&vector Student- \(t\) covariance scale parameter for the likelihood covariance
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]double&Student- \(t\) scale parameter for the prior covariance
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [2/8]

void MVnormMuPEX::update ( const Grp ,
const Qgrp ,
const SigmaI ,
const Grp ,
const double &  ,
const SigmaI ,
const gsl_rng *   
)
virtual

Student- \(t\) likelihood, Student- \(t\) prior.

Parameters
[in]Grp&data for the likelihood
[in]Qgrp&vector Student- \(t\) covariance scale parameter for the likelihood covariance
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]Grp&prior mean
[in]double&Student- \(t\) scale parameter for the prior covariance
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [3/8]

void MVnormMuPEX::update ( const Grp ,
const Qgrp ,
const SigmaI ,
const Grp ,
const SigmaI ,
const gsl_rng *   
)
virtual

Student- \(t\) likelihood, Gaussian prior.

Parameters
[in]Grp&data for the likelihood
[in]Qgrp&vector Student- \(t\) covariance scale parameter for the likelihood covariance
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]Grp&prior mean
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [4/8]

void MVnormMuPEX::update ( const Grp ,
const Qgrp ,
const SigmaI ,
const SigmaI ,
const gsl_rng *   
)
virtual

Student- \(t\) likelihood, Gaussian prior.

Parameters
[in]Grp&data for the likelihood
[in]Qgrp&vector of Student- \(t\) covariance scale parameters for the likelihood covariance
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [5/8]

void MVnormMuPEX::update ( const Grp ,
const SigmaI ,
const double &  ,
const SigmaI ,
const gsl_rng *   
)
virtual

Gaussian likelihood, Student- \(t\) prior.

Parameters
[in]Grp&data for the likelihood
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]double&Student- \(t\) scale parameter for the prior covariance
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [6/8]

void MVnormMuPEX::update ( const Grp ,
const SigmaI ,
const Grp ,
const double &  ,
const SigmaI ,
const gsl_rng *   
)
virtual

Gaussian likelihood, Student- \(t\) prior.

Parameters
[in]Grp&data for the likelihood
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]Grp&prior mean
[in]double&Student- \(t\) scale parameter for the prior covariance
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [7/8]

void MVnormMuPEX::update ( const Grp ,
const SigmaI ,
const Grp ,
const SigmaI ,
const gsl_rng *   
)
virtual

Gaussian likelihood, Gaussian prior.

Parameters
[in]Grp&data for the likelihood
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]Grp&prior mean
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

◆ update() [8/8]

void MVnormMuPEX::update ( const Grp ,
const SigmaI ,
const SigmaI ,
const gsl_rng *   
)
virtual

Gaussian likelihood, Gaussian prior.

Parameters
[in]Grp&data for the likelihood
[in]SigmaI&inverse-covariance matrix for the likelihood
[in]SigmaI&prior inverse-covariance matrix
[in]gsl_rng*pointer to a PNG

Reimplemented from MVnormMu.

Reimplemented in MVnormBetaPEX.

Member Data Documentation

◆ _A

Apex* MVnormMuPEX::_A
protected

Pointer to the redundant parameter.

A pointer to an object of class Apex, that stores the matrix of redundant parameters.

◆ _tSAprod

gsl_matrix_view MVnormMuPEX::_tSAprod
protected

Pre-computed auxiliary matrix.

Vector view of a matrix that stores a pre-computed \( (SA)^{\textsc{t}} \) matrix that is common for all members of the encapsulating Grp class.


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