Let $A(t,s)$ be a matrix of any size (potentially large), whose entries are polynomials functions wrt $(t,s)$ of order $N$.

I would like to compute the inverse $X$ of $A$ up to the order $N$ that is $X$ should satisfy $$ A\ X = Id + o(t^N,s^N). $$

One way is to compute the Taylor series of the entries of Inverse[A], however this seems very costly and I am looking a cheaper method.

An other idea that I don't know how to code properly is to write $$ X = X_{00} + tX_{10} + sX_{01} + \ldots \\ A = A_{00} + tA_{10} + sA_{01} + \ldots $$ where $X_{ij},A_{ij}$ are constant matrix wrt $t,s$, so that $AX=Id+...$ so for instance, we would have

X00 = Inverse[A/.{t->0,s->0}]

$X_{10}$ such that $A_{10}X_{10}=0$

... but how to implement it efficiently and generically ?

  • 1
    $\begingroup$ You can use that $(\mathbf{I}-\mathbf{A})^{-1}=\sum_{n=0}^\infty \mathbf{A}^n$. $\endgroup$
    – yarchik
    Commented Dec 30, 2019 at 17:20
  • 1
    $\begingroup$ Since $\mathbf{A}_{00}$ and $\mathbf{A}_{10}$, $\mathbf{A}_{01}$ are known, you may use the Woodbury identities, specifically in the Kailath form $(\mathbf{A}+\mathbf{B}\mathbf{C})^{-1}=\mathbf{A}^{-1}-\mathbf{A}^{-1}\mathbf{B}(\mathbf{I}+\mathbf{C}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C}\mathbf{A}^{-1}$. $\endgroup$
    – yarchik
    Commented Dec 30, 2019 at 17:26
  • $\begingroup$ ok using this for $A=A_{00}$ and $BC$ are the higer order terms ? recursively ? it seems I don't have polynomial terms in the rhs. $\endgroup$
    – Smilia
    Commented Dec 30, 2019 at 17:39
  • $\begingroup$ Yes, I was thinking about a recursive approach. $\endgroup$
    – yarchik
    Commented Dec 30, 2019 at 17:56

1 Answer 1


You could use the code in my answer to How to force Series[] to compute expansions by considering non commutative multiplication?. Let:

$Assumptions = (A0 | A1 | A2 | A3) ∈ Matrices[{d, d}];
A = A0 + A1 s + A2 s^2 + A3 s^3;


Series[Inverse[A], {s, 0, 3}] /. MatrixPower[A0, -1] -> Inverse[A0] //TeXForm

$\text{A0}^{-1}-s \text{A0}^{-1}.\text{A1}.\text{A0}^{-1}+s^2 \left(\text{A0}^{-1}.\text{A1}.\text{A0}^{-1}.\text{A1}.\text{A0}^{-1}-\text{A0}^{-1}. \text{A2}.\text{A0}^{-1}\right)+s^3 \left(\text{A0}^{-1}.\text{A1}.\text{A0}^{-1}.\text{A2}.\text{A0}^{-1}+\text{A0}^{-1}. \text{A2}.\text{A0}^{-1}.\text{A1}.\text{A0}^{-1}-\text{A0}^{-1}.\text{A1}.\text{A0}^{ -1}.\text{A1}.\text{A0}^{-1}.\text{A1}.\text{A0}^{-1}-\text{A0}^{-1}.\text{A3}.\text{A 0}^{-1}\right)+O\left(s^4\right)$

If you rewrite A as:

A = A0 . (IdentityMatrix[d] + Inverse[A0].A1 s + Inverse[A0].A2 s^2 + Inverse[A0].A3 s^3)


A = A0 . B;
B = IdentityMatrix[d] + B1 s + B2 s^2 + B3 s^3;


Inverse[A] == Inverse[B] . Inverse[A0]


$Assumptions = (B1 | B2 | B3) ∈ Matrices[{d,d}];
Series[Inverse[B], {s, 0, 3}] //TeXForm

$\text{IdentityMatrix}[d]-\text{B1} s+s^2 (\text{MatrixPower}[\text{B1},2]-\text{B2})+s^3 (-\text{MatrixPower}[\text{B1},3]+\text{B1}.\text{B2}+\text{B2}.\text{B1}-\text{B3})+O \left(s^4\right)$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.