- BL-QMR A Block-QMR Algorithm for Non-Hermitian Linear Systems With Multiple Right-Hand Sides
- fptest A Test of a Computer's Floating-Point Arithmetic Unit
- imd Multilayer optical properties: modeling and curve-fitting
- IQP Quadratic Programming
- PORT The PORT Mathematical Subroutine Library is a collection of Fortran 77 routines that address many traditional areas of mathematical software, including approximation, ordinary and partial differential equations, linear algebra and eigensystems, optimization, quadrature, root finding, special functions, and Fourier transforms, but excluding statistical calculations. PORT stands for Portable, Outstanding, Reliable, and Tested. See: http://www.bell-labs.com/project/PORT/ PORT
- topo Surface topography analysis =================================== q115.12. PLAPACK: Parallel Linear Algebra http://www.cs.utexas.edu/users/plapack PLAPACK [author]: PLAPACK is an MPI based Parallel Linear Algebra Package (PLAPACK) designed to provide a user friendly infrastructure for building parallel dense linear algebra libraries. The Users' Guide, "Using PLAPACK: Parallel Linear Algebra Package" is available from The MIT Press. WHAT IS DIFFERENT: PLAPACK provides three features not currently found in other publically available parallel dense linear algebra libraries: 1) A matrix distribution that is a step towards one that is driven by the natural distribution of an application, 2) An application interface for filling and querying matrices and vectors, 3) A programming interface that allows the code to be written in a way that closely resembles the way algorithms are naturally explained, using object based (MPI-like) programming. =================================== q115.13. WGS: SLICOT Control Theory Libraries http://www.win.tue.nl/wgs/wgs.html WGS [author]: The objectives of WGS are first to bring together the existing numerical software for control and systems theory in a widely available library, called SLICOT, and to extend this library to cover as far as possible the area of industrial applications. =========================================================================== q120. NA Software Packages on the Net Packages generally include an NA library and an interpretive language for a front end. Also see q520, "Symbolic Algebra", for free symbolic algebra packages. * q120.1, "Octave" * q120.2, "RLaB" * q120.3, "Scilab" * q120.4, "Tela" * q120.6, "Medal" * q120.7, "Euler" * q120.8, "Prophet" * q120.9, "Yorick" * q120.10, "PETSc" * q120.11, "The Blitz++ Numerical Library Project" * q120.12, "Ascend" =================================== q120.1. Octave http://www.che.wisc.edu/octave Octave ftp://ftp.che.wisc.edu/pub/octave Octave via ftp [Dave Lindner]: Octave is considered the closest-to-Matlab of the Matlab clones. [author]: Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically. Octave can do arithmetic for real and complex scalars and matrices, solve sets of nonlinear algebraic equations, integrate functions over finite and infinite intervals, and integrate systems of ordinary differential and differential-algebraic equations. The Octave distribution includes a 200+ page Texinfo manual. Two and three dimensional plotting is fully supported using gnuplot. The underlying numerical solvers are currently standard Fortran ones like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library of C++ classes. =================================== q120.2. RLaB http://www.eskimo.com/~ians/rlab.html RLaB ftp://csi.jpl.nasa.gov/pub/matlab/RLaB RLaB via ftp ftp://evans.ee.adfa.oz.au/pub/RLaB RLaB via ftp in Australia [author]: Rlab is an interactive, interpreted scientific programming environment. Rlab is a very high level language intended to provide fast prototyping and program development, as well as easy data-visualization, and processing. Rlab is not a clone of languages such as those used by tools like Matlab or Matrix_X/Xmath. However, as Rlab focuses on creating a good experimental environment (or laboratory) in which to do matrix math, it can be called "MATLAB-like" since the programming language possesses similar operators and concepts. =================================== q120.3. Scilab http://www-rocq.inria.fr/scilab Scilab ftp://ftp.inria.fr/INRIA/Scilab Scilab via ftp ftp://tsx-11.mit.edu/pub/linux/packages/scilab/ Scilib via ftp, USA ftp://sunsite.unc.edu/pub/Linux/apps/math/matrix Scilib via ftp, USA [Dave Lindner]: Scilab is another good Matlab clone. [author]: Scilab is a matrix-based scientific software package resembling Matlab-Simulink and Xmath-SystemBuild. Scilab contains hundreds of built-in mathematical functions, a rich set of data structures which includes polynomials, rationals, linear systems, lists, sparse matrices and comes with a number of specific toolboxes for control, signal processing, ... It features: Elaborate data structures (polynomial, rational and string matrices, lists, multivariable linear systems,...). Sophisticated interpreter and programming language with Matlab-like syntax. Hundreds of built-in math functions (new primitives can easily be added). Stunning graphics (2d, 3d, animation). Open structure (easy interfacing with Fortran and C via online dynamic link). Many built-in libraries : * Linear Algebra (including sparse matrices, Kronecker form, ordered Schur,...). * Control (Classical, LQG, H-infinity, ...). * Signal processing. * Simulation (various ode's, dassl,...). * Optimization (differentiable and non-differentiable, LQ solver). * Metanet (network analysis and optimization). Symbolic capabilities through Maple interface. =================================== q120.4. Tela http://www.geo.fmi.fi/prog/tela.html Tela ftp://ftp.funet.fi/pub/sci/math/tela Tela via ftp General NA package with graphics, linear algebra, FFT, etc. Is this another Matlab clone? [author]: It is mainly targeted for prototyping large-scale numerical simulations and doing pre- and postprocessing for them, and it replaces a compiled language like C++ or Fortran in this respect. The feature set is therefore biased to operations needed in partial differential equation solvers. =================================== q120.6. Medal ftp://excel2.uwaterloo.ca/pub Medal Apparently there is also available is a commercial version of Medal: Email : medal@excel2.uwaterloo.ca [author]: MEDAL is a novel expert system development environment which is integrated within a control system design environment, and which supports a tight coupling of symbolic and numeric processing. MEDAL supports the development of coupled systems in engineering and science. MEDAL (Matrix and Expert system Development Aid Language) is an interactive program. The language syntax of MEDAL is similar to the popular MATLAB (Matrix Laboratory) language. MEDAL retains all of the main features of MATLAB, including the MATLAB syntax and M-files. In addition, MEDAL includes an integrated expert system shell for the development of knowledge-based systems which can perform sophisticated numeric calculations. Hence, the additional expert system predicates extends the MATLAB command language syntax. Also, MEDAL supports a rich set of data structure for representing objects in the programming environment. Knowledge can be represented using facts, rules and frames. Main features of MEDAL : ------------------------ * interactive computing environment ( command-drive ) * language syntax and user-interface similar to MATLAB * all basic MATLAB-type of matrix functions are provided * flexible 2-D graphics * design of linear control systems * packed matrix representation, as well as regular matrices * automatic loading of M-files ( open philosophy ) * build-in knowledge base development facilities (expert shell ) * knowledge representation : rules, facts, objects ( frames ) * simple knowledge base of the Systematic Design Approach is included * runs on Sun Sparc workstations (X-window), PC (DOS), DEC (Ultrix) References: (1) Pang, G.K.H.,``Knowledge-based Control System Design'', in Recent Advances in Computer-Aided Control Systems Engineering, Jamshidi, M and Herget, C.J. (ed.), Elsevier Science Publishers, 1992. (2) Pang, G.K.H., ``A Knowledge Environment for an Interactive Control System Design Package'', Automatica, Vol. 28. No. 3, pp. 473-491, May 1992. =================================== q120.7. Euler ftp://am.ku-eichstaett.de/pub Euler via ftp [author]: EULER started as a MatLab clone. It is now a program, which can handle real, complex and interval numbers and matrices, has a 2D/3D graphics, a builtin modern programming language (extension of MatLab's), an exact scalar product, and the Windows 95 version can call functions in an external DLL. The OS/2 and Windows versions interact nicely with the GUI, and have a notebook style interface. The Unix version is free, the OS/2 version free for educational use, and the Windows version cheap shareware. These features make EULER an ideal tool for the tasks such as * Inspecting and discussing functions of one real or complex variable. * Viewing surfaces in parameter representation. * Linear algebra and eigenvalue computation. * Testing numerical algorithms. * Solving differential equations numerically. * Computing polynomials. =================================== q120.8. Prophet http://www-prophet.bbn.com/ Prophet ftp://www-prophet.bbn.com Prophet via ftp email: prophet-info@bbn.com [author]: Prophet is an NIH-sponsored Unix workstation software package for life science computing. Prophet includes tools for data management, statistical analysis, curve fitting, data graphing, mathematical modeling, and genetic sequence analysis. One of PROPHET's greatest assets is its new graphical user interface . Employing the latest advances in software technology, PROPHET lets you store, analyze and present Data Tables, Graphs, Statistical Analyses and Mathematical Modeling, and Sequence Analyses with high-resolution graphics and multiple windows. Anyone, from the computer-naive to the computer-sophisticate, can learn to use it quickly and effectively. PROPHET is a National Computing Resource for Life Science Research sponsored by the National Center for Research Resources of the National Institutes of Health. Unfortunately, prophet is distributed in binary form only. It is large: it takes something like 65 MB disk space. =================================== q120.9. Yorick wuarchive.wustl.edu: /languages/yorick/yorick-1.2.tar.gz sunsite.unc.edu: /pub/languages/yorick/yorick-1.2.tar.gz sunsite.unc.edu: /pub/Linux/apps/math/matrix/yorick-1.2.tar.gz netlib.att.com: /netlib/env/yorick-1.2.tar.gz netlib2.cs.utk.edu: /env/yorick-1.2.tar.gz [author] Yorick is an interpreted language. It has: * A C-like language, but without declarative statements. Operations between arrays require no explicit loops, which accounts for Yorick's high speed. Scientific computing and numerical analysis are the goals of most Yorick sessions. * An X window system interactive graphics package. * A library of functions written in the Yorick language. Because Yorick can read either text or binary files, it can be used "out of the box" as a pre- and post-processor for most existing physics simulation programs. As a pre-processor, you can write a Yorick program that produces complicated input files for a simulation. These might be based on output from other programs, or might require evaluation of complicated functions or involve a lot of repetition. As a post-processor, Yorick allows you to compare the results of several simulations or to analyze results of a single simulation in ways you did not foresee when you ran it. =================================== q120.10. PETSc ftp://info.mcs.anl.gov/pub/petsc PETSc by ftp http://www.mcs.anl.gov/petsc/petsc.html PETSc by www [author]: Portable, Extensible Toolkit for Scientific Computation (PETSc). PETSc provides many tools for the parallel (and uniprocessor), numerical solution of PDEs that require solving large-scale, sparse nonlinear systems of equations. PETSc includes nonlinear and linear equation solvers that employ a variety of Newton techniques and Krylov subspace methods. In addition, PETSc provides several parallel sparse matrix formats, including compressed row, block compressed row, and block diagonal storage. PETSc is fully usable from Fortran, C and C++, and runs portably on on most UNIX systems. PETSc uses MPI for all parallel communication. One of the unique features of PETSc is that it enables the application programmer to easily and efficiently assemble parallel vectors and sparse matrices. Users can create complete application programs for the parallel solution of nonlinear PDEs without writing much explicit message-passing code themselves. In addition, PETSc is designed to facilitate extensibility. Thus, users can incorporate customized solvers and data structures when using the package. =================================== q120.11. The Blitz++ Numerical Library Project http://monet.uwaterloo.ca/blitz/ Blitz++ [author]: Blitz++ is a C++ template class library for scientific computing. It offers a high level of abstraction, but performance which appears to be rivalling that of Fortran. The current alpha version supports arrays and vectors. Matrices are only partially implemented and undocumented; use at your own peril. =================================== q120.12. Ascend http://www.cs.cmu.edu/~ascend Ascend at CMU [author]: ASCEND IV is a free, large-scale, equation-based, environment featuring a strongly-typed, object-oriented model-description language. ASCEND is designed to reduce the time needed for creating, debugging, and solving mathematical models by orders of magnitude in comparison with C++-like and FORTRAN-like languages. ASCEND includes interactive support tools for modeling, debugging, and solving systems with tens of thousands of nonlinear algebraic or differential equations. Including: - a library of equilibrium-based unit operations for chemical engineering and an easily extensible physical properties library with thirty-four common species. - user-centered structured methodology for reaching correct problem specifications. - automatic analysis of degrees of freedom. - automatic checking of unit conversions on input data and equations. - automatic initialization of variables. - choice of automatic scaling methods for nonlinear equations. - an object-oriented modeling language. - GNU Licensed source code for all distributed system components. =========================================================================== q125. Commercial NA Libraries and Packages Commercial libraries and packages tend to merge, so I've combined them in one category. Typically a commercial product contains: * a library of numerical routines * graphics routines * an interactive interpreted language Many symbolic algebra packages also contain NA packages. For info on these packages, see q520, "Symbolic Algebra". An good article on commercial software is: Braham, Robert. "Math & Visualization: new tools, new frontiers", IEEE Spectrum 32, 11 (November 1995), p. 19-36. The article contains tables comparing large number of commercial products. There is no mention of the many excellent free products though. * q125.1, "NAG" * q125.2, "IMSL and PV-WAVE" * q125.3, "Matlab and Simulink" * q125.4, "WavBox" * q125.5, "CraySoft Libraries" * q125.6, "IDL" * q125.7, "Comparison of IDL and Matlab" * q125.8, "Mlab" * q125.9, "Gauss" * q125.10, "MathViews" * q125.11, "Matcom: Matlab to C++ Compiler" * q125.12, "O-Matrix" * q125.13, "UCALC" =================================== q125.1. NAG http://www.nag.co.uk NAG in England http://www.nag.com/ NAG in USA [SJS]: Numerical, symbolic, statistical, and visualization libraries in Fortran 77, Fortran 90, C, Pascal, Ada, and parallel machine versions. High performance Fortran 90 and Fortran 77 compilers. NAG Ltd (The Numerical Algorithms Group) Wilkinson House Jordan Hill Road OXFORD OX2 8DR UK Tel: +44 1865 511245 NAG Inc 1400 Opus Place Suite 200 Downers Grove IL 60515-5702 USA Tel: +1 708 971 2337 =================================== q125.2. IMSL and PV-WAVE http://www.vni.com Visual Numerics, Inc. [SJS]: IMSL is a set of routines in C, C++, and Fortran libraries for general NA, statistics and graphics. PV-WAVE is a visual programming environment that includes IMSL as a "plug-in". Visual Numerics, Inc. IMSL and Stanford Graphics Products 9990 Richmond Avenue, suite 400 Houston, Texas 77042-4548 USA Tel: 800-222-4675 Tel: 713-784-3131 FAX: 713-781-9260 e-mail: marketing@houston.vni.com Visual Numerics, Inc PV-WAVE Products Division 6230 Lookout Road Boulder, Colorado 80301 USA Tel: 800-447-7147 Tel: 303-530-9000 FAX: 303-530-9329 info@boulder.vni.com [author]: * Comprehensive Mathematical Functionality * integration and differentiation * transforms * differential equations * linear systems * interpolation and approximation * eigensystem analysis * optimization * special functions * basic matrix/vector operations * nonlinear equations * utilities * Extensive Statistical Functionality * basic statistics * tests of goodness-of-fit * time series analysis and forecasting * analysis of variance * regression * nonparametric statistics * correlation * random number generation * cluster analysis * categorical and discrete data analysis * probability distribution functions and inverses * factor analysis * utilities * Exponent Graphics includes: * Presentation quality graphs for application development * Application program interface provides easy access to either FORTRAN or C * Two function calls can automatically produce one of over 30 different plot types. * Maximum flexibility for modifying plot characteristics * Powerful interactive editing and customization tools * CGM, PostScript, HPGL and other device drivers * Support for popular graphics accelerators and output systems * Full Windows-based online documentation with hypertext links PV-WAVE is a software environment for solving problems requiring the application of graphics, mathematics, numerics and statistics to data and equations. PV-WAVE uses an intuitive fourth generation language (4GL) that analyzes and displays data as you enter commands. With it you can perform complex analysis, visualization, and application development quickly and interactively. Robust integrated graphics, numerics, data I/O, and data management has made PV-WAVE the number one selling Visual Data Analysis software family. PV-WAVE and the IMSL numerical and statistical routines, which are seamlessly integrated in PV-WAVE Advantage, are being used by more than 300,000 technical professionals on workstations worldwide. =================================== q125.3. Matlab and Simulink http://www.mathworks.com/ Mathworks The MathWorks, Inc. 24 Prime Park Way Natick, MA 01760-1500 (508) 653-1415 For a comparison of Matlab and IDL, see q125.7, "Comparison of IDL and Matlab". [SJS]: Matlab is an interactive general NA package, including graphics. A huge variety of "toolboxes" are available, both from the vendor and on the net, for various specialized NA areas: control systems, neural nets, optimization, symbolic math, and on and on. Simulink is modeling, simulation, and system analysis tool. [author]: MATLAB is a technical computing environment for high-performance numeric computation and visualization. MATLAB integrates numerical analysis, matrix computation, signal processing, and graphics in an easy-to-use environment where problems and solutions are expressed just as they are written mathematically - without traditional programming. MATLAB has evolved over a period of years with input from many users. In university environments, it has become the standard instructional tool for introductory courses in applied linear algebra, as well as advanced courses in other areas. In industrial settings, MATLAB is used for research and to solve practical engineering and mathematical problems. Typical uses include general purpose numeric computation, algorithm prototyping, and special purpose problem solving with matrix formulations that arise in disciplines such as automatic control theory, statistics, and digital signal processing (time-series analysis). MATLAB also features a family of application-specific solutions that we call toolboxes. Very important to most users of MATLAB, toolboxes are comprehensive collections of MATLAB functions (M-files) that extend the MATLAB environment in order to solve particular classes of problems. Areas in which toolboxes are available include signal processing, control systems design, dynamic systems simulation, systems identification, neural networks, and others. SIMULINK is a tool for modeling, analyzing, and simulating an extraordinarily wide variety of physical and mathematical systems, including those with nonlinear elements and those which make use of continuous and discrete time. As an extension of MATLAB, SIMULINK adds many features specific to dynamic systems while retaining all of MATLAB's general purpose functionality. Using SIMULINK, you model a system graphically, sidestepping much of the nuisance associated with conventional programming. =================================== q125.4. WavBox http://www.wavbox.com/ Wavbox email: info@wavbox.com A wavelet Toolbox for Matlab. [author]: A software toolbox for wavelet transforms and adaptive wavelet packet decompositions with new search algorithms. Requires Matlab. =================================== q125.5. CraySoft Libraries http://www.cray.com/PUBLIC/product-info/craysoft/CS_home_txt.html Cray product info http://www.cray.com/ Cray main http://www.cray.com/craysoft/ Craysoft main email: crayinfo@cray.com Corporate Headquarters: Cray Research, Inc. 655 Lone Oak Drive Eagan, Minnesota 55121 (800) 289-2729 or (612) 683-3030, [author] Fortran 90 compilers and NA library for Cray, Sparc, Macintosh, and Windows environments. * Seismic migration * Structural analysis * Financial modeling * Decision support analysis * General scientific * Computational chemistry * Computational physics * Intelligence, signal and image processing * Electronic simulation =================================== q125.6. IDL Research Systems Inc. http://www.rsinc.com/ Research Systems, Inc. Research Systems, Inc. 2995 Wilderness Place Boulder, CO 80301 USA Phone: 303-786-9900 email: info@rsinc.com For a comparison of IDL and Matlab, see q125.7, "Comparison of IDL and Matlab". IDL binaries are available at: ftp://ftp.rsinc.com/pub/idl Research Systems, Inc. ftp://boulder.colorado.edu/pub/idl U. of Colorado ftp://ftp.Germany.EU.net/shop/CreaSo/IDL Germany Following are two sets of comments on IDL: 1. By Pierre Maxted 2. By Amara Graps ================ 1. Comments by Pierre Maxted I find that IDL is good for "playing" with data. This works well for astronomers who seem to end up always wanting to do something a little different to last time to data that always has slightly different quirks every time. I also find that it is a rather easy language in which to write my own routines. This is probably because I can start with interactive IDL to get the feel for what the data is like and what I want to do with it - this then becomes a simple batch file which can be turned into a routine if the procedure is useful - this seems to be a natural way to develop things. These libraries of routines are what makes IDL really powerful in my opinion. I found that adding the astronomy user's library to IDL was like adding wheels to a car. I would recommend to anyone considering using IDL to find out what libraries are out there (e.g. starting at the IDL WWW home page). Whatever you add to the FAQ, make one point clear - calling IDL a fancy plotting package is like calling a Formula 1 racing car good for picking up the kids from school - IDL can do plotting, but that is not its strength. Well, I agree that the hard copy manuals are rather opaque but Version 4 of IDL has online help (Hyperhelp) that is rather good - especially since it had text searching capabilities so that you can go straight to the bit you need (usually). ================ 2. Comments by Amara Graps Following is an excerpt of comments by [Amara Graps]: For the full text of her review, please see: http://www.amara.com/papers/miscpap.html Amara Graps' Papers ftp://ftp.amara.com/papers/IDL_Matlab.txt Amara Graps' Papers via ftp If you install IDL without a valid license, you will get IDL's 7 minute demo mode. This mode is designed for users who are considering buying the package. IDL is a vector-based language that makes it easy to manipulate arrays and matrices. I've done testing comparing IDL speed to Fortran in various actions, and IDL was as fast as a Fortran program for the IDL array computations where loops were removed (i.e., when using implicit loops in IDL instead of explicit FOR statements). The scientific functions and procedures that come with IDL are often all that scientists need. In addition, there are net archives containing contributed routines. The archives at John Hopkins and at Goddard are especially good (see below). The language, for the most part is "open", i.e. you can see the text of any particular procedure or function, in case you doubt the technique, or want to modify it. Some functions and procedures are black-box, intrinsic functions or procedures, but not nearly as many as Matlab (see below) are. Most work in IDL is done at the command line level. However, IDL supplies rudimentary "widgets" to wrap a GUI around your procedures and functions. You can create buttons, menus, scrollboxes etc. Three-d plotting is currently not very well documented, and the way that IDL does it is very convoluted. Other users and I have complained about it, and I think RSI are taking steps to better document how to do it. Image processing and animation is pretty slick. If you need to do "slicing and dicing" of a volume, in a way like Spyglass Dicer, IDL has a really great widget routine to do it. The IDL plots are high quality enough to use in initial journal submissions. RSI's support (writing to support@rsinc.com) is pretty good, I usually get responses within 24-34 hours. You have to pay yearly technical support costs, though- about $200 year (don't remember exactly how much). The Usenet group: comp.lang.idl-pvwave has some smart programmers giving answers if you don't want to pay for the IDL technical support. RSI usually doesn't answer questions on that newsgroup (they have a company policy against promoting IDL there because it's shared by two products: IDL and PV-WAVE). I've never liked the IDL documentation very much. The information that you need probably *is* in the manuals, but it's somewhat hard to find (the manuals are organized in a weird way). [Note, however, the comments by Pierre Maxted above]. The anonymous ftp sites below contain public domain IDL code. http://fermi.jhuapl.edu/www/s1r/idl/idl.html JHU/APL/S1R IDL library ftp://fermi.jhuapl.edu/pub/idl JHU/APL/S1R IDL library via ftp NASA IDL Astronomy User's Library, run by Wayne Landsman: http://idlastro.gsfc.nasa.gov/homepage.html NASA IDL Astro Library ftp://idlastro.gsfc.nasa.gov/pub NASA IDL Astro Library via ftp ftp://iuesn1.gsfc.nasa.gov IUE RDAF library at NASA ftp://cetus.colorado.edu/pub IUE RDAF library at U. of Colorado ftp://ftp.astro.psu.edu/pub/nefftp/icur ICUR Spectral Analysis Software ftp://legacy.gsfc.nasa.gov/rosat/software/idl IDL ROSAT software ftp://ftp.sma.ch/pub/idlmeteo IDLmeteo library ftp://eos.crseo.ucsb.edu/pub/idl ESRG library Hal Mueller has a Digital U.S. Map browser based on images created by Ray Sterner at Johns Hopkins University using IDL: http://www.zilker.net/~hal/apl-us// Map browser E. Loren Buhle, Jr. Ph.D. made a page on AVS IN MEDICAL TREATMENT PLANNING which also discusses IDL: http://archive.xrt.upenn.edu/0h/buhle/manuscripts/avs94_paper.html Medical Treatment Planning =================================== q125.7. Comparison of IDL and Matlab Following is an excerpt of a paper by [Amara Graps]: For the full text of her review, please see: http://www.amara.com/papers/miscpap.html Amara Graps' Paper ftp://ftp.amara.com/papers/IDL_Matlab.txt Amara Graps' Paper via ftp IDL is a package that began life as an image-processing utility that has grown to be a general-purpose numerical analysis tool. Matlab started as a numerical analysis package that now includes [at extra cost] image processing tools. Now the two have a similar scientific data-analysis environment, with capabililties to build GUI programs and do very robust data analysis. (Note: all prices are approximate October 1995 prices - SJS) They each cost about the same: ~$1500 for Mac and PC versions and more for Unix (~4000 -- single user to $15,000 -- unlimited number of users). Matlab is popular among education institutions because it has exceptional educational discounts. If you are an academic, Matlab can be had for $495 and each toolbox only $195. My NASA colleagues thought that MathWorks "nickled- and-dimed" them with the costs of the Toolkits (like the signal processing toolkit), but given what you get, it probably isn't that unreasonable. IDL seems to be more widespread in the NASA communities probably because the original developer used several spacecraft teams (Pioneer Venus and Voyager) as test beds for the IDL software. IDL is more of a true programming language. Matlab has scripts and functions and no way to explicitly type a variable. IDL has programs, procedures, and functions and a language syntax sort of like a cross between Fortran, Pascal, and APL. If you have programmed in Fortran before, then the syntax will be a snap to learn. Matlab's syntax is much more compact than IDL's. For example: x = transpose(y) in IDL is x=y' in Matlab. Matlab has many more built-in, intrinsic functions than IDL. MatLab has many optional Toolkits, such as a Signal Processing Toolkit and an Image Processing Toolkit, which are libraries of more intrinsic functions. Reading and writing files, and handling formats such as GIF, PICT, GDF, and custom formats, seems much easier in IDL than MATLAB. Handling directories is difficult in MATLAB when run on non-unix machines. Matlab has more types of graph types than IDL, and handling colors is simpler than IDL. However, I found most other Matlab graphical programming non-intuitive. It uses a system where each element in a graph is an "object." These objects can have sub-objects. So to change an element in a graph, say the axis color, you have to first find the object (a "get" function), and then set it to the color you want. IDL has system variables storing all graphics elements which can be easily changed. One can also customize a graph upon making the graph, with a keyword. IDL's technical support is pretty good, but Matlab's is better. Post a question on comp.soft-sys.matlab and either a developer, the company president, or a tech support person will respond that day. You can call them, too, but it's not a toll-free call. =================================== q125.8. Mlab http://www.civilized.com/MLAB.htmld/ Civilized Software Civilized Software, Inc. 7735 Old Georgetown Rd. #410 Bethesda, MD 20815 U.S.A. 1-301-656-4714 1-301-656-1069 fax Email: csi@civilized.com [author]: MLAB, (for Modeling LABoratory), is a program for interactive mathematical and statistical modeling. MLAB was originally developed at the National Institutes of Health. It includes curve-fitting, differential equations, statistics and graphics as some of its major capabilities. =================================== q125.9. Gauss email: info@aptech.com Aptech Systems has a web page on Gauss at: http://www.netaxis.qc.ca/~j.breslaw Aptech Systems Aptech Systems, Inc., Tel: (206) 432-7855, Fax: (206) 432-7832 23804 South East Kent-Kangley Road Maple Valley, WA 98038 USA (206) 432-7855 [author]: The GAUSS Mathematical and Statistical System is available for IBM PCs and compatibles as well as UNIX workstations As a complete programming language, the GAUSS system is both flexible and powerful. Immediately available to the GAUSS user is a wide variety of statistical, mathematical and matrix handling routines. Powerful data handling capabilities including a data loop allow transformations in a data set by directly using variable names in expressions. This greatly simplifies data transformations and makes for shorter more readable programs. GAUSS can be used in either command mode(interactively) or in edit mode. In command mode; one-line commands, or small screen-resident programs, can be issued and the results of calculations seen immediately. In edit mode you can write complex programs and store them in files. GAUSS has over 400 functions built in, including LINPACK and EISPACK routines. =================================== q125.10. MathViews http://www.mathwizards.com MathViews [author] MathViews for Windows is matlab look-alike. It has a full set of linear algebra and signal processing functionality. It provides easy access to: matrix and linear algebra, digital signal processing, instrument control, image processing, time series analysis, data visualization and waveform display and editing. MathViews is highly compatible with the matlab syntax and will execute most matlab m-files with no changes. We also have WaveTool. WaveTool is an interactive software tool for creating, editing and analyzing captured waveshapes. Waveforms can be created using any combination of drawing, math expressions (matlab syntax), insertion from a library of waveforms or data values pasted from other applications such as Microsoft Excel. Mathviews also markets MathXplorer/Java, the a matlab-compatible Java 1.1 package: http://www.mathwizards.com/mw_javaix.html MathXplorer/Java =================================== q125.11. Matlab to C++ Compiler and C++ Matrix Class Library http://www.mathtools.com Mathtools or email: info@mathtools.com [author]: MATCOM V2 is a Matlab(R) to C++ compiler. MATCOM creates MEX files and standalone C++ applications, with royalty free distribution. MATCOM translates Matlab code to C++, which is compiled by your optimizing C++ compiler. The resulting code runs significantly faster than the original interpreted source. Prior knowledge of C++ is not necessary to use MATCOM. The compilation is fully automated by a smart project manager. Fully functional, time limited evaluation version of MATCOM V2 can be downloaded freely from the MathTools web site. MAT