I want to collect my questions before we start CS 210 Scientific Computing tomorrow.

Computer arithmetic

This is mainly about IEEE 754 floating numbers. I thought I had been familiar with this but I constantly find many blind spots during my work.

Particularly,

  • I have known the floating number does not distribute uniformly. What is the impact to the precision? The z-buffer precision issue is a typical example of this question.

  • What is the denormal(subnormal) number? What policy is used for the denormal numbers computation when -ffast-math compilation option is set? Does -ffast-math also affect SIMD registers?

  • What is a machine epsilon? Why do we use it to analyze our algorithm?

I am going to read these books12 to answer or review above questions.

Stability, conditioning, and stiffness

In our textbook3 it mentions the relation between the stability and conditioning:

(Stability and conditioning…) Both concepts have to do with sensitivity to perturbations, but the term stability is usually used for algorithms and conditioning for problems (although stability is sometimes used for problems as well, especially in differential equations).

It is not clear which of them is an intrinsic characteristic of the problem, and which of them is the issue caused by the computation method we choose.

And what is the stiffness? Is it related to the other two concepts?

Conditioning and QR decomposition

When I was implementing the dual contouring, the paper4 says the original QEF(Quadratic Error Function) is not stable and then it uses a QR decomposition to resolve it.

I will write a note to explain this. Besides, is QR decomposition special here? (If it is, I would guess the orthogonality makes it so) Can we use other decompositions to achieve similar effects?

Constraints resolving and projection

It seems that the projection method is very common for resolving the constraints. Usually this is based on the conservation law or the geometry of the problem. A typical example is solving for the divergence free velocity field by projection.

I want to collect more working examples for this topic.

I also want to learn that how we can know the geometry of the problem before we solve it? And is conservation law always derived from physical property, or it can be an artificial numerical property?

References

  1. Muller, Jean-Michel, et al. Handbook of floating-point arithmetic. Springer Science & Business Media, 2009.

  2. Trefethen, Lloyd N., and David Bau III. Numerical linear algebra. Vol. 50. Siam, 1997.

  3. Heath, Michael T. Scientific computing. New York: McGraw-Hill, 2002.

  4. Ju, Tao, et al. “Dual contouring of hermite data.” ACM Transactions on Graphics (TOG) 21.3 (2002): 339-346.