next up previous contents
Next: Mn-Mz Up: Linux Software Encyclopedia Previous: Ln-Lz

Ma-Mm

A / B / C / D / E / F / G / H / I / J / K / L / M / N / O / P / Q / R / S / T / U / V / W / X / Y / Z  

Last checked or modified: Jun. 11, 1998

[home / linux ]


 
M
See MUMPS.   
MacAnova
An interactive program for statistical analysis and matrix algebra. It features powerful commands for such things as regression analysis, analysis of variance, multivariate analysis, and time series analysis. Such features as graphical displays and computation of summary statistics also make it useful for more elementary analyses. MacAnova is available in binary format for Mac and Windows platforms and as source code that should compile on most generic UNIX platforms. Makefiles are included for HP/UX, DEC Ultrix and a Linux makefile is promised (3/97) for a future release, although there is already a platform.h file modified for Linux platforms. An introductory document is available in PostScript format and a manual is available in PDF format.

[http://www.stat.cmu.edu/macanova/]
[http://www.stat.umn.edu/~gary/macanova/macanova.home.html ]

 

Macaulay2
A software system devoted to supporting research in algebraic geometry and commutative algebra. It's capabilities are extensive, and just as soon as I sift through the documentation I'll provide them in a bit of detail. The Macaulay system is available in source code form or as a binary for NeXT, SGI IRIX, Windows 95, Linux Intel (ELF), Sun SunOS, and HP-UX platforms. It is extensively documented in a large user's manual (236 pages) and a tutorial, both of which are available in TeX DVI format.

[http://www.math.uiuc.edu/Macaulay2]

 

MacGate
A gateway between IP and Macintosh LocalTalk for Linux based on ipddpd. MacGate translates IP packets to LocalTalk and LocalTalk to IP by creating a pseudo-ethernet interface for each Mac on the LocalTalk segment, with these interfaces dynamically added and deleted as Macs need TCP/IP services. It does not require a LocalTalk router like ipddpd but rather creates a virtual router. It is recommended that MacGate only be used if there are no other LocalTalk IP Gateways running on your local net, in which case you can use ipddpd instead. This is meant to be used to the COPS LocalTalk PC card driver available at the same site. See also netatalk, hfs_fs, hfsutils, and CAP. [http://www.coredcs.com/~onyx/MacGate.html]

 

Mach
A operating system project started in 1985 whose goals included: providing interprocess communication functionality at the kernel level and using it as a building block for the rest of the system, virtual memory support provided by the kernel and by user level servers, kernel level support for light-weight threads, support for closely and loosely coupled multiprocessors and a variety of different commercially available workstations, micro-kernel architecture limiting the functions supported by the micro-kernel and enabling multiple user level servers to support various application and programming interfaces, maintaining at least one UNIX-style API to enable Mach to support all the everyday uses of the project members and other researchers, and distributing Mach to other researchers and commercial sites to use as the basis for further research or products. The original research site was Carnegie-Mellon University, and although CMU no longer (5/97) does work on the Mach kernel they do currently do work on a couple of extensions: the Real-Time Mach Project and the Mach Multiserver (Mach-US) Project . Other Mach-related research projects include: the Flux Operating System Project , the Lites: The 4.4 BSD Lite Server , Masix: A Multi-Server OS Running on Mach , and the GNU HURD. Books which contain information about Mach are Boykin et al. (1993), Coulouris et al. (1994), Milojicic (1994), Silberschatz et al. (1991), Tanenbaum (1995), and Zimmermann (1993). [http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html]  
MACHCON
A set of three statement functions that provide machine dependent information. The use of these functions in Fortran programs allow programs to be moved from one machine or architecture to another by simply changing the functions. The routines are D1MACH, I1MACH, and R1MACH and provide machine dependent information about, respectively, double precision, integer, and real number limitations. This is part of CMLIB. See Fox et al. (1978). [http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]  
macopt
A conjugate gradient algorithm that makes use of gradient information and doesn't need a routine to return function values. The features include: the optimized parameters are all contained in a single double precision vector; an adaptive step size used for the initial step of the line search; gradients used in the line search; immediate termination of the line search once the minimum has been bracketed; internal checks to ensure consistent between line search direction and gradient; and more. Source code versions of macopt are available in both C and C++. [http://wol.ra.phy.cam.ac.uk/mackay/c/macopt.html]

 

MacroCALC
A Lotus 1-2-3 compatible character-based spreadsheat which supports 1000 rows, 64 columns, 40 functions, 8 display formats, file linking, macro programming and user-definable functions. It is fully integrated with Groff (and its precursors), units, man, Gawk (and its precursor), Perl, and sh. It can act as a filter enabling users to use pipes to perform complex transforms on streams of data, and contains a C programming interface as well as Lotus WKS and dBASE file support. The MacroCALC internal file format is flat ASCII and thus easily manipulated with many tools. This is also supposedly the only spreadsheet that manages units as well as numbers. Function- and cursor-keys and extended video attributes are supported, and the menus and messages are in separate editable files and can easily be translated into any language (with English, French and German supported in the distribution). MacroCALC has been sold as a professional product for various UNIX systems and is RCS-controlled, lint-clean ANSI C source based on yacc, lex and ncurses. It can be used on any terminal or emulator which has a correct terminfo entry and has convenient user interface very similar to that of Lotus 1-2-3. Every command in the package has a detailed English man page. See also Teapot.

[http://home.t-online.de/home/Axel_Reinhold/]

 

macutils
A collection of utilities for handling Macintosh files on UNIX systems. The package includes:

A source code distributions of macutils is available. All of the utilities are written in C and documented in separate man pages as well as in some ASCII files.

[http://tug2.cs.umb.edu/ctan/tex-archive/tools/macutils/index.html]

 

MAD
The Machine Aided Deconvolution package is a powerful image processing system which can be used to recover images from blurred and noisy representations thereof. It does this by solving a particular class of ill-posed inverse problems modeled with the convolution equation. The particular solution methods used by MAD include Tikhonov regularization variations such as the optimal-mu method, the discrepancy-function method, the L-curve method, and generalized cross-validation (GCV). Available iterative solution methods include the Landweber-Fridman (LF) method, the Positive Landweber-Fridman (LF+) method, the steepest descent method, the conjugate gradient method, the the maximum entropy/Lucy-Richardson method (ME/LR). A source code distribution of MAD is available which has been compiled and tested on OSF-1 Alpha and Linux Alpha and Intel platforms. It also requires the use of the XForms library. A user's manual is currently (2/98) available online and is promised in PostScript form.

[http://xtc.fisica.unige.it/mad/english.html]

 

Madpack5
A linear algebra package for numerically approximating the solution to partial differential equations using multigrid methods. One or more levels (or grids) may be used and abstract multilevel algorithms are implemented in an object oriented fashion (although not using C++). Numerous iterative and direct solvers are provided as well as interfaces to some commonly used solvers. The package can be used with real or complex data and a method is provided for user-defined data types. The solvers provided include: Bi-CGSTAB; conjugate gradients; point Gauss-Seidel with either natural ordering or a parallel domain decomposition style ordering; sparse Gaussian elimination for matrices with a symmetric nonzero structure; symmetric Gauss-Seidel pointwise or with conjugate gradient acceleration or with minimum residuals; and others. The package supports one dense and six sparse matrix storage schemes.

Madpack5 is written in C and Fortran and is set up to compile and install on many generic UNIX platforms. The package is documented in a 40+ page user's manual in PostScript format.

[http://casper.cs.yale.edu/mgnet/www/mgnet/Codes/madpack5]
[http://www.cerfacs.fr/~douglas/mgnet/Codes/madpack5/ ]

 

MAGE
A program to view and explore kinemages, i.e. scientific illustrations presented as an interactive computer display. The features include: interactive rotating, panning and zooming to visualize objects in 3-D, on-screen graphical editing, selection of which graphical objects to display, selection of various views of an object; stereo imaging capabilities, and much more. MAGE is available in binary format for several platforms including Linux Intel. Another program called Prekin which is used to create kinemages for viewing with MAGE hasn't yet (5/97) been ported to Linux. MAGE is documented in an ASCII text file.

[ftp://suna.biochem.duke.edu/pub/]

 

Magenta
An agent communication language (ACL) API which facilitates communication between agents located in a heterogeneous computing enviroment. Magenta supports communications in such ACLs as KIF and KQML. Various interaction paradigms such as anonymous agent interaction, client/server, and peer-to-peer are supported. Simple abstractions layers can be added to the API which allow users to view the API is a specialized manner. An example of this included in the distribution is a frame based or object-oriented model in which all communications are object creation, deletions, method calls, attribute set/get, or logical queries. Other layers can be developed to allow users to view their communications without having to know about ACL. Versions of Magenta are available for both C++ and Common Lisp (with two versions available for the latter). The distributions are documented in various text files scattered throughout as well as on the Web site.

[http://logic.stanford.edu/software/magenta/]

 

MagicFilter
An extensible, customizable printing filter that can enable a wide range of printers to automatically print a wide range of file types. It automatically detects file types by searching for magic numbers and then invokes appropriate conversion utilities to transform a file into PostScript format if necessary. The utilities required for full use of MagicFilter are Ghostscript, Netpbm, nenscript or enscript, dvips, and Groff. A large number of printers are also supported, although the appropriate files have only been thoroughly tested on a few printer types. A source code distribution of MagicFilter is available. It is written in C and can be compiled and used on most UNIX flavors including Linux. Documentation within the code is sparse, although a man page is generated when the distribution is compiled. An article in the Nov. 1997 issue of the Linux Journal gives a good description and overview of MagicFilter.

[http://sunsite.unc.edu/pub/Linux/system/printing/]

 

magnum
A portable and extensible C++ class library which implements various fast factorization algorithms for univariate polynomials over finite fields or the ring of integers. A source code distribution is available. It is written in C++ and can be compiled with G++. Compilation also requires Gawk, sed, lex, and yacc. The documentation is all in German and available in both PostScript and LaTeX formats. [ftp://obelix.statistik.uni-mannheim.de/public/magnum/]

 

Magnus
A package designed to explore infinite groups and carry out experiments with them. This is available either as source code or in binary format for Linux Intel ELF platforms. A user's manual is included in TeX format. [http://zebra.sci.ccny.cuny.edu/web/]

 

MagSolve
An interactive suite of programs for the solution of 2-D static magnetic field problems using finite elements (FE). The MagSolve package includes utilities for geometry specification, automatic FE mesh generation, problem solution, and solution analysis. It is divided into pre-processing, processing, and post-processing modules. The pre-processing module includes: The processing module solves the governing equations on the FE mesh for 2-D magnetostatic problems including the effects of iron saturation. The post-processing module allows the user to view the solution in terms of fluxlines and flux densities as well as calculate quantities such as force and core loss. It can also generate PostScript files of any interactively generated plot.

The MagSolve package is available in binary format for Linux Intel, HP-UX, and Sun SunOS platforms. The source code is available upon request. A user's manual in PostScript format is available.

[http://elecmag3.ucd.ie/e3-magsolve/e3-magsolve.html]

 

mail transport agent (MTA)
The available MTAs include:

 

mail user agent (MUA)
The MUAs available include:

 

mailing lists
Mailing listing software for Linux systems includes:

 

Mailman
A program that automates email-based mailing lists which differs from other mailing managers in that it has a well-developed web interface for list users and administrators. Users can change their options and subscribe or unsubscribe via the web, and administrators can configure, moderate, and maintain the list via the web. The features include:

A source code version of Mailman is available. It should run on any platform on which Python and either sendmail or smail are installed. Documentation is included in the distribution.

[http://www.list.org/]

 

Maisie
A C-based simulation language that can be used for sequential and parallel execution of discrete-event simulation models and that can also be used as a parallel programming language. It can execute a discrete-event simulation model using several different asynchronous parallel simulation protocols on a variety of parallel architectures. It is designed to cleanly separate the description of a simulation model from the underlying simulation protocol used to execute it, which enables a Maisie program to be execute, with few modifications, using the traditional sequential simulation protocol or one of many parallel optimistic or conservative protocols. It also provides powerful message receiving constructs that result in shorter and more natural simulation programs along with debugging and message tracing facilities. The source code for Maisie is available along with many examples. There are special instructions for compiling it on Linux boxes. The Maisie runtime system is implemented on top of PVM, the Cosmic Enviroment, and UNIX sockets. A user's guide in PostScript format is available along with much HTML documentation online. In the works (3/97) are a visual programming environment and a WWW interface. This is being (2/98) superseded by PARSEC.

[http://may.cs.ucla.edu/projects/maisie/]

 

majordomo
A program which automates the management of Internet mailing lists. Commands are sent to Majordomo via electronic mail to handle all aspects of list maintenance. Once a list is set up, virtually all operations can be performed remotely, requiring no intervention by the postmaster at the list site. The Majordomo software does not itself perform mail delivery but rather controls a list of addresses for some mail transport system (e.g. sendmail or smail) to handle. Majordomo features include: support for various types of lists, including moderated lists; list options which can be easily set via a configuration file and remotely edited; support for archival and remote retrieval of messages; support for digests of messages; modular design; support for FTPMAIL; support for confirmation of subscriptions; and list filters. The package actually consists of several programs which perform specific tasks:

The Majordomo package is written in Perl (except for the wrapper program) and should work with Perl 4.036 or 5.002 or greater (i.e. it will not work with Perl 5.001). There is an article in the May 1995 Linux Journal describing this and how to set it up, and similar information can be found in a chapter of Peek (1994). A Web-based front-end to Majordomo is Pandora. See Liu et al. (1994).

[http://www.greatcircle.com/majordomo/]

 
MajorCool
A CGI script written in Perl that provides a Web interface to majordomo. MajorCool adds to the features of majordomo with several GUI techniques such as balloon help, per-user preferences, and mouseover cues. It also extends the address matching capabilities of majordomo via the use of configurable modules. This allows the identification of list subscribers by multiple valid addresses. A source code distribution is available. [http://ncrinfo.ncr.com/pub/contrib/unix/MajorCool/]

 

make
A utility for maintaining groups of programs, make provides a simple mechanism for maintaining up-to-date versions of programs that are created by performing several operations on a large collection of files. See Oram and Talbott (1991).

Related software includes:

 

Makefiles
A set of rules for compiling structured projects with small and uniformly structured makefiles. All the rules are located in a central directory, and compiling the projects on different platforms can be done without modifying any of the makefiles in the individual project directories. The structure consists of a set of small makefiles, each located in the project's leaf directory and called leaf-makefiles. Each of these contains no rules but simply define some macros for the make program and include two files from a central make rule depository. The included files and the files recursively included define the rules needed to compile the project. The leaf-makefiles first define two macros that define the relative location of the project root directory and the name of the directory containing the complete set of rules. Then the rule file rules.top from the directory containing the central rule depository is included. Next, macros are defined that describe the target and the source, with only one target per leaf-makefile. These macros describe a unique target and contain all source files, local include files, and all non-global compile time flags needed for that target. Finally, each leaf-makefile includes a file from the rules directory that contains rules for the appropriate type of target to be made. There are rules for commands, drivers, libraries, shared libraries, localized files, nonlocalized files, shell scripts, man pages, diverted makefiles and directories. There are over 60 macros and variables used in the rules.

A source code distribution of Makefiles is available. It is written in C and can be compiled on most standard UNIX platforms. It currently (5/98) supports Sunpro make, GNU Make, and SMake. It is documented in a user's manual and a developer's manual, both available as man pages.

[http://www.fokus.gmd.de/nthp/employees/schilling/index.html]

 

MAME
The Multi Arcade Machine Emulator is a program that emulates arcade gaming machines using the original ROM images from those same games. A X Window version of the emulator is available in both source code and binary versions, with the latter available for SGI IRIX, Sun Solaris, and Linux Intel. A SVGAlib binary version is also available for Linux platforms. Several ROM images are available at various sites which can be run using the various emulators that comprise the package. [http://www.bzzt.com/mame/]
[http://www.davesclassics.com/mamepage.html ]

 

MAM/VRS
The Modeling and Animation Machine/Virtual Rendering System is a graphics toolkit for animated, interactive 3-D graphics (MAM) and a rendering meta-system which encapsulates 3-D rendering libraries such as OpenGL by a uniform object-oriented interface (VRS). It can be used to quickly develop animated, interactive 3-D applications in an object-oriented way. It can be used like any other C++ class library or as a graphics scripting language embedded in [incr Tcl], with both versions containing full functionality. The MAM/VRS C++ library is composed of several modules:

A source code distribution of MAM/VRS is available. It can be installed and used on UNIX platforms on which Tcl/Tk and [incr Tcl] have already been installed. The documentation includes a tutorial as well as manuals for the C++ classes.

[http://wwwmath.uni-muenster.de/informatik/u/mam/]

 

MANPAK
A package of Fortran utility programs for computations with submanifolds which are implicitly defined by a system of nonlinear equations. The routines establish several types of local parameterizations (coordinate systems) and, once available, compute points on the manifold with given local coordinates. There are also routines for computing the first and second derivatives of these local parameterizations and some other quantities such as sensitivity measures and the second fundamental tensor. The distribution consists of four parts: the MANPAK utility library; DAEPAK, a package of routines based on MANPAK and MANAUX for solving various types of algebraically explicit differential algebraic equations (DAEs); DRIVERS, a set of sample drivers for DAEPAK; and MANUAX, a package of subroutines for the uniform support of MANPAK and DAEPAK. The MANPAK routines include:

The solvers in DAEPAK are:

The MANAUX package includes ODE solvers and various linear algebra routines. The ODE solvers are: DOPSTA, a Dormand-Prince order 5 RK-step routine for autonomous ODEs using reverse communication for function calls; and DOPSTN, a Dormand-Prince order 5 RK-step routine for non-autonomous ODEs using reverse communcation for function calls.

The source code for this package is available. It is written in Fortran 77. The source code contains documentation for the routines. See Rheinboldt (1996) and Rheinboldt (1996).

[http://netlib.org/contin/manpak/]

 

Mapedit
A graphical editor for Web image maps, i.e. clickable image maps. It can be used to create and edit both client-side and server-side imagemaps. Mapedit is available in binary form for several UNIX/X11 platforms including Linux. [http://www.boutell.com/mapedit/]

 

MAPGEN/PLOTGEN
MAPGEN is A collection of programs to create graphical displays or maps of data with geographic coordinates as well as legend information and graticule plots. This is done by several programs which produce metagraphical input (called overlay files) which are displayed either individually or selectively on a wide variety of plotting devices. PLOTGEN is a part of the MAPGEN system used for creating plots of X-Y data instead of geographic data. MAPGEN/PLOTGEN is written in C and should install on most generic UNIX systems with an appropriate compiler. The use of the package also requires the installation of the PROJ cartographic projection system and a device independent vector graphics system, both of which are available in separate directories at the same site. The graphics system includes drivers for creating PostScript output files.

[ftp://kai.er.usgs.gov/pub/]

 

Mapil
A Python script that interfaces with PGP to encode or decode email messages. It supports the P/MIME standard for encrypting or signing MIME messages and can maintain a database of recipients so messages can be automatically tailored to the recipient. The features of Mapil include: support for PGP 2.x and 5.0, support for interactive or automatic processing, and many configuration options. This will run on any platform with an already installed Python distribution. [http://www-leland.stanford.edu/~bescoto/mapil/]

 

Maplay
A software-only MPEG audio player. It can play MPEG audio layer I or II streams and decode streams to raw 16 bit pcm format at the frequency of the stream (32, 44.1 or 48 kHz) or to 8 bit u-law format downsampled to 8 kHz. The source code for Maplay, written in C++, is available and can be compiled using g++. [http://www.powerweb.de/mpeg/maplay.html]

 

Mariposa
A distributed database management system which addresses fundamental problems in the standard approach to distributed data management. Mariposa allows database management systems (DBMS) which are far apart and under different administrative domains to work together to process queries by means of an economic paradigm in which processing sites buy and sell data and query processing services. The design principels include scalability fo a large number of cooperating sites, local autonomy, data mobility, no global synchronization, and ease of local configuration. The source code for Mariposa, written in C, is available. It is based on an early version of Postgres95 and requires Tcl/Tk for installation as well as an ANSI C compiler. It is documented in a user's manual available in PDF and PostScript format.

[http://s2k-ftp.CS.Berkeley.EDU:8000/mariposa/]

 

markup
A Scheme system for generating LaTeX and HTML. The use of this requires the scsh package. The documentation for this is a bit sparse. [ftp://ftp-swiss.ai.mit.edu/pub/scsh/contrib/]

 

Marlais
An interpreter for a programming language strongly resembling Dylan. It was created to fill a perceived void where Dylan implementations are concerned and as such is not intended as a final release. This is a hacker release intended as a vehicle for education, experimentation, and also to encourage people to port it to different architectures, add features and fix bugs. This is alpha software. This release is known to compile on Linux boxes. [http://www.cis.ufl.edu/~jnw/Marlais/]

 

mars
A German full text editor. This is available as a Linux Intel binary. [http://sunsite.unc.edu/pub/Linux/apps/editors/X/]

 

MARS
The Multivariate Adaptive Regression Splines package is a collection of Fortran subroutines that implement the multivariate adaptive regression spline strategy for data fitting and function approximation. The source code is available and a rudimentary ASCII user's manual is included in the package. References to published descriptions of the method are also given. [http://www.stat.cmu.edu/general/]

 

Marx
An interpreted scripting language based on a C-like syntax, i.e. a quasi-C interpreter with some extensions and exceptions. It provides a quick way of creating graphical user interfaces (GUIs) in X Windows. Marx also provides simplified schemes for UNIX process control, direct shell command/script execuction and inter-client communication via sockets. It can be easily incorporated into C programs via its application programming interface (API) and a mostly transparent data exchange mechanism. Engels is a lesser version of Marx without the GUI extensions. It is smaller and faster and good for applications without GUI requirements. A source code distribution of Marx is available as are binaries for Sun SunOS and Solaris, Alpha OSF/1, and Linux Intel platforms. platforms. The documentation is currently the man page, a version of which is available in PostScript format, and the beginnings of a programmer's manual.

[http://spock.ece.drexel.edu/marx/]

 

MAS
The Modula-2 Algebra System is an experimental computer algebra system which combines imperative programming facilities with algebraic specification capabilities for the design and study of algebraic algorithms. The goals of the system are to provide: an interactive computer algebra system, comprehensive algorithm libraries, a familiar program development system with an efficient compiler, an algebraic specification component for data structure and algorithm design, and algorithm documention which is open to users. Key features of the MAS system include: Library packages include those for Gröbner bases, involutive bases, invariant polynomials, linear algebra, basic arithmetic (complex numbers, quaternions, octonions, and finite fields), and more.

MAS is available as source code as well as an executable for HP-UX, AIX, Linux, OS/2, Nextstep and SunOS platforms. Extensive documentation is available in PostScript format as well as many examples and test files. Compilation of the source code will of course require the acquisition and compilation of the Modula-2 language package.

[http://www.fmi.uni-passau.de/algebra/projects/mas.html]

 

mash
A multimedia networking toolkit with which complex multimedia programming tasks are decomposed into an arrangement of simple objects linked together and configured with a scripting language. The mash shell is the backbone of a number of new applications for multimedia networking and collaboration. It subsumes existing tools like vic and vat and also supports a number of new tools that serve as vehicles to explore scalable multicast protocols and exercise the design framework. The tools include a floor control application, a next-generation whiteboard, and archive system and supporting tools, and new applications for webcasting. Each of these tools is a script executed by the mash shell. A source code distribution of mash is available as are binaries for some platforms including Linux Intel. Documentation is still (6/98) sketchy as the project is as yet in the alpha stage.

[http://www-mash.cs.berkeley.edu/mash/]

 

Master
A system configuration tool intended to aid system administrators in maintaining large numbers of machines. Master is itself OS and architecture independent but can handle architecture and OS dependent. The design goals included reduction of steady-state maintenance work, reduction of machine setup time, failure recovery, and simplicity. The system consists of a driver program that maintains a cache of machine information and runs any number of other programs called modules, with each module controlling the configuration of a specific file or subsystem. A central repository of configuration information called the configuration server is periodically accessed by clients to make sure their configuration state is up to date. The server can also force clients to check for new configuration information on demand. A source code distribution of Master is available. It is written in Perl and runs under both versions 4 and 5. The distribution contains themaster program, the libraries, and some example modules that install files, maintain crontab files, generate /etc/netgroup files, and generate /etc/hosts files.

[ftp://ftp.caip.rutgers.edu/pub/master/]

 

MasterGear
A portable emulator of two SEGA game consoles: the MasterSystem and the portable GameGear. The emulator is written in C and can be ported to any platform that can run 32-bit applications. A source code version is available which has been successfully compiled on Linux Intel systems. [http://www.komkon.org/fms/MG/]

 

MAT
A distributed management tool for Linux, SunOS, and Solaris machines. MAT provides an easy to use GUI interface which can be used to administer many of the common UNIX configuration files. It can add to, modify, or delete from Users, Hosts, Groups, Mounts, Motd, DNS client configuration, and cron jobs. Other features include adminstering many hosts from a single console, the ability to delegate responsibility to others, and easy upgrading of the agent binary from the GUI. Future (1/98) enhancements include a DNS master, an NIS master, and a tape tool. [http://sunsite.unc.edu/pub/Linux/system/admin/frontends/]
[http://sunsite.unc.edu/pub/Linux/Incoming/ ]

 

MATCALC
MATCALC is an easy-to-use interactive matrix calculator designed for easy solution of linear algebra and matrix problems involving either real or complex numbers, easy solution to systems of linear equations, teaching modern computational methods of linear and matrix algebra, and solution of matrix-related problems such as finding zeroes of real or complex polynomials, linear least-squares fits of multivariable models, etc. It is also specially adapted to handle singular matrices which can be difficult to handle on other systems. MATCALC includes full programming capabilities with facilities for logical relations and conditions, IF and LOOP blocks, and user-defined functions and procedures. Users can write their own functions in C and add them to MATCALC. The package can be configured to meet specific user requirements, creating custom MATCALC subsets by omitting selected predefined functions and procedures to obtain configurations ranging from a minimal desktop calculator to a full-blown research capable setup. Basic commands are included for entering matrices, matrix arithmetic, adjoining matrices, selecting matrix elements, selecting rows and columns, and for creatin special matrices. Predefined functions and procedures are included for such problems as polynomial arithmetic, solving systems of linear equations, finding triangular factorizations, analyzing row-echelon matrices, finding eigenvalues and eigenvectors, obtaining Jordan forms, and for obtaining singular value decompositions (SVD).

The MATCALC distribution includes the source code which is written in C. It is designed to be portable to any system with an ANSI C compiler. The package is document in a 71 page manual in TeX format.

[ftp://csi.jpl.nasa.gov/pub/matlab/matcalc/]

 

MatClass
A C++ class for numerical computation. It includes a general purpose dense, real matrix class, a family of decomposition classes based on LU, Cholesky, Householder QR and SVD, a familty of OLS regression classes based on the previous decompositions, a family of special function classes, a random number class, and a simplified input/output structure. The documentation is contained within a reasonably complete manual in TeX format. [ftp://ftp.mcc.ac.uk/pub/matclass/unix/]

 

Mathomatic
A symbolic math program that can automatically solve, simplify, and combine algebraic equations, do calculus operations, perform polynomial and complex arithmetic, and much more. The C source code for this is available and should compile on just about any UNIX box. A manual is available separately for a price. [http://www.lightlink.com/george2/]

 

Mathopd
A very small and very fast HTTP server for UNIX systems. It is designed to handle a large number of connections with minimal fuss, containing no unnecessary add-ons. [http://mathop.diva.nl/]

 

MathSpad
A general purpose structure editor which is particularly useful for writing articles that contain substantial amounts of mathematical calculations. MathSpad facilitates the creation of such documents with a feature called a stencil which defines two views of a document, i.e. the on-screen view and the output view. The on-screen view is almost WYSIWYG while the output view is a file written in a ASCII-based markup language. The system is optimized for TeX and LaTeX but can also be used to produce HTML or troff documents. The features of MathSpad include: Planned features include multiple output formats for the same template; better keyboard definitions; more stencils; more primitives to define templates; shortcuts for templates; support for internationalism; document conversion; and much more.

The MathSpad distribution includes the source code, written in C and C++, and a PostScript format version of the manual. It should install easily on any UNIX system with a compiler for C and C++ (gcc will work) and X11. A configure script eases the installation procedure.

[http://www.win.tue.nl/win/cs/wp/mathspad/]

 

Matlab macros
Freely available Matlab-related packages include:

 

Matlab (Classic)
This is a version of Matlab from 1981. It featured an interactive command-line interface and included various LINPACK and EISPACK routines. Matrices could be defined and operated on without using the loop structures of Fortran. New functions could be defined and used, and Matlab itself could be used as a subroutine to be called from other programs. The source code, about 7000 lines of Fortran, for this early version is available. See how Cleve Moler first attempted to implement a matrix manipulation laboratory in Fortran. The documentation is contained in a 300+ kb ASCII text file and includes several examples. [ftp://csi.jpl.nasa.gov/pub/matlab/classic/]

 

Matlab Astronomy Library
A collection of Matlab codes for performing various types of analyses on astronomical data, although most are generic and have wider application. Currently (10/97) the routines include those for performing: Gram-Schmidt orthonormalization, low-pas filtering of evenly spaced data, Haar wavelet transforms, the complex bi-conjugate gradient method, conjugate gradient least squares, the complex error function, Fourier deconvolution, the Hankel transform using the backprojection method, the Hilbert transform, linear least squares, and much more. Some of these may also work with the mostly Matlab-compatible package called Octave. [http://phobos.astro.uwo.ca/~etittley/matlab/matlab-astrolib.html]

 

Matrix
The Matrix library was designed and implemented to provide object-oriented, semantically clean support for FE++, an object-oriented framework for finite element programming in Structural Engineering. FE++ is part of a major research effort in the development of the Structural Engineering Software Development Environment (SESDE) at Purdue University. To address a variety of time/space demands in structural engineering computing, the library supports a wide range of matrix abstractions and algorithms, such as symmetric matrices, profile matrices, banded matrices, column vectors, and LU decompositions, etc. The object-oriented paradigm supported by C++ is applied in the design of the library. Consistent semantics and uniform syntax of the library interface is a major focus of the design. The source code for the Matrix package, written in C++, is available. It is documented in a technical report available in PostScript format as well as in Lu et al. (1995).

[http://dalmatians.ecn.purdue.edu/~sesde]

 

Matrix Market
A repository of test data for use in comparative studies of algorithms for numerical linear algebra. Matrices and related data from problems in linear systems, least squares, and eigenvalue problems in a wide variety of scientific and engineering disciplines are provided along with tools for browsing through the collection or for searching for matrices with special properties. Each matrix (and matrix) set has a separate home page which provides details and allows the downloading of the matrix in one of several file formats. The Market presently holds 482 individual matrices and 24 matrix generators. [http://math.nist.gov/MatrixMarket/]

 

Matvec
An interactive matrix/vector manipulation and calculation environment. It is written in C++ but the distribution contains only the object files which are compiled into the final binary using the GCC compiler. The documentation is in HTML form and is viewed from within the program by invoking a Web viewer such as Lynx or Netscape. [ftp://orion.animal.uiuc.edu/pub/twang/]

 

MA28
A package from the Harwell Subroutine Library (HSL) which consists of four routines for the solution of sparse linear equations where the coefficient matrix may be unsymmetric and numerical pivoting may be required for stability. This part of the HSL is freely available, although the remainder is a commercial product. [http://www.netlib.org/harwell/readme]

 

Matwrap
A tool for interfacing C++ code into matrix-oriented scripting languages such as Matlab, Octave and Tela. Matwrap generates all the code to convert from the scripting language's internal types into the types that C++ understands. All that is needed is a .h file describing the functions. The features include: A source code distribution is available. It requires Perl 5 and a C++ compiler, with GCC okay for the latter. A man page contains the documentation.

[http://www.klab.caltech.edu/~holt/matwrap/]

 

max
A makefile generator which takes as input a short file describing the structure of a package and outputs a set of makefiles and a configure script. The features include compilation on a wide range of platforms, support for both C and C++ source files, support for shared libraries on most systems, generation of clean/install/uninstall commands, an automated make depend command, compatiblity with autoscan output, and output mostly compliant with GNU standards. A source code distribution of max is available. It is written in C and can be compiled on several platforms using the supplied configure script. It is documented in a user's manual available in Texinfo format.

[ftp://ftp.uni-muenster.de/pub/linux/misc/]

 

MAXDET
A software package for determinant maximization problems which implements a long-step path-following method. The distribution includes the full C source code (with calls to LAPACK, a Matlab MEX file interface (although the code can also be used directly via the C source), Matlab examples, and documentation. See also CSDP, INCT, LMITOOL, SDPA, SDPpack, SDPSOL, and SP.

[http://www-ISL.Stanford.EDU/people/boyd/MAXDET.html]

 

MAXIMA
A fairly complete computer algebra system which is a Common Lisp implementation based on the original implementation of Macsyma at MIT. This can be compiled with GCL. This distribution comes with a 235+ page user's manual in Texinfo format. The same directory also holds a package called Affine which is a set of extensions to MAXIMA which allows things like Todd-Coxeter algorithms and non-commutative Grobner bases to be used. The directory also contains xgraph which is used by MAXIMA for some plots. The use of this software supposedly requires that a fee be paid to DOE NESC, although a README file in the directory isn't exactly crystal clear on that point. [ftp://ftp.ma.utexas.edu/pub/maxima/]

 

Maxwell
A word processor for Linux. Maxwell has the usual features including named styles, WYSIWYG editing, tables, and RTF import and export. Binary and source code distributions are available, with the latter requiring Motif to build and still (as of 7/98) in a beta stage. [http://www.eeyore-mule.demon.co.uk/]
[http://sunsite.unc.edu/pub/Linux/apps/wp/ ]

 

MBone
The IP Multicast Backbone is a method for multicasting live audio and video via the Internet. It is a virtual network layered on top of portions of the physical Internet to support the routing of IP Multicast packets. The network consists of islands which can directly support IP Multicast linked by virtual point-to-point links called tunnels, with the tunnel endpoints typically being workstation-class machines with operating system support for IP Multicast and running the mrouted multicast routing daemon. The IP Multicast routers (called mrouters) take the responsibility of distributing and replicating the multicast data stream to their destinations as opposed to individual IP hosts, with the mrouter topology designed such that packets are efficiently distributed without unduly congesting any single node. The IP Multicast is a class D addressing scheme with addresses ranging from 224.0.0.0 to 239.255.255.255 and the MBone-based audio/video conferences allocated the address range 224.2.*.*. Software related to using the MBone includes: See Kumar (1995) and Savetz et al. (1996). Web sites appropriate to the topic are Multicast and MBone on Linux and Linux Multicast Information . [http://www.best.com/~prince/techinfo/mbone.html]

 

MCF
An implementation of a primal and a dual network simplex algorithm. A source code distribution, written in C, is freely available for academic usage. A user's manual is available in PostScript format. [http://www.zib.de/Optimization/Software/Mcf/]

 

mc-layer
A Monte Carlo radiative transfer program for vertically inhomogeneous atmospheres. This routine, written in Fortran 90, can compute both fluxes and radiance fields for vertically layered plane-parallel atmospheres with isotropic reflecting surfaces. It is documented via comments within the code. See Macke et al. (1995). [http://www.ifm.uni-kiel.de/me/research/Projekte/RemSens/SourceCodes/source.html]

 

MCML
Monte Carlo for Multi-Layers is a steady-state Monte Carlo simulation program for multi-layered turbid media with an infinitely narrow photon beam as the light source. Each layer has its own optical properties of absorption, scattering, anisotropy, and refractive index. The simulation is in 3-D with the results stored in an r-z array in cylindrical coordinates (i.e. radial and depth positions). Output variables include the radial position and angular dependence of local reflectance and transmittance as well as the internal distribution of energy deposition and fluence rate within the multilayered medium. A source code distribution of MCML is available. It is written in C and can be compiled on most platforms with such a compiler. An extensive manual is available in PDF format. See also Wang et al. (1995).

[http://ee.ogi.edu/omlc/science/software/mc/index.html]

 

MCPL
A simple typeless language based on BCPL which makes use of extensive pattern matching somewhat related to that used in ML and Prolog. MCPL is typeless, runs using a contiguous runtime stack, and has no built in garbage collector. An interpreted version of MCPL is available which can be installed and used on generic UNIX platforms. A user's manual is available in TeX DVI format. See Richards and Whitby-Strevens (1981). [http://www.cl.cam.ac.uk/users/mr/MCPL.html]

 

MCSim
Monte Carlo Simulator is a general purpose modeling and simulation program which also performs standard or Markov chain Monte Carlo simulations. The user can specify a set of parameterized nonlinear differential equations and integrate them using parameters values either chosen or sampled from user-specified statistical distributions. MCSim consists of a model generator and a simulation engine. The model generator mod is a stand-alone facility which takes a model description file and creates a C language file while is compiled and linked to the simulation program. It allows the user to define equations for the model, assign default values to parameters or default initial values to model variables, and define scaling functions for both the input parameters and output variables. It was created to allow the use to create and modify models without having to maintain C code. The simulation program mcsim allows four types of simulations to be performed. A DefaultSim simulation simply solves the specified equations using the default parameter values. A Monte Carlo simulation will perform repeated stochastic simulations across a randomly sampled region of the model parameter space. A MCMC simulation performs a series of simulations along a Markov chain in the model parameter space, i.e. Monte Carlo simulations in which the choice of a new parameter value is influenced by the current value. A SetPoints simulation integrates the model under the experimental conditions for a series of specified parameter sets listed in a separate file.

The MCSim distribution contains the source code for both mod and mcsim, examples of model and simulation files, and a user's manual in PostScript format. The source code is written in ANSI C and can be installed on generic UNIX platforms with an appropriate compiler.

[http://rfs63.berkeley.edu/users/fbois/mcsim.html]
[http://www.gnu.ai.mit.edu/order/ftp.html ]

 

mCWEB
A descendant of the CWEB system for literate programming. The mCWEB system adds features which make it easier for more than one person to use it concurrently, i.e. version control features. It considers a project to be similar to a book consisting of several chapters. The relationships between chapters and even between books are automatically managed by means of various import and export commands. Another feature is a second TeX file containing interface documentation which makes it possible to define a common interface between the various parts of a project. A completely rewritten manual is included in the distribution as are examples. [ftp://ftp.ist.tu-graz.ac.at/pub/software/packages/CWeb/]

 

MDBMS
A small and powerful RDBMS for performing complex database work. The entire system consists of one binary that simply performs all database functions. The features of MDBMS include:

A source distribution of MDBMS is available as are binaries for Linux Intel and Alpha platforms. It is free for home and educational use but not for commercial use. Documentation is a bit sparse.

[http://www.hinttech.com/mdbms/]

 

MDD
The Mooring Design and Dynamics package is a Matlab toolkit for designing and evaluating oceanographic moorings and mooring data. MDD allows both surface and subsurface mooring configurations to be built and evaluated using a set of graphical user interfaces and a preliminary database of components. It allows the design and evaluation of oceanographic moorings under the influence of time-dependent 3-D currents by solving a set of force balance equations to determine the spatial position of each mooring element relative to the anchor. Mooring elements can include current meters, in-line floats, thermistor chains and acoustic releases, each with a specified buoyancy, shape and effective fluid drag. Wire and chain segments are divided into multiple hinged pieces so the shape of the mooring will realistically represent a subsurface or surface mooring under the influence of current shear. This package works under Matlab 5.1. [http://canuck.seos.uvic.ca/rkd/mooring/moordyn.html]

 

MD5
A program which calculates a message-digest fingerprint or checksum for a file. It is intended for use in digital signature applications where a large file must be compressed in a secure manner before being encrypted with a private key under a public-key cryptography system. MD5 takes an input message of arbitrary length and produces a 128-bit fingerprint or message digest of the input. It is supposed that it is computationally extremely improbable to produce two messages having the same message digest or to produce any message having a given prespecified target message digest. The MD5 program is available as source code written in C. It is briefly documented in an ASCII text file. [ftp://ftp.cert.org/pub/tools/md5/]

 

MEASERR
A program for the determination of error in individual discharge measurements. MEASERR computes these uncertainties based on a root-mean-square error analysis of the individual component errors, with the latter including errors in the measurement of width, depth and velocity as well as in computation procedures. The velocity measurement errors include the uncertainties introduced by the measurement instrument, the pulsation of flow in natural rivers, the vertical distribution of measurements, and oblique flow. This error analysis can be used to evaluate the uncertainty for most discharge measurements made with the vertical axis, cup-type current meter. Standard errors are computed at the 68% level of significance, i.e. one standard deviation from the true value. The estimate of the standard error is computed by computing the standard error of the individual error components, and then combining them in a root mean square error analysis. A source code distribution of MEASERR for UNIX platforms is available. The primary documentation is contained within Sauer and Meyer (1992). This is part of the USGS Water Resources Applications Software collection.

[http://water.usgs.gov/software/measerr.html]
[http://www.geogr.uni-jena.de/software/measerr.html ]

 

MEBDFDAE
A code for the solution of stiff initial value problems (IVP) and differential algebraic equations (DAE) in linearly implicit form. The algorithm is based on a modified extended backward differentiation formula which has considerably better stability than BDF and is A-stable up to order 4 and alpha-stable up to order 9. The MEBDFDAE distribution includes the source code, written in Fortran, drivers for the program, and various example results. Documentation is sparse and mostly in the source code itself.

[http://www.ma.ic.ac.uk/~jcash/IVP_software/readme.html]

 

mEDA-2
The multi-Extended Dataflow Architecture is an extension to the PVM distributed processing system which provides Virtual Shared Memory (VSM) for inter-task communication and synchronization. The mEDA-2 package was developed to facilitate the construction of parallel programs in PVM by providing a unified approach to message passing and shared memory models. It consists of a library (libeda.a) and a daemon which avoids deadlocks while accessing VSM (edad). It is based on the EDA multiprocessing model in which distributed memory is a set of shared variables distributed between processes and a shared variable contains either a meaningful value (i.e. it is full) or the empty value. EDA provides eight operations on shared variables: x-store, storing to an empty variable with acknowledgment; s-store, storing to an empty variable without acknowledgment and queueing the request if the variable is full; i-store, equivalent to s-store except that the request is discarded if the variable is full; u-store, updating a variable without acknowledgment; x-fetch, extracting a meaningful value from a full variable; s-fetch, extracting any value from the variable; i-fetch, copying a meaningful value from a full variable; and u-fetch, copying any value from the variable. These EDA operations are used in different combinations or in matching pairs to perform various operations.

The mEDA-2 pacakge is written in C and uses functions from the PVM library. It can be compiled and used on most platforms on which PVM can be installed. The library is documented in man pages and in various technical reports available in PostScript format. See Vlassov et al. (1995).

[http://www.it.kth.se/labs/cs/meda2/]

 

MEdit
A graphical, multi-window, cross-platform text editor originally written to demonstrate the capabilities of MGUI. The features include cut and paste, go to line, search, replace, multi-level redo/undo, auto-indent, printing, customizable colors and fonts, and more. This can be used on any platform on which MGUI can be installed. [http://sunsite.unc.edu/pub/Linux/apps/editors/X/]

 

Medusa
An architecture for very high performance TCP/IP servers (e.g. HTTP, FTP, NNTP) which differs from other servers in that it runs as a single process which multiplexes I/O with its various client and server connections within a single process/thread. Medusa is capable of smoother and higher performance than most other servers, and also places a dramatically reduced load on the server machine. Persistence is also easy to implement in Medusa, i.e. the address space of its process (and thus its database handles, variables, etc.) is available to every client since all are using the same process. A server which forks requires some sort of IPC mechanism to achieve persistence, which requires yet more overhead. Medusa is also easily extensible, being written entirely in Python, and secure since it is not written in a low-level language which can be more easily exploited. The current (10/97) features of Medusa includes: integrated HTTP and FTP servers; a secure remote-control capability called a monitor server which enables authorized users to log in to the running server and control, manipulate, and examine it while it is running; several extensions to the HTTP server including status extension which provides status information via the HTTP server, the capability of acting as a proxy server for HTTP requests which lets it be used as a firewall server, a CGI extension, and several more planned features such as pseudo-filesystem extensions and access to databases like mSQL and Oracle; and an API which allows users to extend not just the HTTP server but Medusa as a whole, e.g. mixing in other server types and new capabilities into existing servers (e.g. NNTP and POP3 servers have already been written).

A source code distribution of Medusa is available. It is written in Python and will run on most UNIX flavors with this already installed.

[http://www.nightmare.com/medusa/]

 

Mentat
An object-oriented parallel processing system designed to directly address the difficulty of developing architecture-independent parallel programs. It combines a medium-grain, data-driven computation model with the object-oriented programming paradigm and provides automatic detection and management of data dependencies. The two primary aspects of Mentat are the Mentat Programming Language (MPL), a language based on C++ that masks the difficulty of the parallel programming environment from the programmer, and the Mentat run-time system, which supports parallel object-oriented computing on top of a data-driven,, message-passing model. The Mentat distribution is available in binary form for several systems, including Linux. See Wilson and Lu (1996). [http://uvacs.cs.virginia.edu/~mentat/index.html]

 

Mercury
A logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features. It has a highly optimized execution algorithm which delivers efficiency far greater than that of existing logic progrmaming systems and close to that of conventional programming systems. Mercury addresses the problems of large-scale program development by allowing modularity, separate compilation, and numerous optimizing/time trade-offs. The Mercury compiler compiles programs to C which it uses as a portable assembler, and it can exploit some of the C extensions of gcc. The features of Mercury include: it is purely declarative, i.e. predicates and functions do not have non-logical side-effects; it is strongly typed with a type system based on many-sorted logic with parametric polymorphism (similar to ML); it is strongly moded, i.e. a programmer must declare the instantiation state of the arguments of predicates at the time of the call to the predicate and at the time of the success of the predicate; it has a strong determinism system, i.e. for each mode of each predicate the programmer should declare how many times the predicate will succeed (i.e. once, at most once, at least once, or an arbitrary number of times); it has a module system wherein programs consist of one or more modules with interfaces which contain the declarations for the types, functions and predicates exported from that module; it supports higher-order programming with closures, currying, and lambda expressions; and it is very efficient compared to other logic programming languages.

The Mercury system is available as either source code or as a binary for Linux Intel, Sun Solaris and SunOS, DEC Alpha and Windows 95/NT platforms. The documentation includes a user's guide as well as library and language reference manuals.

[http://www.cs.mu.oz.au/research/mercury/]

 

Merle
A scripting language designed to support decentralized information retrieval applications on the Web, especially those concerned with medical records. The goal of Merle was to develop a script language tool to facilitate the construction of efficient, fully functional, multi-point information systems that can be accessed anywhere by low cost Web browsers to search, retrieve, and analyze patient information. Merle is based on MUMPS and permits legacy code in that language to function in the Web environment and make use of Web graphical, sound, and video presentation services. It can be used as a CGI script or in standalone mode. The Merle script language features include: it is derived from MUMPS and provides a full range of string handling routines and built-in functions; it provides full access to user-entered HTML form data; it has several extensions which aid in the return of HTML document code to the server and client; it provides a B-tree based hierarchical and relational data base facility; it permits access to operating system facilities including other script processors and DBM systems; it can access all system facilities such as SQL and DB2; and more.

A binary distribution of the Merle script language is available for Linux Intel, Sun Solaris, Windows NT/95, and OS/2 platforms. A user's manual is available in HTML format.

[http://www.cs.uni.edu/~okane]

 

Meroon
An object-oriented system written in Scheme. The features of Meroon include: all objects of Scheme can be seen as Meroon objects without restriction on inheritance; CLOS-like generic functions with the capability of adding new functions and methods on top of previously defined classes; self-description features; and more. A source code distribution of Meroon is available. It is written in Scheme and has been ported to several freely available Scheme systems. It is documented in a user's guide available in PostScript format.

[ftp://ftp.inria.fr/INRIA/Projects/icsla/WWW/Meroon.html]

 

Mesa
A 3-D graphics library with an API which is very similar to that of OpenGL. Most programs which use the OpenGL tk, aux or GLUT toolkits will work with Mesa without changing the source code. The primary goal in the development of Mesa was correctness rather than speed, with optimizations being the focus of most future work. Mesa works on most UNIX workstations with ANSI C and X11, and installed as part of Vis5D on my Linux box. [http://www.ssec.wisc.edu/~brianp/Mesa.html]
[http://sunsite.unc.edu/pub/Linux/X11/devel/libraries/ ]

 

Meschach
A numerical library of C routines for performing calculations on matrices and vectors. It is intended for solving systems of linear equations (both dense and sparse), solving least squares problems, computing eigenvalues and eigenvectors, and more. It has a collection of data structures which are self-contained, can be created, destroyed, and resized at will and which includes permutations, vectors, matrices, integer vectors, complex vectors and matrices, and sparse matrices. It is meant for those who know something about the C language, something of how to solve the numerical problem they have, and do not want to create all the needed software from scratch. The features of Meschach include: dynamic allocation, de-allocation and copying of objects; dense complex matrices and vectors as well as the usual real ones; input and output routines for objects as well as a MATLAB save/load format; error/exception handling; basic numerical linear algebra; dense matrix factorization and solution; dense matrix factorization update routines; eigenvector/eigenvalue routines; sparse matrix utility routines as well as those for factorization and solution; sparse incomplete factorizations (i.e. Cholesky and LU); iterative techniques (e.g. pre-conditioned conjugate gradients (GC), CGNE, LSQR, CGS, GMRES, MGCR, Lanczos and Arnoldi); torture routines for checking Meschach; memory tracking for locating leaks; and much more.

The source code for Meschach, written in C, is freely available. It comes in five shar files containing housekeeping and utility routines, basic dense linear algebra routines, dense factorization routines, sparse matrix operations, and complex matrix operations. The chief documentation source is a manual that can be obtained at the home site for about $30, although a manual for an older version of Meschach can be obtained in DVI format at the home site. A subset of this documentation can be found online at the home site in HTML format.

[http://www.netlib.org/c/meschach/]
[ftp://ftpmaths.anu.edu.au/pub/meschach/ ]

 

mesh generation
Packages for generating meshes for finite element solvers. These include:

 

Mesh-TV
An interactive graphical analysis tool for visualizing and analyzing data on 2D and 3D meshes. It is general purpose in that it handles many different mesh types, provides many different ways of viewing the data, and is virtually hardware/vendor independent while still providing graphics at the speed of the native graphics hardware. Plot types implemented include material boundary plots, iso-contours, mesh plots, velocity contour plots, 3D surface plots of 2D mesh data, and stereoscopic viewing of any 3D image. Data operations supported include reflection about any axis, orthogonal and arbitrary slicing of 3D data, material selection, index selection, and algebraic and mathematical function manipulation of data. Mesh-TV uses the SILO data storage and retrieval library, which can be obtained separately. At present (1/31/96) there is a Mesh-TV Linux port as well as Mesh-TV binaries for IBM, HP and Sun workstations. A PostScript manual is also available in the latter location. See also another Mesh-TV FTP site . [http://www.llnl.gov/bdiv/meshtv/]  
mess822
A library for parsing Internet mail messages which supports the full complexity of RFC 822 address lists including address groups, source routes, spaces around dots, and more. It also supports common extensions such as quoted atoms, dots in phrases, and addresses without host names. It extracts each address as a string with a separate string for the accompanying comment. The package contains several applications including rejectblind for checking whether a known address is list in To or Cc and 822header, 822field, 822date, 822received and 822print for extracting various pieces of information from a message. A source code distribution is available. [ftp://koobera.math.uic.edu/www/mess822.html]

 

METAFONT
A computer language for the production of professional quality typefaces using mathematical type design. METAFONT can also be used to create figures and symbols other than typefaces. The source code is available at the given URL and requires the CWEB package for compilation and use. The original METAFONT manual by its creator Donald Knuth is available as either Knuth (1986) or Knuth (1986), the former being the paperback and the latter the hardback version. The source code for the program is available as Knuth (1986) and the details of the computer modern typefaces created by the author using METAFONT in Knuth (1986). A related program is Metapost. [ftp://labrea.stanford.edu/pub/tex/mf/]

 

Meta-HTML
An internet application engine and HTML-based scripting language that allows the quick building, deploying and managing of web resources. The programming language is specifically designed for working within the Web environment, and as such it provides the most commonly wanted Web functionality as built-in primitives in addition to a full capability for large-scale symbolic manipulation that one might expect from a programming language. Web pages include standard HTML and Meta-HTML statements intermixed which, when requested by a browser, are passed through the Meta-HTML engine an dynamically processed to produce an HTML page to be delivered to the browser. Interpreter options include using it as a CGI engine that can be run by any Web server, as a full-featured Web server (mhttpd) with the interpreter built in, as a stand-alone processor (like Perl), or as an interactive debugger. The Meta-HTML language includes flow control, arithmetic operators, relational operators, and Web applications features like stateful sessions (with or without browser cookie support); GDBM database storage, retrieval and searching; network and file system streams; macros and functions that allow the writing of new tags; an interface to the MSQL database system; file upload and download over HTTP connections; and extended regular expression syntax in string operations.

The Meta-HTML source code is freely available as both source code and in binary form for Linux (a.out and ELF), IRIX, BSDI, OSF, Solaris SunOS and HPUX platforms. A manual in hypertext format is included with each distribution. The present version 5.0 is freely available although I'm not sure if future releases will remain so.

[http://www.metahtml.com/]

 

metamail
A package which can be used to convert virtually an mail-reading program (on UNIX, DOS, or Amiga) into a multimedia mail-reading program. It is an extremely generic implementation of MIME, the proposed standard for multimedia formats on the Internet. This implementation is extremely flexible and extensible, using a mailcap-type file mechanism for adding support for new data formats when sent through the mail. The core of the package is a mechanism that allows the easy configuration of mail readers to call external viewers for different types of mail, e.g. Ghostview for PostScript, xv for bitmapped images in any of several formats, etc. The distribution also contains viewers for a number of mail types defined by the MIME standard so that it can be immediately useful with any site-specific customization or extension. The metamail distribution has built-in support for: plain US ASCII text, plain text in the ISO-8859-8 (Hebrew/English) character set, richtext (i.e. multifont formatted text), image formats (using the xloadimage program under X11), audio, multipart mail which combines several other types, multipart/alternative mail which offers data in multiple formats, encapsulated messages, partial and external message (for large data objects), and arbitrary (untyped) binary data. Some support is also offered for the use of non-ASCII characters in certain mail headers. The distribution comes with a small patch for each of over a dozen popular mail reading programs, e.g. Berkeley mail, mh, Elm, Xmh, Xmail, Mailtool, Emacs Rmail, Emacs VM, Andrew, and others.

The source code for metamail, written in C, is included with the distribution as are several sample MIME format files. Documentation is available in the form of a user's manual and several technical reports in PostScript format.

[ftp://ftp.bellcore.com/pub/nsb/]

 

METAN
An integrator for stiff systems of autonomous ordinary differential equations. METAN uses a semi-implicit mid-point rule with h2-extrapolation to solve the equation system. The source code for this is written in Fortran and its use is documented via embedded comment statements. This is part of CodeLib. See Deuflhard (1983) and Deuflhard (1983). [ftp://elib.zib.de/pub/elib/codelib/metan1/]

 

MetaPost
A system that implements a picture-drawing language similar to Metafont except that the output is expressed with cubic splines and PostScript commands rather than in Metafont's raster-oriented Generic Font Format. It is a powerful language for expressing figures for documents printed on PostScript printers and can also be used for creating PostScript fonts. The data types are mostly the same as those in Metafont except that pictures represent a continuous version of what is scan-converted in order to create Metafont's pictures. Some raster-oriented Metafont primitives are removed and primitives for expressing PostScript concepts are added. Facilities for integrating text and graphics are also included to make it convenient for figures to include labels which match the document text typography. Perhaps the easiest way to obtain and install MetaPost is via the teTeX distribution wherein it is automatically installed along with the rest of the package. The master MetaPost distribution can also be installed by itself using the web2c package, the details for which can be found at the MetaPost web site. This package is documented in a series of technical reports available in PostScript format.

[http://cm.bell-labs.com/who/hobby/MetaPost.html]

 

MetaWeb
A Java class library that supports the development of synchronous collaborative applications which can be either applets running in a browser or stand-alone Java applications running on a desktop, i.e. a groupware toolkit. The goal of MetaWeb is to simplify the development and deployment of synchronous multi-user applications which can be used on the Web. MetaWeb is an extension of the BSCW software package which provides access to information about the activities of other Web users. This meta-information is represented by the abstractions of User, Location, and Session. A single User is represented by each application; a Session represents a dynamic group of users who can interact; and a Location is an abstraction of a place where people can meet and interact using application-specific tools. The relations among these abstractions describe the state of the MetaWeb object space wherein users visit locations, locations host sessions, and sessions contain users. MetaWeb includes an API whose functionality includes access to shared information, session management, application-specific message exchange, mechanisms for access control, and basic GUI components for collaborative sessions. The toolkit currently provides a chat tool and a shared whiteboard as demonstration tools.

A source code version of the MetaWeb package is available. It currently (7/97) is based on JDK 1.0.2 and will be updated for newer JDK releases. The package is documented in a collection of HTML documents.

[http://bscw.gmd.de/MetaWeb/]

 

meteorology software
Applicable packages include:

 

METIS
A set of programs for partitioning graphs and for producing fill reducing orderings for sparse matrices using a multilevel graph partitioning scheme. It provides high quality partitions, is fast, and produces low fill orderings. Such things are pragmatically used to create optimal finite element meshes. Some of the newer features (for version 2.0) include: a faster k-way partitioning algorithm which produces good partitions and is much faster than the algorithms used in earlier releases, the extension of the algorithms to handle non-power of 2 partitions, the provision of a stand-alone library to interface with the algorithms, the checking of input graph consistency during input, and better memory management. METIS is written in ANSI C and has been tested on IBM AIX, SGI IRIX, Sun Solaris and SunOS, and Cray UNICOS systems, although it is apparently portable to any system with the GNU C compiler. The documentation is contained within a user's guide in PostScript format. A parallel version called ParMETIS is also available.

[http://www.cs.umn.edu/~karypis/metis/metis.html]

 

MET++
An object-oriented application framework that supports the development of multimedia applications by providing reusable objects, i.e. widgets, for 2D graphics, user interface components, 3D graphics, audio and music. It manages the standard behavior of a multimedia application such as time synchronization and user interaction (e.g. file dialog, cut and paste, commands, etc.). MET++ is an extension to the ET++ Application Framework, an object-oriented class library that integrates interface building blocks, basic data structures, input/output, printing, and high-level application framework components. It supports user-interaction features such as direct manipulation, multi-undoable commands, and a flexible mechanism to compose visual objects with declarative layout specification and automatic object positioning via components like pop-up and pull-down menus, buttons, scroll-bars and more included as predefined classes. All of the rich and varied functionality of ET++ is inherited by MET++ applications.

The MET++ extensions to ET++ include 3D graphics routines realized with PEX, GL and OpenGL adapters. This framework provides objects for camera, light sources, material definitions, primitive 3D objects, polygons, and more, with 2D and 3D graphics integrated so they can be mixed in the same view. Building block classes for audio and music include intensity, pitch, tonalsystem, pitchscale, and more. Time synchronization is realized via temporal grouping elements such as loop, repeat, sequence, and synchronize. Import and exchange converters for many file formats are included as is a hypertext/hypermedia link mechanism.

Both ET++ and MET++ are C++ class libraries that can be compiled with almost any AT&T based C++ compiler or with GCC/C++. Although the ET++ library is highly portable amongst UNIX/X11 platforms, some of the advanced multimedia features of MET++ limit its portability to a subset of the platforms amenable to ET++. Documentation includes man pages and several technical reports in PostScript format. A book entitled Developing Object-Oriented Multimedia Software Based on the MET++ Application Framework is available, although it's presently (4/97) only available in German.

[http://www.ifi.unizh.ch/groups/mml/projects/met++/met++.html]

 

Mew
Messaging in the Emacs World is an Emacs interface to integrate email, news, MIME and PGP as well as to make it easy to view and compose with them. The features of Mew include: and more. Mew will run on sufficiently recent versions of both Emacs and Xemacs. [http://www.mew.org/]

 

MexCDF
A mex-file interface between NetCDF and Matlab which invokes the complete C language NetCDF interface. This allows Matlab users to read, write, and manipulate NetCDF data files in a general and efficient manner. [http://crusty.er.usgs.gov/mexcdf.html]

 

MEXX
The MEXanical systems eXtrapolation integrator is a package of numerical software for the integration of constrained mechanical multibody systems including dry friction, nonholonomic constraints, generalized velocities, and external dynamics. MEXX is suited for the direct integration of the equations of motion in descriptor form and is based on the extrapolation of a time stepping method that is explicit in the differential equations and linearly implicit in the nonlinear constraints. This requires the solution of only well-structured systems of linear equations with the computational burden growing linearly with the number of bodies. Position and velocity constraints are enforced throughout the integration, with acceleration constraints not needed. The solution method is an extrapolated half-explicit Euler method. It also has options for a continuous time solution representation and for the location of events such as impacts. A source code distribution of MEXX is available. It is written in Fortran 77 and documented in an ASCII file as well as via comment statements included in the source code files. This is part of CodeLib.

[ftp://elib.zib.de/pub/elib/codelib/mexx/]

 

m4
A GNU macro processor which is an implementation of a traditional UNIX macro processor. It is mostly SVR4 compatible although it has some extensions such as built-in functions for including named files, running shell commands, doing arithmetic, manipulating text in various ways, and recursion. It can be used either as a front-end to a compiler or as a stand-alone macro processor. It is perhaps most widely used by the GNU Autoconf utility which uses it for generating configure scripts, although it can be useful for many things. A source code distribution of m4 is available at the usual GNU sites. It is written in C and can be compiled and used on many platforms using the supplied configure script. It is documented in a user's manual available in Texinfo format.

[http://www.gnu.ai.mit.edu/order/ftp.html]
[http://sunsite.unc.edu/pub/Linux/utils/text/ ]

 

MG
The Managing Gigabytes system is a collection of programs which comprise a full-text retrieval system (i.e. one in which a database created out of some given documents can be queried to retrieve relevant documents). It is full-text in that every word in the text is indexed and the queries operate only on this index. This is a research prototype for managing multi-gigabyte archives. The source code to MG, written in C and Tcl/Tk , is available. The prior installation of the Tcl/Tk package is required to install and run this package. The MG system is fully documented in Witten et al. (1994) although some documentation can also be found on the Web site.

[http://www.kbs.citri.edu.au/mg/]

 

MGGHAT
MultiGrid Galerkin Hierarchical Adaptive Triangles is a Fortran program for the solution of second order linear elliptic partial differential equations with Direchlet, natural, or mixed boundary conditions on 2D polygonal domains (with and without holes). It uses a finite element method with linear, quadratic or cubic elements over triangles. The adaptive refinement via newest vertex bisection and the multigrid iteration are both based on a hierarchical basis formulation. Graphical display of results is also possible. The MGGHAT distribution includes the source code which is written in Fortran. This will compile on several UNIX platforms including Linux using either f2c or g77. Some routines from both LINPACK and BLAS are needed for compilation. The Tcl/tk package is also needed for interactive manipulation of graphics displayed using Gnuplot. A user's manual in PostScript format is included in the distribution.

[http://www.cerfacs.fr/~douglas/mgnet/Codes/mgghat/]

 

MGLAB
A tutorial multigrid program which solves elliptic boundary value problems in one dimension. The user can choose various multigrid cycles, transfer operators, smoothing methods, and nested iteration end defect corrections. Cell-centered and vertex-centered discretization and multigrid is included. The MGLAB source code, written in Fortran, is included in the distribution along with sample input and output files. Their is some documentation in the code although the primary documentation is contained in Wesseling (1992).

[http://www.cerfacs.fr/~douglas/mgnet/Codes/wesseling/]
[http://casper.cs.yale.edu/mgnet/www/mgnet/Codes/wesseling ]

 

MGTP/G
The Model Generation Theorem Prover/Ground version is a theorem prover for non-Horn clauses that deal with ground atoms. MGTP/G is a bottom-up theorem prover with several available options for efficient execution including clause indexing, elimination of redundant computation, and atom indexing. Useful frame work such as negation as failure and hypothesis reasoning can be easily implemented using MGTP/G. It is possible to obtain the same proof using different strategies and proof tracing and statistical data can be optionally displayed. A source code version of MGTP/G is available. It is written using the KL1 langauge and can be used on UNIX platforms on which KLIC is already installed. A user's manual is included in PostScript format.

[http://www.icot.or.jp/AITEC/IFS/IFS-abst/090.html]

 

MGUI
The Morello Graphic User Interface is a cross-platform graphical user interface written in ANSI C. It consists of a library and a code generation tool. The library contains the usual collection of GUI objects (widgets), e.g. menus, push buttons, editable fields, list, etc., and the MGUI Designer tool allows the user to create and maintain window layouts using the mouse. It can be used to develop multi-platform applications that do not require GUI porting across Windows 3.1, Windows 95, X Windows, and DOS BGI and DJGPP, thus decoupling the application code and the host system API. The features include total source level compatibility among all supported platforms, the same look and feel in all environments, compact source code, a manager object that automatically positions and resizes its children, a designing tool that generates C source code files that can be compiled in all supported environments, support for 16, 256, 32K and 64K colors under DOS BGI and up to 16 million in the other environments, text cut and paste capabilities, various drawing primitives (e.g. rectangles, circles, polylines, etc.), image drawing in up to 24 planes, and a log facility with a run-time user modifiable tracing level.

MGUI is available for several programming environments, including Linux with X11. The freely available package includes the MGUI library, the MGUI designer, documentation, examples and MEdit source code.

[http://www.volftp.vol.it/IT/IT/ITALIANI/MORELLO/
index_e.htm]

 

MH
A Message Handler for email which consists of a set of programs that can be used at the UNIX shell prompt. In addition to the basic functions provided by a user agent such as reading and sending mail, MH includes additional message handling capabilities such as mechanisms for organizing messages, tailoring its own behavior, and extending its functions. Advanced MH features include: draft folders which provide a method by which several message drafts can be simultaneously composed and maintained until sent; message selection wherein MH commands accept message sequence specifications to specify which messages are to be operated on; distribution lists which permit the efficient distribution of interest group messages on a single host to a group of hosts; encapsulation where some messages (such as digests) encapsulate other messages in their body; and more.

The source code for MH is in the public domain and can be installed on most generic UNIX systems. Binaries are available for many platforms. MH is usually accessed via some sort of interface program, e.g. exmh, mh-e, metamail, Qmh, etc. Quite a bit of documentation for MH is available in both PostScript and HTML format. The second URL below is a link to an online version of the now out-of-print book ``MH & xmh: Email for Users and Programmers.''

[http://www.ics.uci.edu/~mh/]
[http://www.ics.uci.edu/~mh/book/ ]

 

MHonArc
A Perl program for converting e-mail messages as specified in RFC-822 and the MIME standard to HTML. MHonArc can convert MH mail folders or UUCP/Unix style mailboxes into an HTML mail archive, add or remove messages to an existing HTML mail archive, and convert a single message to HTML. MHonArc also provides: a main customizable index for all mail messages archived, a customizable thread index listing messages by thread, control over message formatting, and the ability to hook in your own custom message filters. More recent (i.e. V2.0) features include support for message header extensions for non-ASCII text, multi-page index generation, subject-based threading in done in conjunction with explicit threading, author-based sorting, support for Content-Length fields, and many more customization features.

MHonArc should be usable on any platform for which a Perl distribution exists. Documentation is available online in HTML format or as part of the distribution. A FAQ is also available.

[http://www.oac.uci.edu/indiv/ehood/mhonarc.doc.html]

 

Mica
An object-oriented 2-D graphics framework created using Java with the goal of supporting the implementation and intermingling of graphing editors, drawing editors, and user interfaces. Mica provides extensive support for display lists, event handling, action dispatching, coordinate transforms, and connectivity to meet this goal. All parts derive from a richly featured base class to make it easy for a programmer to add functionality. The features of Mica include: and much more.

Mica comes with several pre-built applications including:

A source code distribution of Mica is available. It requires JDK 1.0.2 or better and will run on all JDK-supported platforms. It is documented in a white paper and an overview, both available in PDF format. The source is also documented in the usual way for Java programs.

[http://www.swfm.com/mica.htm]

 

MICO
MICO Is CORBA is a project to provide a freely available and complete CORBA 2.0 implementation. The features of version 2.0.6 (5/98) include:

A source code distribution of MICO is available. It is written in C++ and can be compiled with egcs 1.0 or GCC 2.7.2 and 2.8.1. It has been succesfully compiled on Linux Intel platforms. It is documented in a manual available in PostScript format.

[http://www.vsb.informatik.uni-frankfurt.de/~mico/]

 
tclmico
A Tcl interface to MICO. It provides CORBA client functionality to Tcl scripts and allows you to invoke any methods of any CORBA object in a typesafe manner. An interface to DSI allows you to implement servants in Tcl. The capability of reading, writing and manipulating and IR allows the creation of new interfaces or dynamic data types on the fly. [http://www.informatik.uni-frankfurt.de/~fp/Tcl/tclmico/]

 

MIDAS
A multichannel digital sound and music system designed for use with games, demos and other real-time multimedia applications. The support sound formats include: The supported module formats are:

MIDAS supports several platforms including Linux with GNU C/C++. It accesses the sound hardware through the system sound drivers and thus works with any supported sound card.

[http://www.s2.org/midas/]

 

MidCom
A file manager and visual shell for Unix systems. It provides a clear, user-friendly, and somewhat protected interface to a UNIX system while making many frequent file operations more efficient and preserving the full power of the command prompt. It uses GNU autoconfigure and will install on most UNIX systems, including Linux. [ftp://ftp.nuclecu.unam.mx/linux/local/]

 

MIDI
The Musical Instrument Digital Interface is a standard hardware and software protocol for allowing musical instruments to communicate with each other. Events sent over a MIDI bus can also be stored as MIDI files for editing or playback. Some sound cards provide a MIDI interface, but even those that don't can usually play MIDI files using the on-board capabilities of the sound card. MIDI-compatible packages available for Linux include: Cecilia, CM, Csound, JAZZ, Midi2Cs, Rosegarden, Tclmidi, and TiMidity. See Young (1996).

[http://www.digiserve.com/ar/linux-snd/]
[http://www.bright.net/~dlphilp/linux_soundapps.html ]

 

midikb
A program that reads input from a standard computer keyboard as if it were a synthesizer keyboard and sends MIDI events to programs or files or devices. This can be used with the Csound package. A source code distribution is available. It was developed on a Linux Intel system. [http://www.sdf.se/~simon/midikb.html]

 

Midi2Cs
A program which converts a MIDI file to a Csound score and orchestra. It also works with WAV and AIFF files. Csound files can be taken as input to provide synthesizing. The combination of Midi2Cs and Csound enables the creation of audio tracks of MIDI files directly on a hard disk without the need for external samplers. Midi2Cs is available as an executable for MS-DOS, Linux Intel, Sun SunOS, SGI IRIX, and NeXT platforms. The documentation is available in both PDF and ASCII text formats and includes a FAQ, a tutorial, and a manual.

[http://www.snafu.de/~rubo/songlab/midi2cs/]

 

Midnight Commander
A freely available clone of Norton Commander, a directory browsing tool with many features. The features include: a built-in virtual file system in which one can manipulate remote files via FTP or MC's own MCFS protocol; the capability of using all of the MC operations with the virtual file system which enables the performance of complex tasks; mouse support on the Linux console and on xterm; run-time configuration to support any kind of input keys for a given terminal; text and hex editors; a hotlist capability; command completion; subshell support to enable the running of commands in a real shell; a find file command which can search inside the contents of files; background operations which allow the copying or moving of files while other tasks are performed; Linux file recovery for recovering deleted files from an ext2fs partition; the availability of context dependent actions; a powerful built-in file viewer; and more. A source code distribution of Midnight Commander is available. It can be compiled and installed on a range of platforms via the supplied autoconf scripts. It is documented via a man page.

[http://www.gnu.ai.mit.edu/order/ftp.html]

 

Midnight Modeller
A GUI based interface for the POV 2.x raytracer. It features an ACAD style interface and supports complex surface creations, nested CSGs, layers, import/export of DXF and RAW files, shaded previews, nearly full control over the pOV textures, interactive panning/rotating/zooming and more. [http://www.directnet.com/~dtaylor/midnight.htm]

 

MIEPACK
A collection of Fortran 77 programs, subroutines, and functions for performing various tasks in electromagnetic scattering theory. The programs are divided in numerical functions, special functions in spherical coordinates, Mie theory functions, and test programs. The numerical function included is adaptIntVec, an integration routine based on Simpson's rule with adaptive step-size control. The special functions are further divided in radial functions and angular functions. The radial functions include: bessel, which calculates the spherical Bessel functions by backward recurrence; neumann, which calculates spherical Neumann functions; hankell, which calculates spherical Hankel functions of the first kind and spherical Bessel functions; and sphbesc and sphbesr, which computes spherical Bessel and Neumann functions with complex arguments. The angular functions are: legendre, which calculates legendre polynomials; sphHarm, which calculates single spherical harmonic; calcYlm, which calculates spherical harmonics; calcPiTau and piTau1, which calculate various angular functions; and calcVecYlm, which calculates vector spherical harmonics; calcMNeo and calcMNlm, and calc1MNlm, which calculate various vector functions. The Mie theory programs include: The test programs are:

A source code distribution of all of the programs in MIEPACK is avaiable. All routines are written in Fortran 77 and documented via comment statements contained within the source code files.

[http://www.uni-jena.de/~phb/Programs/program.html]

 

MIEV
A Fortran 77 computer code which calculates the quantities involved in electromagnetic scattering from a homogeneous sphere. These quantities include: scattering and extinction efficiencies; the asymmetry factor; forward- and back-scatter amplitudes; scattering amplitudes versus scattering angle for incident polarization parallel and perpendicular to the plane of scattering; coefficients in the Legendre polynomial expansions of either the unpolarized phase function or the polarized phase matrix; various quantities needed in polarized radiative transfer; and information about whether or not a resonance has been hit. A source code distribution of MIEV is available. It is written in Fortran 77 and is documented in a technical report available separately at the same site. A program called MVTst which exhaustively tests the code is also available. See Wiscombe (1980).

[ftp://climate.gsfc.nasa.gov/pub/wiscombe/Single_Scatt/Mie_Code/]

 

MiMaze
The Multicast Internet Maze is a multiplayer game with a distributed architecture that uses the MBone network. MiMaze is a research project to study the transmission control mechanisms needed to make it possible to play a real-time multiplayer game on the Internet. The components of the completely distributed communication architecture based on IP multicast include a communication system based on RTP/UDP/IP and distributed synchronization mechanisms to guarantee the consistency of the game independent of network delay. The features of MiMaze include:

Distributions of MiMaze are available for Sun SunOS and Solaris, Linux Intel, FreeBSD Intel, SGI Irix, and DEC Alpha OSF platforms. Various documentation is available including some technical reports in PostScript format.

[http://www.inria.fr/rodeo/MiMaze/]

 

MIME
The Multi-purpose Internet Mail Extensions is a freely available set of specifications which offers a way to interchange text in languages with different character sets as well as multimedia e-mail among many different computer systems that use Internet mail. MIME allows e-mail messages to contain: character sets other than US-ASCII, enriched text, images, sounds, other messages (reliably encapsulated), tar files, PostScript, pointers to FTP-able files, and more. It supports several pre-defined types of non-textual message contents and also permits you to define your own types of message parts. Some MIME applications include mpack, MetaMail, emil, exmh, AUIS, and MIME++. See also Chemical MIME . [http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html]

 

MIME++
A C++ class library for parsing, creating, and modifying messages in MIME format. MIME++ is designed to greatly reduce the amount of programming effort needed to create e-mail, Usenet or HTTP applications. The features of MIME++ include: an intuitive object-oriented architecture; a design which permits user customization or extension via inheritance; class names taken directly from the BNF grammars given in RFC-822 and RFC-1521; support for all MIME types and subtypes documented in RFC-1521 including multipart, message, and application types; support for quoted-printable and base64 content transfer encodings (with support for uuenconde, binhex and other formats coming soon); and the provision of high-level, wrapper classes called Message, MultipartMessage, and MessageWithAttachments which are especially easy to use and serve as examples for using the library.

MIME++ is available as source code and is written using the most portable features of C++, and should thus compile on nearly all compilers including g++. Tested platforms include Sun Solaris and SunOS, Dec Digital UNIX, Linux Intel, SGI IRIX, and DOS and Windows 3.1. The documentation is contained within man pages which are also available in HTML format.

[http://www.hunnysoft.com/mimepp/]
[http://sunsite.unc.edu/pub/Linux/devel/lang/c++/ ]

 

MindsEye
A project to create a complete modeling and animation package for the Linux operating system. It also aims to combine the functionality of several other freely available, scattered packages for performing various 3-D graphics functions. The features include:

A source code distribution of MindsEye is available. Compilation requires the installation of some other libraries including Qt, Mesa and Nurbs. Binaries are also available for several platforms including Linux Intel. There is a growing (although still incomplete) collection of documentation including a user's guide and a programmer's guide.

[http://www.ptf.hro.nl/free-d/]

 

Mindy
Mindy Is Not Dylan Yet is an implementation of a language very much like the language that is called Dylan. The name is derived from the recursive Dylan is an object-oriented language being developed at Apple, more about which can be gleaned at the Dylan Web site . Mindy comprises two C programs, a compiler that produces byte-codes and a byte-code interpreter, and has been built and run on a variety of platforms including Linux. It is a research tool and is not meant to be an industrial-strength implementation of Dylan. [http://legend.gwydion.cs.cmu.edu/gwydion/]  
Mingw32
The Minimalist GNU Win32 package is a version of the GNU-Win32 Project which allows the use of GCC on Win32 platforms like Windows NT/95 to compile native programs. Native programs are those which don't require extra DLLs like the Cygwin DLL but rather use CRTDLL.DLL to provide C run-time library functions, the latter of which is supplied with all current Win32 platforms. Programs compiled this way are smaller and easier to distribute. [http://www.fu.is.saga-u.ac.jp/~colin/gcc.html]

 

miniLZO
A lightweight version of the LZO real-time data compression library. It is intended for small applications that require some data compression but don't need the entire LZO package. It compiles to about 6 KB with the sources being around 14 KB. [http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html]

 

Ministry of Truth
A Web-based job, equipment and software tracking system built on top of Apache, PHP and MySQL. It can be used, for example, by a support department to keep track of its support calls while simultaneously maintaining change logs for all machines and software packages. [http://tomato.nvgc.vt.edu/~hroberts/mot/]

 

MiniVend
A full-featured electronic catalog system (i.e. shopping cart) that can be set up with multiple catalogs and as a mall. The features of MiniVend include:

The source code for MiniVend is available under the GPL. It is written in Perl and requires version 5.004 (although it may also work with 5.003 and 5.002 with slight modifications). It is documented in a set of HTML files included in the distribution.

[http://www.minivend.com/minivend/]

 

MINOS
A general purpose package of algorithms for constrained optimization. This general purpose optimizer is designed to find locally optimal solutions for models involving smooth nonlinear functions (in the objective or the contraints). The gradients required for the nonlinear functions can either be supplied by the user or are automatically estimated via finite differences by the package. MINOS is especially good if the number of constraints and variables number in the thousands. It is also recommended for more moderately sized problems where the constraints are linear and at least to some extent sparse, there are no constraints, the constraints are just bounds on the variables, or most of the constraints are linear and the rest nearly linear. MINOS is available in executable form for DOS and Linux systems. It was originally developed at the Systems Optimization Laboratory ] (SOL) at Stanford, where more details can be found. The source code, written in Fortran, can also be purchased from SOL along with the official user's manuals. Further information about optimization can be found at the NEOS Guide Optimization Tree and the Mathematical Programming Glossary . [http://www-math.cudenver.edu/~hgreenbe/consortium/linuxfiles/]  
MINPACK-2
A package for the solution of systems of nonlinear equations, nonlinear least squares problems, and minimization problems. A Levenberg-Marquardt method for nonlinear least squares and a trust region Newton method for minimization problems are available, and both suitable for the solution of medium-scale problems on vector and shared-memory architectures. A version of the latter method as well as a variable-storage variable metric method are available for larger scale problems. Future work is planned on algorithsm for distributed memory architectures. BLAS and LAPACK routines are used wherever possible to enhance performance on the widest variety of architectures. MINPACK-2 features include: The package also includes a large test problem collection including problems dealing with: flow in a channel, swirling flow between disks, incompressible elastic rods, solid fuel ignition, flow in a driven cavity, a human heart dipole, exponential data fitting, Gaussian data fitting, Chebychev quadrature, elastic-plastic torsion, and much more.

The distribution includes all the source code, written in Fortran, and some PostScript documents describing the package and the test problem collection. All of the BLAS and LAPACK routines needed by the package are included in the distribution. An earlier version of this package called MINPACK-1 is also still available.

[ftp://info.mcs.anl.gov/pub/MINPACK-2/]

 

MIRIAD
The Multichannel Image Reconstruction, Image Analysis and Display package is a toolbox in the form of an environment containing a large set of moderate sized programs which perform various individual tasks involving the calibration, mapping, deconvolution, and image analysis of interferometric data. Examples of the over 200 tools or tasks contained in the MIRIAD package include:

A source code distribution of MIRIAD is available. It is written mostly in Fortran 77 with some lower level I/O routines written in C. Is has been ported to several platforms including Intel Linux. A large amount of documentation is available including a user's guide, a reference manual, a cookbook and much more. All are available in PostScript format.

[http://bima.astro.umd.edu/bima/miriad/]

 

Mirror
A program designed to duplicate a directory hierarchy between two machines. Mirror avoids copying files unnecessarily by comparing the file time stamps and file sizes before transferring. It is written in Perl. [http://sunsite.doc.ic.ac.uk/packages/mirror/]

 

mirrordir
A program that mirrors a directory tree in every detail including devices, ownerships, permissions, symlinks, hardlinks and access times. It can also be used to create backup files before deleting and store multiple revisions through any number of levels. It works over FTP and MCFS. A source code distribution is available. It is documented in a man page. [ftp://lava.obsidian.co.za/pub/linux/mirrordir/]
[http://sunsite.unc.edu/pub/Linux/system/backup/ ]

 

MISCFUN
A software package to compute uncommon special functions such as Abramowitz, Airy, Bessel integrals, Debye, Struve, synchrotron radiation, transport integral, inverse-tangent integral, Clausen integral, Lobachevski integral, and Stromgren integral. The documentation is contained within an article in TOMS (Transactions on Mathematical Software), Vol. 22, 1996, p. 288. This is TOMS Algorithm No. 757. [http://www.netlib.org/toms/index.html]

 

MIT Scheme
This run-time Scheme system is probably the most widely used Scheme distribution and includes a compiler (Liar) and an Emacs-like editor (Edwin). [http://www-swiss.ai.mit.edu/scheme-home.html]

 

Mixmaster
An anonymous remailer, i.e. a mailer which allows you to send e-mail to a Usenet news group or a person without the recipient knowing your name or your e-mail address. Mixmaster uses a special message format for which you need a special program to make messages, i.e. a client. Once you have used the client to create a message you simply tell it which remailers to use. The remailer software is also available should you want to run one. The Mixmaster client software is available as source code. It can be compiled and used on all UNIX platforms except DEC Alpha. The program is documented in the package. Additional information about anonymous remailing is available at the site.

[http://www.obscura.com/~loki/]

 

MiXViews
A tool for editing, processing and analyzing digitized sounds and other forms of binary data. It is built upon the InterViews library and runs with the X Window environment. It is based on the MVC (Model-View-Controller) paradigm of object-oriented programming in that every chunk of data being edited is represented in the program as a type of object called a model with which the user interacts using another object called a view. The view shows the model data in some format, e.g. a graph. The third object, the controller, coordinates communication between the model and its views and is invisible to the user. Several menus are available in MiXViews depending on the type of data being editing. Menu types include: a view menu which contains all the commands relating to the visual display of the data (e.g. new views, zooming, reset vertical scale, etc.); a file menu with which files can be opened, closed, saved, etc.; an edit menu which allows the user to insert points, erase regions, add regions, splice, mix, crossfade, etc.; a sound modification menu which allows the user to apply envelopes, reverse selections in time, transpose, time shift, filter, normalize add delay or DC offset, etc.); a filter submenu which features low, resonant, comb, and elliptical filters; and several other menus for specific data types.

The source code for MiXViews is available as are binary versions for NeXT, Sun SunOS and Solaris, SGI IRIX, and Linux Intel (ELF) platforms. It can be straightforwardly ported to other UNIX platforms for which the InterViews library is available. The current user's manual is available in ASCII text format.

[http://www.create.ucsb.edu/~doug/htmls/MiXViews.html]

 

mkisofs
A pre-mastering program to generate the ISO-9660 filesystem, i.e. it takes a snapshot of a given directory tree and generates a binary image which will correspond to an ISO-9660 filesystem when written to a block device. It can also generate the System Use Sharing Protocol (SUSP) records specified by the Rock Ridge Interchange Protocol (RRIP) which are used to further describe the files in the ISO-9660 filesystem to a UNIX host. These records supply such information as longer filenames, uid/gid, POSIX permissions, and block and character devices. Mkisofs is not designed to communicate directly with a CD-ROM writer. Another program such as cdwrite must be used to do this. A source code distribution of mkisofs is available. It is written in C and can be compiled and installed on most UNIX flavors using the supplied configure file. It is documented in a man page.

[ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/]

 

MkLinux
A project to develop a Linux server that runs on top of the OSF Microkernel, i.e. a combination of Mach and Linux. The Microkernel adds improved support for real-time, symmetric multi-processing, scalability to clusters and MPP machines, and modular OS design. There are currently (5/96) versions for Intel x86 and Apple PowerMac platforms. [http://www.gr.osf.org/mklinux]

 

ML (language)
Meta-Language is a family of advanced programming languages with (usually) functional control structures, strict semantics, a strict polymorphic type system, and parameterized modules. Implementations of ML include Bigloo, ML Kit, Moscow ML, Objective Caml, Standard ML, and various other slightly more obscure research languages. See Appel (1997), Cousineau and Mauny (1997), Milner and Tofte (1991), Milner et al. (1900), Reppy (1996), and Wikstrom (1992). [ftp://pop.cs.cmu.edu:/usr/rowan/sml-archive/faq.txt]

 

ML (mail program)
A mail program and message processing system designed around the IMAP mail protocol, although it can also be used in many other modes and access messages via POP3, NNTP or local file-based mailboxes. ML uses a concept called logical views which greatly simplifies the handling of large collections of messages. A logical view is a representation of a mailbox distinct from the mailbox itself. It is created by a filter which defines the messages it contains. A view has the appearance of a normal mailbox but contains only those messages matching the filter rules. The features of ML include:

ML is available as source code or as a binary for Linux Intel (ELF and a.out), Sun Solaris and SunOS, and SGI IRIX platforms. The source code can be built on generic UNIX platforms with X11R4 or greater, Motif 1.2 or greater, and an IMAP4 server (which is supplied with all source code and binary distributions). An extensive user's manual is available in both HTML and PostScript formats.

[http://camis.Stanford.EDU/projects/imap/ml/]

 

ML Kit
The ML Kit with Regions is a compiler for Standard ML intended for use in the development of stand-alone applications which must be reliable, fast, and space efficient. The main feature of the Kit is that it uses a stack of regions for memory management rather than traditional garbage collection techniques. This consequences of this include: compile-time garbage collection where all memory allocation directives are inferred by the compiler; the safety of deallocation of memory is ensured by the compiler; static detection of space leaks; the possibility of giving explicit directives about the resetting of regions in cases where the static analyses are too conservative; real-time programming in software since there are no interruptions of unbounded duration at runtime; and the capability of calling C functions using standard C calling conventions during runtime, with the region scheme also taking care of memory allocation and deallocation for these. A source code distribution of the ML Kit is available which contains the compiler, the runtime system, and the region profiler. The Kit has code generators for ANSI C and for HP PA-RISC code. The compiler is a batch compiler with a text-based menu system. The source code can be built on UNIX platforms which have available both SML/NJ and the Edinburgh Library. A user's guide, a guide to programming with regions, and several technical reports are available in PostScript format.

[http://www.diku.dk/research-groups/topps/activities/mlkit.html]

 

M-Map
A collection of Matlab programs (m-files) which allow the creation of publication quality maps of geophysical fields in 13 different projections. It includes a simple coastline and elevation database and allows the addition of data to the maps by the user. It also contains a grid generation routine to create axes in either lat/lon or planar X/Y terms. The projections available are Stereographic, Orthographic, Azimuthal Equal-Area and Equidistant, Gnomonic, Albers Equal-Area Conic, Lambert Conformal Conic, Mercator, Miller Cylindrical, Equidistant Cylindrical, Oblique and Transverse Mercator, and Sinusoidal. These programs can be used either with Matlab or with the freely available Octave package which can run most Matlab m-files.

[http://www.ocgy.ubc.ca/~rich/map.html]

 

MMDF
The Multi-Channel Memo Distribution Facility is a sophisticated mail transport agent (MTA) for UNIX systems. It is a unified family of mail handling programs which supports a variety of user interfaces and delivery mechanisms. MMDF was designed to grow from a single host system to a large mail relay with degradation of performance and to degrade gracefully as the load becomes huge. It has separate processes for mail submission and delivery. MMDF was originally developed and released at the University of Delaware in 1980 and was significantly developed after that at the Ballistic Research Laboratory and University College London. [http://sunsite.unc.edu/pub/Linux/system/mail/mta/]

 

MME
The MultiMedia Extension is a package featuring a C++ class hierarchy and development tools to compose multimedia applications and multimedia user interfaces in a quick and easy way. MME offers a hierarchy of object classes to encapsulate access to different media formats, types, and retreival mechanisms. It also includes classes providing temporal relations between media objects like sequences and continuous synchronity. General multimedia applications can be constructed using these classes. The features of MME include: modeling of various media types, e.g. text, audio, images, and video; encapsulation of distributed media access and control, e.g. cameras, VCRs, and access to window and file systems; the explicit modeling of time in a time model and of spatial and temporal relations between media objects based on the time model; implementation in C++ for easy extensibility and flexible use; and an interactive design tool called MIB (Multimedia Interface Builder).

The source code for MME is available. It is written in C++ and can be compiled using g++. The MME documentation is in German but is in the process of being translated to English. The version of MME on the FTP site is a bit outdated. The author must be contacted for a more recent version.

[http://zgdv.igd.fhg.de/www/zgdv-uig/software/MME/]

 

MMediator
The Mnemonic Mediator is a planned (2/98) powerful and portable groupware framework to be implemented as a spin-off to the Mnemonic web browser project as part of the GNOME desktop project. The features will include a complete groupware environment, integrated web browser and mail/news user agents, shared document repository, collaborative trouble ticket management, a knowledge database, and support for individual and relay chat protocols. The features of the planned MMediator architecture include: an extensible client/server architecture, on-demand loading of front-end modules, encryption of all network traffic, object-oriented architeture and APIs, support for CORBA and FastCGI distributed agents, support for server data replication and mobile clients, a user interface that supports groupware metaphors, core functionality that can also be accessed via command line mode, and based exclusively on open source code software. Check the site for updates.

[http://mediator.cs.uni-bonn.de/mediator/]

 

MM5
The PSU/NCAR Mesocale Model 5 is a limited-area, hydrostatic or nonhydrostatic, sigma-coordinate model designed to simulate or predict mesoscale and regional-scale atmospheric circulation. It was originally developed on and only ran on Cray supercomputers, but parts have recently been ported to workstation platforms. The system consists of a main simulation code MM5 and several ancillary data preparation and analysis programs, all written in Fortran. The main MM5 code has been ported to workstations as has the INTERP program for vertically interpolating data from pressure levels to the model's sigma-coordinate system and the GRAPH program for displaying output form each of the other components. The programs which haven't yet (7/97) been ported are: TERRAIN, which defines the model domain and map projection and generates terrain and land-use category data on model grids;; DATAGRID, which generates first-guess fields on model grids from a large-scale model dataset and calculates map-scale factors and Coriolis paramters for the model; and RAWINS, which performs objective analysis and blends first-guess fields with radiosonde and surface observations. The MM5 model can use polar stereographic, Lambert conformal, and Mercator projections and supports different true latitudes. It can be configured to run from global scale down to cloud scale in one model via nesting. It has two nesting modes: a multiple nests and moving nests mode and a mode in which a fine-mesh model is driven by a coarse-mesh model. It uses routine observations for input and can also incorporate special observations, and can be coupled with other global or regional models to use their output as a first guess for objective analysis or as lateral boundary conditions. It has a four-dimensional data assimilation system based on nudging as well as an adjoint model (under development). The physics options include six cumulus parameterization schemes, six resolvable-scale microphysics schemes, four planetary boundary layer process parameterizations, four surface layer process parameterizations, and three atmospheric radiation schemes.

The source code for all of the components of MM5 is available. It is written in Fortran 77 with some Cray-specific constructs in the codes that haven't yet been ported to workstation platforms. I haven't yet attempted to compile the appropriate parts using g77, but it's on the agenda. A massive amount of documentation is available in PostScript format.

[http://www.mmm.ucar.edu/mm5/overview.html]

 

MMM
A Web browser written in Caml Special Light that uses Tcl/Tk for the user interface. The features include support for HTML2.0 level 2 (including forms), multiple windows, applets (like those in Java) written in the Caml Special Light language, display of HTML parsing errors, pseudo-CGI support, and more. There are Linux ports for both this and the language in which it's written. [http://pauillac.inria.fr/~rouaix/mmm/]

 

MMS
The Manufacturing Message Specification is an OSI application layer protocol designed for the remote control and monitoring of industrial devices. MMS is a set of services that allow the remote manipulation of variables, programs, semaphores, events, journals, terminals, and more. The only known (7/98) freely available implementation of MMS is written in Ada and can be located at the given URL. [http://litwww.epfl.ch/MMS/mms_main.htm]

 

MMTK
The Molecular Modelling ToolKit is a program library for molecular modelling applications. Its goal is to provide researchers with a code basis that can be easily extended and modified to deal with standard and non-standard problems in molecular modelling. MMTK is based on an object-oriented model of molecular systems which consist of molecules, complexes, and atoms, all of which are defined in a central database of definition files. For example, a molecule is defined in terms of atoms, functional groups, bonds, force field parameters, etc. It is possible to introduce specialized versions of these objects, e.g. MMTK already has special support for proteins which can be handled in terms of peptide chains, residues, sidechains, etc. MMTK is developed using the Python language and consists mostly of a collection of Python modules with a few time-critical parts written in C. The operations currently (10/97) implemented in MMTK include: construction of molecular systems with special support for proteins, standard geometric operations on coordinates, rigid-body fits, visualization using external PDB and VRML viewers, animation of dynamics trajectories and normal modes, the AMBER 94 force field, energy minimization, molecular dynamics, and normal mode calculation.

A source code distribution of MMTK is available either as an extension to an already installed Python distribution or as an extended Python distribution containing all necessary components. The documentation includes a user's guide and a developer's guide.

[http://starship.skyport.net/crew/hinsen/mmtk.html]

A / B / C / D / E / F / G / H / I / J / K / L / M / N / O / P / Q / R / S / T / U / V / W / X / Y / Z
next up previous contents
Next: Mn-Mz Up: Linux Software Encyclopedia Previous: Ln-Lz
Steven K. Baum
7/16/1998