Next: , Previous: , Up: FAQ   [Contents][Index]

6.3 Linear Algebra FAQ

  1. Q: Why is Femlisp’s linear algebra so slow?

    A: Because the sparse-matrix implementation is based on hash-tables indexed by mesh-entities like vertices, lines, ..., and each entry is again a block consisting of a matrix object. This means that generic functions have to be used for handling those entries. Unfortunately, the overhead for hash-table and method lookup is large, especially in the case of scalar equations with low-order discretizations.

  2. Q: Is it possible to improve the linear algebra?

    A: It is possible to improve it by replacing the data structure by a more efficient array-based one where the operations are also specialized depending on the type of their entries. I have started working on this and preliminary results look promising. The result should be a matrix-vector data structure having most of the flexibility of the current approach while being as efficient as the usual CRS scheme.