real#
- ivy.real(x, /, *, out=None)[source]#
Test each element
x_i
of the input arrayx
to take only real part from it. Returns a float array, where it only contains . If element has complex type with zero complex part, the return value will be that element, else it only returns real part.- Parameters:
- Return type:
- Returns:
ret – an array containing test results. An element
out_i
isreal number
ifx_i
contain real number part only and if it isreal number with complex part also
then it returns the real number part. The returned array must have a floating-point data type with the same floating-point precision asx
(e.g., ifx
iscomplex64
, the returned array must have the floating-point precision offloat32
).The descriptions above assume an array input for simplicity, but
the method also accepts
ivy.Container
instancesin place of (class:ivy.Array or
ivy.NativeArray
)instances, as shown in the type hints and also the examples below.
Examples
With
ivy.Array
inputs:>>> x = ivy.array([[[1.1], [2], [-6.3]]]) >>> z = ivy.real(x) >>> print(z) ivy.array([[[1.1], [2.], [-6.3]]])
>>> x = ivy.array([4.2-0j, 3j, 7+5j]) >>> z = ivy.real(x) >>> print(z) ivy.array([4.2, 0., 7.])
With
ivy.Container
input:>>> x = ivy.Container(a=ivy.array([-6.7-7j, 0.314+0.355j, 1.23]), b=ivy.array([5j, 5.32-6.55j, 3.001])) >>> z = ivy.real(x) >>> print(z) { a: ivy.array([-6.7, 0.314, 1.23]), b: ivy.array([0., 5.32, 3.001]) }
- Array.real()#
Real part of the array.
- Returns:
ret – array containing the real part of each element in the array. The returned array must have the same shape and data type as the original array.
- Container.real(self, *, key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False, out=None)[source]#
ivy.Container instance method variant of ivy.real. This method simply wraps the function, and so the docstring for ivy.real also applies to this method with minimal changes.
- Parameters:
self (
Container
) – input container. Should have a real-valued floating-point data type.key_chains (
Optional
[Union
[List
[str
],Dict
[str
,str
],Container
]], default:None
) – The key-chains to apply or not apply the method to. Default isNone
.to_apply (
Union
[bool
,Container
], default:True
) – If True, the method will be applied to key_chains, otherwise key_chains will be skipped. Default isTrue
.prune_unapplied (
Union
[bool
,Container
], default:False
) – Whether to prune key_chains for which the function was not applied. Default isFalse
.map_sequences (
Union
[bool
,Container
], default:False
) – Whether to also map method to sequences (lists, tuples). Default isFalse
.out (
Optional
[Container
], default:None
) – optional output container, for writing the result to. It must have a shape that the inputs broadcast to.
- Return type:
Container
- Returns:
ret – a container containing the test result. An element
out_i
isself_i
ifself_i
is real number elsetook real number part only
ifself_i
contains real number and complex number both. The returned array should have a data type offloat
.
Examples
>>> x = ivy.Container(a=ivy.array([-1j, 0.335+2.345j, 1.23+7j]), b=ivy.array([0.0, 1.2+3.3j, 1+0j])) >>> x.real() { a: ivy.array([0., 0.335, 1.23]), b: ivy.array([0.0, 1.2, 1.]) }