blas-lapack-rs / blas

Wrappers for BLAS (Fortran)
Other
73 stars 15 forks source link

Add zrot #43

Open kevinsung opened 9 months ago

kevinsung commented 9 months ago

The zrot function seems to be missing.

https://www.netlib.org/lapack/explore-html/d1/d45/group__rot_gaac9d54e7408105ad6f4c810902e75b7a.html#gaac9d54e7408105ad6f4c810902e75b7a

IvanUkhov commented 9 months ago

Hello, blas-sys follows the following reference and zrot is not on the list:

https://www.netlib.org/blas/#_level_1

kevinsung commented 9 months ago

I see. What list do you follow for LAPACK? As a point of comparison, Scipy has zrot in scipy.linalg.lapack: https://docs.scipy.org/doc/scipy/reference/linalg.lapack.html

IvanUkhov commented 9 months ago

And lapack is following this header:

https://github.com/Reference-LAPACK/lapack/blob/master/LAPACKE/include/lapack.h

See this one:

https://github.com/blas-lapack-rs/lapack-sys/blob/master/bin/generate.sh

IvanUkhov commented 9 months ago

And in CBLAS there is no zrot either:

https://github.com/blas-lapack-rs/cblas-sys/blob/master/src/lib.rs#L229

From here:

https://github.com/Reference-LAPACK/lapack/blob/master/CBLAS/include/cblas.h

kevinsung commented 9 months ago

I see. From looking at Scipy's source code, it looks like Scipy gets zrot from the FORTRAN source code of LAPACK, but zrot has not yet been added to LAPACKE. I have opened https://github.com/Reference-LAPACK/lapack/issues/962 to track adding zrot to LAPACKE. Once that is done, we can add it to the Rust wrapper. It looks like it will belong in https://github.com/blas-lapack-rs/lapack after all.