I want to multiply

Code: Select all

`r = B q`

*countb*elements of

**B**stored in

**b_sparse**with indices in

*ibs*and

*jbs*. Using two extra vectors

**rr**indexed in the same way as

**b_sparse**I can get the multiplication done in one call using the

**BLAS**routine

**zsbmv**

Code: Select all

```
call zscal(N,ZERO,r,1)
do i = 1, countb
qq(i) = q(ibs(i))
enddo
C This is band matrix multiplication with only the diagonal.
C It is worth the effort to copy q to qq and rr back to r.
bands = 0
CALL zsbmv('L',countb,bands,ONE,b_sparse,1,qq,1,ZERO,rr,1)
do i = 1, countb
r(jbs(i)) = r(jbs(i)) + rr(i)
enddo
```

I have looked but cannot find a MAGMA version of

**zsbmv**. Is this something you are thinking of doing?

Thanks

John