]> www.ginac.de Git - ginac.git/blobdiff - check/exam_clifford.cpp
synced to head (dirac_trace()/color_trace())
[ginac.git] / check / exam_clifford.cpp
index b6ec71e455317bccb9b56eed2e96372f35ac47a3..9fab75436e720ebd336836a1d2ad9d450c13d70a 100644 (file)
@@ -184,6 +184,19 @@ static unsigned clifford_check3()
        e = dirac_trace(e);
        result += check_equal(e, 4);
 
+       // traces with multiple representation labels
+       e = dirac_ONE(0) * dirac_ONE(1) / 16;
+       result += check_equal(dirac_trace(e, 0), dirac_ONE(1) / 4);
+       result += check_equal(dirac_trace(e, 1), dirac_ONE(0) / 4);
+       result += check_equal(dirac_trace(e, 2), e);
+       result += check_equal(dirac_trace(e, lst(0, 1)), 1);
+
+       e = dirac_gamma(mu, 0) * dirac_gamma(mu.toggle_variance(), 1) * dirac_gamma(nu, 0) * dirac_gamma(nu.toggle_variance(), 1);
+       result += check_equal_simplify(dirac_trace(e, 0), 4 * dim * dirac_ONE(1));
+       result += check_equal_simplify(dirac_trace(e, 1), 4 * dim * dirac_ONE(0));
+       result += check_equal_simplify(dirac_trace(e, 2), e);
+       result += check_equal_simplify(dirac_trace(e, lst(0, 1)), 16 * dim);
+
        return result;
 }