Annotation of OpenXM/src/R/r-packages/hgm/man/hgm.c2wishart.Rd, Revision 1.1
1.1 ! takayama 1: % $OpenXM$
! 2: \name{hgm.p2wishart}
! 3: \alias{hgm.p2wishart}
! 4: %- Also NEED an '\alias' for EACH other topic documented here.
! 5: \title{
! 6: The function hgm.p2wishart evaluates the cumulative distribution function
! 7: of the largest eigenvalues of inverse(S2)*S1.
! 8: }
! 9: \description{
! 10: The function hgm.p2wishart evaluates the cumulative distribution function
! 11: of the largest eigenvalues of W1*inverse(W2) where W1 and W2 are Wishart
! 12: matrices of size m*m of the freedom n1 and n2 respectively.
! 13: }
! 14: \usage{
! 15: hgm.p2wishart(m,n1,n2,beta,q0,approxdeg,h,dp,q,mode,method,
! 16: err,automatic,assigned_series_error,verbose)
! 17: }
! 18: %- maybe also 'usage' for other objects documented here.
! 19: \arguments{
! 20: \item{m}{The dimension of the Wishart matrix.}
! 21: \item{n1}{The degree of freedome of the Wishart distribution S1}
! 22: \item{n2}{The degree of freedome of the Wishart distribution S2}
! 23: \item{beta}{The eigenvalues of inverse(S2)*S1 where S1 and S2 are
! 24: covariant matrices of W1 and W2 respectively.
! 25: }
! 26: \item{q0}{The point to evaluate the matrix hypergeometric series. q0>0}
! 27: \item{approxdeg}{
! 28: Zonal polynomials upto the approxdeg are calculated to evaluate
! 29: values near the origin. A zonal polynomial is determined by a given
! 30: partition (k1,...,km). We call the sum k1+...+km the degree.
! 31: }
! 32: \item{h}{
! 33: A (small) step size for the Runge-Kutta method. h>0.
! 34: }
! 35: \item{dp}{
! 36: Sampling interval of solutions by the Runge-Kutta method.
! 37: }
! 38: \item{q}{
! 39: The second value y[0] of this function is the Prob(L1 < q)
! 40: where L1 is the first eigenvalue of the Wishart matrix.
! 41: }
! 42: \item{mode}{
! 43: When mode=c(1,0,0), it returns the evaluation
! 44: of the matrix hypergeometric series and its derivatives at x0.
! 45: When mode=c(1,1,(m^2+1)*p), intermediate values of P(L1 < x) with respect to
! 46: p-steps of x are also returned. Sampling interval is controled by dp.
! 47: }
! 48: \item{method}{
! 49: a-rk4 is the default value.
! 50: When method="a-rk4", the adaptive Runge-Kutta method is used.
! 51: Steps are automatically adjusted by err.
! 52: }
! 53: \item{err}{
! 54: When err=c(e1,e2), e1 is the absolute error and e2 is the relative error.
! 55: As long as NaN is not returned, it is recommended to set to
! 56: err=c(0.0, 1e-10), because initial values are usually very small.
! 57: }
! 58: \item{automatic}{
! 59: automatic=1 is the default value.
! 60: If it is 1, the degree of the series approximation will be increased until
! 61: |(F(i)-F(i-1))/F(i-1)| < assigned_series_error where
! 62: F(i) is the degree i approximation of the hypergeometric series
! 63: with matrix argument.
! 64: Step sizes for the Runge-Kutta method are also set automatically from
! 65: the assigned_series_error if it is 1.
! 66: }
! 67: \item{assigned_series_error}{
! 68: assigned_series_error=0.00001 is the default value.
! 69: }
! 70: \item{verbose}{
! 71: verbose=0 is the default value.
! 72: If it is 1, then steps of automatic degree updates and several parameters
! 73: are output to stdout and stderr.
! 74: }
! 75: }
! 76: \details{
! 77: It is evaluated by the Koev-Edelman algorithm when x is near the origin and
! 78: by the HGM when x is far from the origin.
! 79: We can obtain more accurate result when the variables h is smaller,
! 80: x0 is relevant value (not very big, not very small),
! 81: and the approxdeg is more larger.
! 82: A heuristic method to set parameters x0, h, approxdeg properly
! 83: is to make x larger and to check if the y[0] approaches to 1.
! 84: % \code{\link[RCurl]{postForm}}.
! 85: }
! 86: \value{
! 87: The output is x, y[0], ..., y[2^m] in the default mode,
! 88: y[0] is the value of the cumulative distribution
! 89: function P(L1 < x) at x. y[1],...,y[2^m] are some derivatives.
! 90: See the reference below.
! 91: }
! 92: \references{
! 93: H.Hashiguchi, N.Takayama, A.Takemura,
! 94: in preparation.
! 95: }
! 96: \author{
! 97: Nobuki Takayama
! 98: }
! 99: \note{
! 100: This function does not work well under the following cases:
! 101: 1. The beta (the set of eigenvalues)
! 102: is degenerated or is almost degenerated.
! 103: 2. The beta is very skew, in other words, there is a big eigenvalue
! 104: and there is also a small eigenvalue.
! 105: The error control is done by a heuristic method.
! 106: The obtained value is not validated automatically.
! 107: }
! 108:
! 109: %% ~Make other sections like Warning with \section{Warning }{....} ~
! 110:
! 111: %\seealso{
! 112: %%%\code{\link{oxm.matrix_r2tfb}}
! 113: %}
! 114: \examples{
! 115: ## =====================================================
! 116: ## Example 1.
! 117: ## =====================================================
! 118: hgm.p2wishart(m=3,n1=5,n2=10,beta=c(1,2,4),q=4)
! 119: ## =====================================================
! 120: ## Example 2.
! 121: ## =====================================================
! 122: b<-hgm.p2wishart(m=3,n1=5,n2=10,beta=c(1,2,4),q0=0.1,q=20,approxdeg=20,mode=c(1,1,(8+1)*100));
! 123: c<-matrix(b,ncol=16+1,byrow=1);
! 124: #plot(c)
! 125: }
! 126: % Add one or more standard keywords, see file 'KEYWORDS' in the
! 127: % R documentation directory.
! 128: \keyword{ Cumulative distribution function of random two wishart matrices }
! 129: \keyword{ Holonomic gradient method }
! 130: \keyword{ HGM }
! 131:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>