# Jordan norm in julia

**URL:** <https://discourse.julialang.org/t/jordan-norm-in-julia/114500>\
**Category:** Numerics\
**Tags:** question, linearalgebra, matrix\
**Created:** [May 21, 2024, 9:38am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500 "2024-05-21T09:38:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![swsw](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@swsw](https://discourse.julialang.org/u/swsw)\
**Post date:** [May 21, 2024, 9:38am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/1 "2024-05-21T09:38:43Z")

</div>

Is there a way to do jordan decomposition or find out the jordan norm of a n\*n matrix in julia?

I see the following one but the function jordan\_form is not available in SymPy.jl.

> [@Jordan form of a matrix](https://discourse.julialang.org/t/jordan-form-of-a-matrix/7123):
>
> Is there an equivalent of Matlab’s [jordan](https://fr.mathworks.com/help/symbolic/jordan.html) function, to compute the Jordan canonical form of a matrix? I didn’t find it by tab-completion and in the julia observer didn’t find anything relevant. A version over exact rings would be fine.

Any insight?

---

<div class="post-metadata">

**Author:** ![thofma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thofma/32/1691_2.png) [@thofma](https://discourse.julialang.org/u/thofma)\
**Post date:** [May 21, 2024, 10:16am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/2 "2024-05-21T10:16:12Z")

</div>

Do you have an example of a matrix? If your input is rational, the Jordan form might have proper complex entries. What kind of result do you want? Symbolic (exact) or an approximation?

---

<div class="post-metadata">

**Author:** ![jd-foster](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jd-foster/32/35824_2.png) [@jd-foster](https://discourse.julialang.org/u/jd-foster)\
**Post date:** [May 21, 2024, 10:27am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/3 "2024-05-21T10:27:44Z")

</div>

As mentioned in that thread, the numerical analysis properties are problematic in computations: see [Jordan normal form - Wikipedia](https://en.wikipedia.org/wiki/Jordan_normal_form?wprov=sfti1#Numerical_analysis)

You might be able to leverage Mathematica through MathLink.jl ?

---

<div class="post-metadata">

**Author:** ![swsw](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@swsw](https://discourse.julialang.org/u/swsw)\
**Post date:** [May 22, 2024, 1:55am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/4 "2024-05-22T01:55:46Z")

</div>

Thank you! I want appropriamate and the input is rational.

---

<div class="post-metadata">

**Author:** ![swsw](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@swsw](https://discourse.julialang.org/u/swsw)\
**Post date:** [May 22, 2024, 1:56am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/5 "2024-05-22T01:56:52Z")

</div>

Thank you! I see. That might be a potential direction. So looks julia doesn’t have a direct way to do it.

---

<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:** [May 22, 2024, 2:14am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/6 "2024-05-22T02:14:16Z")

</div>

Are you sure you need the Jordan form and can’t use another factorization instead (e.g. eigenvalue/SVD etc)? Jordan normal form is often taught in math classes, but rarely what you want computationally.

---

<div class="post-metadata">

**Author:** ![swsw](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@swsw](https://discourse.julialang.org/u/swsw)\
**Post date:** [May 23, 2024, 6:06am UTC](https://discourse.julialang.org/t/jordan-norm-in-julia/114500/7 "2024-05-23T06:06:22Z")

</div>

Thank you! I see that could a reason why it has not been applied in Julia.
