Embed
Email

NEWVERSION

Document Sample
NEWVERSION
*****************************************************************

Overview:

*****************************************************************



B34S now comes in a number of versions. All supported versions run

the same and have the Display Manager Interface which runs in either

text or graphics mode. The Display Manager is based on the Interacter

Subroutine Library. All versions make heavy use of the IMSL Library.

On Sun and IBM there is a requirement that the user have the IMSL

library version 4 on the system. On Windows and Linux, the IMSL routines

are statically linked in the B34S execuitable.



LAPACK, LINPACK, FFTPACK, the BLAS and EISPACK are heavily used

thoughout B34S. Real*16 addition implemented as an option in

BLAS routines DDOT, DASUM, DAXPY and DSUM and Real*16 and Complex*32

data types have been added to the Matrix command as of 2003.



Execuitables:



Windows 95/98/NT/2000/XP - b34slf95.exe

Intel Linux - b34sx

RS/6000 - b34sx

SUN - b34sx



Versions for DOS, Windows 3.1, MVS and CMS have been frozen and are not

supported.



While B34S currently runs on Windows 95, 98, ME. It is strongly

recommended that users migrate to Windows 2000 or XP. Some versions of

B34S have been compiled to utilize the Pentium Pro IV added

instructions. These versions will not run on earlier CPU's. Other

versions of B34S have been built to exploit multiple CPU machines. These

versions will not run on a simple CPU machine.



*****************************************************************

How B34S is usually run

*****************************************************************



On all systems the command



b34s test



will run the program in batch mode and process the file test.b34



b34s2 test



will run the program in batch but allow for graphics.



On the unix and PC versions



b34sx

calls the display Manager. The size can be given as



b34sx 4000000



On Windows the files



b34s.bat, b34s2,bat and b34s3.bat



should be copied to the Windows directory and Netscape/IE modified

to launch b34s3.bat %1 if a ___.b34 file is found. The B34S job will

run and the user will be left in the Display Manager.



b34s3 ch2



in Windows launchs B34S, runs the file and leaves you in the Display

Manager. If this feature is desired, modify the Windows Explorer

to launch b34s3 if it finds a *.b34 file.



***********************************************************************

Brief Version History - Version not changed each time

Consult date on b34slm.exe for what version you have

***********************************************************************







b34s 8.10Z

1 February 2006



Negative lags on right implemented for OLSQ, MARS,

MARSPLINE and PISPLINE command in matrix.



28 January 2006



call align in matrix enhanced for 2-D data.

I=Monor improvements to call marspline( )



20 December 2005



Large number of diagnostic procedures added to staging2.mac

and matrix2.mac. A partial list includes



Mac file name c:\b34slm\staging2.mac



GAMPLOT Display GAMFIT Results

GLESJER Glesjer (1969) Heteroscedasticity Test

G_QUANDT Goldfeld-Quandt Heteroscedasticity Test

HET_TEST Heteroscedasticity Testing

MARSINFO Estimate of MARSPLINE Model GCV Info

SC_TEST Serial Correlation Tests

TS_TESTS Residual Specification tests

WALD Wald Test of restrictions



Mac file name c:\b34slm\matrix2.mac

B_G_TEST Breusch- Godfrey (1978) Test on Residuals

B_G_ALT Breusch- Godfrey (1978) Test using dropping

BLUS BLUS master

RESET69 Ramsey(1969) Regression Specification Test

RESET77 RESET77 Nonlinearitry Test



The matrix command OLSQ was enhaced with the :outlier

option that provides a number of outlier detection

measures.



The matrix command OLSQ :sample option produced incorrect

%yhat and %res values. All printed output was 100% correct.

Bug fixed.





5 December 2005



The marspline procedure added to matrix command. The

marspline procedure uses code developed by Hastie and

Tibshirani to implement the Friedman (1991) mars

procedure that is implemented in the MARS command. The

older MARS command uses the 1991 Friedman code that ahs

recently been trademarked. The new mars code, currently in

R(r), was developed independently of the 1991 Friedman

code and has been released under rthe GPL 2 license. It has

been constantly updated. The B34S version has been improved

over the fall 2005 R version. The currect release is still

experimental.





10 October 2005



mcov and mcovf functions developed to facilitate

implementation of Method of Moments Estimation. mcovf is

the function equivalent of mcov. It is slower but clearly

shows the logic of the calculations. It can be extended

easily in the field as research needs change. The

argument list fort mcov and mcovf are the same to

facilitate use.



1 October 2005



Many changes to implement integer*8 and improve help file.

call csv capability has been made more standard.



1 August 2005



ACEFIT (including AVAS option) and GAMFIT added to Matrix

command.



Substantial imporvements to b34s documention have been

completed.



The way GARCH-M is calculated in GARCHEST and GARCH

commands has been refined. First the first moment residual

is calculated without the GARCH-M term. Next the second

moment is calculated which uses only lag values. Next the

second moment term is used to update the first moment

residual.



1 July 2005



PGMCALL procedure modified to call R under B34S.



GAMFIT procedure added to estimate a generalized additive

model. This procedure is currently in beta.



31 May 2005



EXITDO and EXITIF key words added.



Functional form estimated with :tgarch3 changed to be

consistent with Zakovian paper. :itgarch options narrowed.

GED and Cauchy options added to GARCHEST.



21 May 2005



Options



call compress(:on);

call compress(:off);

call compress(:info);



allow monitoring the effcet to enabling call compress;

If call compress(:off); is in effect



call compress;



will have not have any effect until



call compress(:on);



has been given.



The routine that moves data in a compress has been modified

so as not to allow unrolling when copying inside an array.



23 April 2005



Alias routines for Function Names in MATRIX command added



Listing of Alias function names



Name Replaced by

LOG DLOG

LN DLOG

LOG10 DLOG10

EXP DEXP

MOD DMOD

MAX DMAX

MAX1 DMAX1

MIN DMIN

INVERSE INV

SIN DSIN

COS DCOS

I4TOR8 DFLOAT

I$TOR4 FLOAT

SQRT DSQRT

SINH DSINH

GAMMA DGAMMA

COSH DCOSH

CONJ DCONJ

ATAN DATAN

ATAN2 DATAN2

ARSIN DARSIN

ARCOS DARCOS

ABS DABS

R8TOR4 SNGL

R4TOR8 DBLE



x=log(x); works the same as x=dlog(x);



call csv(:readfile 'mycsv.csv');

