Home > wafo > trgauss > private > mexGenzMvnPrb.m

# mexGenzMvnPrb

## PURPOSE

Computes multivariate normal probability by Genz' algorithm

## SYNOPSIS

[value,error1,inform]=mexgenzmvnprb(correl,A,B,abseps,releps,maxpoints,method)

## DESCRIPTION

``` MEXGENZMVNPRB Computes multivariate normal probability by Genz' algorithm
using randomized Korobov rules or subregion adaptive
integration rules or crude Monte Carlo method

CALL [value,error,inform]=mexgenzmvnprb(correl,A,B,abseps,releps,maxpoints,method);

CORREL = vector of correlation coefficients; the correlation
coefficient in row I column J of the correlation matrix
should be stored in CORREL( J + ((I-2)*(I-1))/2 ), for J < I.
(Note: If S is a correlation matrix then CORREL = S(find(tril(S,-1)));)
The correlation matrix must be positive semidefinite.
A         = vector of lower integration limits.
B         = vector of upper integration limits.
NOTE: any values greater the 37, are considered as infinite values.
ABSEPS = absolute error tolerance.
RELEPS = relative error tolerance.
MAXPTS = maximum number of function values allowed. This
parameter can be used to limit the time. A sensible
increase MAXPTS if ERROR is too large.
ERROR  = estimated absolute error, with 99% confidence level.
VALUE  = estimated value for the integral
INFORM = termination status parameter:
if INFORM = 0, normal completion with ERROR < EPS;
if INFORM = 1, completion with ERROR > EPS and MAXPTS
function vaules used; increase MAXPTS to
decrease ERROR;
if INFORM = 2, N > NMAX or N < 1.
METHOD INTEGER, defining the integration method used
2 KROBOV Randomized KOROBOV rules                NMAX = 100
3 RCRUDE Crude Monte-Carlo Algorithm with simple antithetic variates, NMAX = 100
and weighted results on restart
4 SPHMVN Monte-Carlo algorithm by Deak (1980), NMAX = 100```

## CROSS-REFERENCE INFORMATION

This function calls:
 error Display message and abort function.
This function is called by:
 mvnormprb Multivariate Normal probability by Genz' algorithm.

## SOURCE CODE

```001 function [value,error1,inform]=mexgenzmvnprb(correl,A,B,abseps,releps,maxpoints,method)
002 %MEXGENZMVNPRB Computes multivariate normal probability by Genz' algorithm
003 %           using randomized Korobov rules or subregion adaptive
004 %           integration rules or crude Monte Carlo method
005 %
006 %  CALL [value,error,inform]=mexgenzmvnprb(correl,A,B,abseps,releps,maxpoints,method);
007 %
008 %     CORREL = vector of correlation coefficients; the correlation
009 %            coefficient in row I column J of the correlation matrix
010 %            should be stored in CORREL( J + ((I-2)*(I-1))/2 ), for J < I.
011 %            (Note: If S is a correlation matrix then CORREL = S(find(tril(S,-1)));)
012 %            The correlation matrix must be positive semidefinite.
013 %     A         = vector of lower integration limits.
014 %     B         = vector of upper integration limits.
015 %           NOTE: any values greater the 37, are considered as infinite values.
016 %     ABSEPS = absolute error tolerance.
017 %     RELEPS = relative error tolerance.
018 %     MAXPTS = maximum number of function values allowed. This
019 %            parameter can be used to limit the time. A sensible
020 %            strategy is to start with MAXPTS = 1000*N, and then
021 %            increase MAXPTS if ERROR is too large.
022 %     ERROR  = estimated absolute error, with 99% confidence level.
023 %     VALUE  = estimated value for the integral
024 %     INFORM = termination status parameter:
025 %            if INFORM = 0, normal completion with ERROR < EPS;
026 %            if INFORM = 1, completion with ERROR > EPS and MAXPTS
027 %                           function vaules used; increase MAXPTS to
028 %                           decrease ERROR;
029 %            if INFORM = 2, N > NMAX or N < 1.
030 %     METHOD INTEGER, defining the integration method used
031 %            1 SADAPT Subregion Adaptive integration method , NMAX = 20
032 %            2 KROBOV Randomized KOROBOV rules                NMAX = 100
033 %            3 RCRUDE Crude Monte-Carlo Algorithm with simple antithetic variates, NMAX = 100
034 %                     and weighted results on restart
035 %            4 SPHMVN Monte-Carlo algorithm by Deak (1980), NMAX = 100
036 %
037 %
038
039 % The corresponding mex-file was successfully compiled for matlab 5.3
040 % using Compaq Visual Fortran 6.1, and Windows 2000 and XP.
041 % The example here uses Fortran77 source.
042 % First, you will need to modify your mexopts.bat file.
043 % To find it, issue the command prefdir(1) from the Matlab command line,
044 % the directory it answers with will contain your mexopts.bat file.
045 % Open it for editing. The first section will look like:
046 %
047 %rem ********************************************************************
048 %rem General parameters
049 %rem ********************************************************************
050 %set MATLAB=%MATLAB%
051 %set DF_ROOT=C:\Program Files\Microsoft Visual Studio
052 %set VCDir=%DF_ROOT%\VC98
053 %set MSDevDir=%DF_ROOT%\Common\msdev98
054 %set DFDir=%DF_ROOT%\DF98
055 %set PATH=%MSDevDir%\bin;%DFDir%\BIN;%VCDir%\BIN;%PATH%
056 %set INCLUDE=%DFDir%\INCLUDE;%DFDir%\IMSL\INCLUDE;%INCLUDE%
057 %set LIB=%DFDir%\LIB;%VCDir%\LIB
058 %
059 % then you are ready to compile this file at the matlab prompt using the following command:
060 %  mex -O mexGenzMvnPrb.f
061
062 disp('mexGenzMvnPrb is not implemented as a m-function')
063 disp('                   compile the mexfile mexGenzMvnPrb.f before you try again.')
064 error('mexGenzMvnPrb error')
065 return```

Mathematical Statistics
Centre for Mathematical Sciences
Lund University with Lund Institute of Technology

Comments or corrections to the WAFO group

Generated on Thu 06-Oct-2005 02:21:16 for WAFO by m2html © 2003