[SciPy-dev] removing lil_eye() and lil_diags()
Stéfan van der Walt
Wed Jul 23 04:10:01 CDT 2008
2008/7/23 Nathan Bell <email@example.com>:
> Although the conversion to LIL from DIA goes DIA->COO->CSR->LIL, the
> overall cost is still comparable. For instance, the cost of A =
> sparse.eye(10000, 10000, format='dia') is 0.130 ms and the breakdown
> of cost for converting A from DIA to LIL is as follows:
> 1.590 ms DIA->COO
> 0.636 ms COO->CSR
> 50.100 ms CSR->LIL
> The full process, i.e. eye(10000, 10000, format='lil'), takes about 52 ms.
> On the other hand, your version of lil_eye() , which exploits
> properties of the LIL format, requires only 32.3 ms.
That's not too bad. The code that was in `lil_diag` can probably be
adapted quite easily to do DIA->LIL directly, if that ever became
> Since the DIA->LIL conversion is not significantly slower, I would
> prefer that we rely on format conversion here. The additional time
> spent making special-purpose implementations for LIL and DOK is
> probably better spent improving the conversions between sparse
> formats. Then, if the implementation of the LIL format changes, there
> will only be a few places (e.g. csr_matrix.tolil() ) that require
Agreed; that's a significant advantage.
More information about the Scipy-dev