Support 



Site Index:

OptiVec home
VectorLib
MatrixLib
CMATH
Download
Order
Update

Support

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.
For CMATH, see CMATH.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 and the versions down to 3.3.5.
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 INSTALL.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. From the present version on, 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. The Shareware version for Borland C++ is used with dynamic linking of the Borland C++ RTL. While this mistake is benign for most OptiVec functions, this one reacts with failure. The BC++ RTL has to be linked statically, unless you use one of the libraries VCF?WD.LIB, provided only by the registered version.

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 Delphi 4 cannot be used with Delphi 5. Please be sure to download the specific OptiVec and CMATH units for your Delphi version.

Linker error "Table overflow" with Turbo C 3.x and Borland C++ 4.x

This problem occurs only with the old 16-bit versions of Borland (Turbo) C/C++, where the linkers have problems with large libraries.
a) Borland C++ 4.x: The linker option "process extended dictionaries" must be switched on.
b) Borland (Turbo) C 3.x: The linker cannot handle VCL3.LIB and MCL3.LIB simultaneously. This means you can no longer use matrix functions with this old compiler. The special TC 3 version of OptiVec is no longer available.

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:
OptiCode
Dr. Martin Sander Software Development
Brahmsstrasse 6
D-32756 Detmold
Germany

FAX +49 - 5231 - 70 17 782

E-Mail:
please see contact page

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

Last modified: 20 January 2013