# Can Symbolics handle complex numbers?

**URL:** https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753
**Category:** General Usage
**Tags:** question, package, symbolics, complex-numbers
**Created:** [November 18, 2024, 2:51am UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753 "2024-11-18T02:51:54Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ccmejia](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccmejia/32/18680_2.png) [@ccmejia](https://discourse.julialang.org/u/ccmejia)
#### Post date: [November 18, 2024, 2:51am UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753/1 "2024-11-18T02:51:54Z")

</div>

Hi there!

My code:

```julia
using Symbolics

@variables C_0, C_1, R, T, V, k, R0, g

M = [-2*V*cos(k) - im*g V V*exp(im*k) 0; 
    V -2*V*cos(k) + im*g 0 V*exp(2*im*k); 
    0 V 0 -2*V*cos(k)*exp(2*im*k) + V*exp(3*im*k); 
    V 0 -2*V*cos(k)*exp(im*k) + V*exp(2*im*k) 0]

b = [-R0*V*exp(-im*k); 0; 0; 2*R0*V*exp(-im*k)*cos(k)-R0*V*exp(-2*im*k)]

eqs = M*[C_0, C_1, R, T] + b

symbolic_solve(eqs, [C_0, C_1, R, T])

```

The error message:

> MethodError: Num(::Complex{Num}) is ambiguous. Candidates: Num(val) @ Symbolics [~/.julia/packages/Symbolics/GYV9b/src/num.jl:2](http://localhost:8889/lab/tree/Dropbox/SEMINARS/ascenso_escalafon/~/.julia/packages/Symbolics/GYV9b/src/num.jl#line=1) (::Type{T})(z::Complex) where T\<:Real @ Base complex.jl:44 Possible fix, define Num(::Complex)

What is going on here? How can I solve this?

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [November 18, 2024, 3:29am UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753/2 "2024-11-18T03:29:08Z")

</div>

This isn’t an answer to your issue, but consider using `cis` and `cispi` instead of `exp(im*x)` and `exp(im*pi*x)`.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [November 18, 2024, 5:35am UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753/3 "2024-11-18T05:35:25Z")

</div>

Use complex variables:

```julia
@variables C_0::Complex

```

---

<div class="post-metadata">

### Author: ![ccmejia](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccmejia/32/18680_2.png) [@ccmejia](https://discourse.julialang.org/u/ccmejia)
#### Post date: [November 18, 2024, 12:06pm UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753/4 "2024-11-18T12:06:54Z")

</div>

Hi!  
By declaring

```julia
@variables C_0::Complex, C_1::Complex, R::Complex, T::Complex, V, k, R0, g

```

Now I obtain this error message:

> AssertionError: Expected a variable, got C\_0  
> Stacktrace:  
> [1] check\_x(x::Complex{Num})

Any ideas?  
Thanks in advanced!

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [November 18, 2024, 12:41pm UTC](https://discourse.julialang.org/t/can-symbolics-handle-complex-numbers/122753/5 "2024-11-18T12:41:40Z")

</div>

Open an issue.
