$Id: README,v 1.11 2000/07/26 20:58:27 hzhu Exp $ MatPy -- Matrix package for Python with MatLab-like interface http://MatPy.sourceforge.net (C) 2000 Huaiyu Zhu GNU Public License version 2 (http://www.gnu.org/copyleft/gpl.txt) MatPy is a python package that provides MatLab-like interface for linear algebra and plotting wrapped around the Numeric, Gnuplot and SpecialFuncs packages. The expressions involving matrices and vectors resemble written mathematics. The following are some highlights (as compared with Numeric package): o row vector = 1xn matrix, col vector = nx1 matrix o 1x1 matrix becomes number o slicing A[:,0], A[0,:] gives col and row vectors o assembles block matrices from submatrices o A+B, A-B, A*B, A/B and A**n are as in linear algebra o matrix functions expm, sqrtm, ... o complex matrices behave correctly for both matrix and element functions. o provide special methods for element-wise operations o easy interface to gnuplot o accepts NaN and Inf o a MatLab-like interactive console (with help, demo, ...) o front end to special functions from cephes o classes of probability distributions o user specified format for matrix elements Background: ---------- Python is an elegant OO programming language, but its Numeric package has an interface geared towards multiarrays, which is somewhat tricky for numerical linear algebra. On the other hand MatLab (or its open source cousin Octave) are well tailored for such tasks. It is not clear to me how to interface python with Octave. So I wrote this package to provide a MatLab-like interface wrapped around Numeric. Installation, tests and examples: --------------------------------- See the file INSTALL for details. But if you are lucky, typing make install would install the package, run all the tests, generates all the documentation and install all the documentations. Please let me know on which platform it runs or if it is having problems. Thank you. Implementation: -------------- A package of several wrapper classes on top of the Numeric modules MLab, RandomArray and LinearAlgebra and the Gnuplot package. The implementation guidelines: o Make the interface as close to MatLab as reasonable. o Use as much of Numeric implementation as possible. o Avoid explicit for loops as much as possible The current implementation has the following problems: o Many methods and functions need to defined. (Each is quite simple but there are hundreds of them). o Not enough test routines to test all the possible special cases. o Excessive conversion with conditional statements. Development and contributions: ----------------------------- This is an Open Source project. Any contribution is welcome: comments, suggestions, codes, questions, whatever. Volunteer developers wanted! You can contribute code or patches to me by email (hzhu@users.sourceforge.net). If you join the team you can check in CVS by yourself. Try SourceForge http://sourceforge.net to figure out how to be a member and how to use CVS, and/or contact me at hzhu@users.sourceforge.net if you are interested. More info in other files: ------------------------ INSTALL - installation instructions CHANGES - what has changed in each version STATUS - current development status TODO - plans for the future CREDITS - where it is due Notes - checklist for each release Makefile - meant for machines, but read it if you have to.