OptiVec Logo 


Site Index:

OptiVec home


If you have any questions concerning OptiVec, as a first step, please have a look into the documentation. You can download the documentation alone, without having to take the whole package.
The installation of OptiVec is described in the file README.TXT.
A general overview over the vector functions can be found in HANDBOOK.HTM.
A detailed description of each vector function is given in FUNCREF.HTM.
For the matrix functions, see MATRIX.HTM.

Known Problems

New versions of operating systems and compilers may occasionally bring about compatibility problems. And, regrettably, we have made our share of errors, too. Finally, there are some points easily leading to misunderstandings. As far as we are aware, there are no bugs in the present version. We never publish a version with known problems, and if any bugs are discovered, we aim at publishing a corrected service release as soon as possible.
Here are a few hints about frequently-asked points:

Error: Trial period expired (right after installation)

For the 32-bit Shareware versions, you do have to use SETUP.EXE in order to correctly start the 90-days trial period. Otherwise the clock will not be started.

Error: Cannot initialize OptiVec / CMATH

Either you try to install OptiVec / CMATH on Windows 2000 or XP without having Administrator privileges.
Or OptiVec / CMATH has already been installed earlier on your computer: You cannot simply restart the clock for the evaluation period. We do allow a new evaluation period, but only after an intermission of 90 days.

ZIP files cannot be un-zipped

Data transfer problems may occasionally lead to corrupted ZIP files. If you got error messages while attempting to open one of our ZIP files, please download again. If the problem persists, please notify us!

VF_nonlinfit "does not work"

If the nonlinear fitting functions do not work, most frequent reasons are:
  1. None of the "AStatus" elements is = 1.
  2. "A" has not been initialized (you have to provide some reasonable initial guess!).
  3. Use of incorrect "Derivatives". If you provided your own function for that, try "NULL" (C/C++) or "nil" (Pascal/Delphi) instead to see if the built-in numerical differentiation helps. (When everything is correct, providing an explicit function Derivatives is, of course, much better.)
  4. "A" is not declared as global, or you have both a global and a local "A". In these cases, ModelFunc does not use the same "A" as passed to VF_nonlinfit.
  5. 32-bit version for C++ Builder only: Check for a mismatch in static or dynamic linking of the C++ Builder RTL: The OptiVec base library VCFS.LIB goes with the statically linked RTL, VCFD.LIB is for the dynamically linked RTL. While this mistake is benign for most OptiVec functions, this one reacts with failure.

Error message from Delphi: File not found: 'VecLib.dcu'

Any Delphi version does not recognize units created for other Delphi versions. For example, OptiVec for XE 4 cannot be used with Delphi XE 5. Please be sure to download the specific OptiVec and CMATH units for your Delphi version.

VD_Kepler or VE_Kepler hangs in an infinite loop

Some add-on libraries switch the coprocessor into single precision, mainly for faster graphics calculations. Functions like VD_Kepler rely on iterative precision-controlled algorithms which will, of course, never converge to the specified precision if the coprocessor is only in single precision. Use V_getFPAccuracy to retrieve the current coprocessor precision, if you suspect it might not be in its default state. Use V_setFPAccuracy to switch it to full accuracy.

After a change of the floating-point control word, OptiVec functions render inaccurate results or may even fail

All OptiVec functions assume that the floating-point control word is in its default state. Whenever you change the rounding mode or the underflow mask, you must restore the original setting before calling an OptiVec function.
The only thing you may safely change, is the floating-point precision. By switching to single-precision, you may speed up program execution quite considerably, especially whenever floating-point divisions are involved. In this case, however, be prepared to accept results of the more complicated single-precision OptiVec functions (especially complex-number math functions) an order of magnitude less accurate than the usual peak error of 2 to 4 FLT_EPSILON (3.0-6.0e-7). (But don't forget to switch back to double or extended precision, before calling higher-precision functions.)
You should never change the floating-point precision when precision-controlled functions are involved: All data-fitting routines and V?_Kepler need the FP control word in its default state.

Any other problems?

We hope not! But if you encounter any problem, please let us know!
Please, do not simply write "The function V_xyz does not work"!
Rather, include the following information:
  • file date and time of your OptiVec or CMATH version
  • compiler version
  • processor
  • operating system
  • how to reproduce the error/problem. What do you expect? What comes out instead?

Contact Us

Your feedback is always welcome. Please contact us in English, German, French, Dutch, or Russian, in any of the following ways:

Postal Mail:
Dr. Martin Sander Software Development
Brahmsstrasse 6
D-32756 Detmold

FAX +49 - 5231 - 70 17 782

please see contact page

Copyright © 1998-2017 OptiCode – Dr. Martin Sander Software Development

Last modified: 15 February 2017