
I've been following this discussion with interest, as I've been looking in some detail at conjugate gradient algorithms as part of my .. I'd love to hear if anyone has insights / pointers to related work on any of the issues above; I'm especially keen to learn if there's work I didn't know about on fusion of multiple traversals. In my day job with Fortress we are looking at RULES-like approaches, but they founder quickly because the kind of problems David is trying to solve are 90% of what our programmers want to do.
you probably know about these two already, but still: - Pascal R. Serrarens used conjugate gradient as a case study for Clean, comparing against C and Haskell (that was back in 1996/7, when Haskell arrays weren't competitive) Implementing the Conjugate Gradient Algorithm in a Functional Language http://www.st.cs.ru.nl/papers/1997/serp97-cgfunctional.ps.gz - in spite of its name, SAC is a functional language; the central with-loop construct unifies several forms of array comprehensions, and their main fusion is named with-loop folding; whether it does the specific kinds of fusions you are after, i don't know, perhaps the paper i mentioned earlier answers that? claus