# Drazin inverse/group inverse in Julia?

**URL:** <https://discourse.julialang.org/t/drazin-inverse-group-inverse-in-julia/58132>\
**Category:** New to Julia\
**Created:** [March 28, 2021, 7:19pm UTC](https://discourse.julialang.org/t/drazin-inverse-group-inverse-in-julia/58132 "2021-03-28T19:19:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Olof\_Salberger](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/olof_salberger/32/4850_2.png) [@Olof\_Salberger](https://discourse.julialang.org/u/Olof_Salberger)\
**Post date:** [March 28, 2021, 7:19pm UTC](https://discourse.julialang.org/t/drazin-inverse-group-inverse-in-julia/58132/1 "2021-03-28T19:19:34Z")

</div>

Is there an implementation of the Drazin inverse (aka group inverse) in Julia somewhere? It’s basically the unique pseudoinverse of a matrix x that commutes with x, if we slightly weaken the notion of pseudoinverse to higher powers of x.

> **[Drazin inverse](https://en.wikipedia.org/wiki/Drazin_inverse)**
>
> In mathematics, the Drazin inverse, named after Michael P. Drazin, is a kind of generalized inverse of a matrix.
> Let A be a square matrix. The index of A is the least nonnegative integer k such that rank(Ak+1) = rank(Ak). The Drazin inverse of A is the unique matrix AD that satisfies
> It's not a generalized inverse in the classical sense, since 
>   
>     
>       
> A
>         
> A
>           
> D
>           
>         
> A
> ≠
> A
>       
>     
> {\\displaystyle...
