Re: [eigen] Lazy evaluation and adjoint(): Bug?

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Dear Gael,



Am 14.09.2016 um 18:06 schrieb Gael Guennebaud:

Hi,

is the result correct? If yes, then this means Eigen is following a custom conjugation path. If not, then could you try the following patch (this code path seems to assume that IsComplex <=> std::complex):

no, otherwise I would not have noticed it.

Applying your changes my little Test code of the previous email
results in

# Complex: 1
# ------- Mark 1: -------
#diff conjugate called 1 : (0,1)
# ------- Mark 2: -------
#diff conjugate called 2 : (0.5,0.5)
#diff conjugate called 3 : (0.5,0.5)
#diff conjugate called 4 : (0.5,0.5)
#diff conjugate called 5 : (0.5,0.5)
#diff conjugate called 6 : (0.5,0.5)
#diff conjugate called 7 : (0.5,0.5)
#diff conjugate called 8 : (0.5,0.5)
#diff conjugate called 9 : (0.5,0.5)
# ------- Mark 3: -------
#diff conjugate called 10 : (0.5,0.5)
#diff conjugate called 11 : (0.5,0.5)
#diff conjugate called 12 : (0.5,0.5)
#diff conjugate called 13 : (0.5,0.5)
# ------- Mark 4: -------
#diff conjugate called 14 : (0,1)
#diff conjugate called 15 : (0,1)
#diff conjugate called 16 : (0,1)
#diff conjugate called 17 : (0,1)
# ------- Mark 5: -------
#diff conjugate called 18 : (0,-1)
#diff conjugate called 19 : (0,-1)
#diff conjugate called 20 : (0,-1)
#diff conjugate called 21 : (0,-1)
# ------- Mark 6: -------
#diff conjugate called 22 : (0.5,0.5)
#diff conjugate called 23 : (0.5,0.5)
#diff conjugate called 24 : (0.5,0.5)
#diff conjugate called 25 : (0.5,0.5)
# ------- Mark 7: -------
(0.5,0.5) : (0.5,-0.5) : (0.5,-0.5)
(0,-1) : (0,1)

So this looks fine.
I've just rewritten my stuff using a hand crafted Transpose.
I'll re-rewrite it step by step to see whether it's fine now.

Thanks for your help,
Best regards,
Peter








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/