Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

not issue: a comment about complex ROTG in the BLAS #594

Closed
langou opened this issue Jun 30, 2021 · 0 comments
Closed

not issue: a comment about complex ROTG in the BLAS #594

langou opened this issue Jun 30, 2021 · 0 comments

Comments

@langou
Copy link
Contributor

langou commented Jun 30, 2021

This is not a bug, not an issue. We are just having a conversation about complex ROTG in the BLAS, and I want to document this conversation.

[C/Z]ROTG do not compute the output Z that [S/D]ROTG compute.

So [S/D]ROTG and [C/Z]ROTG differ in their semantics this way.

[ Jim Demmel ] Note that LAPACK SLARTG and CLARTG do not provide this capability of SROTG, so LAPACK doesn't need to have the output Z that [S/D]ROTG compute.

[ Sven Hammarling ] The original Level 1 BLAS did not have complex plane rotation routines, but there is no explanation as to why they were omitted. If we look at Table 1 (on p.310) in
"Basic Linear Algebra Subprograms for Fortran Usage" from Lawson, Hanson, Kincaid and Krogh in ACM Transactions on Mathematical Software, Volume 5, Issue 3, Sept. 1979, pp 308–323, https://doi.org/10.1145/355841.355847. We can see that it only names the D and S versions. The LINPACK Users' Guide mentions the addition of CSROT. LINPACK did not add complex plane rotation generation routines.

CROTG was then likely written for LAPACK and maybe the output Z was omitted because it wasn't needed.

Since nothing is broken, we don't see a reason to change the semantics of the interface of CROTG, which could inadvertently break something else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant