30_fda_geigen: Generalized Eigen Analysis as in fda Package

fda.geigenR Documentation

Generalized Eigen Analysis as in fda Package

Description

This is an equivalent function to fda::geigen which finds matrices L and M to maximize

tr(L'AM) / sqrt(tr(L'BL) tr(M'CM))

where A = a p x q matrix, B = p x p symmetric, positive definite matrix, B = q x q symmetric positive definite matrix, L = p x s matrix, and M = q x s matrix, where s = the number of non-zero generalized eigenvalues of A.

Usage

  fda.geigen(Amat, Bmat, Cmat)

Arguments

Amat

a numeric matrix

Bmat

a symmetric, positive definite matrix with dimension = number of rows of A

Cmat

a symmetric, positive definite matrix with dimension = number of columns of A

Details

This function is equivalent to fda::geigen(Amat, Bmat, Cmat) except that this is rewritten and utilizes LAPACK functions via qz.dggev.

Also, Lmat and Mmat are both scaled such that L'BL and M'CM are identity matrices.

Value

list(values, Lmat, Mmat)

Author(s)

Wei-Chen Chen wccsnow@gmail.com

See Also

qz.geigen, qz.dggev.

Examples


library(QZ, quiet = TRUE)

A <- matrix(as.double(1:6), 2)
B <- matrix(as.double(c(2, 1, 1, 2)), 2)
C <- diag(as.double(1:3))

ret.qz <- fda.geigen(A, B, C)

### Verify
library(fda, quiet = TRUE)
ret.fda <- fda::geigen(A, B, C)


QZ documentation built on Sept. 8, 2023, 5:43 p.m.