Fons Rademakers <Fons.Rademakers@cern.ch> writes: > > We would like to integrate (I/O, interpreter access, etc.) a small > and concise yet powerful matrix package in ROOT. Please, let us > know your favorite candidate. Code should be freely accessable > and changeable. My favorite is Matclass. But I include an exhaustive list of C++ Matrix classes for your perusal. matclass_info Version 1.3 1995 Sep 11 ------------- ----------- ----------- Information about matrix classes in C++. The intention is to list all public domain codes. Commercial programs get a brief mention at the end. Written by Keith.Briggs@physics.uwa.edu.au. Corrections, updates and opinions welcome. This file owes much to Ajay Shah's usc.edu:pub/C-numanal/numcomp-free-c.gz. Name : lapack++ Where : netlib2.cs.utk.edu:c++/lapack++/* Description : C++ version of Lapack (Linear Algebra PACKage) fortran code. Author : J. Dongarra, R. Pozo, D. Walker Contact : pozo@cs.utk.edu Version : 1.0 Documents : For documentation see the LAPACK++ User's Manual, Installation Manual, and Class Reference Manual. Comments : LAPACK extensions for high performance linear algebra computations. This version includes support for solving linear systems using LU, Cholesky, and QR matrix factorizations. LAPACK++ supports various matrix classes for vectors, non-symmetric matrices, SPD matrices, symmetric matrices, banded, triangular, and tridiagonal matrices. This version includes support for solving linear systems using LU,Cholesky, QR matrix factorizations, and symmetric eigenvalue problems. Source code is given for matrices of type float, double, int, long int, and complex. There is also a templated vector class, template_v.h, for which one extend to other element types. LAPACK++ v. 1.0 can use the C-LAPACK library (also available from netlib) and does not rely on the availablity of Fortran compilers. Name : Matclass Description : a C++ class for numerical computation Author : Chris Birchenhall (chris.birchenhall@mailhost.mcc.ac.uk} Where : ftp.mcc.ac.uk(130.88.203.12):pub/matclass Version : v1.0d. New version pending. Comments : Very complete. * Offers a general purpose dense, real matrix class * Has a family of decomposition classes based on LU, Cholesky, Householder QR and SVD * Has a family of OLS regression classes based on above decompositions * A family of special function classes * Random number class * Has a simplified I/O structure Documents : Very thorough tex manual, with discussion of design philosophy. Currently the manual does not cover all the features of the I/O. Name : libaips-3 Where : aips2.cv.nrao.edu:pub/aips++/RELEASED/libaips-3 Description : Library which includes dense Array and Matrix functions Author : AIPS++ Consortium Contact : Brian Glendenning bglenden@nrao.edu Version : 3 (Beta) Comments : The library is templated, and presently only compiles under CFront 3.0 based compilers. More an "array" than a "matrix" library (although LU decomposition, FFT, transpose etc are available). Many other classes besides array related. Documents : Reference manuals, Array tutorial, and other. Name : libg++ Where : prep.ai.mit.edu Description : Class library for gnu g++ compiler. Author : Doug Lea and others Version : 2.4.5 Comments : Includes a vector class that may be useful as a basis for a matrix class Documents : Excellent texinfo manual. Name : matode Where : elib.ZIB-Berlin.de (130.73.108.11) Systems : Unix, MSDOS Description : matrix class, and class for solving ODEs by extrapolation Author : Andreas Hohmann hohmann@sc.zib-berlin.de Version : 1993 November Comments : Postscript documentation describes design philosophy. Name : JCOOL Where : ? Systems : ? Description : ? Author : ? Version : ? Comments : ? Name : blas.cpp.shar.z Where : in pub/C-numanal on usc.edu Author : Damian McGuckin (damianm@eram.esi.com.au) Description : a BLAS in C++ Version : beta, 8 May 1993 Name : cvmath.cc (12263 bytes) Where : in pub/C-numanal on usc.edu Systems : Unix Description : An include file to make complex math look like regular math. Author : Leonard Kamlet, lik@engin.umich.edu Version : 8 March 1993 Comments : Contains a rudimentary complex matrix class Name : kalman.tar.gz (22747 bytes) Where : in pub/C-numanal on usc.edu Author : Skip Carter (skip@taygeta.oc.nps.navy.mil) Description : A class library for Kalman filtering Comments : Contains lumatrix.c++ etc. Language : g++ 2.4.2 tested OK. Version : v1.0, 3 July 1993 Name : lin_alg.shar.Z Author : ?? Where : in c++ on Netlib Description : BLAS 1 and 2 in C++. No decompositions. Name : C++ Matrix class Where : ftp.cs.ucla.edu:pub/Matrix.tar.Z Description : The C++ Matrix class includes a matrix implementation of the backward error propagation (backprop) algorithm for training multi-layer, feed-forward artificial neural networks Version : 9 July 1993 Author : E. Robert (Bob) Tisdale, edwin@cs.ucla.edu Comments : A C++ interface to existing C and FORTRAN matrix libraries. Documents : LaTeX manual. Name : newmat08 Where : volume 47, issues 38-47 of comp.sources.misc; oak.oakland.edu: pub/msdos/cpluspls/newmat08.zip; Compuserve: Borland C++/DOS+ forum; tahi.isor.vuw.ac.nz: pub/newmat08/newmat08.tar.gz Language : C++ Systems : Unix (AT&T, Gnu), MS-DOS (Borland, Watcom) Description : a very thorough matrix class Author : Robert Davies (robertd@kauri.vuw.ac.nz) Version : v8, 19 Jan 1995 Documents : Good ascii manual; HTML version also available. Comments : Optimized expression evaluation. Many decompositions. The objective is to provide a natural interface, good efficiency and a variety of matrix types. The library supports classes Matrix, UpperTriangularMatrix, LowerTriangularMatrix, DiagonalMatrix, SymmetricMatrix, BandMatrix, UpperBandMatrix, LowerBandMatrix, SymmetricBandMatrix, RowVector, ColumnVector. Only one element type (float or double) is supported. The library includes the operations *, +, -, concatenation, elementwise product, inverse, transpose, conversion between types, submatrix, determinant, Cholesky decomposition, QR 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++ (2.1 & 3.0.1), Gnu G++ (2.3.3, 2.5.8 & 2.6.0), Borland C++ (3.1 & 4.5), Microsoft C++ (8.0), Watcom (10A), Sun (4.0.1), HP-UX. Name : nlmdl Where : in pub/arg/nlmdl at ccvr1.cc.ncsu.edu (128.109.212.20) Language : C++ Systems : Unix, MS-DOS (Turbo C++) Description : a library for estimation of nonlinear models Author : A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu Comments : nonlinear maximisation, estimation, includes a real matrix class Version : January 1991 Name : Octave Where : ftp.che.utexas.edu:/pub/octave/octave-M.N.tar.Z Systems : Compiles and runs on SPARC, RS/6000, DEC/Ultrix, i386/Linux and probably most Unix-like systems that have a working g++/libg++. Language : C/C++/Fortran Author : John W. Eaton <jwe@che.utexas.edu> Version : 1.0, Feb 17 1994 Description : Matlab-like interactive system for numerical computations Comments : Includes C++ classes for matrix manipulation, numerical integration, and the solution of systems of nonlinear equations, ODEs and DAEs. Uses standard Fortran libraries including Lapack, Linpack, Quadpack, Minpack, Odepack, and Dassl. Distributed under the GPL. Name : array.shar Where : bellman.control.lth.se:pub/c++/array.shar Description : This is a C++ class for simple fixed arrays Author : Dag Bruck dag@control.lth.se Version : July 1992 Comments : Simple design and implementation was a major development goal. The array class uses assertions to check various error conditions, including index out-of-range and failed memory allocation. Failed assertions cause program termination, and possibly a core dump. This is data-structure type of array, not a numerical vector library. Probably of limited utility (author's own comment). Name : gtmatrix Where : ftp.cerl.gatech.edu:pub/c++/gtmatrix Author: : Andy Register <andy@cerl.gatech.edu> Comments : It is still under development so there is no documentation and some functions have not been throughly tested. It is a departure from most matrix libs in that it includes things like UpperTriangular different from Diagonal etc.. Name : libaip++ Where : aips2.cv.nrao.edu:pub/aips++/RELEASED/libaips-3 Systems : CFront 3.0.2 Description : Support library for Astronomical Information Processing System Author : aips2-request@nrao.edu. : AIPS++ Project Office : National Radio Astronomy Observatory : 520 Edgemont Road : Charlottesville, VA 22903-2475 USA Version : beta Comments : An arbitrary n-dimensional Array<T> class, with Vector<T>, : Matrix<T>, and Cube<T> specializations. All the normal arithmetic : operations are available (+,-,*,/,+=,-=,*=,/=) in an element by : element fashion, as well as the normal "linear algebra" : multiplications (dot,cross,matrix multiply). Thanks to Andrew Gockel for the next two entries... Name : YAMP - Yet Another Matrix Program v1.6 Where : Compuserve: Borland C++/DOS+ forum; yamp17.zip Language : C++ Systems : MS-DOS (The in ram memory model works in all but the tiny memory model. The virtual memory model compile under the large and huge memory models of Turbo C++ v1.0, 2.0, 3.0, and 3.1. Borland C/C++ 4.0 and 4.5, Watcom 10, Visual C/C++, and Microsoft C/C++ v7.0 compatability has been added. Description : C++ matrix algebra package Author : Mark Von Tress Ph.D. (71530.1170@compuserve.com) Version : V1.6, 11 Jan 1993 Documents : Good LaTeX manual; Comments : There are five classes of functions in this package: display control, IO, subsetting and concatenation, elementwise operations, and math functions. Name : Matv V2.0 Where : Compuserve: Borland C++/DOS+ forum; matv.zip Language : C++ Systems : MS-DOS ( Borland C++ (DOS, Phar-Lap Dos Extender Lite, Power Pack and Easywin), Visual C++ (DOS and QuickWin), Symantec C++ (DOS, DOSX, and Winc), Watcom C++ 10.0 (DOS and DOS/4GW extender) and djgpp (DOS 32-bit protected mode).) Description : A simple matrix class Author : Mark Von Tress Ph.D. (71530.1170@compuserve.com) Version : v2, 17 Sept 1994 Documents : Good ascii manual; Comments : Matv is a simple matrix class. The program is a sketch of a redesign of my matrix program YAMP. Matv is useful in its own right though. Much the functions as YAMP. Commercial packages: -------------------- M++ Dyad (phone in the USA (800)366-1573, (206)637-9427, fax (206)637-9428) Linpack++ Rogue Wave ((800)487-3217, (503)754-3010, fax (503)757-6650) -- ("`-/")_.-'"``-._ . . `; -._ )-;-,_`) (v_,)' _ )`-.\ ``-' _.- _..-_/ / ((.' ((,.-' ((,/
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:19 MET