Hello, William.
> My first thought is that it would be *awesome* to have _efficient_
> multiprecision linear algebra, etc., in Sage.
> This is the sort of thing people expect from Sage, but are often
> disappointed to find that we don't have.
As   for   the   efficiency,   I  may  say  that  performance  of  the
multiple precision ALGLIB is influenced by following factors:
1. low-level assembly code for the underlying MP-arithmetics
2. algorithmic optimization of the high level code
3. OOP overhead
4. Multi-core systems support
(1) - assembly coding. ALGLIB uses MPFR which in turn relies on highly
optimized  GMP/MPIR. Double precision ALGLIB, however, isn't optimized
-  it  is  generic  C,  but  we  are  talking about multiple precision
version.
(2)  -  algorithmic  optimizations:
*  Direct  linear  algebra  algorithms  (real  or complex Cholesky/LU/
inversion/solvers) are as good as their LAPACKs counterparts.
*  SVD/EVD, however, use suboptimal algorithms - with 3-4 times larger
FLOP  counts than that of the LAPACKs. It is going to be improved, but
with no definite schedule.
*    Other    algorithms    (numerical   integration,   interpolation,
optimization)   are   competitive   with  implementations  from  other
numerical packages.
(3)  -  OOP  overhead.  Multiple  precision ALGLIB makes use of OOP to
implement  multiple  precision  expressions  like "x=y+z". However, it
leads  to  excessive creation of temporaries, so I will replace OOP by
something  less  human-readable  but  more efficient. It is relatively
easy  to do because I use automatic translation to generate MP ALGLIB,
so I just have to make slight changes in the translator.
(4) - Multi-core systems support. ALGLIB supports only single threaded
model of computations. Multi-threading support is top-priority for me,
so things are going to improve, but without definite schedule too.
Summarizing  all  mentioned  above,  I  can  say  that, in my opinion,
multiple  precision ALGLIB is good enough to be used on moderate-sized
problems.  Furthermore,  in  some  cases  (direct  linear algebra on a
single-core  system;  integration,  interpolation,  optimization - any
number of cores) only marginal improvements are possible.
One  thing  that I need is help with multiple precision version. It is
relatively  easy to implement wrapper for double precision ALGLIB, and
I  can  do  it  myself.  But multiple precision version needs more: a)
multiple    precision    Python    object,   b)   multiple   precision
arrays/matrices, c) smooth integration of these MP objects in the SAGE
framework.
I  have  very  little  experience with Python, so it is better to find
experienced  SAGE developer who wants to work with me on this project.
I  can  build  low  level  "SAGE  <-> MP ALGLIB" interface, but I need
someone  who  can  help  with  higher level constructs and with smooth
integration in the SAGE framework.
P.S. BTW, may be it is time to make a new thread for this discussion -
something like "multiprecision SAGE"? We've gone far from the original
topic :)