Hi Meuns,
The default map I use is the following. The dual of the basis blade x is the basis blade x^* so that:
xx^* = \mathbf e_{0123},
which is then extended by linearity for arbitrary multivectors. Following this scheme, you will find that some basisblades will always get a minus sign. However, if one takes care picking the proper basis (like the one used in the course notes), these minus signs are all on the trivectors.
When the plan is to use the duality operator only for the regressive product, or to implement the ideal norm, one can then use projective equivalence (for projective points, lines, planes, a and -a represent the same element), and leave the sign changes out alltogether. We decided to go for this option for the course notes as it should make it clear that it is possible to implement the duality operator using casting (i.e. without any code…).
Please do note that this only works with a properly chosen basis. (and the natural order as you’ve used in your post is not one where that works.)
Cheers,
Enki
edit : if you look at the antidiagonal of the Cayley table on the cheat sheets you should be able to see what I mean.