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

Individual vector of regression coefficients with blocks of traits. More...

#include <MuGen.h>

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

Public Member Functions

 MVnormBetaBlk ()
 Default constructor. More...
 
 MVnormBetaBlk (const Grp &resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, gsl_matrix *bet, const size_t &iRw)
 Constructor with no prior index. More...
 
 MVnormBetaBlk (const Grp &resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, const size_t &up, gsl_matrix *bet, const size_t &iRw)
 Constructor with a prior index. More...
 
 MVnormBetaBlk (const gsl_matrix *resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, gsl_matrix *bet, const size_t &iRw)
 Constructor with no prior index. More...
 
 MVnormBetaBlk (const gsl_matrix *resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, const size_t &up, gsl_matrix *bet, const size_t &iRw)
 Constructor with a prior index. More...
 
virtual ~MVnormBetaBlk ()
 Destructor.
 
const size_t * up () const
 Points to the prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIb, const gsl_rng *r)
 Gaussian likelihood. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const gsl_rng *r)
 Sudent- \(t\) likelihood. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIb, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIb, 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 &SigIb, const SigmaI &SigIp, const gsl_rng *r)
 Student- \(t\) likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, 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 &SigIb, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r)
 Gaussian likelihood, Gaussian prior. More...
 
virtual void update (const Grp &dat, const SigmaI &SigIb, 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 &SigIb, 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 &SigIb, 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 vector< size_t > * _blkStart
 Start positions of blocks. More...
 
vector< gsl_vector_view > _eachVec
 Trait blocks. More...
 
vector< gsl_vector_view > _X
 Separate predictors. More...
 
vector< double > _scale
 Vector of scales. More...
 
const size_t * _upLevel
 Pointer to a row index of the prior. 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 regression coefficients with blocks of traits.

Implements separate regression 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

◆ MVnormBetaBlk() [1/5]

MVnormBetaBlk::MVnormBetaBlk ( )
inline

Default constructor.

Simply calls the MVnorm default constructor.

◆ MVnormBetaBlk() [2/5]

MVnormBetaBlk::MVnormBetaBlk ( const Grp resp,
gsl_matrix *  pred,
const vector< size_t > &  iCl,
const gsl_matrix *  Sig,
const vector< size_t > &  blkStart,
const gsl_rng *  r,
gsl_matrix *  bet,
const size_t &  iRw 
)

Constructor with no prior index.

Stochastic constructor for a regression with an improper prior.

Parameters
[in]Grp&response variable
[in]gsl_matrix*predictor matrix
[in]vector<size_t>&column indexes of the predictor matrix
[in]gsl_matrix*covariance marix for stochastic initiation
[in]vector<size_t>&vector of start indixes of each block
[in]gsl_rng*pointer to a PNG
[in]gsl_matrix*matrix of regression coefficients
[in]size_t&row index of the regression coefficient matrix

◆ MVnormBetaBlk() [3/5]

MVnormBetaBlk::MVnormBetaBlk ( const Grp resp,
gsl_matrix *  pred,
const vector< size_t > &  iCl,
const gsl_matrix *  Sig,
const vector< size_t > &  blkStart,
const gsl_rng *  r,
const size_t &  up,
gsl_matrix *  bet,
const size_t &  iRw 
)

Constructor with a prior index.

Stochastic constructor for a regression with a proper prior.

Parameters
[in]Grp&response variable
[in]gsl_matrix*predictor matrix
[in]vector<size_t>&column indexes of the predictor matrix
[in]gsl_matrix*covariance marix for stochastic initiation
[in]vector<size_t>&vector of start indixes of each block
[in]gsl_rng*pointer to a PNG
[in]size_t&row index of the prior matrix
[in]gsl_matrix*matrix of regression coefficients
[in]size_t&row index of the regression coefficient matrix

◆ MVnormBetaBlk() [4/5]

MVnormBetaBlk::MVnormBetaBlk ( const gsl_matrix *  resp,
gsl_matrix *  pred,
const vector< size_t > &  iCl,
const gsl_matrix *  Sig,
const vector< size_t > &  blkStart,
const gsl_rng *  r,
gsl_matrix *  bet,
const size_t &  iRw 
)

Constructor with no prior index.

Stochastic constructor for a regression with an improper prior.

Parameters
[in]gsl_matrix*response matrix
[in]gsl_matrix*predictor matrix
[in]vector<size_t>&column indexes of the predictor matrix
[in]gsl_matrix*covariance marix for stochastic initiation
[in]vector<size_t>&vector of start indixes of each block
[in]gsl_rng*pointer to a PNG
[in]gsl_matrix*matrix of regression coefficients
[in]size_t&row index of the regression coefficient matrix

◆ MVnormBetaBlk() [5/5]

MVnormBetaBlk::MVnormBetaBlk ( const gsl_matrix *  resp,
gsl_matrix *  pred,
const vector< size_t > &  iCl,
const gsl_matrix *  Sig,
const vector< size_t > &  blkStart,
const gsl_rng *  r,
const size_t &  up,
gsl_matrix *  bet,
const size_t &  iRw 
)

Constructor with a prior index.

Stochastic constructor for a regression with a proper prior.

Parameters
[in]gsl_matrix*response matrix
[in]gsl_matrix*predictor matrix
[in]vector<size_t>&column indexes of the predictor matrix
[in]gsl_matrix*covariance marix for stochastic initiation
[in]vector<size_t>&vector of start indixes of each block
[in]gsl_rng*pointer to a PNG
[in]size_t&row index of the prior matrix
[in]gsl_matrix*matrix of regression coefficients
[in]size_t&row index of the regression coefficient matrix

Member Function Documentation

◆ up()

const size_t* MVnormBetaBlk::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 MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [2/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [3/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [4/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [5/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [6/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [7/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [8/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [9/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

◆ update() [10/10]

void MVnormBetaBlk::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.

Reimplemented in MVnormBetaFtBlk.

Member Data Documentation

◆ _blkStart

const vector< size_t >* MVnormBetaBlk::_blkStart
protected

Start positions of blocks.

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

◆ _eachVec

vector< gsl_vector_view > MVnormBetaBlk::_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.

◆ _scale

vector<double> MVnormBetaBlk::_scale
protected

Vector of scales.

Typically \(X^{T}X\), but can bet something else in special cases. Each _X has a correspodning _scale.

◆ _upLevel

const size_t* MVnormBetaBlk::_upLevel
protected

Pointer to a row index of the prior.

This has to be the same for all the blocks.

◆ _X

vector< gsl_vector_view > MVnormBetaBlk::_X
protected

Separate predictors.

Vector views of predictor vectors, each corresponding to a block of variables. The predictor matrix is in the encompassing Grp class.


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