|
MtxVec
Applications
MtxVec for mission critical applications where complex real time data processing is needed. Ten times faster than conventional programming.
MtxVec applications
Testimonials
"Using MtxVec 2, with its SSE2 support, I see about a x4 speed improvement over traditional x87 assembler when running on my Pentium 4 notebook!"
Matthew Wormington, Bede Corporation
More Testimonials

 |
About
MtxVec release history
Changes and new features of MtxVec v3.0.1 (November 2007):
Core product:
- New code optimizations for Intel Penryn, SSE4a.
- Support for Intel MKL v10.
- Bug fixes for single precision and Delphi.NET.
- Improvements to help files (see also links, more examples)
- Installers and recompile tools have been improved to work well on Vista 32 and Vista x64. (UAC still needs to be disabled)
- More in-depth multi-core tested dlls.
Sparse matrices:
- Out of core solver support for Pardiso sparse solvers.
- Better support (more settings) for ill-conditioned sparse matrices for Pardiso.
Changes and new features of MtxVec v3 (June 2007):
Core product:
- New code optimizations and support for Intel Core 2 Duo product familiy.
- New multithreaded VML function support. Simple functions like Sin, Cos.. are threaded when vector length exceeds about 5000 elements. No MtxVec code change required to have your code run on multiple cores.
- Together with Vector/Matrix classes it is possible to write math expressions in its natural format and have the code at the same time executed on multiple cores!
- LAPACK v3.1 delivers increased precision and performance.
- Reduced distribution size with "Compact MtxVec". In case of the Stats Master by 50%. There are now more and more specialized dll's.
- Intel MKL 9.1 and Intel IPP 5.2 updated with the Intel v10 C++ and Fortran compilers.
- Sparse solver: UMFPACK support updated to v5.1
- Pardiso sparse solver support updated to latest version of MKL.
- New HTML Help 2 format of the help file.
- Support for Delphi 2007 and C++Builder 2007.
- New set of true color 24x24 and 16x16 icons for components to support newer IDE tool palette.
Optimization.pas :
- Simplex algorithm now supports lower and/or upper bounds for parameters.
- Added Trust Region (TR) algorithm. Now it's possible to find unbounded or bounded minimum of vector function of several variables.
Probabilities.pas :
-
Added 8 new distributions: Gumbel (minimum), Gumbel (maximum), Erlang, Power, Inverse Gaussian, Fatigue Life, Johnson SB, Johnson UB. Probabilities unit now includes 34 different distributions.
- Moved distribution statistical parameter calculation from Statistics.pas to Probabilities.pas. Basic statistics now includes estimates for distribution mean, variance, skewness and kurtosis.
MtxExpr.pas :
- All TVec/TMtx methods are now also available from Vector/Matrix. It is now possible to completely replace TVec/TMtx with Vector/Matrix.
- Many new functions have been added where previously methods were needed, because Vector and Matrix are now value objects and can return a value.
- Vector/Matrix syntax is now the default syntax. (Biggest change!) Old style TVec/TMtx code will still compile.
- Loads of new syntax options and simplifications with support for operator overloading.Vector can passed as a parameter to functions accepting TVec, TMtxVec or double dynamic array as a paramter.
- World class performance when evaluating Vector/Matrix expressions. Nealy no performance loss in compare to using CreateIt/FreeIt.
- Help updated to the new Vector/Matrix syntax.
MtxGrid.pas :
-
New TMtxVecGrid control (derived from TCustomGrid) allows easy viewing and editing of real or complex vector or matrix. The same control is now used in MtxVecEdit.pas unit. It now allows real-time browsing of matrices with milions and bilions of elements.
MtxIntDiff.pas :
-
New unit introduces several routines for numerical integration (1D, 2D, n-D).
All numerical gradient estimation routines moved from Optimization.pas unit.
MtxVecTee.pas :
-
Many enhancements to the TMtxGridSeries include support for rainbow palette and up to three levels of color mixing with top and bottom clip-off.
-
Updated with support for TeeChart v8.
Help file:
- Help file has received a major upgrade to Html Help 2 format.
- Nearly all examples have been extended with C++ and C# examples.
- New easier to read and navigate look and feel.
- Code examples have been updated to relfect the new default syntax with Vector and Matrix objects.
- Html Help 2 format integrates in to the IDE and F1 is again functional across all products.
- Demo updated with Vector/Matrix syntax.
Changes and new features of MtxVec 2.1.5 (May
2006):
- Support for BDS2006 Update#2.
- Simplex optimization algorithm features support for constrained
optimization.
- TMtxGridSeries now supports three color and rainbow color palette
with a very rich set of options including color balance and custom
bitmap resampling methods.
- Updates for Intel MKL 8.1 and Intel IPP 5.1 and Intel Compilers
v9.1.
- FFT''s can now be multithread.
- TVec.Difference got a lag parameter.
- API improvements for the vectorized parser.
Changes and new features of MtxVec 2.1 (December
2005):
- Operator overloading for Delphi 2006 with support for Vectors, Matrices
and complex numbers!
- Enhanced support for .NET platform.
- Dll's updated with Intel MKL 8
- New Vectorized expression parser gives you the fastest expression
evaluation available. Includes support for matrix divison (solving
linear equations), from left and right (LQR solver) and can do per
element operations by placing a dot in front of the * or / operators.
Despite all this features and support for complex numbers, it still
delivers best in class performance even when used with single element
real valued expressions only.
- Fixed a bug when resizing object cache.
- Fixed a bug in TPiecePoly when assigning Breaks before Coefficients.
- TMtxComponent has been upgraded with VCL and Winforms independent
FreeNotification system.
- ViewValues editor now comes with MS Office style menus.
- ViewValues editor now correctly copies columns to clipboard.
- Support for C++ personality of BDS 2006.
- Upgraded automatic recompile tool for all supported products and
IDE personalities.
Changes and new features of MtxVec 2.0 (November
2004):
- Single source code compiles on .NET and W32.
- Sparse matrices: Umfpack v4.3 and Pardiso solver.
- All C/C++ code with support for SSE2/SSE3.
- All Fortran code compiled with support for SSE2/SSE3.
- Support (solvers) for complex sparse matrices.
- New TRandomGenerator encapsulates new random generators.
- Several 100 (!!) new highly optimized methods and overloads of existing
methods for TVec, TMtx and TSparseMtx classes.
- New FFT engine with support for arbitrary length FFT's (including
arbitrary 2D FFT sizes) and symmetric multiprocessing.
- Extensive tests written to interface DUnit test framework. This
has been one of the biggest tasks. Tests execute under .NET and W32
and ensure that code gives the same result.
- New memory allocation bypassing Delphi's and CLR memory manager
and allowing to better exploit available system memory.
- Intel SPL call's replaced with Intel IPP 4.0.
- New dll interfaces allow support of C++Builder and Kylix.
- Common abstract class between for TVec, TMtx and TSparseMtx sharing
over 100 unique functions not counting overloads.
- New syntax options allowing much more flexibility when exchanging
data between TVec, TMtx and TSparseMtx. Only the "view"
of memory is changed. It is possible to write single source code which
can take vector, matrix and sparse matrix objects as parameters.
- Vastly improved error checking, mostly due to in-depth tests.
- Prescot CPU support exploiting the features of the new instruction
set.
- Extensive performance optimizations across the entire library.
- Operator overloading under .NET for complex numbers.
- Every effort has been made to achieve as high as possible backward
compatibility. There are only a few functions, that have been removed
and/or replaced with a different version. There are no functions with
same signature and different meaning.
- It should be possible to write single source code that would execute
on W32 and .NET with the same or very similar performance even for
short vectors and small matrices.
Changes and new features of MtxVec 1.5
(June 2002)
MtxVec.pas and Math387.pas
- Eig returns left and right eigenvectors in columns
- SVD returns left singular vectors and right singular vectors in
columns. SVD requires U and V to be both assigned (<> nil) and
computes the singular vectors using divide and conquer algorithm.
- Most Math387 routines rewritten in assembler (much faster)
- New TMtx.MtxSqrt routine allows computation of a square root of
the matrix by using
- eigenvalue decomposition (all matrix types supported).
New TMtx.MtxFunction method allows computation of any matrix function
(Power of the matrix, square root of the matrix, log of the matrix,..)
via eigenvalue decomposition.
Added support for sparse matrices.
- SetRoundToTrunc speeds up the computation of the Trunc function.
- Added SetSubRange and SetSubIndex to TVec to allow multiple views
of selected number of elements (subvectors) and simplify indexing.
- Added TMtx.SaveToMatrixMarketFile routine, supporting MatrixMarket
file format.
- StringsToValues now accepts blanks as delimiters.
- Added TMtx.PixelDownSample method.
- Added TVec.BlockInit and TVec.BlockNext to simplify development
of block processing enabled algorithms.
MtxVecEdit.pas
- Chart menu items are now automatically added/removed if you compile/install
MtxTee1X.dpk package.
- New TMtxViewDialog component holding the state of the dialog displayed
via ViewValues. (allows setting and storing the parameters for the
dialog).
Sparse.pas
- Introduces TSparseMtx class capable of handling real and complex
sparse matrices.
Encapsulates UMF Pack v 3.2, one of the fastest direct sparse matrix
solvers and interfacing MKL 5.1 BLAS III.
- Features iterative sparse solvers (cg, bcg, gmres, ..).
- Compute inverse of the sparse matrix.
- Many conversion routines to convert to and form different matrix
formats (triplet, banded, dense, Harwell-Boeing).
- Load and save MatrixMarket file format.
- Very fast banded matrix solvers already available in TMtx.
- Add, subtract, multiply routines for sparse/sparse and dense/sparse
matrices.
- PixelDownSample routine to allow fast display of the non-zero pattern
of the matrices of huge sizes (1000 000 x 1000 000 elements).
- Complete set of standard math routines known from TVec and TMtx.
(Log, Power, Sin, Cos, etc...)
MtxParseExpr.pas
- Evalute expressions containing real and/or complex numbers.
- Unlimited number of user defined variables.
- Unlimited number of user defined functions.
- Each function can have up to 6 parameters.
- Maintain a list of parsed expressions.
- New TMtxExpression object
- New TMtxFunctionEvaluator component
MtxVecTee.pas
- Added NAN and Inf checks to DrawValues method.
- Added support for pixelDownsample for matrices.
- Added TMtxGridSeries for displaying matrix values. Works with all
TeeChart versions (v4-v5 Standard or PRO).
Probabilities.pas
- Most procedures taking vector parameters have been completely rewritten
and take advantage of block processing design combined with optimized
vector processing. (big speed gains).
MtxVecTools, MtxVecDBTools, MtxVecComCtrls and
MtxBaseComp.pas
- Added new TMtxProgressDialog component (a TThread component) designed
to simplify threading of numerical algorithms, display progress bar
and allow interuption of the processing. TMtxFloatEdit component has
been enhanced. Ctrl+DlbClick will bring up settings for increment
and number format. Added a feature to store those settings in the
registry.
- ViewValues and DrawIt display settings are preserved between calls.
- New TMtxComponent featuring generic SaveToStream, LoadFromStream
and Assign procedure for all derived classes. (MtxBaseComp.pas).
Miscellaneous
- All TeeChart units placed in separate package. Now you can recompile
this package with any Teechart version.
- All Optimization routines now work fine with C++ Builder 5 and 6.
- Added support for C++ Builder 6.
- Improved compatibility for P4.
- Updated Intel Math Kernel Libraries.
- Resolved issues with dynamic linking of MKL.
- Code optimisation all around...
Changes and new features of MtxVec 1.02
(July 2001)
MtxVec.pas and Math387.pas
- New TMtx.Determinant method (calculates determinant of squared matrix)
- New TMtx.OnSetSize event (triggered when matrix Rows or Cols properties
are changed)
- New TVec.Shift method (simiar to TVec.Rotate method)
- New IsNanInf boolean function
- New TVec.Round and TVec.Trunc functions
- Math387 functions are now almost completely written in assembler
(including complex versions).
MtxVecEdit.pas
- Added StayOnTop boolean parameter to ViewValues procedure
- Improved TeeChart drawing routines. All TeeChart v5 users will notice
additional spee-up.
MtxVecTools.pas MtxDBTools.pas
- Added TMtxOptimization.Asign and TMtxDataset.Asign methods
- Added TMtxDataset.ColumnsToMtx method (reads from all VecColumns
and stores the results in single matrix)
- Improved TMtxDataset reading/writing to database algorithms
- Added new TMtxFloatEdit component (Up/Down edit box with support
for complex increment)
Miscellaneous
- Added support for Delphi 6
- MtxVec now uses the latest Math Kernel Libraries (MKL 5.1)
- Reorganized package scheme (runtime, designtime packages)
- Now all Delphi (double and single distribution) are packaged in
one installer. The same
- applies to C++ Builder.
- Significantly improved optimization routines.
Initial release of MtxVec 1.0 (August
2000)
|
Navigation
Home Page
Special Offers
News
Products
Information
Order
Downloads
Information
Product Support
About us
Site Map
Resources
Testimonials
Customers
Link Request
|