Thread View: sci.math.num-analysis
2 messages
2 total messages
Started by Robert Davies
Sun, 24 Jan 1993 09:33
newmat07: a matrix package in C++
Author: Robert Davies
Date: Sun, 24 Jan 1993 09:33
Date: Sun, 24 Jan 1993 09:33
52 lines
2645 bytes
2645 bytes
Newmat07 I have released a new version of my matrix package in C++. This version is called newmat07. This is largely a "maintenance" upgrade from newmat06. You should upgrade. There are some comments on its use with Gnu g++ at the end of this note. The package supports classes Matrix, UpperTriangularMatrix, LowerTriangularMatrix, DiagonalMatrix, SymmetricMatrix, BandMatrix, UpperBandMatrix, LowerBandMatrix, SymmetricBandMatrix, RowVector, ColumnVector. Only one element type (float or double) is supported. The package includes the operations *, +, -, inverse, transpose, conversion between types, submatrix, determinant, Cholesky decomposition, Householder triangularisation, singular value decomposition, symmetric eigenvalue analysis, fast Fourier transform, sort, print, an interface to "Numerical Recipes in C" programs, and an emulation of exceptions. It is suitable for matrices in the size range 15 by 15 up to the maximum size that can conveniently be stored in a single block of memory. It can be used with smaller matrices, but becomes less efficient. The package works with AT&T C++ (versions 2.1 and 3), Gnu G++ (version 2.2), Borland C++ (version 3.1), Microsoft C++ (7.0), and mostly with Zortech (version 3.04). It is available on Simtel20 (192.88.110.20) in the pd1:<msdos.cplusplus> directory in .zip format, and on the archives of comp.sources.misc, volume 34 issues 107 to 114 (shar format). Look for it on wuarchive.wustl.edu (128.252.135.4). It is also on Compuserve in the Borland forum. The package works under Gnu G++, version 2.2.2. There are a couple of problems under the 2.3.x series. There is an inline function Rectangular defined as part of class MatrixType in file newmat.h. Gnu 2.3.x is unable to compile this inline. This leads to an erroneous compilation in 2.3.1 and 2.3.2 and lots of warning messages in 2.3.3. The solution is to move the body of the function to one of the cxx files. The ReturnMatrix code does not work with versions 2.3.1 and 2.3.2. As a result Cholesky also does not work. There is a work-around, but I would really encourage you to upgrade to 2.3.3. Robert (robertd@kauri.vuw.ac.nz)
Re: newmat07: a matrix package in C++
Author: Edwin Tisdale
Date: Mon, 25 Jan 1993 02:01
Date: Mon, 25 Jan 1993 02:01
49 lines
2411 bytes
2411 bytes
In article <C1CqJB.G7F@comp.vuw.ac.nz>
robertd@kauri.vuw.ac.nz (Robert Davies) writes:
>Newmat07
>
>I have released a new version of my matrix package in C++.
>
[stuff deleted]
>
The C++ Matrix class is available via anonymous ftp from `ftp.cs.ucla.edu'.
Get the compressed tarfile `pub/Matrix.tar.Z'. Uncompress `Matrix.tar.Z'.
Extract the `Matrix' directory from `Matrix.tar'. Then go to the `Matrix'
directory and type `make'. Now print and read the paper in `Matrix.dvi'.
In order to demonstrate an application of the \verb"Matrix" class,
it was used to implement the backward error propagation algorithm
for multi-layer, feed-forward artificial neural networks.
Enjoy, Bob Tisdale (edwin@cs.ucla.edu)
P.S. I hope the following notes will be helpful.
unix% ftp ftp.cs.ucla.edu
Name (ftp.cs.ucla.edu:your_login_ID): anonymous
Password: your_login_ID
ftp> cd pub
ftp> binary
ftp> get Matrix.tar.Z
ftp> bye
unix% uncompress Matrix.tar.Z
unix% tar xvf Matrix.tar
unix% cd Matrix
unix% make
unix% dvips Matrix | lpr
unix% mv ffnet.new ffnet.old
unix% cat ffnet.old ffnet.S | (backprop -v > ffnet.new) >>& ffnet.err
unix% cat ffnet.new ffnet.S | evaluate | graph -m 0 | plot
Note: If you have trouble, verify that the `SYS5' variable
in the `Matrix/src/genclass' shell script contains
the path to the System V version of the `m4' macro
pre-processor.
The `fig2dev' program is part of the `transfig' package
available via anonymous ftp from `ftp.cs.cornell.edu'.
Get `pub/transfig/transfig.tar.Z'.
The EPIC style file is available via anonymous ftp from
`ymir.claremont.edu'. Get `tex/inputs/latex-contrib/epic.sty'.
File `pub/Matrix.sun.tar.Z' includes all the files created by
`make' on UCLA CSD Sun4 computers. It may be useful to Sun
computer users or those who just want to print the documentation.
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