ISMLIB
Software published under Open Market License
1. DEBB
Copyright_OML 1996 Makio Ishiguro
[Description]
In debugging a program, it is useful to track the movement of the program before the point of error.Usually we print out some key information to make this tracking. It is also usual that the amount of this print out is too large. To get just alittlebeforetheaccident print out,
 make your program so that the computation proceeds referring the previous record of the accident,
 where your 'Watch out!!' warning is written in the correct place,
 and the program starts minute printing on encountering the warning.
[Files]
DEBB package
There are eight files including README.M. Ishiguro/ 2000.1.17
 README : Latest announcement
 bug.F : FORTRAN version DEBB package
 debb.dvi : dvi file of the manual
 debb.pdf : pdf file of the manual
 bugsort : perl script to sort parallel machine output
 C/cbug.c : C version `bug' and `sbuggle'.
 C/cbug.h : a header file required by cbug.c
 C/cbug.declare.h : a header file required by cbug.c
 [Download]
 DEBB
2. REMTERM
Copyright_OML 1996 Makio Ishiguro
[purpose]
REMTERM provides a callback managing system for WS's.[Files]
 @remterm.pack
 [HTTP]
 REMTERM
 remterm/doc : documents
remterm/src : source program in C
 [documentation]
 in Japanese(EUC)
3. DALL
DALL: Davidon's Algorithm for Log Likelihood Maximization
 A subroutine for statistical model builders 
Copiright_OML 1996, 1999 Makio Ishiguro & Hirotugu Akaike
 Abstract:
 A subroutine for the log likelihood maximization is proposed. It is an implementation of Davidon's variance algorithm with a numerical derivative evaluation procedure. It is designed for use of statistical model builders. It is originally coded in FORTRAN. Now C version is available. Numerical examples are given.
 Key Words:
 Statistical modeling, log likelihood, AIC,
Numerical optimization, Davidon's variance algorithm,
Numerical differentiation, MLE, FORTRAN, parallel
computation, Open Market License
[REFERENCE]
Ishiguro, M. and Akaike, H. (1989). DALL: Davidon's Algorithm for LogLikelihood Maximization  A FORTRAN subroutine for statistical
model builders , Computer Science Monographs No.25, The Institute
of Statistical Mathematics, Tokyo
[Files]
DALL package
Latest news: example3.f and dall_pack.c are replaced by revised versions, respectively. Related patch files dall.01.patch and cdall.01.patch are placed. This revision is to remove a bug. Read first parts of revised codes and patch files for the detail. Those who has the original versions can update his/hers using the patch files. (2000.11.10 M. Ishiguro)
M. Ishiguro/ 2000.11.10
 README : Latest announcement
 example3.f : log likelihood subroutines and main program for the third example and DALL routine in FORTRAN
 dall.01.patch : patch for example3.f
 dall.ps : postscript file of the manual
 dall.pdf : pdf file of the manual
 MPI/example3.mpi.f : MPI version with Hessian computation subroutine
 MPI/dall.env : environ setting file
 C/gauss.c : log likelihood subroutines and main program for the third example in C
 C/dall_pack.c : DALL routine in C
 C/cdall.01.patch : patch file for dall_pack.c
 C/nrutil.h : a header file required by dall_pack.c
 C/Makefile : sample makefile for C version for Unix environment
 [Download]
 DALL
 DALL package There are eight files in this directory including this README. M. Ishiguro/ 1999.10.21 file : contents README : Latest announcement example3.f : log likelihood subroutines and main program for the third example and DALL routine in FORTRAN dall.ps : postscript file of the manual dall.pdf : pdf file of the manual C/gauss.c : log likelihood subroutines and main program for the third example in C C/dall_pack.c : DALL routine in C C/nrutil.h : a header file required by dall_pack.c C/Makefile : sample makefile for C version for Unix environment
4. formaTool
Copyright_OML 1997 Makio Ishiguro
[Description]
Manual of supporting software for format making and fillingin work, whichself could be transformed into a new format. You can prepare, and
 efficiently fill in
[File]
 format.tex: LaTeX source of the manual/format prototype
 [Download]
 FORMATOOL
5. ARdock
ARdock : An autoregressive model analyzer
Copyright_OML 1999 Makio Ishiguro , Hiroko Kato & Hirotugu
Akaike
[Description]
ARdock packge concerns model fitting and interpretation of the linear multivariate time series and system.The complete ARdock package is composed of a printable monograph, ardock.dvi, that contains all the necessary mathematical formulas; a source file, ardock.F, that contains all the necessary computational routines; and a few subsidiary files.
A model, EMARTS model is proposed for the purpose of system analysis. Model fitting is performed by the least squares method via Householder transformation and the numerical maximization of the log likelihood whose calculation is realized by applying the Kalman filtering technique.
This package is so designed that it can readily be used by the users interested in analyzing their own data, and also serves as a bank of subroutines for the general use by statistical model builders.
[Files]
ARdock package
Latest news: 2. ardock.F version v.1 is replaced by version v.2. Related patch files ardock.02.patch and ardock.12.patch are added. Those who has old versions can update his/hers by applying the ardock.02.patch to the original ardock.F or ardock.12.patch to the version v.1 obtained by applying ardock.01.patch to the original ardock.F (2000.11.21 M. Ishiguro) 1. ardock.F is replaced by a revised version. Related patch file ardock.01.patch file is added. This revision is to remove a bug. Read first parts of ardock.F and ardock.01.patch for the detail. Those who has the original version can update his/hers using the patch file. (2000.11.10 M. Ishiguro)
There are 11 files in this directory including this README.
M. Ishiguro/ 2000.11.21
 README: Latest announcement
 ardock.F: main program and subroutines
 ardock.env: common setting
 sample.dat: sample data
 ardock.dvi: dvi file of the Computer Science Monograph(CSM)
 ardock.pdf: pdf file of the Computer Science Monograph(CSM)
 Makefile: A prototype 'makefile' for Unix environment
 TUTORIAL.TXT: See Section 5.4.6 of CSM
 ardock.12.patch: to update version v.1 to version v.2
 ardock.02.patch: to update the original version to version v.2
 ardock.01.patch: to update the original version to version v.1
 [Download]
 ARDOCK
[Compilation]
The object file is obtained by the following procedure: If necessary, set appropriate values to parameters summarized in the following Tables 4a, 4b and 4c.
 Define appropriate parameters for C preprocessor summarized in Table 4d.
 Apply C preprocessor.
 Compile by a FORTRAN compiler
