Learn R Programming

Directional (version 7.0)

Check visually whether matrix Fisher samples is correctly generated or not: Check visually whether matrix Fisher samples is correctly generated or not.

Description

It plots the log probability trace of matrix Fisher distribution which should close to the maximum value of the logarithm of matrix Fisher distribution, if samples are correctly generated.

Usage

visual.check(x, Fa)

Value

A plot which shows log probability trace of matrix Fisher distribution. The values are also returned.

Arguments

x

The simulated data. An array with at least 2 3x3 matrices.

Fa

An arbitrary 3x3 matrix represents the parameter matrix of this distribution.

Author

Anamul Sajib.

R implementation and documentation: Anamul Sajib <sajibstat@du.ac.bd>.

Details

For a given parameter matrix Fa, maximum value of the logarithm of matrix Fisher distribution is calculated via the form of singular value decomposition of \(Fa = U \Lambda V^T\) which is \(tr(\Lambda)\). Multiply the last column of \(U\) by \(-1\) and replace small eigenvalue, say, \(\lambda_3\) by \(-\lambda_3\) if \(| UV^T| = -1\).

References

Habeck M. (2009). Generation of three-dimensional random rotations in fitting and matching problems. Computational Statistics, 24(4):719--731.

Examples

Run this code
Fa <- matrix( c(85, 11, 41, 78, 39, 60, 43, 64, 48), ncol = 3) / 10
x <- rmatrixfisher(1000, Fa)
a <- visual.check(x, Fa)

Run the code above in your browser using DataLab