I have a matrix-valued continued fraction defined in the following way: $\alpha_n$ and $\beta_n$ are matrices, and I am interested in the quantity $A_1$, where all the $A_n$, $n = 1, 2, \dots$ are given by $$A_n = \left[ 1 - \beta_n A_{n+1} \right]^{-1} \alpha_n$$

I know that $\lim\limits_{n\to \infty} A_n = 0$, so a way to calculate $A_1$ is to start at some cutoff $N$ and evaluate $A_1$ up to that value, and then to re-calculate it for a larger cutoff $N$ until the change in the result is sufficiently small. What I do not like about this approach is that I cannot reuse intermediate results from smaller cutoffs when I calculate the result for the larger cutoff.

I know that for ordinary (i.e. scalar) continued fractions, there is the modified Lentz's version as described in Numerical Recipes and I wondered if I there is a similar method for my matrix-valued example.

In case it helps, maybe some information regarding the matrices $\alpha_n$ and $\beta_n$.

  • They are sparse
  • They are not square matrices, with $\alpha_n$ having more columns than rows and $\beta_n$ having more rows than columns.

Motivation: I work on an implementation/refinement on a neat method to compute lattice Green's functions as given in the following reference.

Berciu, M., & Cook, A. M. (2010). Efficient computation of lattice Greenʼs functions for models with nearest-neighbour hopping. EPL (Europhysics Letters), 92(4), 40003

Without much detail: We have quantities $G(n_x,n_y)$ and for these we have coupled recurrence relations that link quantities where one of the two arguments gets reduced or increased by 1. Noting that the relations couple quantities that differ in $M := n_x + n_y$ by $\pm 1$, we can define vectors $V_M$ that contain all quantities $G(n_x, n_z)$ with $n_x + n_y = M = const$, and then the recurrence relations can be written in matrix form as $$V_M = \alpha_M V_{M-1} + \beta_M V_{M+1}$$ Some physicla arguments demand that $V_M = 0$ for very large $M$, and using this as a hard cut-off, we can write $V_M = A_M V_{M-1}$ where $A_M$ is given by the recurrence relation I mention above.

If I choose the cut-off by hand, I can compute the result, in the same way that I could compute a normal continued fraction approximatively by just computing the $n$-th convergent for a large $n$. But I am interested in having a cut-off that automatically ensures that the calculation actually converged.

  • 1
    $\begingroup$ Ack, I am in fact doing research along the lines of generalizing the Lentz-Thompson-Barnett and Steed methods to matrix arguments! The problem I'm hitting is how to properly modify the methods for the cases where certain matrices become singular. Two options come to mind: either compute the pseudoinverse, or do the equivalent of the perturbation in the scalar case and add a tiny multiple of the identity. Thus far, I'm not done with the research (too many real life things in the way). SFAIK, nobody else has looked at these generalizations before... $\endgroup$ – J. M. is a poor mathematician Jul 16 '11 at 7:18
  • 1
    $\begingroup$ @J.M: Hello again :-) $\endgroup$ – Aryabhata Jul 16 '11 at 7:48
  • $\begingroup$ @J.M That sounds great :) So I guess until then I'll do the cut-off method $\endgroup$ – Lagerbaer Jul 16 '11 at 19:22
  • $\begingroup$ Actually, since you're presumably working in inexact arithmetic, the "singular" in my previous comment ought to be replaced by "ill-conditioned"; I'll want to think about your problem, but could you maybe supply some information on what your $\alpha_n$ and $\beta_n$ look like? $\endgroup$ – J. M. is a poor mathematician Jul 17 '11 at 0:49
  • $\begingroup$ Oh my, they're not square?! What then does your initial $A_N$ look like? (My research, as with the usual applications for matrix functions, assume square matrices). You'll likely need Moore-Penrose at some point... $\endgroup$ – J. M. is a poor mathematician Jul 17 '11 at 1:55

Your Answer

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

Browse other questions tagged or ask your own question.