Hello Everyone,

This is more of a request for clarification than an actual problem:

I have written a procedure that involves multiplication, inversion (using LinearSolve) and eigenvalues/vectors (using Eigenvectors) calculations. The matrices are large (~3600 x 3600), consist of floating point complex numbers, and on occasion I need to hold several in memory at once. Therefore, I want to make sure that all of the calculations (and storage of resulting matrices) are done using double precision, not arbitrary precision, in order to minimise the memory usage.

From the help files, it seem to me that if I inculde the command "option hfloat" at the start of my procedure, all calculations, and hence results, should be done using hardware floats. However, my procedure still seems to be using more memory than I would expect, so I am just confirming that setting the above option does indeed force all calculations to be made using the hardware double precision, and not arbitrary precision?

Specifically, I guess I am asking that, does setting the use of hardware floats force the use of double precision regardless of the input number. Or does it just mean that a larger (or smaller) number, than that allowed by a 32bit machine, is being split into two separate numbers before being passed to the CLAPACK routines, as I want to avoid this possibility because it obviously means using up much more memory.

Thank you in advance,

Martyn


Please Wait...