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