0

Let vector v close to zero like {7.000e-07, 5.000e-06, 4.000e-07}. Is it good idea to multiply by, say, 1024, before normalization? Seems like such close values work good on PC where double is 80 bit internally and bad on ARM FPU.

demi
  • 5,384
  • 6
  • 37
  • 57
  • "Normalization" is a rather broad concept - you may need to give a little more context (i.e. what is your problem domain - audio, video or other signal processing, finite element modelling, ...?) to get useful answers. Are you "normalizing" to `+/- 1e-4` or `+/- 1` or `+/- 1e6`? – twalberg Nov 21 '12 at 19:40

1 Answers1

0

As long as none of the intermediate results in the computation you want to do underflow (that is, as long as they do not get close to 1E-308 in double, 1E-38 in float), it brings nothing to multiply by 1024.

It would not lose anything to multiply by 1024 (except if it causes overflow), but other factors (say, 1000) would cause a loss of precision, too.

Pascal Cuoq
  • 79,187
  • 7
  • 161
  • 281