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

Individual vector of means with blocks of traits. More...

#include <MuGen.h>

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

Public Member Functions

 MVnormMuBlk ()
 Default constructor.
 
 MVnormMuBlk (gsl_matrix *mn, const size_t &iRw, const vector< size_t > &blkStart, const size_t &up)
 Deterministic constructor. More...
 
 MVnormMuBlk (gsl_matrix *mn, const size_t &iRw, const gsl_vector *sd, const gsl_rng *r, const vector< size_t > &blkStart, const vector< vector< size_t > > &eachLL, const size_t &up)
 Univariate stochastic constructor. More...
 
virtual ~MVnormMuBlk ()
 Destructor.
 
const size_t * up () const
 Points to the prior. More...
 
void update (const Grp &dat, const SigmaI &SigIm, const gsl_rng *r)
 Gaussian likelihood. More...
 
void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const gsl_rng *r)
 Sudent- \(t\) likelihood. More...
 
void update (const Grp &dat, const SigmaI &SigIm, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
void update (const Grp &dat, const SigmaI &SigIm, const double &qPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Student- \(t\) prior. More...
 
void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Gaussian prior. More...
 
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...
 
void update (const Grp &dat, const SigmaI &SigIm, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
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...
 
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...
 
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 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 size_t nMissP () const
 Number of missing values. More...
 
virtual const vector< size_t > getMisPhen () const
 Indexes of missing values. More...
 
virtual const vector< size_t > * down () const
 Points to the corresponding data. More...
 
virtual double scalePar () const
 Scale parameter. More...
 

Protected Attributes

const size_t * _upLevel
 Pointer to a row index of the prior. More...
 
const vector< size_t > * _blkStart
 Start positions of blocks. More...
 
vector< gsl_vector_view > _eachVec
 Trait blocks. More...
 
const vector< vector< size_t > > * _eachLL
 Data matrix row indexes. 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 blocks of traits.

Implements separate models for blocks of traits. The likelihood covariance matrix is block-diagonal. Traits of the same block have to be contiguous within the vector.

Constructor & Destructor Documentation

◆ MVnormMuBlk() [1/2]

MVnormMuBlk::MVnormMuBlk ( gsl_matrix *  mn,
const size_t &  iRw,
const vector< size_t > &  blkStart,
const size_t &  up 
)

Deterministic constructor.

Sets up the member variables to point to blocks of traits in the matrix mn, but does not perform stochastic intitialization.

Parameters
[in]gsl_matrix*mean values matrix
[in]size_t&row index of the mean values matrix
[in]vector<size_t>&vector of start indexes for each block
[in]size_t&row index of the prior matrix

◆ MVnormMuBlk() [2/2]

MVnormMuBlk::MVnormMuBlk ( gsl_matrix *  mn,
const size_t &  iRw,
const gsl_vector *  sd,
const gsl_rng *  r,
const vector< size_t > &  blkStart,
const vector< vector< size_t > > &  eachLL,
const size_t &  up 
)

Univariate stochastic constructor.

Sets initial values independently for each trait, modifying the matrix row that corresponds to this vector.

Parameters
[in]gsl_matrix*mean values matrix
[in]size_t&row index of the mean values matrix
[in]gsl_vector*vector of standard deviations
[in]gsl_rng*pointer to a PNG
[in]vector<size_t>&vector of start indexes for each block
[in]vector<vector<size_t> >& vector of lower-level index vectors
[in]size_t&row index of the prior matrix

Member Function Documentation

◆ up()

const size_t* MVnormMuBlk::up ( ) const
inlinevirtual

Points to the prior.

Access to the pointer to the correspoding vector of priors. Is non-zero only for classes where a prior is implemented.

Returns
Pointer to size_t.

Reimplemented from MVnorm.

◆ update() [1/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [2/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [3/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [4/10]

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

Sudent- \(t\) likelihood.

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

Implements MVnorm.

◆ update() [5/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [6/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [7/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [8/10]

void MVnormMuBlk::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

Implements MVnorm.

◆ update() [9/10]

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

Gaussian likelihood.

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

Implements MVnorm.

◆ update() [10/10]

void MVnormMuBlk::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

Implements MVnorm.

Member Data Documentation

◆ _blkStart

const vector< size_t >* MVnormMuBlk::_blkStart
protected

Start positions of blocks.

Pointer to the vector that's in the corresponding Grp class.

◆ _eachLL

const vector< vector<size_t> >* MVnormMuBlk::_eachLL
protected

Data matrix row indexes.

Each block of traits can have a different number and identity of rows in the data matrix it refers to. Each vector of size_t in this vector corresponds to a block, so the size of this should be the same as the size of *_eachVec*. This member is a pointer to the vector that's in the corresponding Grp class.

◆ _eachVec

vector< gsl_vector_view > MVnormMuBlk::_eachVec
protected

Trait blocks.

Vector views of vector pieces, each corresponding to a block of variables. Pointer to the vector that's in the corresponding Grp class.

◆ _upLevel

const size_t* MVnormMuBlk::_upLevel
protected

Pointer to a row index of the prior.

This has to be the same for all the blocks.


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