numpy.allclose () in Python

If the following equation is elementwise True, then allclose returns True. 
absolute (arr1 - arr2) & lt; = (atol + rtol * absolute (arr2))
Since the above equation is not symmetric in arr1 and arr2, in some rare cases allclose (arr1, arr2) may differ from allclose (arr2, arr1).

Syntax: numpy.allclose (arr1, arr2, rtol, atol, equal_nan = False)

Parameters:
arr1: [array_like] Input 1st array.
arr2: [array_like] Input 2nd array.
rtol: [float] The relative tolerance parameter.
atol: [float] The absolute tolerance parameter.
equal_nan: [bool] Whether to compare NaN`s as equal. If True, NaN`s in arr1 will be considered equal to NaN`s in arr2 in the output array.

Return: [bool] Returns True if the two arrays are equal within the given tolerance , otherwise it returns False.

Code # 1:

# Python program, explaining
# allclose () function

 

import numpy as geek

  
# input arrays

in_arr1 = geek.array ([ 5e5 , 1e - 7 , 4.000004e6 ])

print ( "1st Input array:" , in_arr1) 

 

in_arr2 = geek.array ([ 5.00001e5 , 1e - 7 , 4e6 ])

print ( "2nd Input array:" , in_arr2) 

 
# setting absolute and relative tolerance

rtol =   1e - 05

atol = 1e - 08

 

res = geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( " Are the two arrays are equal within the tolerance: " , res)

Exit:

 1st Input array: [5.00000000e + 05 1.00000000e-07 4.00000400e + 06] 2nd Input array: [5.00001000e + 05 1.00000000e-07 4.00000000e + 06] Are the two arrays are equal within the tolerance: True 

Code # 2:

# Python program explaining
# allclose () function

 

import numpy as geek

 
# input arrays

in_arr1 = geek.array ([ 5e5 , 1e - 7 , 4.000004e6 ])

print ( "1st Input array:" , in_arr1) 

 

in_arr2 = < code class = "plain"> geek.array ([ 5.00001e5 , 1e - 7 , 4e6 ])

print ( "2nd Input array:" , in_arr2) 

  
# setting absolute and relative tolerance

rtol = 1e - 06

atol = 1e - 09

 

res =   geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( " Are the two arrays are equal within the tolerance: " , res)

Exit:

 1st Input array: [5000000.0, 1e-07, 40000004.0] 2nd Input array: [5000001.0, 1e-07, 40000000.0] Are the two arrays are equal within the tolerance: True 

Code # 3:

# Python program explaining
# allclose () function

 

import numpy as geek

 
# input arrays

i n_arr1 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( "1st Input array:" , in_arr1) 

 

in_arr2 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( " 2nd Input array: " , in_arr2) 

 
# setting absolute and relative tolerance

rtol = 1e - 06

atol = 1e - 09

  

res = geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( "Are the two arrays are equal within the tolerance:" , res)

Exit:

 1st Input array: [500000.0, 1e-07, nan] 2nd Input array: [500000.0, 1e-07, nan] Are the two arrays are equal within the tolerance: False 

Code # 4:

 

# Python program explaining
# allclose () function

 

import numpy as geek

 
# input arrays

in_arr1 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( "1st Input array:" , in_arr1) 

 

in_arr2 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( " 2nd Input array: " , in_arr2) 

  
# setting absolute and relative tolerance

rtol = 1e - 06

atol = 1e - 09

 

res = geek.all close (in_arr1, in_arr2, rtol, atol, 

equal_nan = True )

 

print ( " Are the two arrays are equal within the tolerance: " , res)

Output :

 1st Input array: [500000.0, 1e-07, nan] 2nd Input array: [500000.0, 1e-07, nan] Are the two arrays are equal within the tolerance: True