Dr. Martin Sander Software Development
Vector, Matrix, and Complex Math Libraries
for PC Compilers
Vectorized Programming –
Most programs that process numerical data consist of loops. But loop overhead is unnecessarily slow.
When Speed is Important
Replacing these loops by hand-optimized, Assembler-written vector functions and matrix routines speeds up program execution by up to a factor of 2-3 and also greatly enhances numerical accuracy.
OptiVec™ brings the Power of Vectorized Programming to the PC!
OptiVec is a complete, hand-optimized set of libraries with over 4000 vector and matrix functions, and complex-number math routines.
OptiVec contains the fully vectorized forms of all operators and math functions of C/C++/Pascal/Delphi for all integer and floating-point (including complex) data types, plus many other real and complex math functions and routines
for statistics, analysis, FFT techniques, curve fitting, interpolations, vector and matrix algebra, matrix decomposition, and graphics.
In parts, OptiVec overlaps with the well-known BLAS and LINPACK libraries, but features an easier nomenclature and a generally more efficient implementation.
Learn why vectorized programming pays off on PCs and how the vector functions of OptiVec help you achieve the high performance of vectorized programming in your software
OptiVec™ Consists of 3 Groups of Functions:
The OptiVec libraries are static, no DLLs. This means only those functions which you actually need are linked into your application. Of course, you are free to include OptiVec functions in your DLLs, but there is no need to deal with yet another set of DLLs when you distribute your applications. As an exception to this principle, the CUDA-enabled OptiVec libraries require an additional DLL containing the actual CUDA code.
Once you purchase the Commercial Edition of OptiVec, you can freely distribute applications containing OptiVec functions. No run-time licenses needed for your customers!
An Educational Edition is available at a strongly reduced fee for non-commercial use.
For the detailed Licence conditions, click here.
Currently available products:
- OptiVec for C++ Builder / CMATH for C++ Builder: for the Embarcadero (former Borland and CodeGear) C/C++ compiler series (RAD Studio, Borland Development Suite, BC++ Builder)
- OptiVec for Visual C++ / CMATH for Visual C++: for the Microsoft Visual C++ compiler series (all Visual Studio releases since 2005);
can also be used with the Windows release of Clang,
- OptiVec for Delphi / CMATH for Delphi: for the Embarcadero (former Borland and CodeGear) Delphi compiler series (RAD Studio, Delphi 7, 2005, 2006, 2007, 2009, 2010, XE series, 10.x Seattle/Berlin/Tokyo)
- OptiVec for Lazarus / FreePascal / CMATH for Lazarus / FreePascal: This newest addition to the family is for the 64-bit Windows target platform of Lazarus.
Current version: 7.1.8
Recent new features:
- Enhanced thread-safety for all linfit and nonlinfit functions.
- Enhanced thread-safety for all linear system operations (LUD and SVD based).
- Support for Lazarus / FreePascal
- Compatibility with latest compiler versions (Visual Studio 2017, Delphi and C++ Builder: 10.1 Berlin, 10.2 Tokyo).
- P9 libraries for 4th-generation Intel Core i (Haswell+) or AMD Excavator+, utilizing AVX, AVX2, and FMA for highest performance.
- CUDA-enabled libraries for all target compilers.
- Additions to the signal-procession functions: VF_xspectrum (cross-spectrum) and VF_coherence.
Dr. Martin Sander
FAX +49 - 5231 - 70 17 782
E-mail: see contact page
Would you like to evaluate OptiVec or CMATH before purchase? You can download shareware versions from our download page.
Order / Register:
For pricing and other information about ordering OptiVec or CMATH, please read our order page.
Registered users: Please fetch your free update here.
Need customer support? Visit our support page.
Read what others are saying about OptiVec.
Copyright © 1998-2018 OptiCode - Dr. Martin Sander Software Development
Logo and Web Site Development: Relative Data, Inc.
Last modified: 2 March 2018