You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: