# How to do the complex conjugate of a matrix in Julia

**URL:** https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450
**Category:** New to Julia
**Created:** [June 5, 2018, 5:56pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450 "2018-06-05T17:56:29Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![CPPhysics](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cpphysics/32/4372_2.png) [@CPPhysics](https://discourse.julialang.org/u/CPPhysics)
#### Post date: [June 5, 2018, 5:56pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/1 "2018-06-05T17:56:29Z")

</div>

I cannot find the function online. I tried conj(matrix) but that does not work

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [June 5, 2018, 6:01pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/2 "2018-06-05T18:01:12Z")

</div>

Strange:

```julia
julia> m = rand(Complex128, 3, 3)
3×3 Array{Complex{Float64},2}:
 0.982666+0.280718im 0.81342+0.55867im 0.0734141+0.800991im
 0.545326+0.0841717im 0.933615+0.559221im 0.0828029+0.239306im
  0.55027+0.761457im 0.739435+0.342127im 0.359313+0.111884im

julia> conj(m)
3×3 Array{Complex{Float64},2}:
 0.982666-0.280718im 0.81342-0.55867im 0.0734141-0.800991im
 0.545326-0.0841717im 0.933615-0.559221im 0.0828029-0.239306im
  0.55027-0.761457im 0.739435-0.342127im 0.359313-0.111884im

```

or

```julia
julia> conj.(m)
3×3 Array{Complex{Float64},2}:
 0.982666-0.280718im 0.81342-0.55867im 0.0734141-0.800991im
 0.545326-0.0841717im 0.933615-0.559221im 0.0828029-0.239306im
  0.55027-0.761457im 0.739435-0.342127im 0.359313-0.111884im

```

---

<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: [June 5, 2018, 6:38pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/3 "2018-06-05T18:38:21Z")

</div>

Maybe the OP is using v0.7 where it’s `adjoint`? Or on both it’s just `matrix'`.

Edit: oh wait, do you want the conjugate or each variable? Then broadcast via `conj.` as @DNF says. But if it’s the matrix conjugate, i.e. the adjoint or conjugate transpose, I’d recommend `'`.

---

<div class="post-metadata">

### Author: ![CPPhysics](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cpphysics/32/4372_2.png) [@CPPhysics](https://discourse.julialang.org/u/CPPhysics)
#### Post date: [June 5, 2018, 6:41pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/4 "2018-06-05T18:41:49Z")

</div>

No, unfortunately I am still on v.602

---

<div class="post-metadata">

### Author: ![CPPhysics](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cpphysics/32/4372_2.png) [@CPPhysics](https://discourse.julialang.org/u/CPPhysics)
#### Post date: [June 5, 2018, 6:41pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/5 "2018-06-05T18:41:51Z")

</div>

I am very new and this helps with more than just the conjugate, also how to create complex matrices.

So, say I would like to create two 2X2 matrices, one a normal diagonal matrix with complex float point numbers on the diagonal, and one an “opposite” diagonal [0,#;#0].

Would anyone be able to help me with this?

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [June 5, 2018, 6:56pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/6 "2018-06-05T18:56:28Z")

</div>

```julia
julia> Complex{Float64}[1.0 0.0; 0.0 1.0]
2×2 Array{Complex{Float64},2}:
 1.0+0.0im 0.0+0.0im
 0.0+0.0im 1.0+0.0im

```

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [June 5, 2018, 7:45pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/7 "2018-06-05T19:45:26Z")

</div>

> [@ChrisRackauckas](#):
>
> Edit: oh wait, do you want the conjugate or each variable? Then broadcast via `conj.` as @DNF says.

`conj(matrix)` works on 0.7 as well. It is effectively equivalent to `conj.(matrix)`, but the latter has the advantage of fusing with other dot calls.

(The reason `conj(array)` continues to be defined, despite the existence of `conj.(array)`, is that complex conjugation is a standard, well-defined mathematical operation on any complex vector space, as opposed to a function like `sin.(array)` that is only defined elementwise in general.)

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [June 5, 2018, 8:47pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/8 "2018-06-05T20:47:52Z")

</div>

> [@CPPhysics](#):
>
> So, say I would like to create two 2X2 matrices, one a normal diagonal matrix with complex float point numbers on the diagonal, and one an “opposite” diagonal [0,#;#0].

Like this, maybe

```julia
julia> d = diagm(Complex128[1.1, 2.2])
2×2 Array{Complex{Float64},2}:
 1.1+0.0im 0.0+0.0im
 0.0+0.0im 2.2+0.0im

julia> flipdim(d, 2)
2×2 Array{Complex{Float64},2}:
 0.0+0.0im 1.1+0.0im
 2.2+0.0im 0.0+0.0im

julia> flipdim(d, 1)
2×2 Array{Complex{Float64},2}:
 0.0+0.0im 2.2+0.0im
 1.1+0.0im 0.0+0.0im

```

---

<div class="post-metadata">

### Author: ![CPPhysics](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cpphysics/32/4372_2.png) [@CPPhysics](https://discourse.julialang.org/u/CPPhysics)
#### Post date: [June 6, 2018, 9:14pm UTC](https://discourse.julialang.org/t/how-to-do-the-complex-conjugate-of-a-matrix-in-julia/11450/9 "2018-06-06T21:14:55Z")

</div>

Thank you!
