ABSTRACT

An issue that has only had sporadic coverage so far is that of algorithm robustness. Formal definitions of robustness are possible. As briefly discussed in Chapter 2, in this book robustness is used simply to refer to a program’s capacity to deal with numerical computations and geometrical configurations that are in someway difficult to handle. A robust programdoes not crash or get into infinite loops because of numerical errors. A robust algorithm returns consistent results for equivalent inputs and deals with degenerate situations in an expected way. A robust algorithm can still fail, but it fails gracefully, returning results consistent with the global state of the algorithm.