Float comparisons
Two floating point numbers should not be compared with the ==
comparison, because the result of a computation is often slightly off due to rounding errors. There are numerous tools to test equality of floats for testing purposes. First, allclose
checks that two arrays are almost equal. It can be used in a test function, as shown:
self.assertTrue(allclose(computed, expected))
Here, self
refers to a unittest.Testcase
instance. There are also testing tools in the numpy
package testing
. These are imported by using:
import numpy.testing
Testing that two scalars or two arrays are equal is done using numpy.testing.assert_array_allmost_equal
or numpy.testing.assert_allclose
. These methods differ in the way they describe the required accuracy, as shown in the preceding table.
QR factorization decomposes a given matrix into a product of an orthogonal matrix Q and an upper triangular matrix R as given in the following example:
import scipy.linalg as sl A=rand(10,10) [Q,R]=sl.qr(A)
Is the...