2
$\begingroup$

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 ?

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

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

|improve this answer|||||
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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