The Integrated Technical Computing
Environment
What is O-Matrix?
O-Matrix is a high-performance, matrix oriented language and integrated
environment for analyzing data, creating simulations, visualizing results, and
building turnkey scientific and engineering computing solutions. The O-Matrix
language includes a broad range of mathematical, statistical, engineering,
plotting, and user-interface building functions for solving a broad range of
technical computing problems.
O-Matrix enables you to solve technical analysis
and simulation problems faster than with traditional programming languages such
as C++ and FORTRAN, and provides performance that far exceeds other integrated
math and engineering software tools.
O-Matrix Performance
O-Matrix has been designed from the ground up for
accuracy and high-performance. The O-Matrix environment enables you to both
prototype designs and perform large scale analysis within the integrated
environment. O-Matrix has been built using highly optimized C/C++, FORTRAN, and
assembly code to provide optimal execution performance. The linear algebra
routines in O-Matrix are based on the algorithms from BLAS, LINPACK, and LAPACK
to provide robust, accurate solutions.
O-Matrix Analysis Functions
O-Matrix provides an extensive set of functions
for implementing solutions in a broad range of technical computing disciplines.
Functions are highly optimized and designed to be easy-to-use for prototyping
applications and extensible for specialized requirements. Most functions include
complete source code to allow you to review the implementation and modify it to
your own requirements if necessary.
The O-Matrix Language
The syntax of the O-Matrix language is a hybrid
of BASIC, and other matrix languages providing a very easy-to-learn and compact
syntax where the notation of algorithms reflects the mathematics they represent.
A few lines of O-Matrix code can often duplicate the functionality of many pages
of FORTRAN or other compiled-language code. Common vector and matrix operations
are part of the language syntax and numerical functions operate with scalars,
vectors, and matrices of integer, real, and complex-valued types.
The O-Matrix syntax makes it simple to create
short, single-file solutions and possible to create large applications that span
numerous files. O-Matrix provides object oriented capabilities and language
features typically only found in languages such as C++, Java, and Python. End
user solutions in O-Matrix range from a few commands entered at the command
prompt to tens of thousands of lines of code spanning dozens files. (Numerous
examples of typical O-Matrix solutions are available in the omwin/example
directory of the distribution.)
In addition to the O-Matrix syntax, the O-Matrix
language can run scripts and functions written in the Matlab language.
Data Access and Manipulation with O-Matrix
O-Matrix provides extensive capabilities for
working with data from files, applications, devices, and databases. Directly
load data from formats such as Excel, text files, HDF, WAV files, and PLT files.
Low-level utilities are provided to enable importing and creation of arbitrary
ASCII or binary data. Using the O-Matrix OLE/COM Automation functions you can
leverage the data import and export capabilities of other applications. O-Matrix
can link with compiled objects from languages such as C/C++ and FORTRAN to
enable the use of custom data input and output routines from within the O-Matrix
language.
The O-Matrix data access and manipulation
routines are highly optimized and can efficiently work with data sets that
contain hundreds of thousands of data points and using many megabytes. The
import of a multi-megabyte file in O-Matrix takes a fraction of the time needed
by Excel, and is typically much quicker than the same algorithm implemented in a
compiled language.
O-Matrix excels at manipulating and formatting
data. Numeric and textual data can be re-formatted as it is loaded or
manipulated after loading. Flexible routines are provided to enable
sophisticated formatting and manipulation of various data formats. |