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

42 min 29 sec ago

19 hours 55 min ago

20 hours 21 min ago

21 hours 16 min ago

1 day 57 min ago

1 day 23 hours ago

1 day 23 hours ago

5 days 12 hours ago

6 days 2 hours ago

6 days 5 hours ago