Merge pull request #4 from sebastianpos/master

IsPure, NegativePart, EulerCharacteristic
installed AdditiveInverse for IsElementOfGradedRingRep and IsZero

fixes:

From: Sebastian Posur <Sebastian@Posur.com>
Subject: Bug
Date: 18. Juni 2013 13:29:33 MESZ
To: Mohamed Barakat <mohamed.barakat@rwth-aachen.de>

Hallo Mohamed,

folgender Bug ist mir heute bei der Multiplikation des Nullelements eines
graduierten Grothendieckringelements mit -1 begegnet:

gap> G := SymmetricGroup( 3 );
Sym( [ 1 .. 3 ] )

gap> chi := Irr( G )[2];
Character( CharacterTable( Sym( [ 1 .. 3 ] ) ), [ 2, 0, -1 ] )

gap> e := ElementOfGradedGrothendieckRingOfGroup( [ [ chi, 0 ] ] );
(2=[{2|χ_2}])

gap> Zero(e);
(0=[{0|0}])

gap> -Zero(e);
Error, List Element: <list>[1] must have an assigned value in
ct := UnderlyingCharacterTable( graded_class_function[1][1] ); called from
a!.ElementOfGradedRing( List( EvalRingElement( a ), function ( i )
return [ - i[1], i[2] ];
end ) ) called from
AdditiveInverseAttr( elm ) called from
<function "unknown">( <arguments> )
called from read-eval loop at line 6 of *stdin*
you can 'return;' after assigning a value
brk>

Ich weiß leider nicht, wo diese Multiplikation stattfindet. Im Falle
eines nicht graduierten Grothendieck Ringelements ist alles in Ordnung.

Gruß

Sebastian