# Unable to verify \`eigen(A)\`

**URL:** <https://discourse.julialang.org/t/unable-to-verify-eigen-a/65249>\
**Category:** New to Julia\
**Created:** [July 25, 2021, 1:11am UTC](https://discourse.julialang.org/t/unable-to-verify-eigen-a/65249 "2021-07-25T01:11:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [July 25, 2021, 1:11am UTC](https://discourse.julialang.org/t/unable-to-verify-eigen-a/65249/1 "2021-07-25T01:11:17Z")

</div>

I haven’t had my coffee yet, but it seems like following should return `true`. Where did I get turned around?

```julia
using LinearAlgebra

A = rand(5, 5)
Λ, Y = eigen(A)
Λ = Diagonal(Λ)
A * Y ≈ Λ * Y

```

---

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [July 25, 2021, 1:26am UTC](https://discourse.julialang.org/t/unable-to-verify-eigen-a/65249/3 "2021-07-25T01:26:42Z")

</div>

Figured it out: You need to _right-multiply_ by `Λ`:

```julia
A = rand(5, 5)
Λ, Y = eigen(A)
Λ = Diagonal(Λ)
A * Y ≈ Y * Λ # true

```

If anyone else makes this mistake and needs a good excuse, you can point out that the following works in Python 😉

```python
import numpy as np

A = np.random.rand(5, 5)
Λ, Y = np.linalg.eig(A)
np.allclose(A @ Y, Λ * Y)

```
