Date: Thu, 9 Jul 2009 02:45:07 -0600
From: Julien Langou
Subject: [Lapackers] what does A' stand for? (i.e. of the use of the notation conjg(A'), A', A**H, A**T, A.', etc.)
Dear lapackers,
Clint is pointing to some inconsistencies in LAPACK's comment to handle
the conjugate transpose operations.
BLAS comments are fairly consistent and use
A' for transpose(A) (in the complex case as well)
conjg(A)' for conjugate transpose.
This is nice but this not what Matlab means by A'.
I browsed LAPACK source code quickly.
LAPACK sometimes use A' for tranposeconjugate(A), as MAtlab does, and that
is the source of Clint's comment on ZGEQRF.
Some examples. Reading ZLARFB comments, this is fairly explicit.
* = 'N': apply H (No transpose)
* = 'C': apply H' (Conjugate transpose)
Same in ZLARFT, ZGEQRF.
I am not sure LAPACK uses once A' to mean tranpose(A) in the complex case.
So maybe LAPACK is consistent within itself. In any case this is not
consistent with BLAS.
LAPACK uses also quite often
A**T for transpose (A) and
A**H for conjugate-transpose (A)
The good point in using A' for conjugate-transpose(A) is that this is the
Matlab way of doing. So that comments are readily useable in Matlab.
Suggestion:
In the header, should we change all conjugate-transpose with A' as A**H ?
Or more simply, say that A' stands for conjugate-transpose of A in LAPACK
and then maybe we can change the BLAS comments to be consistent with
LAPACK.
Comments welcome.
--julien
----------------------------------------------------------------------------------------------------
Jim, Clint,
from my point of view, it is not a matter of fewer character (point raised by
Clint and Jim). The point is that the comment:
H = I - v * tau * v'
is a ready to copy-past Matlab statement.
As opposed to:
H = I - v * tau * v**H
H = I - v * tau * v^T
H = I - v * tau * conj(v^T)
> If you choose to switch to ', are you planning to make it in all files so
> that we are at least consistant?
Well, yes, that's the point that I am pondering. I think we all agree that we
want consistent notation.
--julien
----------------------------------------------------------------------------------------------------