X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Fexam_color.cpp;h=7f9e314eb162df29d8cd1d280806039d953d6904;hp=2190db8ed27e0a2920aa04424a0788b1ebd03a31;hb=0633ed8082961673eedc092689e06fa39d6bc322;hpb=4dc267ddbec7fcc1ba15bf0d60d72a346c9efb26 diff --git a/check/exam_color.cpp b/check/exam_color.cpp index 2190db8e..7f9e314e 100644 --- a/check/exam_color.cpp +++ b/check/exam_color.cpp @@ -3,7 +3,7 @@ * Here we test GiNaC's color objects (su(3) Lie algebra). */ /* - * GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2005 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "exams.h" @@ -44,7 +44,7 @@ static unsigned check_equal_simplify(const ex &e1, const ex &e2) return 0; } -static unsigned color_check1(void) +static unsigned color_check1() { // checks general identities and contractions of the structure constants @@ -78,7 +78,7 @@ static unsigned color_check1(void) return result; } -static unsigned color_check2(void) +static unsigned color_check2() { // checks general identities and contractions of the generators @@ -101,17 +101,19 @@ static unsigned color_check2(void) result += check_equal_simplify(e, 16 * color_ONE() / 9); e = color_T(a) * color_T(b) * color_T(c) * color_T(c) * color_T(b) * color_T(a); result += check_equal_simplify(e, 64 * color_ONE() / 27); + e = color_T(a) * color_T(b) * color_T(c) * color_T(k) * color_T(a) * color_T(k) * color_T(c) * color_T(b); + result += check_equal_simplify(e, -color_ONE() / 162); return result; } -static unsigned color_check3(void) +static unsigned color_check3() { // checks traces unsigned result = 0; - idx a(symbol("a"), 8), b(symbol("b"), 8), c(symbol("c"), 8), k(symbol("k"), 8); + idx a(symbol("a"), 8), b(symbol("b"), 8), c(symbol("c"), 8); ex e; e = color_ONE(); @@ -123,10 +125,22 @@ static unsigned color_check3(void) e = color_T(a) * color_T(b) * color_T(c); result += check_equal(color_trace(e), color_h(a, b, c) / 4); + e = color_ONE(0) * color_ONE(1) / 9; + result += check_equal(color_trace(e, 0), color_ONE(1) / 3); + result += check_equal(color_trace(e, 1), color_ONE(0) / 3); + result += check_equal(color_trace(e, 2), e); + result += check_equal(color_trace(e, lst(0, 1)), 1); + + e = color_T(a, 0) * color_T(a, 1) * color_T(b, 0) * color_T(b, 1); + result += check_equal_simplify(color_trace(e, 0), 2 * color_ONE(1) / 3); + result += check_equal_simplify(color_trace(e, 1), 2 * color_ONE(0) / 3); + result += check_equal_simplify(color_trace(e, 2), e); + result += check_equal_simplify(color_trace(e, lst(0, 1)), 2); + return result; } -unsigned exam_color(void) +unsigned exam_color() { unsigned result = 0;