Complete Text of December 2003 Orange Bytes O-Matrix Review

Need a program dedicated to matrix manipulation for doing work in Kalman filters, digital filter design, signal processing, or even equity investment? If so, The O-Matrix program is just what you needed.

O-Matrix has an integrated user environment for matrix math modeling and analysis, including a programming debugger. The O-Matrix language is specifically designed to process very large matrices. It facilitates rapid array processing.

Most O-Matrix functions are designed to operate at a factor of four or more faster than hand coded C++ code as well as other dedicated matrix analysis programs. On the website at http://www.sciencesoft.co.jp/Software/O-MATRIX/bench.html a Japanese company named Sciencesoft presents their evaluation of O-Matrix against Matlab, another popular matrix manipulation program. The results were as follows:

Beyond being faster, O-Matrix has an even more significant feature. It can run Matlab programs as well as its own O-Matrix unique programs. Only minor code changes are necessary to achieve Matlab program results using O-Matrix. Either of the two program modes, O-Matrix or Matlab, can be selected by the user. In addition to Matlab, O-Matrix has interface programs for transferring and receiving data from Mathematica and Microsoft Excel, two other high performance mathematical analysis programs.

O-Matrix consists of three windows that can be tiled or cascaded on the screen: The windows are: Command, Debugger, and Graphic. A command bar across the top of the screen permits immediate execution of commands. All numerical results appear in the Command window while related graphics appearing in the Graphics window and mistakes in the Debugger window. Blank editing sheets can also be selected for entering lines of code which can be edited, spell checked, etc., and executed.

The rudiments of the O-Matrix programming language are reminiscent of the Basic language. But O-Matrix includes numerous matrix dedicated operations such as determinant calculation, as well as matrix inversion, transposition, multiplication, division, addition, subtraction, exponentiation. Even fast Fourier transformations of complex number arrays are provided for. Additional functions involve linear algebra, curve fitting, numerical derivatives, and user-defined functions. Two O-Matrix unique programming concepts are "coercion" and "block". Coercion refers to the upward conversion of all complex, real, double sized real, and integer numbers in an equation to a common numerical format before any mathematics operations are conducted. “Block” allows forming multi-line code sequences within the two terms “begin” and ”end” in such as FOR or IF statements.

Eight categories of functions exist: algebraic; transcendental; matrix types; special and sparse matrices; text conversion; searching and sorting; and conditional testing. There are over 240 dedicated functions covering math, filing, plotting, etc.

The O-Matrix program is especially useful for Kalman filter analysis including both linear and nonlinear type filters. Rapid Kalman filter design and analysis is facilitated with a unique dedicated Graphical User Interface, making the work much simplified with little or no code programming required. O-Matrix is equally applicable for the design and analysis of digital filters including Butterworth and Chebyshev designs. It can be used for time series analysis, Monte Carlo simulation, equation optimization, numerical differentiation and integration, as well as data interpolation and smoothing.

There are a number of dedicated add-ons for O-Matrix such as: a Signal Processing Toolbox; a Data Access Toolbox; E-Link for Excel; Mathlink for interfacing with Mathematica, a Kalman Filter Design Studio; and a standalone Equity Analysis System. Interfacing with ODBC programs using SQL is also possible. A Developer’s Kit for royalty free stand-alone O-Matrix programs is available as well.

Unfortunately, there is no printed user manual to clarify program peculiar quirks or to show function examples for beginning users. Likewise, no third party books on O-Matrix seem to be readily available. However, an O-Matrix newsgroup has just been initiated on Yahoo at http://groups.yahoo.com/group/omatrix/.

O-Matrix currently is in use by over 125 universities and medical schools in nations ranging from the Czech Republic to Japan. Likewise, almost fifty companies are using O-Matrix, including my old employer, Boeing. The companies include the fields of aerospace, electronics, heavy machinery, chemicals, forest products, insurance, and government.

Price alone should be a very strong argument in favor of O-Matrix. Competitive programs such as Matlab ($1,900), Maple ($1,795) and Mathematica ($1,880) are many hundreds of dollars more in price. O-Matrix is normally sold at $265, but recently was offered at just $85. Commercial site licenses are available as well as special prices for academic use.

For a reasonably priced matrix analysis program O-Matrix is certainly the top choice. I would recommend it for not just practicing scientists, engineers, and mathematicians, but also college students in the same fields. The Kalman filter GUI should be especially helpful in designing inertial guidance systems for vehicles of all types. An O-Matrix Light version is available at http://www.omatrix.com. On the website go to “Products” and “Free O-Matrix Trial” for a free thirty-day copy of O-Matrix Light that includes examples of the application of O-Matrix.

The evaluation of O-Matrix was conducted with a 2.5 GHz CPU PC having 512 MBs Ram, a 40 GB Hard disk, and a cable Internet modem.

Bill Allen, NOCCC

Company |  Products |  Showcase |  Support |  Ordering
Copyright© 1994-2009 Harmonic Software Inc. - All rights reserved.