Multivariate Pattern Analysis in Python

### Navigation

- index
- modules |
- modules |
- PyMVPA Home |
- Sitemap »

# mvpa2.testing.tools.assert_array_almost_equal

`mvpa2.testing.tools.``assert_array_almost_equal`(x, y, decimal=6, err_msg='', verbose=True)

  Raise an assertion if two objects are not equal up to desired precision.

  Note

  It is recommended to use one of `assert_allclose`, `assert_array_almost_equal_nulp` or `assert_array_max_ulp` instead of this function for more consistent floating point comparisons.

  The test verifies identical shapes and verifies values with `abs(desired-actual) < 0.5 * 10**(-decimal)`.

  Given two array_like objects, check that the shape is equal and all elements of these objects are almost equal. An exception is raised at shape mismatch or conflicting values. In contrast to the standard usage in numpy, NaNs are compared like numbers, no assertion is raised if both objects have NaNs in the same positions.

  Parameters:

  x : array_like

  > The actual object to check.

  y : array_like

  > The desired, expected object.

  decimal : int, optional

  > Desired precision, default is 6.

  err_msg : str, optional

  > The error message to be printed in case of failure.

  verbose : bool, optional

  > If True, the conflicting values are appended to the error message.

  Raises:

  AssertionError :

  > If actual and desired are not equal up to specified precision.

  See also

  `assert_allclose`
    Compare two array_like objects for equality with desired relative and/or absolute precision.

  `assert_array_almost_equal_nulp`, `assert_array_max_ulp`, `assert_equal`

  Examples

  the first assert does not raise an exception

      >>> np.testing.assert_array_almost_equal([1.0,2.333,np.nan],
                                               [1.0,2.333,np.nan])

      >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
      ...                                      [1.0,2.33339,np.nan], decimal=5)
      ...
      <type 'exceptions.AssertionError'>:
      AssertionError:
      Arrays are not almost equal

      (mismatch 50.0%)
       x: array([ 1.     ,  2.33333,      NaN])
       y: array([ 1.     ,  2.33339,      NaN])

      >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
      ...                                      [1.0,2.33333, 5], decimal=5)
      <type 'exceptions.ValueError'>:
      ValueError:
      Arrays are not almost equal
       x: array([ 1.     ,  2.33333,      NaN])
       y: array([ 1.     ,  2.33333,  5.     ])

### Navigation

- index
- modules |
- modules |
- PyMVPA Home |
- Sitemap »