Package 'FGalgorithm'

Title: Flury and Gautschi algorithms
Description: This is a package for implementation of Flury-Gautschi algorithms.
Authors: Dariush Najarzadeh
Maintainer: Dariush Najarzadeh <[email protected]>
License: GPL (>= 2)
Version: 1.0
Built: 2024-10-31 20:40:36 UTC
Source: CRAN

Help Index


Execute the Flury and Gautschi diagonalisation algorithm, which tries to simultaneously diagonalize a set of symmetric positive definite matrices.

Description

The minimization of the objective function

Φ(B)=i=1k[det(diag(BAiB))det(BAiB)]ni\Phi (B) = {\prod\limits_{i = 1}^k {\left[ {\frac{{\det (diag(B'{A_i}B))}}{{\det (B'{A_i}B)}}} \right]} ^{{n_i}}}

is required for a potpourri of statistical problems. This algorithm (Flury & Gautschi, 1984) is designed to find an orthogonal matrix B0B_0 of dimension p×pp \times p such that

Φ(B)Φ(B0)\Phi (B) \ge \Phi (B_0)

for all orthogonal matrices B. The matrices A1A_1,...,AkA_k are positive-definite and are usually sample covariance matrices and nin_is are positive real numbers.

It can be shown (Flury, 1983) that if B0=[b1,b2,,bp]B_0=[b_1, b_2,\ldots, b_p ], then the following system of equations holds:

bl[i=1kniλilλijλilλijAi]bj=0(l,j=1,,p;lj){b_l}'\left[{\sum\limits_{i = 1}^k {{n_i}\frac{{{\lambda _{il}} - {\lambda _{ij}}}}{{{\lambda _{il}}{\lambda _{ij}}}}{A_i}} } \right]{b_j} = 0 \hspace{1cm} (l,j = 1, \ldots ,p;l \not = j)

where

λih=bhAibh(i=1,,k;h=1,,p).{\lambda _{ih}} = {b_h}^\prime {A_i}{b_h} \hspace{1cm} (i = 1, \ldots ,k;h = 1, \ldots ,p).

In other words, Flury and Gautschi algorithms find the solution B0B_0 of the above system of equations. Also, this algorithm can be used to find the maximum likelihood estimates of common principal components in k groups (Flury,1984).

Details

Package: FGalgorithm
Type: Package
Version: 1.0
Date: 2012-11-14
License: GPL (>= 2)

Author(s)

Dariush Najarzadeh

Maintainer: Dariush Najarzadeh <[email protected]>

References

Flury, B. N. (1983), "A generalization of principal component analysis to k groups", Technical Report No. 83-14, Dept. of Statistics, Purdue University.

Flury, B. N. (1984). Common principal components in k groups. Journal of the American Statistical Association, 79(388), 892-898.

Flury, B. N., & Gautschi, W. (1984). An algorithm for simultaneous orthogonal transformation of several positive definite symmetric matrices to nearly diagonal form. SIAM Journal on Scientific and Statistical Computing, 7(1), 169-184.


Flury and Gautschi algorithms

Description

Find the orthogonal matrix B0B_0 such that minimize Φ(B)\Phi(B).

Usage

FGalgorithm(eF, eG, p, n , A)

Arguments

eF, eG

small positive constants controlling error terms.

p

dimensionality.

n

a numeric vector containing the positive integers.

A

a list of length k of positive definite symmetric matrices.

Value

Orthogonal matrix B0B_0 such that minimize Φ\Phi with respect to the group of orthogonal matrices BB.

Author(s)

Dariush Najarzadeh

References

Flury, B. N., & Gautschi, W. (1986). An algorithm for simultaneous orthogonal transformation of several positive definite symmetric matrices to nearly diagonal form. SIAM Journal on Scientific and Statistical Computing, 7(1), 169-184.

Examples

n<-numeric(3) 
  n[[1]]<-50
  n[[2]]<-50
  n[[3]]<-50
  A<-vector("list",length=3)
  A[[1]]<-var(iris[51:100,1:4])
  A[[2]]<-var(iris[101:150,1:4])
  A[[3]]<-var(iris[1:50,1:4])
  B0<-FGalgorithm(1e-5,1e-5,4,n,A)
  B0