# tf.dtypes.complex

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/ops/math_ops.py#L699-L744) |

Converts two real numbers to a complex number.

#### View aliases


**Main aliases**

[`tf.complex`](https://www.tensorflow.org/api_docs/python/tf/dtypes/complex)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.complex`](https://www.tensorflow.org/api_docs/python/tf/dtypes/complex), [`tf.compat.v1.dtypes.complex`](https://www.tensorflow.org/api_docs/python/tf/dtypes/complex)

<br />

    tf.dtypes.complex(
        real, imag, name=None
    )

Given a tensor `real` representing the real part of a complex number, and a
tensor `imag` representing the imaginary part of a complex number, this
operation returns complex numbers elementwise of the form \\(a + bj\\), where
*a* represents the `real` part and *b* represents the `imag` part.

The input tensors `real` and `imag` must have the same shape.

#### For example:

    real = tf.constant([2.25, 3.25])
    imag = tf.constant([4.75, 5.75])
    tf.complex(real, imag)  # [[2.25 + 4.75j], [3.25 + 5.75j]]

<br />

<br />

<br />

| ## Args ||
|---|---|
| `real` | A `Tensor`. Must be one of the following types: `float32`, `float64`. |
| `imag` | A `Tensor`. Must have the same type as `real`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` of type `complex64` or `complex128`. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `TypeError` | Real and imag must be correct types |

<br />