[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] blas rotm index computation
From: |
Brian Gough |
Subject: |
Re: [Help-gsl] blas rotm index computation |
Date: |
Fri, 01 May 2009 12:30:26 +0200 |
User-agent: |
Wanderlust/2.14.0 (Africa) Emacs/22.1 Mule/5.0 (SAKAKI) |
At Fri, 1 May 2009 09:46:51 +0200,
Marco Maggi wrote:
> so when the vector stride is negative the elements
> of the vector are iterated starting from index:
>
> i = (X->size - 1) * -(X->stride);
>
> which equals:
>
> i = (X->size - 1) * abs(X->stride);
Hello,
According the the original BLAS standards, a negative stride (inc)
accesses the elements backwards, i.e. incX=-1 accesses the vector as
X->data[(N-1)], X->data[(N-2)], ...., X->data[0].
and incX=-2 as
X->data[2*(N-1)], X->data[2*(N-2)], ...., X->data[0].
Positive and negative inc values can be used together, the result is
of the form \sigma_i x_i y_(N-i) in a dot product for example.
Only the cblas functions support -ve stride, the gsl_vectors always
have +ve strides so this doesn't affect anything involving gsl_vector.
> Notice that the test suite in "cblas/test_rotm.c"
> tests vectors of size==1, so this problem does not
> show itself.
Hmm, yes, it would be good to extend that.
--
Brian Gough