* In Unix environment, Steps 3 and 4 are performed by simply executing make command, in the directry where three files 'ardock.F', 'ardock.env' and 'Makefile' are placed. Then you will get the executable file ardock.
[Test run of ardock]
Execute ardock command, in the directry where three files 'ardock', 'sample.dat' and 'TUTORIAL.TXT'.Table 4a. Parameters of ardock.F  parameter& standard setting & meaning  MAXN & 2000 & maximum data length MAXCH & 10 & maximum number of channels MAXF & 80 & frequency domain grid count MAXLAG & 20 & maximum AR model order MAXPAR & 200 & maximum number of free parameters of a model  * First sixteen lines of ardock.F #define ARDOCKLINK c#define MPI c#define QMPIFH c#define MODIFIER "MODIFIER" #define MAXN 2000 #define MAXCH 10 #define MAXF 80 #define MAXLAG 30 #define MAXPAR 200 #define IOUNIT 18 #define KEEPUNIT 99 #define TUTUNIT 98 #define BUGLOG 91 #define BUGMAP 92 Table 4b. Parameters in ardock.env  parameter& standard setting & meaning  MPIPROCS & 1 & number of parallel processors NWORK & 1000000 & size of real type work area IWORK & 10000 & size of integer type work area  * ardock.env parameter (mpiprocs = 1) dimension mPIL ( MPIPROCS ) , mPIB ( MPIPROCS ) common /commpi/ iNFO , mYID , nPROCS , mPI , mPIL , mPIB parameter (nwork=1000000,iwork=10000) eal*8 wK ( NWORK ) integer iWK ( IWORK ) common /comwork/ wK , iWK , limflag * Work areas necessary for the execution of subroutines are taken in the common work areas wk and iwk. * If user's computer is a parallel machine, set 'mpiprocs' value appropriately. Table 4c. I/O unit number assignment  parameter& standard setting & related file(s)  IOUNIT & 18 & data file, AR file etc. KEEPUNIT & 99 & @KEEP.KEY TUTUNIT & 98 & TUTORIAL.TXT BUGMAP & 92 & bug.map BUGLOG & 91 & bug.log  Table 4d. user dependent parameter setting for C preprocessor  parameter & enduser & modifier & author  ARDOCKLINK & define (*1) & define (*2) & define (*2) MPI & (*3) & (*3) & define (*3) QMPIFH & (*6) & (*6) & (*6) MODIFIER &  & "MODIFIER" (*4) & "MODIFIER" AUTHOR &  &  & define (*5)  (*1) The first line of the distributed file is '#define ARDOCKLINK'. Endusers should not erase this line. (*2) Those parts marked by \#ifdef ARDOCKLINK  \#endif are to customize subroutines for ARdock. To reuse those subroutines undefine the parameter ARDOCKLINK. (*3) The second line of the distributed file is 'c\#define MPI'. If user's computer is a MPIparallel machine, activate this line as a directive by removing first 'c'. Those parts marked by \#ifdef MPI \#endif are for parallel computation. (*4) The third line of the distributed file is 'c\#define MODIFIER "MODIFIER"'. Activate this line as a directive for C preprocessor by removing first 'c'. Those parts marked by \#ifdef MODIDIER  \#endif are parts for modifiers. Endusers have nothing to do with those parts. (*5) Those parts marked by \#ifdef AUTHOR  \#endif are parts for the authors' private version. We are not obliged to give any explanation concerning the parts for 'author'. (*6) Define if your compiler requires [include "mpif.h"] instead of [include (mpif.h)]. So far, the test of ARdock is successfully done in environments summarized in the following Table. Table 5. Computation Environments  Hardware & Operating System & Compiler  HITACHI SR8000 & HIUX/MPP & FORTRAN90 HP9000V2250 & HPUX 11.0 & HP Fortran 90 IBM R/6000 SP & AIX Version 4 & AIX XL Fortran SGI Origin 2000/4DSI & IRIX Release 6.4 IP27 & FORTRAN90 SPARCstation 5 & Sun OS 4.1.4JLE 1.1.4 & g77 version0.5.23 
6. MatEx2D Tools
Copyright_OML 2004 ISHIGURO, Makio, the Institute of Statistical Mathematics SAITO, Muneyoshi, Mathematical Systems Inc.
MatEx2D Tools is a package of tools for the display and conversion of mathematical documents written in MatEx2D, the 2dim. language for mathematical expressions. Key Words:
 Mathematical expression, 2dimensional language, HTML, TeX, Open Market License
[REFERENCE]
Ishiguro,M. and Saito, M. (2004). MatEx2D, the 2dim. Language for Mathematical Expression, Statistical Computing Technical Report RSC032, The Institute of Statistical Mathematics. (HTML version)[File]
 [Download]
 matex
7. SSI32 RNG
SSI32: Simplified ShiftInteger (32bit) random number generatorCopyright_OML 2008 Hirotake Yaguchi
SSI32 generates 32bit random numbers nonrecursively, that is, generates the kth random number directly, and is suitable for parallel computations. On MPI we recommend mpisize>=4. The algorithm is based on the mechanism of cancellation errors of numerical computations which can be recognized as chaos mappings mathematically. Theoretical background and results of statistical tests of randomness of SSI32 are found in
 H. Yaguchi and I. Kubo : A new nonrecursive pseudorandom number generator based on chaos mappings. Monte Carlo Methods Appl. Vol. 14 No. 1 (2008), pp. 87102.
 Note: SSI32 requires a C compiler which can treat 64bit long long int. (We tested SSI32 on bcc32(after 5.6), icl, gcc, icc and cl.)
[Files]
 README

SSI32rand.c:
SSI32 random number generator 
SSI32sampleMPI_1.c:
sample code(1) of using SSI32 on MPI (simply generate successive mpisize*10 random numbers) 
SSI32sampleMPI_2.c:
sample code(2) of using SSI32 on MPI (count hexadecimal characters appeared in hexadecimal representations of successive 0x400000000 random numbers)
 [Dowmload]
 ssi32