🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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++
#1057
Author: Robert Davies
Date: Sun, 24 Jan 1993 09:33
52 lines
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++
#1065
Author: Edwin Tisdale
Date: Mon, 25 Jan 1993 02:01
49 lines
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