xorbits.numpy.real_if_close#

xorbits.numpy.real_if_close(a, tol=100)#

If input is complex with all imaginary parts close to zero, return real parts.

“Close to zero” is defined as tol * (machine epsilon of the type for a).

参数
  • a (array_like) – Input array.

  • tol (float) – Tolerance in machine epsilons for the complex part of the elements in the array. If the tolerance is <=1, then the absolute tolerance is used.

返回

out – If a is real, the type of a is used for the output. If a has complex elements, the returned type is float.

返回类型

ndarray

参见

real, imag, angle

提示

Machine epsilon varies from machine to machine and between data types but Python floats on most platforms have a machine epsilon equal to 2.2204460492503131e-16. You can use ‘np.finfo(float).eps’ to print out the machine epsilon for floats.

实际案例

>>> np.finfo(float).eps  
2.2204460492503131e-16 # may vary
>>> np.real_if_close([2.1 + 4e-14j, 5.2 + 3e-15j], tol=1000)  
array([2.1, 5.2])
>>> np.real_if_close([2.1 + 4e-13j, 5.2 + 3e-15j], tol=1000)  
array([2.1+4.e-13j, 5.2 + 3e-15j])

警告

This method has not been implemented yet. Xorbits will try to execute it with numpy.

This docstring was copied from numpy.