Thread View: sci.math.num-analysis
1 messages
1 total messages
Started by ian
Sat, 05 Sep 1992 19:06
Announcing RLaB Alpha-Test (MATLAB-LIKE Program)
Author: ian
Date: Sat, 05 Sep 1992 19:06
Date: Sat, 05 Sep 1992 19:06
132 lines
6045 bytes
6045 bytes
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)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads