SO(4) example
$\left\langle{\Psi_{1a}^{\ast}}|\,B\,| \Psi_{1b} \right\rangle{}$
#include <sospin/son.h>
using namespace sospin;
int main(int argc, char *argv[]){
setDim(4);
Braket left = bra(0,M(a),identity);
left +=bra(0,Mb(a)*e_(l,m)/2,b(m)*b(l));
Braket right = ket(0,M(b),identity);
right +=ket(0,Mb(b)*e_(i,j)/2,bt(i)*bt(j));
Braket res = left * Bop() * right;
res.evaluate(false);
Field(M, 0, 0, ASYM_WITH_FLAVOR);
Field(Mb, 0, 0, ASYM_WITH_FLAVOR);
newId("a"); newId("b");
unsetFormIndexSum();
CallForm(res,false, true, "j");
res.setON();
std::cout << "Result:\n" << res << std::endl;
res.setOFF();
CleanGlobalDecl();
exit(0);
}
$\sum^4_{\mu=1}\left\langle{\Psi_{1a}^{\ast}}|\,B\,\Gamma_{\mu}|{\Psi_{2b}}\right\rangle \left\langle{\Psi_{1c}^{\ast}}|\,B\,\Gamma_{\mu}|{\Psi_{2d}}\right\rangle$
#include <sospin/son.h>
using namespace sospin;
int main(int argc, char *argv[]){
setDim(4);
Braket L1, R1, L2, R2;
Braket in1E, in1O, in2E, in2O, res;
L1 = bra(0,M(a),identity);
L1+= bra(0,Mb(a)*e_(i,j)/2,b(j)*b(i));
R1 = ket(0,N10(b,k),bt(k));
L2 = bra(0,M(c),identity);
L2+= bra(0,Mb(c)*e_(l,m)/2,b(m)*b(l));
R2 = ket(0,N10(d,o),bt(o));
Field(M, 0, 0, ASYM_WITH_FLAVOR);
Field(Mb, 0, 0, ASYM_WITH_FLAVOR);
Field(N, 1, 0, ASYM_WITH_FLAVOR);
newId("a"); newId("b");
newId("c"); newId("d");
in1E = L1 * Bop("i") * G(true, "j") * R1;
in2E = L2 * Bop("k") * G(true, "j") * R2;
in1O = L1 * Bop("i") * G(false,"j") * R1;
in2O = L2 * Bop("k") * G(false,"j") * R2;
in1E.evaluate();
in2E.evaluate();
in1O.evaluate();
in2O.evaluate();
res = in1E * in2E + in1O * in2O ;
unsetFormIndexSum();
CallForm(res,false, true, "i");
res.setON();
std::cout << "Output result:\n" << res << std::endl;
CleanGlobalDecl();
exit(0);
}
Output result:
Local R1 = +2*M(a)*N10(b,i)*Mb(c)*N10(d,j)*e_(i,j);
Local R2 = -2*Mb(a)*N10(b,i)*M(c)*N10(d,j)*e_(i,j);
S OS pin Collaboration 2015
Last modified: