[BACK]Return to hgm.c2wishart.Rd CVS log [TXT][DIR] Up to [local] / OpenXM / src / R / r-packages / hgm / man

Annotation of OpenXM/src/R/r-packages/hgm/man/hgm.c2wishart.Rd, Revision 1.8

1.8     ! takayama    1: % $OpenXM: OpenXM/src/R/r-packages/hgm/man/hgm.c2wishart.Rd,v 1.7 2016/03/01 07:29:18 takayama Exp $
1.1       takayama    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
1.3       takayama    7:   of the largest eigenvalues of W1*inverse(W2).
1.1       takayama    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,
1.2       takayama   16:             err,automatic,assigned_series_error,verbose,autoplot)
1.1       takayama   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.
1.7       takayama   37:     When autoplot=1 or dp is negative, it is automatically set.
                     38:     if it is 0, no sample is stored.
1.1       takayama   39:   }
                     40:   \item{q}{
                     41:     The second value y[0] of this function is the Prob(L1 < q)
                     42:     where L1 is the first eigenvalue of the Wishart matrix.
                     43:   }
                     44:   \item{mode}{
                     45:     When mode=c(1,0,0), it returns the evaluation
1.3       takayama   46:     of the matrix hypergeometric series and its derivatives at q0.
1.5       takayama   47:     When mode=c(1,1,(2^m+1)*p), intermediate values of P(L1 < x) with respect to
1.1       takayama   48:     p-steps of x are also returned.  Sampling interval is controled by dp.
1.3       takayama   49:     When autoplot=1, mode is automatically set.
1.1       takayama   50:   }
                     51:   \item{method}{
                     52:     a-rk4 is the default value.
                     53:     When method="a-rk4", the adaptive Runge-Kutta method is used.
                     54:     Steps are automatically adjusted by err.
                     55:   }
                     56:   \item{err}{
                     57:     When err=c(e1,e2), e1 is the absolute error and e2 is the relative error.
1.5       takayama   58:     This parameter controls the adative Runge-Kutta method.
                     59:     If the output is absurd, you may get a correct answer by setting,  e.g.,
1.6       takayama   60:     err=c(1e-(xy+5), 1e-10) or by increasing q0 when initial value at q0 is very small as 1e-xy.
1.1       takayama   61:   }
                     62:   \item{automatic}{
                     63:     automatic=1 is the default value.
                     64:     If it is 1, the degree of the series approximation will be increased until
                     65:     |(F(i)-F(i-1))/F(i-1)| < assigned_series_error where
                     66:     F(i) is the degree i approximation of the hypergeometric series
                     67:     with matrix argument.
                     68:     Step sizes for the Runge-Kutta method are also set automatically from
                     69:     the assigned_series_error if it is 1.
                     70:   }
                     71:   \item{assigned_series_error}{
                     72:     assigned_series_error=0.00001 is the default value.
                     73:   }
                     74:   \item{verbose}{
                     75:     verbose=0 is the default value.
                     76:     If it is 1, then steps of automatic degree updates and several parameters
                     77:     are output to stdout and stderr.
                     78:   }
1.2       takayama   79:   \item{autoplot}{
                     80:     autoplot=0 is the default value.
1.6       takayama   81:     If it is 1, then this function outputs an input for plot
                     82:     (which is equivalent to setting the 3rd argument of the mode parameter properly).
1.4       takayama   83:     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,...), ...
1.6       takayama   84:     When the adaptive Runge-Kutta method is used, the step size h may change
                     85:     automatically,
                     86:     which  makes the sampling period change, in other words, the sampling points
                     87:    q0+q/100, q0+2*q/100, q0+3*q/100, ... may  change.
                     88:    In this case, the output matrix may contain zero rows in the tail or overfull.
                     89:    In case of the overful, use the mode option to get the all result.
1.2       takayama   90:   }
1.1       takayama   91: }
                     92: \details{
                     93:   It is evaluated by the Koev-Edelman algorithm when x is near the origin and
                     94:   by the HGM when x is far from the origin.
                     95:   We can obtain more accurate result when the variables h is smaller,
1.3       takayama   96:   q0 is relevant value (not very big, not very small),
1.1       takayama   97:   and the approxdeg is more larger.
1.3       takayama   98:   A heuristic method to set parameters q0, h, approxdeg properly
1.1       takayama   99:   is to make x larger and to check if the y[0] approaches to 1.
                    100: %  \code{\link[RCurl]{postForm}}.
                    101: }
                    102: \value{
                    103: The output is x, y[0], ..., y[2^m] in the default mode,
                    104: y[0] is the value of the cumulative distribution
                    105: function P(L1 < x) at x.  y[1],...,y[2^m] are some derivatives.
                    106: See the reference below.
                    107: }
                    108: \references{
                    109: H.Hashiguchi, N.Takayama, A.Takemura,
1.8     ! takayama  110: Distribution of ratio of two Wishart matrices and evaluation of cumulative probability by holonomic gradient method.
1.1       takayama  111: }
                    112: \author{
                    113: Nobuki Takayama
                    114: }
                    115: \note{
                    116: This function does not work well under the following cases:
                    117: 1. The beta (the set of eigenvalues)
                    118: is degenerated or is almost degenerated.
                    119: 2. The beta is very skew, in other words, there is a big eigenvalue
                    120: and there is also a small eigenvalue.
                    121: The error control is done by a heuristic method.
                    122: The obtained value is not validated automatically.
                    123: }
                    124:
                    125: %% ~Make other sections like Warning with \section{Warning }{....} ~
                    126:
                    127: %\seealso{
                    128: %%%\code{\link{oxm.matrix_r2tfb}}
                    129: %}
                    130: \examples{
                    131: ## =====================================================
                    132: ## Example 1.
                    133: ## =====================================================
                    134: hgm.p2wishart(m=3,n1=5,n2=10,beta=c(1,2,4),q=4)
                    135: ## =====================================================
                    136: ## Example 2.
                    137: ## =====================================================
1.2       takayama  138: b<-hgm.p2wishart(m=3,n1=5,n2=10,beta=c(1,2,4),q0=0.3,q=20,approxdeg=20,mode=c(1,1,(8+1)*1000));
                    139: c<-matrix(b,ncol=8+1,byrow=1);
                    140: #plot(c)
                    141: ## =====================================================
                    142: ## Example 3.
                    143: ## =====================================================
                    144: c<-hgm.p2wishart(m=3,n1=5,n2=10,beta=c(1,2,4),q0=0.3,q=20,approxdeg=20,autoplot=1);
1.1       takayama  145: #plot(c)
                    146: }
                    147: % Add one or more standard keywords, see file 'KEYWORDS' in the
                    148: % R documentation directory.
                    149: \keyword{ Cumulative distribution function of random two wishart matrices }
                    150: \keyword{ Holonomic gradient method }
                    151: \keyword{ HGM }
                    152:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>