Lazy Linear Algebra

I wonder if any of the LtU readers would be able to advise me about

lazy languages/libraries for
LinearAlgebra.html">linear algebra (vector-matrix numerics). It

strikes me that this is an problem domain in which the lazy approach

might be able to offer significant advantages. For example, it is

often the case that one wants to obtain certain elements of a matrix

resulting from some expression (e.g. one or more rows or columns, or

some elements from some row(s) or column(s)). Linear algebra can be

computationally expensive, especially if you don't want all the

values that would be computed by a naive implementation of some

expression. The lazy approach might be particularly useful if you

don't know *a priori* which elements you are going to need (e.g.

if the answer you seek depends upon the properties of the matrices in

question, which you may not know until you start in on the

calculations). It is certainly true that one could hand-code this

kind of laziness, but that way lies bugs and hard work on the part of

the programmer. Further, certain matrix operations yield matrices

with properties that could be lazily exploited (e.g. symmetric

matrices may be specified by only the upper or lower triangle),

yielding potential time and space savings. I realise that libraries

such as LAPACK contain

functions that exploit the properties of the matrices, but I

understand that it is the programmer who decides which functions

should be called rather than the machine. As someone with no formal

PL education, can anyone tell me what if any research has been done

on lazy linear algebra and how I might start playing around in such

an area?

(posted for Chris Rose)

## Recent comments

2 hours 6 min ago

2 hours 11 min ago

2 hours 27 min ago

14 hours 48 min ago

19 hours 15 min ago

21 hours 17 min ago

1 day 5 min ago

1 day 27 min ago

1 day 1 hour ago

1 day 2 hours ago