Closed zuoshifan closed 10 years ago
It seems that the option transA/B='C' is for conjugate transpose (It is the ScaLapack convention, too, see http://www.netlib.org/scalapack/slug/node95.html), so the docstring
transA, transB : ['N', 'T', 'H', 'C']
Whether we should use a transpose, rather than A or B themselves.
Either, do nothing ('N'), normal transpose ('T'), Hermitian transpose
('H'), or complex conjugation only ('C').
is deceptive.
The test code snippet is
dAdBC = rt.dot(dA, dB, transA='N', transB='C')
dAdBC = dAdBC.to_global_array(rank=0)
...
if rank == 0:
gAgBC = np.dot(gA, gB.T.conj())
assert allclose(dAdBC, gAgBC)
Thanks @zuoshifan for pointing this one out. Do you mind if I take your test case from above, and use it to replace the test suite in test_dot.py
.
Sure, no problem.
When calling function dot with transA/B='H' option, strange error occurs like
Here is my test script