Christophe TROESTLER <christophe.troest...@umons.ac.be> writes:

> Package: libblas3gf
> Version: 1.2.20110419-5
> Severity: important

> The routine DGEMV (with TRANS = 'N') is supposed to perform the
> operation
>
>     y ← beta * y + alpha * A * x
>
> where the matrix A has dimensions M×N.  In particular, if N=0 (and M >
> 0), A * x is the null vector (all elements are given by sums on an
> empty set of indices).  Consequently, if N = 0, the operation should
> be
>
>     y ← beta * y
>
> and NOT leave y untouched.  For your convenience, I have attached a
> program demonstrating the latter (wrong) behavior.

I have tested the three BLAS implementations available in Debian (netlib
BLAS, ATLAS and OpenBLAS), and they all give the same result (bad from
your point of view).

So I am not sure this is a bug. Maybe this is on purpose. If one
considers this operation to be invalid (as I do), then it makes sense to
do nothing.

Does the documentation clearly states that BLAS supports operations on
objects with one dimension equal to zero?

-- 
 .''`.    Sébastien Villemot
: :' :    Debian Developer
`. `'     http://www.dynare.org/sebastien
  `-      GPG Key: 4096R/381A7594

Attachment: pgp6d7eHXh2gp.pgp
Description: PGP signature

Reply via email to