call csv('writefile 'mycsv.csv' :var x y);



provides two way communication using Excel csv files.



Menu command excel_get2 added to get csv files.



26 March 2005



REAL32_VPA option added to matrix. This puts a VPA link

inside the BLAS routines QDOT, QSUM, QASUM and QAXPY

allowing experiments with variable accuracy for these key

core routines inside QR, LU, SVD and Cholesky LINPACK

routines for real*16 data. At some later time such

improvements may be added to complex*32 routines if there

is demand. These changes allow two paths for accuracy

improvements to real*8 and real*16.



b34s 8.10W

19 March 2005



dmax1 and dmin1 in MATRIX extended to support a vector and

a scaler and well as two vectors. Assuming

x=vector(:1. 2. 3. 4.); bigx=dmax(x,3.); will produce

a vector 3. 3. 3. 4.



9 March 2005

The Alphanumerics TSD file format has been implemented in

the matrix subroution tsd. This feature allows building

of time seris data bases that document the series being

saved. The command tslineup and align can be used to adjust

series to be consistent.



20 February 2005



Beta version of B34S containing VPA math released. The

inv( ) command works for a real or complex VPA matrix.



1 February 2005



Integer*8 data type enabled. This part of long term plan to

port a number of B34S capability to 64 bits.



Matrix inverse, QR, SVD, LU facorization and Cholesky

factorization added for real*4 data. real16on also

increases accuracy in sdot automatically.



15 January 2005



The Matrix VPA (Variable Precision Arithmethic) option

allows calculations between real, integer and complex

variables where up to 1786 digits of accuracy are used

in the production B34S.



This feature uses the fm_zmlib.f library built by

David M. Smith. As implemented, extended precision

calculations can be mixed into the usual matrix commands

to allow the user to make more precise calculations of

key data. Six new 'kinds' are now supported.



kind = 88 => fm or unpacked real data.

kind = 888 => fp or packed real data.

kind = -44 => im or unpacked integer data.

kind = -444 => ip or packed integer data.

kind = 160 => zm or unpacked complex data.

kind = 1600 => zp or packed complex data



Important new commands include subroutine vpaset

and function vpa.



vpax=vpa(x);

vpay=vpa(y);

call print('High accuracy calculation',vpax/vpay);



-----------------------



The way that strings are handled has been improved:



Statements of the form



xx='This is a long string > 8';



produce character*1 arrays.

xx='le 8';



produces a character*8 variable.



call character(cc,'q');



forces cc to be character*1.



This change is long over due and will simplify code!

Hopefully no bugs were introduced in commands that allow

character input.



B34S 8.10V

15 December 2004



call probit( ); implemented under matrix command. Uses

same internal subroutines as the b34sexec probit command.



6 December 2004



call getsca( :mad) enhanced to allow 300 series to be

loaded when the data for one observation is saved on

more that one line.



the options command sigd( ) to set significant digits can

be set on matrix command as



b34sexec matrix sigd(4);



or as



call sigd(4);



inside a running matrix script to control how real*8 data

is displayed with the call print( ) command and internally

from many b34s commands.



# of arguments to a matrix call or function increased

from 400 to 2500.



7 November 2004



if( ) ; in matrix will not execute right hand

side if ( ) = .false.; Allows statements such as



if(y.ne.0.0)aa=x/y;





20 October 2004



call makelocal( ); command enhanced to move between

levels.



P_L_EST subroutine added to staging.mac / staging2.mac to

support probit and logit models in matrix. tlogit

subroutine added to display "confusion" matrix for

logit/probit models. Major progress has been made

integrating b34s with SCAWORKBENCH which is an advanced

script writting program developed by Bill Lattyak.



10 October 2004



Improved MARS output under MATRIX with



call dispmars;



from staging library.



the command call fprint( ); improved to allow buffer to be

saved between calls and or buffer saved to a name.



2 October 2004



Interface issues resolved with matrix_mars input. B34S help

file being imporved.



20 September 2004



Accuracy adds for complex*16, real*16 and complex*32. See

real32 and real32off commands which are in beta

testing mode.



Improvements to object expansion.



13 September 2004



SOURCE procedure modified to handle routine names LE 30.



5 September 2004



LAPACK routines DGESVD and ZGESVD added as options to SVD

command in MATRIX. Bug in Complex*16 index addressing

related to complex*32 math implementation fixed. Bugs fixed

in :refine and :refines options in inv( ). Large number of

examples added to help document.



b34s 8.10R

1 September 2004



The limit of 132 is removed from



call character(string,' ');



and



call ib34s11(string,ibase,ifbase,isize,itokty,

inewp,imax)

This allows loading long text into character*1 arrays

and processing them.



The new new command



argument(string)



allows:



- Passing of arguments to programs.



- Changing arguments to a command of a running

program " on the fly."



- An easy way to "duplicate" arguments to a function

or subroutine.



The utility routines NTOKIN, GETR16 and GETR8 added to

staging2.mac to facilitate data entry in MATRIX from

Character arrays.





1 August 2004



LAGMATRIX command added to MATRIX command.



Help file formatting and content improved. More work needed

and is currently underway.



calculation of %xfuture when :sample in effect in OLSQ and

MARS has been fixed



15 July 2004



The MARS command in Matrix has been enhanced by adding

capability to trap the model.



The patches to the GRAPHP command in Matrix have been

applied.



10 June 2004



ZEROL, ZEROU, UPPERT, LOWERT set to run with real*16 and

complex*32.



1 June 2004



SAVE and RESTORE supports real*16 and complex*32 data in

native format optionally using E40.32 format. While

CHECKPOINT saves real*16 and complex*32 data as real*8

and complex*16, increased accuracy (e25.16) is now the

default.

PDFAC, PDINV, PDSOLV, PDFACUD, PDFACDD, QRFAC and QRSOLV

converted to support real*16 and complex*32.



NL2SOL converted to support both real*8 and real*16.



15 May 2004



GLS_ML procedure added to staging2.mac.



Small sample acf capability added as an option to matrix

command acf.



Output format improvements to REGRESSION command.



16 April 2004



Real*16 version of NLLSQ released in "beta" form. Shows

more stability if poor starting values.



6 April 2004



Improved handling of LISTPARSE and LISTGEN from under

Display Manager. Allows trapping of generated code and

inspection of the parse table to trap errors.

SIMEQ bug that produced incorect correlation of estimated

parameters fixed. Minor formatting improvements to BJIDEN.



b34sexec options( ); b34srun;



can be set from Display Manager Meun facility. If None is

set, this is a global way to 100% turn off Matrix command

output. Not all the legacy procedures have been upgradedf

to 100% respond this this capability. The Matrix Command

is 100% implemented as either on (any setting except

NONE) or off (None).



If Verbose is set, a number of procedures will echo control

cards may help developer debugging.



20 March 2004.



A verion of b34s b34s_nlib that does not contain any IMSL

calls was built. Based on the relative size of the modules

this is 6.8148% smaller and has a number of features

disabled. If a command using an IMSL routine is called

under the Display Manager, execution will stop and the

main Display Manager Window will be displayed. If the same

job is run in a batch mode, then execution will stop. It is

hoped that the IMSL license issues will be resolved and

that the "full" B34S will be available. At the worst case

users will have to license IMSL. While the b35s_nlib

version has statistical functions that "mimic" IMSL, these

are less accurate.

A number of options have been added to the eig( )

function in the MATRIX command to study the effect of

permutations and scaling on accuracy and speed using LAPACK

eigenvalue routines.



8 March 2004



Error trapping bug for MLSUM for exp and EGARCH exp

error trapping fixed.



Error trapping for probit function fixed.



dexp supports full IEEE exponent range for matrix.



1 March 2004



A number of bugs corrected. Test dataset b34sii_2.b34

developed to test matrix command more that b34sii.b34

is able to accomplich. All bugs fixed were of the nature

that the software stopped unexpectedly.



15 February 2004



Minor changes to help trap errors with a message if -v

option used on command line.



1 February 2004



Processing of user functions allows the function to be

placed any where. In addition to



x=userf(y,z);



x=userf(y,z)+dsin(x);



and



call sub(userf(y,z),userf(y2,y3));



type expressions are allowed.



15 January 2004



Increased allowable path for graph files to 130.



Major improvements to graphic system to handle fonts

and charsets in MATRIX and HRGRAPHICS command.



See GRCHARSET commands in MATRIX and OPTIONS.

See GRFONT in MATRIX.



Added DIVIDE command to MATRIX to allow trapping since

a statement of the form

where(x.ne.0.0)y=a/x;



will fail if x is 0.0 since the right hand side is done

before the logical statement is evaluated and the mask

applied. The "solution" to automatically trap all divides

will not help the user flag logic problems. An alternative

is to have a divide command of the form



y=divide(top,bot);

y=divide(top,bot,bad);



when the user knows there will be divide problems and in

addition knows what to do about the problem.



The first command sets y to missing if bot = 0.0;



QFLOAT, IQNINT, IQINT, QINT and QNINT commands added.



b34s 8.10Q

11 December 2003



B34S on-line help files for MATRIX have been substantially

improved. More help file and example file improvements

are scheduled. A number of papers discussing applications

are planned.



24 November 2003



Alternative White SE and t calculations implemented in

MATRIX command call olsq following Davidson-MacKinnon

(2004) pages 199-200. See also Greene (2003) page 220.



8 November 2003



The code NaN is seen as missing in the data step when

reading with filef=@@ as well as NA, na and the SAS code .

which have been in effect for many years. This change is

to support Java conventions.



The autobj command now supports options :rawacfpacf

and :difrawacf to show raw and differenced raw series

prior to model being estimated.



The switch -v allows the command line to return a message

if ERROR: type messages are found in log in most cases.

This alerts the user to look in the log. The switch -v

should not be used with the Display Manager



b34s 8.10n 27 August 2003



Phase # 1 as of 23 May 2003



LRE command added. Many accuracy tests and improvements.

REAL16ADDON, REAL16ON, REAL16OFF and REAL16INFO allow

extended accuracy in DDOT, DASUM and DSUM and other BLUS

routines at expense of speed. For a test case look at

Filippelli dataset in stattest.mac.



Phase # 2 as of 23 June 2003



real*16, and complex*32 data types added.

See commands r8tor16( ),r16tor8( ),c16toc32( ),

c32toc16( ) and kindas( ).



inv, sum, trace, eig, seig, olsq and math implemented

initially along with a limited number of service commands.



The long term goal, to provide high accuracy computing

programming capability, has been achieved. More real*16 and

complex*32 commands will be added as need develops. It is

the intention that 99.99% of the calculations will be done

using real*8 and complex*16 but that the added accuracy of

real*16 and complex*32 can be used as the need arises.



Added accuracy can be enabled on many real*8 (and some

real*4 commands) with the real16on command without changing

the datatype of the variables in the calculation.



GRAPH command in Matrix command uses ESP and EPS for

Postscript file format.



Phase # 3 as of 14 August 2003



In GARCHESY, GARCH and BGARCH the tolerence for a zero

value for the second moment in the GARCH/BGARCH model was

changed to DMACH(3) to avoid overflows in the likehood

function when the second moment residual is very close

to 0.0.



ERASE, SUSPEND and REWIND added to matrix. These commands

allow the B34S matrix command to suspend operation, pass

results so far to another program and wait for another

command to be passed. Use of the other commands such

as call names; allow the calling program to obtain

information about the current B34S matrix command

workspace.



Phase # 4 23 August 2003



The supplied libraries staging.mac and staging2.mac are

testing libraries where preliminary code is displayed.

If there is sufficient interest these commands may be

either hard wired into the B34S processor or moved to

matrix.mac and matrix2.mac. The developer gives users

notice that the calling sequences of these two libraries

may change in response to suggestions of users.



The SIMULATE built-in command was added to speed up

bootstrap calculation.



Compiler bug found and fixed 26 August regarding

real*16 operation. Improvements to this capability

implemented.



Phase # 5 29 September 2003



call load(subnamehere :staging); enabled



call olsq( ) now creates %xfobs,%xfuture which when used

with %coef allow out of sample forecasting if there are

lags for all variables in the model.



Improvements made to help files.



Phase # 6



White test added to matrix command OLSQ for real*8 and

real*16 variables.



LRE commands works for real*16 and real*8 data.





b34s 8.10K 20 April 2003



Interactive Matrix Command extended to allow calling and

editing of scripts as well as single command usage.

Interactive Matrix Menus improved. autoexec.b34 file

changed to IMSL Library random number generators by

default. RECVER( ) RNVER( ) options can be changed

in the field. Users wanting old versions code



b34sexec options recver(ggubs) rnver(ggnml)$ b34srun;



at top of job or change autoexec.b34 file.



call get( ) enhanced to allow :dropmiss



call align( ); added to matrix Command.



A number of changes made to IO to cleanup output.



b34s 8.10H 10 March 2003



C1ARRAY and C8ARRAY expanded and modified. c8array(3,3)

and c1array(3,4) must not be supplied as c8array(3,3:)

and c1array(3,4:) to be 100% compatible with array( ).

C8ARRAY and C1ARRAY now allow movement from character*1 to

character*8 and character*8 to character*1. DES, CHAR and

ICHAR released.





b34s 8.10G 1 March 2003

COMPRESS command in MATRIX can be from a subroutine,

program or function. This addition drastically reduces the

number of temp variable buildup but still allows user

control of when a compression is done. This addition allows

temp variables names to be used more efficiently..



b34s 8.10E 18 February 2003



Recursive residual analysis added to Matrix command OLSQ.

Matrix command PDSOLV modified to allow matrix on right.

Allows one factorization to solve multiple problems.



b34s 8.10D 3 February 2003



Production B34S for 2003 released. New INI files needed.

OLSQ command enhanced. CATROW & CATCOL bugs fixed.



B34S numbering reverted to 8.10



b34s 8.77C 26 January 2003



AGGDATA command added to MATRIX to allow building of

aggregated data. Bug fixed concerning subset reading

of a rats portable file with missing observations.

Bug fixed for SWARTEST command.



b34s 8.67N 21 November 2002



PROBNORM2 command added for Bivariate Normal Distribution.

SIMEQ output shows correlation of disturbances.



b34s 8.67M 1 November 2002



Commands VAREST, BUILDLAG, POLYMCONV, POLYMDISP, POLYMINV

SWARTEST and POLYMMULT added.



b34s 8.67K 1 October 2002



The new AUTOBJ command in matrix is in beta test form.

AUTOBY does automatic identification, estimation and

forecasting of Box-Jenkins ARIMA models and transfer

functions. The underlying routines used are the same as

the BJIDEN and BJEST commands.



b34s 8.67H 5 August 2002



POLYFIT and POLYVAL subroutines added to Matrix.



Draw Capability substantially improved. Figures can be

edited after the fact and using a box, sections can be

erased.



Vector * Matrix output matrix size bug fixed.

1 July 2002



Adds BGARCH subroutine to allow estimation of bivariate

GARCH models following Tsay (2002). Fortran was well as

BGARCH test setups are supplied.



B34S now built with Lahey 5.7 Fortran that implements

IEEE754 accuracy standards using the Microsoft

run-time library. Slight numerical differences may

be observed when models arte run using the older

LF95 version 5.6 compiler.



b34s 8.67G 1 June 2002



NL2SOL command added.



Logical operators work with real*8, character*8,

character*1 and integer*4 variables.



call character and call char1 commands have been

enhanced to allow substrings.



OPTCONTROL Commands works for Unix, Linux, RS/6000

and Sun.



Matrix read supports end of file trapping.



Obscure bug with complex if structures fixed.



Added diagnostic tools placed in matmenu.mac.



As of 1 May 2002



MARS and PISPLINE capability is under Matrix.

Please report any problems.



The DROPMISS parameter has been improved. In releases

prior to 8.67G DROPMISS on the DATA step would drop

data that had missing values read BUT not data that

was built in that datastep. 8.67G now allows data that

was made missing in that datastep be dropped.



Example: For version 86.7g we can drop obs # 1 with:



b34sexec data dropmiss;

input x y;

gen if(x.eq.1.)x=missing();

datacards;

1 22

2 77

88 3

88 33

88 99

b34sreturn;

b34srun;



While for earlier versions the code needed was:



b34sexec data dropmiss;

input x y;

gen if(x.eq.1.)x=missing();

datacards;

1 22

2 77

88 3

88 33

88 99

b34sreturn;

b34srun;

b34sexec data dropmiss set; b34srun;



Fortran support under the Matrix command is illustrated.

Job FORTRAN_2 shows a user fortran program being used

to specify a GARCH model. Fortran is 100% portable across

W2K and Linux and does not make use of DLL and Linux

dynamic linklibs.



:sample bug under Matrix olsq has been fixed.





b34s 8.67E As of 20 March 2002



The command character or char1 can be used to build

a multi-line 2D character*1 array.



call character(text,'This is line one'

'This is line two which is longer'

'This is line three'

'This is 4');



I/O for matrix command made more compact



Interactive matrix command screen supports 132 characters



Power matrix commands enhanced to allow for non integer

exponents using eigenvalue analysis



As of 23 February 2002



CATCOL and CATROW now work for matrices as well as

1-D objects



SUBMATRIX function allows extraction of matrices.



call getkey(i); allows key trapping.



The new structure

dowhile(i.gt.0);



enddowhile;



allows additional processing power.



Tasks modified to point to Libraries supplied with B34S

in b34slm. applpgm.mac a new library of applications that

does not fit into examples.



Added MATLAB examples and applications.



PRINTOFF and PRINTON commands added to limit

output in matrix command.



inv( ) has a :refine and :refinee option that uses LAPACK

routines DGESVX and ZGESVX to refine and equalize a matrix

to make the inverse more accurate. GMSOLV and GMINV have

been enhanced by allowing DGESVX and ZGESVX calls.



xinv=inv(x:gmat);



now uses LAPACK, while



xinv=inv(x);



uses linpack.



LAPACK added to Eigenalysis



e=eig(x,v:lapack);



e=eig(x,v:lapack2);



where the second call turns off balancing.



Left hand side eigenvectors can be calculated as



e=eig(x,rv,lv:lapack);



A Two Dimensional Iterated Integral command DTWODQ has

been added.



IMSL version 10 routines have been made the default random

number generators.



In development



MARS and PISPLINE capability to MATRIX command in addition

to batch use. (Not ready in early testing releases).



8.67E is a major release!

b34s 8.67d 1 January 2002 version.



call solvefree( ); now has options



call solvefree(:alttemp);



call solvefree(:cleantemp);



which allow cleaning temp variable by resetting the

temp name from ##__________ to %%________.



Example:



do i=1,nlarge;

call selvefree(:alttemp);

* many statements here;

call solvefree(:cleantemp);

enddo;



Formula and solve have been improved.



Matrix command storage has been modified to run faster

(up to 3 times) in many situations. The SOLVE and FORMULA

capability is 2 times faster than the do loop, although

this depends on the model.



b34s 8.67c The 1 December 2001 version of the program contains a file

finpgm.mac usable under TASKS that contains a number of

B34S and RATS setups suggested by Ruey Tsay in his book

"Analysis of Financial Time Series."

Datasets from this book are now available in the files

findat**.mad which can be read from the B34S I/O section

and by SCA and SCA Workbench 2000.



Integration of B34S with the Tsay research is a major

addition to the number of supplied datasets.



The multivariate q statistic is available from the matrix

command and from the BTIDEN, and BTEST commands.



A number of commands have been added to the matrix command.



Command line arguments



-cdir



allows redirecting out and log files to directory dir and



-rname



allows renaming log and output files name.out and log.out



The -cdir and -rname command line switches make the b34s

scripts much easier to maintain plus provide added

flexibility in the way B34S runs.



19 December 2001 version added support for SPSS (X) and

removed the SPSS pre 1980 support. At present only

real*8 data is passed.



Major additions added at this time include:



Menu command now has transfer function identification and

estimation capability.



%b34sinc added to macro facility. This allows code to be

placed inside a command. This is used heavily in the

menu.mac menu scripts.



b34s 8.66q Interecter 5.00e supported. New graphics commands available

to plot 3D step plots, 3D volume plots and 3D step mesh

plots. See XYZPLOT, STEPPED3D, STEPPED3DC graph

options for both HRGRAPH and the MATRIX command GRAPH.

The graph command in MATRIX has added commands MESHSTEP,

MESHSTEPC to plot a 2D matrix in 3D and VOL3D and VOL3DC

to plot a three dimensional matrix. Examples files have

been improved and a number of changes have been made in the

GRAPH GUI interface to support these new options.

Functions HUGE, TINY, SPACING, EPSILON, NEAREST added.



26 May 2001 first production version built.



7 June 2001 GAUSS option added to pgmcall.

Functions TIMENOW, DATENOW added to MATRIX and

subroutines GWRITE and GWRITE2 added to Matrix.



8 June 2001 Rare bug involving the situation where a user

subroutine is called with an uninialized variable with the

same name as the internal subroutine variable which was a

scaler has been fixed. The bug resulted in the value being

passed back to the scaler being set to 0.0. This bug was

put in the N version by accident.



19 June 2001 MAKEJUL and SETTIME commands added to MATRIX

command.



1 July 2001 Options :linewidth, :xscale, :yscale, :zscale,

:histscale, :barsale :setxscale, :setyscale

:setxrange :setyrange, :nxticks and :nyticks :grborder,

:pgborder, :pgxscaletop, :pgyscaleleft, :pgyscaleright

:pgaxesxy and :hardcopyfmt added to MATRIX GRAPH command.



Major new MATRIX command GRREPLAY allows creation of

multigraph files and conversion of files.



Hardcopy options menu enhanced. Many minor improvements

to graphics system.

15 July GRAPHP command released. GRAPHP allows custom

graphics programming. B34S graphics system updated.



1 August MENU, EVAL, C1ARRAY and C8ARRAY commands

added to MATRIX. The file matmenu.mac implemented

to save MATRIX applications. Subroutines DATAVIEW,

DATA_ACF, GET_NAME added to matrix2.mac.



15 September 2001 Testing versions of GRAPHP and FORMS

released.



1 October 2001 WHERE Command Expanded to allow scaler

assingments. FPRINT command added to MATRIX to allow

complete control of printing.



15 November 2001 TGARCH, TGARCH2 and TGARCH3 added to

GARCHEST.



B34S 8.66Q is a major new release.



b34s 8.66n Spline functions and integration commands added.

The name _x\y_ is no longer a valid name. The commands

NORMDIST and SETLEVEL have been added. N dimensional

objects supported with INDEX, SETNDIMV and GETNDIMV

commands.



LU factorization with LAPACK in GMFAC and inverse and

solution capability in GMINV and GMFAC using LAPACK. Other

commands include KPROD for Kronecker Product of a real*8

and complex*16 matrix and PINV for the generalized inverse

of a real*8 matrix.



Integration commands



DQDAG Integrate a function using Gauss-Kronrod rules

DQDNG Integrate a smooth function using a nonadaptive rule

DQDAGI Integrate a function over infinite/semi-infinite

interval.

DQDAGP Integrate a function with singularity points given

DQDAGS Integrate a function with end point singularities

DQAND Multiple integration of a function



Basic Spline Commands



CSPLINEFIT Fit a 1 D Cubic Spline using alternative models

CSPLINE Calculate a cubic spline for 1 D data

CSPLINEVAL Calculate spline value given spline

CSPLINEDER Calculate spline derivative given spline value

CSPLINEITG Calculate integral of a cubic spline



Advanced spline functions:

BSNAX Compute Not a Knot Sequence

BSOPK Compute optimal spline know sequence

BSINT Compute 1-D spline interpolant given knots

BSINT2 Compute 2-D spline interpolant given knots

BSINT3 Compute 3-D spline interpolant given knots

BSDER Compute 1-D spline values/derivatives given knots

BSDER2 Compute 2-D spline values/derivatives given knots

BSDER3 Compute 3-D spline values/derivatives given knots

BSITG Compute 1-D spline integral given knots

BSITG2 Compute 2-D spline integral given knots

BSITG3 Compute 3-D spline integral given knots



MENU facility command added to read Excel 97 *.xls and

*.wk1 files provided names are in row 1.



b34s 8.66N should be considered a major release.



b34s 8.66m QRFAC, QRSOLVE, UPPERT, LOWERT, ZEROU, ZEROL added to

MATRIX. Improvements to structured index processing

involving vector subcripts and the additon of COMB command

to facilitate bounds analysis. For a template see COMB_2.



b34s 8.66L Major Changes to Display Manager Interface. Interfaces

available include:



BASICM - one line of 8 buttons

EXPERTM - one line of 10 buttons

CEXTERTM - Three lines or a total of 12 buttons.



The CEXTERTM menus is an updated version of the

classic Display Manager interface.



The January 2001 build included improvements to the

Matrix Command to handle large numbers of TEMP

variables and the extenstion of the language to

allow logical functions or masks inside subroutine

and function calls.



In February 2001 a number of patchs were applied. The

Display Manager was modified to show the file creation

date on the "About B34S Screen" to tell what version is

running.



b34s 8.66k INLINE( ) specifies functions for optimization.

and FPLOT (to be implemented later) calls.



Display Manager has been redesigned.



b34s 8.66j Display Manager changes to support MATLAB version 6.0

GARCHEST Command allows multiple input transfer function

models to be estimated.



b34s 8.66h Improvements to GARCHEST to allow EGARCH, IGARCH, GJR

and TGARCH and other variants such as fat tail models.



Additions to ACF command under matrix.

Changes in the way tprob works and a new command tden.

All stat functions in matrix use IMSL. New commands

include Poisson, hypergeometric and binomial distribution

and probability functions.



b34s 8.66g Improvements to Display Manager in relation to utilization

of matrix2.mac subroutines. Improvements to the help

documents. Improvements made to B34S Display Manager Menus.



OSLQ command under matrix has QR option and

can subsample data using a mask. SUBSET function in

TOOLKIT provides added capability in this area.



b34s 8.66f GARCHEST options enabled. Minor changes to documentation.



b34s 8.66e Improvements to MARS enable restrictions on interactions.

Display Menu specific help returns more cleanly.

SCAIO command improved.



b34s 8.66d PGMCALL modified to call STATA. STATA also can read comma

delimited file in call tabulate under MATRIX command.

Added options made to graphics.



b34s 8.66c Major changes to the way subscripted arrays are handled in

Matrix command. Statements of the form



i=integers(2,4);

x(i)=0.0;

y=rn(matrix(4,4:));

y(2,)=0.0;



now supported.





b34s 8.64L Enhancements for Linux to allow alternative locations

of key files



b34s 8.62k Adds fractional differencing, a number of improvements

to SMOOTH and various polynomial processing routines.

The TRIPLES reverse test was implemented. GARCHEST

capability added 15 July 2000. Improvements to

Display Manager for New Users added Sept 2000



Maintance history

IF error message bug in Matrix fixed 1 Sept 2000. Error

produced a parse error message.



b34s 8.62h Twenty seven new string commands added to Matrix. REVERSE

and ROTHMAN commands added to Matrix. Reversibility tests

added to BISPEC test.



MESH and MESHC options under Matrix GRAPH command allow

display of 2D objects.



Structured index addressing is now allowed with

character*1 objects. DF of F test for TEST under REG is

now printed correctly. Statistics were always correct.



Version 8.62h is a major update.



b34s 8.62g Labels on Pie plot under Matrix enabled. Matrix Graphics

background set to Display Manager Default.The OPTIONS

command eflag set as the default.



b34s 8.62e NREG key word on REG and ROBUST drops correct # of

observations. SUBKEY has always worked correctly.



b34s 8.62d Saving of ARMA Impulse Response Weights enabled for FSV

file.



b34s 8.62c GARCH command refined and benchmarked. Documentation and

test problem additions



b34s 8.61h Kennen and reset tests rebuilt to add a constant. Test

programs supplied to measure effect of this constant

using matrix language.



b34s 8.61g Major additions to random number capability in matrix

command. A number of refinements to matrix commands

and test problem have been made. Schur decomposition

has been added to matrix facility. User Subroutine support

for optimizatiion routines has been added.



b34s 8.61d Year 2000 production version. Major improvements to help

facility and documentation. Interactive matrix operation

refined. All Matrix commands have individual help files

that can be read from Display Manager.



b34s 8.60n Improved help commands and minor bug fixes. RS/6000

call system bug for editors is still present.



b34s 8.60m Beta version of Display Manager for RS/6000 and Sun

released. Smooth command added to matrix facility provides

a number of exponential smoothing options. The design

of the implementation allows the user to use the

various nonlinear optimization commands to

optimize on the smoothing parameters using various

decision rules. The PLOT command in the matrix

procedure allows line printer plots where

high-resolution graphics is not available.



b34s 8.60k Improves parsing of structured index variables

so that in a number of cases less ( ) can be used.



b34s 8.60j Adds nonlinear programming capability with the

commands NLPMIN1, NLPMIN2 and NLPMIN3. Many small

improvements have been made.



b34s 8.60h Removes tabs from input files. Adds boxcox routine.

Adds idnint to convert real*8 to integer*4 with rounding.



b34s 8.60g Adds garch subroutine to speed estimation of recursive

systems. Improvements to matrix command handeling of

temporary variables and many other small but important

changes have been made.



b34s 8.60f Adds SCAIO command and Simplex Maximization routines

maxf3 and cmaxf3. Command line arguments -f, -s, -d

can be used to set the input file, the space and

the drive. These provided added flexibility and

do not require any input order. These are required

for b34sx on unix. The switch -Lpath can be used

to set the location of the b34slm directory. For

most users this is not needed. The Linux version

was developed with the production LF95 compiler.

On Linux IMSL support is not available yet but will

be after 1 Jan 2000. Many small improvements have been

made and added test problems are being developed.

The Display Manager under Windows 95/98/nt no longer

switches between text and graphics mode if (esc) is hit.

The commands ft and fg can be used to move between text

and graphics.



b34s 8.60d Adds Display Manager to Linux.



b34s 8.60b Adds processing of structured objects using the function

SEXTRACT and the subroutine ISEXTRACT.



Pointer support enabled although its use is discouraged.

Pointer routines currently supported are the function

POINTER and the subroutine PCOPY. The OBJECT command has

been modified. A version b34s has been developed to run

"silently" has been made available.



b34s 8.50r Adds Time series support to MAKERATS in MATRIX.

Improvements to supplied subroutines. In summer 1999 b34s

version 8.50r was ported to linux. As of August 1999 HR

Graphics and the Display Manager are not available. They

will be added soon.



b34s 8.50q Adds BPFILTER, DDOT, ZDOTU and ZDOTC commands.



B34S 8.50p MATRIX command supports GETRATS, MAKERATS, COPYOUT and

COPYLOG commands. Minor adjustments to code for LF95.



B34S 8.50n New MATRIX commands SORT, VOCAB, MELD, CONSTRICT, IWEEK,

CWEEK, LPMAX, LPMIN, QPMIN, EPRINT, EPPRINT and HPFILTER

added. Help files and examples have been augmented and

improved. Y2K test files are distributed and many small

improvements have been made. IWEEK and CWEEK have been

added to the DATA Command. After extensive testing on a

number of trouble-some problems, including data back to BC,

B34S is certified to be Y2K compliant. Y2K test cases

can be run by users from EXAMPLE.MAC.



A special version B34Slf95 has been released that has been

built with the Lahey LF95 Fortran Compiler release 5.5.

b34slf95 runs only on Intel P6 (II & III) chips and is

between 3-39 times faster, especially in the MATRIX

facility. The LF90 b34sw will continue to be available for

a number of years for older PC's. The Lahey LF95 5.5

compiler is a major technical advance. In the future a

LINUX version is planned if there is demand.



b34s 8.50n represents a major release.





B34S 8.50k Improved parsing to require less use of ( ).



B34S 8.50j Improved error trapping and messages in ECOMP. Improvements

to MATRIX command including more examples. More MATLAB

files.



B34S 8.50h Bug fixes to Complex structured array processing and

complex form of MATRIX WHERE statement.



B34S 8.50g Improvements to Tasks option under the Display Manager.

More test cases are supplied. This version contains very

close to the production MATRIX command. The ISEAR and

sig1 options under FORECAST command have been fixed.

ISEAR can be set GT 2. Sig1 can be set as a real #.



B34S 8.50D Changes to SAVE system and minor bug fix to MATRIX

command.



B34S 8.50C Production version of B34S containing added maximization

capability using IMSL routines available on PC.

Except for the SE's, the commands MAXF1, MAXF2, CMAXF1

and CMAXF2 appear to find the correct minimum points.

The SE's of these commands should NOT be used.

B34S now comes in a number of versions. All old

INI files will have to be undated.



B34S 8.46c Contains two-ways links between MATLAB and B34S. IMSL

based commands for ARMA and minimization problems are

in beta form in the MATRIX command. A minor bug resulting

in no graphics after hardcopy was produced has been

fixed. The BISPEC sentence has been modified to

give a warning if analysis of small samples is

attempted.



B34S 8.42m Contains a number of small fixes.



B34S 8.42h Contains a beta version of SOLVE and FORMULA facility.



B34S 8.42g Fixes Two plot clear screen problem in version 8.42f.

B34S 8.42f Contains improved missing data calculations involving

real*8 variables in MATRIX command.



B34S 8.42e Contains extensive new commands to do nonlinear

estimation, using various IMSL routines. Capability

includes maximizing a function (MAXF1),

constrained maximization of a function (CMAXF1),

solution of nonlinear equations (NLEQ) and

generation of nonlinear starting values (NLSTART).

Together with the previously released NLLSQ command,

these new facilities allows solution of general nonlinear

models.



On Sun MAXF1, CMAXF1 and NLEQ should not be used.



On RS/6000 CMAXF1 should not be used.



Commands MAXF2 and CMAXF2, which use the new IMSL

library, are planned but have not been implemented due

to lack of the IMSL library. It is hoped that this delay

will be short.



On tigger (RS/6000) and icarus (Sun) MAXF2 and CMAXF2

will not be available due to UIC not having the IMSL

library on these platforms.



A number of improvements have been made to handle

lag variables.



B34S 8.42d Contains a major improvement to handle character*8 data

with assingments of the form



x='test';



A great many of the matrix commands involving character

data have been upgraded. Commands should be tested to see

if the upgrade worked. An alternative color setup is

supplied. Time and data capability in the matrix command

have been expanded. A delay has of 5 centiseconds has been

placed between file openings to allow running on 450 level

machines.





B34S 8.42b Version contains extensive Nonlinear Least Squares testing

routines contained in STATTEST.MAC. These were developed by

NIST/STRD. For further details see www.uic.edu/~hhstokes

which contains the link. Many of the test jobs contains

links to RATS386.



B34S 8.32e Contains the capability to print files from the

Display Manager. The B34S editor now has, cut,

copy and paste capability. This enhancement allows

the B34S Display Manager to be run without an

external user editor such as kedit, keditw, notepad

of other such editor. Under Windows, 95 and 98

the PRINT facility will print 80 col and 132

col files using the print manager that is part

of the operating system. User output files can

be edited and printed without leaving b34s.

This version also contains a number of new

features in the matrix command including

olsq, bootv, booti, reset, kennan and a number

of other commands. For further details print

the matrix help command and inspect the

examples in matrix.mac and the subroutines

in matrix2.mac.



B34S 8.22h Contains alternative random number generators in

the matrix command. The beta of the NLLSQ command

was released.



B34S 8.22d Contains further enhancements to the MATRIX facility

to allow estimation of general nonlinear models. The

user supplies the model in the form of a MATRIX

command PROGRAM. The model is solved using a modification

of the UWHAUSS program which is used in the BJEST command

and the BTEST command. Since the model is specified in

a user PROGRAM, model flexibility is limited only

by the confines of the MATRIX language. The Help

facility of the Display Manager has been expanded to allow

loading of any member from a MACRO file into the help

buffer. This will facilitate users being able to

study running programs and subroutines as "help"

documents.





B34S 8.12d Contains a preliminary version of the new MATRIX

facility that adds a powerful matrix language to

the b34s system. Full development of this facility

will take a number of years. The current implementation

adds substantial new capability and allows users

to customize their versions of B34S by adding new

commands. Unlike the rest of B34S which can be thought

of as a programable statististical program, the MATRIX

command adds powerful programming capability.



B34S 7.52d Adds Index input for all Help Files, Example Files and

Macro Files. Subsections added to Help file to aid

users in reading targeted sections. The Bayes option

of the regression command has been modified to remove

the 100 observatioon limit. Accuracy improvements

have been made in a number of places. The Excel

interface now uses CVS format which uses commas.

This way labels can be passed. Version 7.52d is the

last version of b34s released before the MATRIX

command was added.



B34S 7.50k Adds further improvements to the graphics capability.

B34S 7.50h Adds Symbol display capability. A number of improvements

were made to the graphics capability. Additional examples

have been added.



B34S 7.50g Adds Example Capability. From the Tasks menu example

files can be loaded into the program buffer. From the

Help Menu, example files can be loaded into the help

buffer. This will give users a complete example of

a task that can be viewed and or run.





B34S 7.50e Adds SETXSCALE and SETYSCALE to HRGRAPHICS command to allow

a common scale to be used for multiple plots. This version

has been built with the LF90 / 4.0b compiler. Improvements

have been made to the graph menus.



B34S 7.50d Uses the production version of the Interacter Library 4.10.



Changes have been made in the menu system to support

MVNLTEST models using the THIRDORDER and CBIS commands.

A number of improvements have been made in the code

in this section.



B34S 7.50c Adds a number of new features that include:



- A built in spread sheet data editor that allows users

to inspect and modify current data in b34s.



- A facility to allow data entry from a spread sheet where

ranges of the variables are tested.



- Labeled histogram and bar charts.



- High/low histograms.



- Bounds on linear plots.



- 3 D scatter plots with optional connections to

the X, Y or Z axis.



- Radio checkboxes in menus.



- Movement in menus with up and down key

as well as tab and shift tab.



- Graphics tester under screen savers.



B34S 7.44c Adds moving ROBUST estimation. Forecasts can be saved in

a DMF file. Improved error tracking in the Display Manager

allows the user to detect errors without looking at the

b34s.log.



B34S 7.42g Improves the generalized comment feature and makes the

development of user help documents easier. As an example

of the improved generalized comment feature assume the line



b34sexec rr /$ ibegin =10 $/ $



Note that since the string ibegin = 10 is inside /$ $/.

It will be removed. B34S now no longer requires that /$

start in line 1. If, however, /$ is found in line one, the

complete line is commented.



If /$ is found not starting in col 1, then all text after

this key is removed UNLESS a $/ is found.



User help comments can be added to the B34S help file by

placing them inside



===COMMENT1



===



The command



b34sexec help=comment1$ b34srun$



will read the user help. No other changes need be made.



B34S 7.42d Adds Button run and exit from Menus. The Display Manager

exit facility has been simplified. Most Menus have been

improved. The working of the Menu Facility (MAKEMENU)

has been refined.



B34S 7.42c Adds the FREQ, LPMAX, EXPAND and ROBUST commands.



B34S 7.36d Adds cycling and vertical menus.



B34S 7.36b On PC contains a B34S editor, an improved quick Graphics

interface that allows more graph types and numerious

small changes. Data view capability has been added.

B34S has been optimized to launch from the

Windows 95 / NT explorer if the user sets up to

recognize the .b34 extension.



The DESCRIBE command allows calculation of summary

measures such as the mean, median, Q1, Q3 etc. when the

current dataset contains missig data. The GROUPMEAN

sentence allows user to determine the maximum number of

nonmissing observations for that group of series. The

BIVARIATE sentence allows calculation of a number of

tests on the means, variances and whether the listed series

came from the same distribution.



The MERGE command which allows sort merges.



The TRANSPOSE command which will transpose the data matrix.

ALLRUN has been made the default. ALLRUNOFF turns off

ALLRUN.



PGMCALL has been changed to allow passing of character data

to SAS and Speakeasy.



The SORT command problems with multi-level character/real

problems have been fixed. ASCENDING and DESCENDING keywords

have been added.



The MAKEB34S sentence of the SCAINPUT command has been

enhanced for character data.



The FILE(' ') parameter can be passed to the DATA command

in place of using OPTIONS and OPEN as long as the file

exists.



In the menu window BACKUP and RESTORE options allow saving

the current workspace in a DMF file with member CHECKPOINT





B34S 7.14e Changes to the LIST and REGRESSION commands to

display dates in the lists or an IDVAR. These features are

controlled by the IDVAR and IDDATE options on the DATA and

READVBYV commands. The data parser has been improved in the

way is will process character data.



On Windows 95, hitting (esc) from the main Display Manager

Window will toggle between text and graphics mode. This

fixes problems found on some laptops when returning

from a dynamic DOS link. Graphics mode should usually

be used. The GMODE( ) option in the autoexec.b34 file

be modified to use the current Windows 95 settings

for display resolution.



B34S 7.14c Contains substantially improved error recovery from:



- Space errors.

- Minor errors.

- Major errors.



Upon finding an error, the Display Manager user gets a help

message and is led to a menu that allows viewing of the log

and out files. If space is the problem, a menu choice

points to the space change menu.



B34S 7.14b Is a major update that contains the REG command. The REG

command estimates regression models for complete and panel

data. Unlike other B34S commands, the model statement

allows the user to specify the lags at run time as x{1}

for lag1 of x and x{1 to 6} for lag 1 ... lag 6 of x. For

panel runs, model coefficients can be saved in a B34S DMF

file for further processing. For very very large datasets,

the REGRESSION command, which does not load the data

into memory, can be used. The REGRESSION command has a

number of BLUS based regression specification tests which

complement the features avaliable in REG command. The

Display Manager in version 7.14 contains many changes.

These include supporting tabbed menus, boxes in menus and

checkboxes in menus. In addition there have been many

changes to the interface in response to user requests.



************************************************************************

Short History of B34S Development

************************************************************************



Info on prior releases of B34S have been removed. The

first production B34S became available in 1973 on MVS

at UIC. B34S was developed from the B34T program that

was in use at UC in the 60's and early 70's. The first

B34S combined three B34T versions. Stokes (1991 & 1997)

provides more detail on the early history of B34S

development. The paper chistory.doc, distributed with

B34S provides still further information. This paper was

published in "Journal of Economic and Social Measurement"

Volume 29, Number 1-3, 2004 pp: 205-260. B34S consists of

a procedure driven section and a programming language

(MATRIX). In this regard it is a bit like the SAS that has

many procedures such as PROC MEAN and PROC PRINT but in

addition has PROC IML that allows programming. The B34S

MATRIX command is a much more extensive and

econometric/time series oriented version of such as

facility that is modeled after Speakeasy.



B34S development was heavily influenced by Stan Cohen,

William Teeters and the rest of the Speakeasy team in the

1970's and 1980's. B34S and Speakeasy were made to run as

if they were one program. Interface commands are available

in both systems to allow moving data objects back and

forth. B34S was later modified to provide two way

communicatiions with Matlab(R).



The B34S MATRIX command, which was developed in the late

1990's and early 2000's, uses the Speakeasy portable

checkpoint as the save file structure. The language of the

B34S MATRIX command closely follows Speakeasy with several

important differences. First B34S assumes implicit none

when mixed mode expressions are encountered. For example

assuming y=2.2 the expression



x=10*y;



in Speakeasy places 22. in x. In B34S this expression

produces an error since 10 is an integer and x is a

real*8 number and the B34S MATRIX command does not know

what to do with x. For complex numbers Speakeasy attempts

to save a complex number with 0.0 in the imaginary part

as a real*8 number. This is not done with B34S. In

Speakeasy commands that do not return answers across an

= sign are called as



olsq(y x z);



In B34S the Fortran convention



call olsq(y x z);



is required. Both Speakeasy and B34S, in contrast to

Matlab, allow argumenys to be changed.



In B34S, built-in commands do not have to be loaded.

However in contrast to Matlab, subroutines have to be

explicitly loaded before they are used. This design

requirement reduces the Matlab problem of a user by error

calling the wrong m file and due to the arguments being the

same not realizing the error before it was too late.



In 1987 the B34S parser was developed which, while

supporting the present control language, still allowed jobs

to run with the column dependent control language. The

B34S parser was in effect a program generator in that it

took as an input modern control language and produced as an

output the column dependent control language that actally

ran the procedures. This design is used for all parts of

B34S with the exception of graphics (HRGRAPHICS), MAKEMENU,

SCAIO and MATRIX commands which call the parser directly.



In 1991 the Lahey F77EM32 Fortran compiler allowed

development of a PC version of B34S for DOS. The first menu

and graphics features were added using the Graphoria and

Spindruff Libraries. The Display Manager was developed and

enhanced to allow user menus and other features. A major

design objective was to keep all applications menus or

forms outside the program. By design they are generated at

runtime from MAKEMENU commands, rather than being hardwired

into the program.



B34S version 7.xx and beyond use the Interacter Library for

Graphics and Menus using F77EM32. The Lahey LF90 compiler

allowed a full Windows 2K/XP version to be developed

that contained a number of routines from the IMSL Library.

The LF90 compiler was replaced in the late 90's by the LF95

compiler which was released on both Windows and Linux. In

the opinion of the developer, version 7.x of this compiler

this is far and away the best Fortran compiler available.

LF95 runs the same on Linux and Windows.



On mainframes the MVS version gave way to a CMS and later

to an RS/6000 and Sun version. In late 1999, the Display

Manager was added to these two unix versions.

Throughout its history the B34S design has focused

on being accurate and portable. As a result the Fortran

code for B34S for Windows can run on the various unix

versions with little or no code changes. A discussion of

what each source file does is presented in the B34SPROG

section of the help manual. For a full discusion

of B34S history as well as the commands, see Stokes (1997)

and the file chistory.pdf which can be read in Acrobat(r)

under the B34S Display Manager.



B34S development has been helped by a long list of

colleagues and excellent graduate students plus the

patience of my family. In the late 90's Jin Man Lee

helped with the development of the Linux version and in

testing and improving the MATRIX command. William

Stokes has helped with web page development and made many

important suggestions on the interface, all of which I have

tried to implement.



Throughout the development process the goal has been to

facilitate movement of data between the excellent software

systems available such as SAS(r), Speakeasy(r), Matlab(r),

Limdep(r), SCA(r), RATS(r) and R(r).



For further incformation see B34SPROG help file.



For info on PC and unix setups run job



b34sexec help=install$ b34srun$


Related docs
Other docs by TitusYoung
Getting it Right in Prime Time
Views: 9  |  Downloads: 0
From team member Qi Chen
Views: 10  |  Downloads: 0
DuBois slides
Views: 10  |  Downloads: 0
Report Form for Team Leader
Views: 4  |  Downloads: 0
14-1992
Views: 2  |  Downloads: 0
inverses.
Views: 2  |  Downloads: 0
BJIDEN
Views: 4  |  Downloads: 0
PDQ (102902)
Views: 3  |  Downloads: 0
Information Services
Views: 6  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!