From: ian@polari.online.com
Subject: Announcing RLaB Alpha-Test (MATLAB-LIKE Program)
Organization: Seattle Online Public Access Unix.  (206) 328-4944 (all lines telebit-equipped)
Date: Sat, 5 Sep 1992 19:06:37 GMT


	Announcing RLaB ***Alpha*** - Test

	RLaB is a GNU Copylefted MATLAB replacement. RLaB is NOT an
	exact MATLAB clone. RLaB has been written in C using a flex
	scanner, and a bison parser. The supporting numerical
	functions are the LINPACK, EISPACK, and LAPACK (soon to be all
	LAPACK) FORTRAN.

	The basic language interpreter has been implemented, and most
	of the numerical functions are available, but not thouroughly
	tested. To give you an idea of it's maturity here is the
	what() output:

	Welcome to RLaB. New users type `help intro'
	RLaB version 0.10, Copyright (C) 1992 Ian Searle
	RLaB comes with ABSOLUTELY NO WARRANTY; for details type `help WARRANTY'
	This is free software, and you are welcome to redistribute it under
	certain conditions; type `help CONDITIONS' for details
	> what()
	   abs          acos         all          any          asin         
	   atan         atan2        balance      ceil         chol         
	   class        close        conj         cos          cosh         
	   cross        det          diag         diary        eig          
	   epsilon      error        exp          eye          find         
	   floor        format       fprintf      hess         imag         
	   int          inv          linspace     load         log          
	   log10        logspace     lu           matrix       max          
	   maxi         min          mini         mod          mtov         
	   name         norm         ode23        ones         plot         
	   printf       qr           rand         rcond        read         
	   readv        real         reshape      scalar       show         
	   sin          sinh         size         solve        sort         
	   sprintf      sqrt         svd          system       tan          
	   tanh         trace        tril         triu         type         
	   vector       vtom         what         who          write        
	   zeros        

	Most of the above functions are built-ins (written in C, or
	calling LAPACK subroutines), but some, such as ode23(), ones,
	diag, epsilon(), cross(), logspace(), plot(), are
	user-functions (written in the interpreted language).

	Following is an example of a user-function, written in the
	RLaB language. This particular functions mimics the MATLAB
	function triu().

	//
	//  triu(x) returns the upper triangular part of x.
	//  triu(x; k) returns the elements on and above the k-th
	//             diagonal of x. k = 0: main diagonal
	//                            k > 0: above the main diag.
	//                            k < 0: below the main diag.
	//
	
	function triu(x; k) {
	  local(i; j; nr; nc; y);
	
	  nr = size(x)[1]; nc = size(x)[2];
	  if(abs(k) > nr) { error("invalid k value for triu()"); }
	  y = zeros(nr, nc);
	
	  for(j in max(1,1+k):nc) {
	    i = 1:min(nr, j-k);
	    y[i;j] = x[i;j];
	  }
	
	  return y;
	}


	At this point in the devlopment I would like to have some
	people using/testing the program. Below are some questions you
	can ask yourself to help determine if you would like to be an
	alpha-tester. You do not have to answer yes to all of the
	questions, or even tell me what the answers are. I will accept
	help in almost any form I can get it.

	1.) Are you willing to keep the source code to yourself. Once
	beta-test starts the code will be freely-distributed, but
	untill that time I would like testers to keep it to themselves.

	2.) The program has been developed in the UNIX environment, so
	a UNIX 386, or workstation will probably be required. The size
	of the executable is approx 1-meg (with -g compilation). I
	would like to port it to an extended DOS environment, but
	since I don't have any DOS compilers or expertise that will
	have to wait.

	3.) Do you have, or can you get hold of and compile the f2c
	FORTRAN libraries ? You do not need a FORTRAN compiler
	(FORTRAN compiler will ALWAYS be optional). The FORTRAN
	functions are translated with f2c(1). All you need are the f2c
	libraries (available from netlib).

	4.) Do you have, or can you get hold of and compile GNUPLOT ?
	Currently plots are obtained by running GNUPLOT as a
	subprocess and piping the commands to GNUPLOT, so you will
	need GNUPLOT if you wish to plot results.

	5.) If you have a pure K&R C compiler you may have to do some
	work, or at least have lots of patience and provide me with
	lots of feedback, as I do not have a pure K&R compiler.

	6.) Are you willing to treat solution results with friendly
	skepticism, and can you verify their correctness ?

	7.) Can you unpack a shell-archive that contains a compressed,
	uuencoded set of files (by typing `sh rlab.sh.01') ?

	8.) Are you willing to learn RLaB from the on-line help ? I
	will use testers questions as suggestions for additions to the
	online help. I would like new users to be able to learn RLaB
	adequately from the online help alone.

	I would also appreciate testers who would like to contribute
	by: 1) helping with feature implementation 2) helping with
	documentation 3) criticize the language, suggest improvments,
	extensions.

	All alpha testers will receive mention in the printed
	documentation, unless otherwise requested. Testers who
	contribute substantial effort may be listed as contributors or
	co-authors.
	
	Send me e-mail if you would like to help with the testing. I
	will be ready to start the test by the end of the week (9/18).


	Ian Searle
	ian@polari.online.com		(home, preferred)
	ian@hobbes.ds.boeing.com	(work, if you can't reach me at home)