2

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 ?

Smilia
  • 592
  • 4
  • 14
  • 1
    You can use that $(\mathbf{I}-\mathbf{A})^{-1}=\sum_{n=0}^\infty \mathbf{A}^n$. – yarchik Dec 30 '19 at 17:20
  • 1
    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

1 Answers1

3

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;

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}];
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)$

Carl Woll
  • 130,679
  • 6
  • 243
  • 355