Why Users are Choosing O-Matrix
O-Matrix can run MATLAB® scripts, (m-files)
significantly faster than MATLAB and
provides many features and capabilities not found in
other high-level interactive matrix languages.
O-Matrix was designed from the ground up to provide the
performance and flexibility of compiled languages while providing the
ease of use of interactive, interpreted environments.
"An attractive alternative to MATLAB and GAUSS"
- Physics World
- O-Matrix runs your m-files
O-Matrix was implemented using highly-optimized, hand-tuned C,
FORTRAN, and Assembler functions.
O-Matrix has a low memory footprint. While idle, the program uses
about 7MB, Matlab uses over 60MB.
O-Matrix starts up quickly. On a 2GhZ Pentium 4,
O-Matrix starts up, with the prompt available in less than
1 second. Matlab takes close to 5 seconds.
- O-Matrix uses memory much more efficiently than Matlab
and most interpreted environments. An application run in O-Matrix
typically requires a small fraction of the memory required by Matlab and
long running applications do not produce the chewing up of memory
which is often witnessed in Matlab.
- O-Matrix supports two languages: mlmode, which is compatible with
the Mathworks' Matlab4 product, and O-Matrix which provides many
language constructs and capabilities not available in the Matlab language.
- O-Matrix supports multiple data types.
Matrices may be character (byte), logical,
integer, single-precision, double-precision, or complex double-precision.
Multiple data types increases the efficiency of how programs use memory,
increase execution performance, and allow more control of numerical accuracy.
- DLLs are more efficient than MEX files. O-Matrix can link user-defined
C, C++, or FORTRAN functions using Windows DLLs which provides execution
efficiency that is comparable to built-in functions.
- O-Matrix provides COM/Automation client functions that
are easier to use and provide much more efficient transfer of data and
commands to and from other applications.
- Variables may be defined as constants which allows arguments to functions to
be passed by value, and can prevent selected variables from being changed.
- Functions can be passed as arguments to user-defined subroutines.
- "goto" statements are supported for versatile program flow control.
- Function M-files may contain more than one function, and the names
of functions do not have to match the filename.
- The GUI development functions in O-Matrix are simpler
to use for the rapid development of user-interfaces.
- O-Matrix is designed to be more easily and efficiently used
as a computation engine for other applications. The O-Matrix
process starts very quickly and can be easily configured to run as
a background computation process for front-end programs written with other
tools such as Visual Basic, VBA, C++, or C#.
- MATLAB costs too much! O-Matrix is a
fraction of the cost
of most technical computing solutions and comes with professional, responsive
- Harmonic Software provides affordable and flexible licensing for
distributing your solutions and applications. In addition to reasonably
priced single copy licenses for your end users, you can use the
O-Matrix Development Kit
to distribute your applications without requiring your end users
to have an O-Matrix license and without paying recurring
"The O-Matrix ability to link end user created DLL files enables us to
maintain compatibility with the code we already have, and enables accessibility
to external hardware devices. This approach proved to be significantly
easier than the Matlab MEX facilities."
- Hiroshi Nishimura, Lawrence Berkeley National Laboratory