/***************** u1_proj.c (in u1.a) ****************************** * * * void u1_projector(u1_vector *a, u1_vector *b, su3_matrix *c); * * C <- outer product of A and B * * C_ij = A_i * B_adjoint_j * however in U(1) A,B are phases, so C = AB^* (at least that's what * I'm going to call it) */ #include "complex.h" #include "u1.h" void u1_projector(u1_vector *a, u1_vector *b, u1_matrix *c) { u1_matrix ta, tb; ta = cmplx(a->e[0], a->e[1]); tb = cmplx(b->e[0], b->e[1]); mult_u1_na(&ta,&tb,c); }