=================================================================== RCS file: /home/cvs/OpenXM/src/R/r-packages/hgm/man/hgm.cwishart.Rd,v retrieving revision 1.3 retrieving revision 1.13 diff -u -p -r1.3 -r1.13 --- OpenXM/src/R/r-packages/hgm/man/hgm.cwishart.Rd 2013/03/08 07:32:28 1.3 +++ OpenXM/src/R/r-packages/hgm/man/hgm.cwishart.Rd 2016/02/15 07:42:07 1.13 @@ -1,17 +1,18 @@ -% $OpenXM: OpenXM/src/R/r-packages/hgm/man/hgm.cwishart.Rd,v 1.2 2013/03/01 05:27:08 takayama Exp $ -\name{hgm.cwishart} -\alias{hgm.cwishart} +% $OpenXM: OpenXM/src/R/r-packages/hgm/man/hgm.cwishart.Rd,v 1.12 2016/02/14 00:21:50 takayama Exp $ +\name{hgm.pwishart} +\alias{hgm.pwishart} %- Also NEED an '\alias' for EACH other topic documented here. \title{ - The function hgm.cwishart evaluates the cumulative distribution function - of random wishart matrix. + The function hgm.pwishart evaluates the cumulative distribution function + of random wishart matrices. } \description{ - The function hgm.cwishart evaluates the cumulative distribution function - of random wishart matrix of size m times m. + The function hgm.pwishart evaluates the cumulative distribution function + of random wishart matrices of size m times m. } \usage{ -hgm.cwishart(m,n,beta,x0,approxdeg,h,dp,x,mode,method,err) +hgm.pwishart(m,n,beta,q0,approxdeg,h,dp,q,mode,method, + err,automatic,assigned_series_error,verbose,autoplot) } %- maybe also 'usage' for other objects documented here. \arguments{ @@ -21,7 +22,7 @@ hgm.cwishart(m,n,beta,x0,approxdeg,h,dp,x,mode,method, (a parameter of the Wishart distribution). The beta is equal to inverse(sigma)/2. } - \item{x0}{The point to evaluate the matrix hypergeometric series. x0>0} + \item{q0}{The point to evaluate the matrix hypergeometric series. q0>0} \item{approxdeg}{ Zonal polynomials upto the approxdeg are calculated to evaluate values near the origin. A zonal polynomial is determined by a given @@ -32,35 +33,60 @@ hgm.cwishart(m,n,beta,x0,approxdeg,h,dp,x,mode,method, } \item{dp}{ Sampling interval of solutions by the Runge-Kutta method. + When autoplot=1, it is automatically set. } - \item{x}{ - The second value y[0] of this function is the Prob(L1 < x) + \item{q}{ + The second value y[0] of this function is the Prob(L1 < q) where L1 is the first eigenvalue of the Wishart matrix. } \item{mode}{ When mode=c(1,0,0), it returns the evaluation - of the matrix hypergeometric series and its derivatives at x0. - When mode=c(1,1,(m^2+1)*p), intermediate values of P(L1 < x) with respect to + of the matrix hypergeometric series and its derivatives at q0. + When mode=c(1,1,(2^m+1)*p), intermediate values of P(L1 < x) with respect to p-steps of x are also returned. Sampling interval is controled by dp. + When autoplot=1, it is automatically set. } \item{method}{ - rk4 is the default value. + a-rk4 is the default value. When method="a-rk4", the adaptive Runge-Kutta method is used. Steps are automatically adjusted by err. } \item{err}{ When err=c(e1,e2), e1 is the absolute error and e2 is the relative error. - As long as NaN is not returned, it is recommended to set to - err=c(0.0, 1e-10), because initial values are usually very small. + This parameter controls the adative Runge-Kutta method. + If the output is absurd, you may get a correct answer by setting, e.g., + err=c(1e-(xy+5), 1e-10) when initial value at q0 is very small as 1e-xy. } + \item{automatic}{ + automatic=1 is the default value. + If it is 1, the degree of the series approximation will be increased until + |(F(i)-F(i-1))/F(i-1)| < assigned_series_error where + F(i) is the degree i approximation of the hypergeometric series + with matrix argument. + Step sizes for the Runge-Kutta method are also set automatically from + the assigned_series_error if it is 1. + } + \item{assigned_series_error}{ + assigned_series_error=0.00001 is the default value. + } + \item{verbose}{ + verbose=0 is the default value. + If it is 1, then steps of automatic degree updates and several parameters + are output to stdout and stderr. + } + \item{autoplot}{ + autoplot=0 is the default value. + If it is 1, then it outputs an input for plot. + When ans is the output, ans[1,] is c(q,prob at q,...), ans[2,] is c(q0,prob at q0,...), and ans[3,] is c(q0+q/100,prob at q/100,...), ... + } } \details{ It is evaluated by the Koev-Edelman algorithm when x is near the origin and by the HGM when x is far from the origin. We can obtain more accurate result when the variables h is smaller, - x0 is relevant value (not very big, not very small), + q0 is relevant value (not very big, not very small), and the approxdeg is more larger. - A heuristic method to set parameters x0, h, approxdeg properly + A heuristic method to set parameters q0, h, approxdeg properly is to make x larger and to check if the y[0] approaches to 1. % \code{\link[RCurl]{postForm}}. } @@ -72,31 +98,43 @@ See the reference below. } \references{ H.Hashiguchi, Y.Numata, N.Takayama, A.Takemura, -Holonomic gradient method for the distribution function of the largest root of a Wishart matrix -\url{http://arxiv.org/abs/1201.0472}, +Holonomic gradient method for the distribution function of the largest root of a Wishart matrix, +Journal of Multivariate Analysis, 117, (2013) 296-312, +\url{http://dx.doi.org/10.1016/j.jmva.2013.03.011}, } \author{ Nobuki Takayama } \note{ -%% ~~further notes~~ +This function does not work well under the following cases: +1. The beta (the set of eigenvalues) +is degenerated or is almost degenerated. +2. The beta is very skew, in other words, there is a big eigenvalue +and there is also a small eigenvalue. +The error control is done by a heuristic method. +The obtained value is not validated automatically. } %% ~Make other sections like Warning with \section{Warning }{....} ~ -\seealso{ -%%\code{\link{oxm.matrix_r2tfb}} -} +%\seealso{ +%%%\code{\link{oxm.matrix_r2tfb}} +%} \examples{ ## ===================================================== ## Example 1. ## ===================================================== -hgm.cwishart(m=3,n=5,beta=c(1,2,3),x=10) +hgm.pwishart(m=3,n=5,beta=c(1,2,3),q=10) ## ===================================================== ## Example 2. ## ===================================================== -b<-hgm.cwishart(m=4,n=10,beta=c(1,2,3,4),x0=1,x=10,approxdeg=20,mode=c(1,1,(16+1)*100)); +b<-hgm.pwishart(m=4,n=10,beta=c(1,2,3,4),q0=1,q=10,approxdeg=20,mode=c(1,1,(16+1)*100)); c<-matrix(b,ncol=16+1,byrow=1); +#plot(c) +## ===================================================== +## Example 3. +## ===================================================== +c<-hgm.pwishart(m=4,n=10,beta=c(1,2,3,4),q0=1,q=10,approxdeg=20,autoplot=1); #plot(c) } % Add one or more standard keywords, see file 'KEYWORDS' in the