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 ----------------------------------------------------------------------------------------------------