octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: deprecated functions


From: Jaroslav Hajek
Subject: Re: deprecated functions
Date: Wed, 4 Mar 2009 21:04:09 +0100

On Wed, Mar 4, 2009 at 7:56 PM, Jason Riedy <address@hidden> wrote:
> And John W. Eaton writes:
>> This is no different from what has always happened with full x sparse
>> operations, as far as I can tell.  So I don't see that this could
>> cause any new problems for you.
>
> This is in the context of deprecating dmult.  Also, spdiag is marked as
> deprecated.  Both preserve sparsity.  The new diagonal matrices do not.
>

spdiag is obsolete, because diag(sparse()) has the same effect. The
other reason is that the name was too easily mistaken for "spdiags".

>>> They're worse than useless to me right now.
>> Comments like this are not helpful.
>
> Neither is having my code spew warnings about deprecated functions and
> referring to replacements that aren't equivalent.
>
> splu is also spewing now (used in condest), but I assume that's
> correctly dispatched to a function that returns the column permutation
> in the sparse case...  I haven't checked yet.

If a non-deprecated function calls a deprecated one, that's surely a
bug. A bug report would be nice.

> Please stop deprecating things until they have replacements.  Or if you
> do deprecate them, don't refer to replacements that don't preserve
> sparsity where the original did.
>

The sparsity-preserving behavior was not documented (the function said
it's equivalent to diag(A)*B) and probably a side-effect. Anyway dmult
was certainly a very inefficient way of scaling a sparse matrix,
because a temporary dense matrix was constructed. So you probably
should fix your code anyway. The most proper way to scale a sparse
matrix has always been using a sparse diagonal matrix.

If there's an agreement to this, we can bring back dmult,
reimplemented to work for both kinds of matrices in an efficient
manner.

regards

-- 
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]