octave-maintainers
[Top][All Lists]
Advanced

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

Re: About diagonal matrices


From: Jaroslav Hajek
Subject: Re: About diagonal matrices
Date: Fri, 20 Feb 2009 22:20:30 +0100

On Fri, Feb 20, 2009 at 6:40 PM, Jaroslav Hajek <address@hidden> wrote:
> On Fri, Feb 20, 2009 at 6:30 PM, John W. Eaton <address@hidden> wrote:
>> On 20-Feb-2009, Jaroslav Hajek wrote:
>>
>> | I think that what Octave does now for sparse * scalar is certainly
>> | better than what Matlab does; I'd keep it that way. Otherwise, when
>> | you do scalar * sparse, and just by coincidence scalar happens to be
>> | Inf or NaN, you fill up the memory; bang, you're dead (or your
>> | computation is).
>> |
>> | Note that Matlab is not strictly numerically consistent either; try
>> | "speye (3) * [NaN; 1; 1]" vs. "eye (3) * [NaN; 1; 1]".
>> | There is simply a difference between a "numeric zero" and "assumed
>> | zero" (or "defined zero"). The second one just always nullifies, which
>> | is what the user actually expects.
>> | I'd say document this somewhere, but keep the assumed zeros. IMHO
>> | these are really corner cases and we do not need to copy the less
>> | intelligent behavior of Matlab just for compatibility.
>>
>> I agree that these cases don't come up all that often.  So why not
>> give the correct answer when they do?
>>
>> jwe
>>
>
> That depends on how you define the correct answer.  Most numerical
> software uses (implicitly) the "defined zero" definition shown above
> for sparse and structured matrices (e.g. BLAS with banded and
> triangular matrices).
> Matlab is apparently (somewhat) inconsistent with itself in this respect.
> Also, in most of the cases (not the scalar OP matrix), the additional
> checks for NaNs would also slow down the operations (and complicate
> their implementation).
>
> --

I started to write a chapter in the manual documenting the diagonal
and permutation matrices.
I will also mention the difference between assumed zeros and numeric
zeros, and document the existing
behavior. Will that be OK?

cheers

-- 
RNDr. Jaroslav Hajek
computing expert
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]