# Inverse of matrix up to some order

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 ?

• You can use that $(\mathbf{I}-\mathbf{A})^{-1}=\sum_{n=0}^\infty \mathbf{A}^n$. – yarchik Dec 30 '19 at 17:20
• 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}$. – yarchik Dec 30 '19 at 17:26
• 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. – Smilia Dec 30 '19 at 17:39
• Yes, I was thinking about a recursive approach. – yarchik Dec 30 '19 at 17:56

$Assumptions = (A0 | A1 | A2 | A3) ∈ Matrices[{d, d}]; A = A0 + A1 s + A2 s^2 + A3 s^3;  Then: 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)  or: A = A0 . B; B = IdentityMatrix[d] + B1 s + B2 s^2 + B3 s^3;  Then: Inverse[A] == Inverse[B] . Inverse[A0]  and: $Assumptions = (B1 | B2 | B3) ∈ Matrices[{d,d}];

$$\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)$$