Learn R Programming

MoEClust (version 1.6.0)

force_posiDiag: Force diagonal elements of a triangular matrix to be positive

Description

This function ensures that the triangular matrix in a QR (or other) decomposition has positive values along its diagonal.

Usage

force_posiDiag(x)

Value

An upper or lower triangular matrix with positive diagonal entries such that the matrix is still a valid decomposition of the matrix the input x is a decomposition of.

Arguments

x

A matrix, which must be either upper-triangular or lower-triangular.

Author

Keefe Murphy - <keefe.murphy@mu.ie>

Examples

Run this code
data(ais)
res <- MoE_clust(ais[,3:7], G=3, modelNames="EEE")
sig <- res$parameters$variance
a   <- force_posiDiag(sig$cholSigma)
b   <- chol(sig$Sigma)
all.equal(a, b)                    #TRUE
all.equal(crossprod(a), sig$Sigma) #TRUE
all.equal(crossprod(b), sig$Sigma) #TRUE

Run the code above in your browser using DataLab