/[escript]/branches/intelc_win32/escript/test/python/test_util_spatial_functions.py
ViewVC logotype

Diff of /branches/intelc_win32/escript/test/python/test_util_spatial_functions.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 441 by gross, Fri Jan 20 03:40:39 2006 UTC revision 443 by gross, Fri Jan 20 06:22:38 2006 UTC
# Line 71796  class Test_Util_SpatialFunctions(unittes Line 71796  class Test_Util_SpatialFunctions(unittes
71796        self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
71797        self.failUnlessEqual(sub.getFunctionSpace(),w_ref,"wrong function space of result.")        self.failUnlessEqual(sub.getFunctionSpace(),w_ref,"wrong function space of result.")
71798        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
71799       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71800       def test_L2_onFunction_fromData_rank0(self):
71801          """
71802          tests L2-norm of Data on the Function
71803    
71804          assumptions: self.domain supports integration on Function
71805          """
71806          dim=self.domain.getDim()
71807          w=Function(self.domain)
71808          x=w.getX()
71809          if dim==2:
71810            arg=Data(0,(),w)
71811            arg=(0.608797336225)*x[0]
71812            ref=sqrt((0.123544732198))
71813    
71814          else:
71815            arg=Data(0,(),w)
71816            arg=(0.136031275673)*x[0]
71817            ref=sqrt((0.00616816932037))
71818    
71819          res=L2(arg)
71820          self.failUnless(isinstance(res,float),"wrong type of result.")
71821          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
71822       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71823       def test_L2_onFunction_fromData_rank1(self):
71824          """
71825          tests L2-norm of Data on the Function
71826    
71827          assumptions: self.domain supports integration on Function
71828          """
71829          dim=self.domain.getDim()
71830          w=Function(self.domain)
71831          x=w.getX()
71832          if dim==2:
71833            arg=Data(0,(2,),w)
71834            arg[0]=(-0.212143919436)*x[0]
71835            arg[1]=(-0.256194155686)*x[1]
71836            ref=sqrt((0.0368801626538))
71837    
71838          else:
71839            arg=Data(0,(3,),w)
71840            arg[0]=(0.0452831341416)*x[0]
71841            arg[1]=(-0.278640180656)*x[1]
71842            arg[2]=(-0.607035001062)*x[2]
71843            ref=sqrt((0.149394135009))
71844    
71845          res=L2(arg)
71846          self.failUnless(isinstance(res,float),"wrong type of result.")
71847          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
71848       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71849       def test_L2_onFunction_fromData_rank2(self):
71850          """
71851          tests L2-norm of Data on the Function
71852    
71853          assumptions: self.domain supports integration on Function
71854          """
71855          dim=self.domain.getDim()
71856          w=Function(self.domain)
71857          x=w.getX()
71858          if dim==2:
71859            arg=Data(0,(4, 2),w)
71860            arg[0,0]=(0.239448813076)*x[0]
71861            arg[0,1]=(-0.529349708753)*x[1]
71862            arg[1,0]=(-0.381557161859)*x[0]
71863            arg[1,1]=(0.731658534249)*x[1]
71864            arg[2,0]=(-0.813679062342)*x[0]
71865            arg[2,1]=(0.528100089704)*x[1]
71866            arg[3,0]=(-0.480867528161)*x[0]
71867            arg[3,1]=(-0.167862206972)*x[1]
71868            ref=sqrt((0.739610516051))
71869    
71870          else:
71871            arg=Data(0,(4, 3),w)
71872            arg[0,0]=(0.951209543612)*x[0]
71873            arg[0,1]=(0.735178735637)*x[1]
71874            arg[0,2]=(0.13074673272)*x[2]
71875            arg[1,0]=(0.412295676715)*x[0]
71876            arg[1,1]=(-0.657695950153)*x[1]
71877            arg[1,2]=(-0.900044734695)*x[2]
71878            arg[2,0]=(0.741773926224)*x[0]
71879            arg[2,1]=(0.0521828807406)*x[1]
71880            arg[2,2]=(0.797728501985)*x[2]
71881            arg[3,0]=(-0.61235554051)*x[0]
71882            arg[3,1]=(0.456652747412)*x[1]
71883            arg[3,2]=(-0.734303857319)*x[2]
71884            ref=sqrt((1.72901661926))
71885    
71886          res=L2(arg)
71887          self.failUnless(isinstance(res,float),"wrong type of result.")
71888          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
71889       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71890       def test_L2_onFunction_fromData_rank3(self):
71891          """
71892          tests L2-norm of Data on the Function
71893    
71894          assumptions: self.domain supports integration on Function
71895          """
71896          dim=self.domain.getDim()
71897          w=Function(self.domain)
71898          x=w.getX()
71899          if dim==2:
71900            arg=Data(0,(6, 2, 2),w)
71901            arg[0,0,0]=(0.449174971953)*x[0]
71902            arg[0,0,1]=(-0.0109398763289)*x[1]
71903            arg[0,1,0]=(-0.202497187709)*x[0]
71904            arg[0,1,1]=(-0.12970879334)*x[1]
71905            arg[1,0,0]=(-0.138092481719)*x[0]
71906            arg[1,0,1]=(-0.528752200917)*x[1]
71907            arg[1,1,0]=(-0.605919441662)*x[0]
71908            arg[1,1,1]=(0.215615032334)*x[1]
71909            arg[2,0,0]=(-0.998734541972)*x[0]
71910            arg[2,0,1]=(0.725811901251)*x[1]
71911            arg[2,1,0]=(-0.966536503228)*x[0]
71912            arg[2,1,1]=(-0.528692217355)*x[1]
71913            arg[3,0,0]=(0.757633851466)*x[0]
71914            arg[3,0,1]=(-0.524660157377)*x[1]
71915            arg[3,1,0]=(0.983733431677)*x[0]
71916            arg[3,1,1]=(0.061279109546)*x[1]
71917            arg[4,0,0]=(0.85914215305)*x[0]
71918            arg[4,0,1]=(0.941714045112)*x[1]
71919            arg[4,1,0]=(0.172235529555)*x[0]
71920            arg[4,1,1]=(-0.108381454437)*x[1]
71921            arg[5,0,0]=(-0.736373697727)*x[0]
71922            arg[5,0,1]=(-0.599337929679)*x[1]
71923            arg[5,1,0]=(0.661072686392)*x[0]
71924            arg[5,1,1]=(-0.55107327409)*x[1]
71925            ref=sqrt((2.94641432714))
71926    
71927          else:
71928            arg=Data(0,(6, 2, 3),w)
71929            arg[0,0,0]=(0.69227064904)*x[0]
71930            arg[0,0,1]=(-0.968336177418)*x[1]
71931            arg[0,0,2]=(-0.634883146685)*x[2]
71932            arg[0,1,0]=(-0.12640661422)*x[0]
71933            arg[0,1,1]=(-0.637386589888)*x[1]
71934            arg[0,1,2]=(0.26060859356)*x[2]
71935            arg[1,0,0]=(-0.986864633297)*x[0]
71936            arg[1,0,1]=(-0.441589142379)*x[1]
71937            arg[1,0,2]=(-0.587865539582)*x[2]
71938            arg[1,1,0]=(0.596052465031)*x[0]
71939            arg[1,1,1]=(0.312732336652)*x[1]
71940            arg[1,1,2]=(-0.514423945092)*x[2]
71941            arg[2,0,0]=(-0.892391254794)*x[0]
71942            arg[2,0,1]=(0.377920185756)*x[1]
71943            arg[2,0,2]=(-0.120174597181)*x[2]
71944            arg[2,1,0]=(-0.469951576468)*x[0]
71945            arg[2,1,1]=(-0.788362249555)*x[1]
71946            arg[2,1,2]=(0.745625354986)*x[2]
71947            arg[3,0,0]=(0.542802498569)*x[0]
71948            arg[3,0,1]=(-0.814541028706)*x[1]
71949            arg[3,0,2]=(0.298410992196)*x[2]
71950            arg[3,1,0]=(0.981190341206)*x[0]
71951            arg[3,1,1]=(0.666421298608)*x[1]
71952            arg[3,1,2]=(-0.369751722626)*x[2]
71953            arg[4,0,0]=(-0.75379530597)*x[0]
71954            arg[4,0,1]=(0.283357267139)*x[1]
71955            arg[4,0,2]=(0.247787072861)*x[2]
71956            arg[4,1,0]=(0.301766692533)*x[0]
71957            arg[4,1,1]=(0.828183439224)*x[1]
71958            arg[4,1,2]=(-0.580824060547)*x[2]
71959            arg[5,0,0]=(0.637345610764)*x[0]
71960            arg[5,0,1]=(-0.234409115997)*x[1]
71961            arg[5,0,2]=(-0.192639300316)*x[2]
71962            arg[5,1,0]=(-0.62609237162)*x[0]
71963            arg[5,1,1]=(0.463404958552)*x[1]
71964            arg[5,1,2]=(-0.547814448738)*x[2]
71965            ref=sqrt((4.2381131862))
71966    
71967          res=L2(arg)
71968          self.failUnless(isinstance(res,float),"wrong type of result.")
71969          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
71970       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71971       def test_L2_onFunction_fromData_rank4(self):
71972          """
71973          tests L2-norm of Data on the Function
71974    
71975          assumptions: self.domain supports integration on Function
71976          """
71977          dim=self.domain.getDim()
71978          w=Function(self.domain)
71979          x=w.getX()
71980          if dim==2:
71981            arg=Data(0,(4, 5, 3, 2),w)
71982            arg[0,0,0,0]=(-0.232618585183)*x[0]
71983            arg[0,0,0,1]=(0.39796117869)*x[1]
71984            arg[0,0,1,0]=(-0.997336958262)*x[0]
71985            arg[0,0,1,1]=(-0.351780915076)*x[1]
71986            arg[0,0,2,0]=(-0.876764070136)*x[0]
71987            arg[0,0,2,1]=(0.808730805817)*x[1]
71988            arg[0,1,0,0]=(-0.197154744966)*x[0]
71989            arg[0,1,0,1]=(0.416246096086)*x[1]
71990            arg[0,1,1,0]=(0.708038457121)*x[0]
71991            arg[0,1,1,1]=(-0.00954021503188)*x[1]
71992            arg[0,1,2,0]=(-0.62630809425)*x[0]
71993            arg[0,1,2,1]=(0.430228727912)*x[1]
71994            arg[0,2,0,0]=(0.0306704747648)*x[0]
71995            arg[0,2,0,1]=(-0.913877199453)*x[1]
71996            arg[0,2,1,0]=(-0.697612800829)*x[0]
71997            arg[0,2,1,1]=(-0.17996376822)*x[1]
71998            arg[0,2,2,0]=(-0.304509578871)*x[0]
71999            arg[0,2,2,1]=(-0.610556755811)*x[1]
72000            arg[0,3,0,0]=(-0.452355972234)*x[0]
72001            arg[0,3,0,1]=(-0.368921242518)*x[1]
72002            arg[0,3,1,0]=(-0.478275554932)*x[0]
72003            arg[0,3,1,1]=(0.257178549127)*x[1]
72004            arg[0,3,2,0]=(0.530736487177)*x[0]
72005            arg[0,3,2,1]=(-0.567126272463)*x[1]
72006            arg[0,4,0,0]=(0.801519165938)*x[0]
72007            arg[0,4,0,1]=(-0.509816703951)*x[1]
72008            arg[0,4,1,0]=(-0.255412646934)*x[0]
72009            arg[0,4,1,1]=(0.437540101896)*x[1]
72010            arg[0,4,2,0]=(-0.815574969538)*x[0]
72011            arg[0,4,2,1]=(-0.94691547137)*x[1]
72012            arg[1,0,0,0]=(-0.732550722593)*x[0]
72013            arg[1,0,0,1]=(0.515752381704)*x[1]
72014            arg[1,0,1,0]=(-0.343590210899)*x[0]
72015            arg[1,0,1,1]=(-0.0601907964915)*x[1]
72016            arg[1,0,2,0]=(0.0199916154421)*x[0]
72017            arg[1,0,2,1]=(-0.136927227821)*x[1]
72018            arg[1,1,0,0]=(0.397994441702)*x[0]
72019            arg[1,1,0,1]=(0.953873148948)*x[1]
72020            arg[1,1,1,0]=(0.419416235967)*x[0]
72021            arg[1,1,1,1]=(0.700998577193)*x[1]
72022            arg[1,1,2,0]=(-0.497358799271)*x[0]
72023            arg[1,1,2,1]=(0.0851768858379)*x[1]
72024            arg[1,2,0,0]=(0.0936678875202)*x[0]
72025            arg[1,2,0,1]=(0.869883786896)*x[1]
72026            arg[1,2,1,0]=(0.582700123485)*x[0]
72027            arg[1,2,1,1]=(-0.433381106794)*x[1]
72028            arg[1,2,2,0]=(-0.527031777974)*x[0]
72029            arg[1,2,2,1]=(0.105105137652)*x[1]
72030            arg[1,3,0,0]=(-0.716750829134)*x[0]
72031            arg[1,3,0,1]=(0.774519209008)*x[1]
72032            arg[1,3,1,0]=(-0.568743372716)*x[0]
72033            arg[1,3,1,1]=(0.794732483944)*x[1]
72034            arg[1,3,2,0]=(0.246606002015)*x[0]
72035            arg[1,3,2,1]=(-0.988869494994)*x[1]
72036            arg[1,4,0,0]=(0.482379298083)*x[0]
72037            arg[1,4,0,1]=(-0.386268387903)*x[1]
72038            arg[1,4,1,0]=(0.137184889675)*x[0]
72039            arg[1,4,1,1]=(-0.140520035321)*x[1]
72040            arg[1,4,2,0]=(0.822755050415)*x[0]
72041            arg[1,4,2,1]=(-0.815562139522)*x[1]
72042            arg[2,0,0,0]=(-0.462891511962)*x[0]
72043            arg[2,0,0,1]=(-0.122643411631)*x[1]
72044            arg[2,0,1,0]=(-0.520861119962)*x[0]
72045            arg[2,0,1,1]=(-0.881189618018)*x[1]
72046            arg[2,0,2,0]=(-0.776157842774)*x[0]
72047            arg[2,0,2,1]=(-0.12354053207)*x[1]
72048            arg[2,1,0,0]=(0.395495230826)*x[0]
72049            arg[2,1,0,1]=(-0.388106659423)*x[1]
72050            arg[2,1,1,0]=(0.354250242834)*x[0]
72051            arg[2,1,1,1]=(-0.666514210192)*x[1]
72052            arg[2,1,2,0]=(0.951294655083)*x[0]
72053            arg[2,1,2,1]=(0.074024416386)*x[1]
72054            arg[2,2,0,0]=(0.335448485459)*x[0]
72055            arg[2,2,0,1]=(-0.40988282528)*x[1]
72056            arg[2,2,1,0]=(-0.805725968875)*x[0]
72057            arg[2,2,1,1]=(-0.949883082118)*x[1]
72058            arg[2,2,2,0]=(0.531549210683)*x[0]
72059            arg[2,2,2,1]=(-0.398401016682)*x[1]
72060            arg[2,3,0,0]=(-0.953963433205)*x[0]
72061            arg[2,3,0,1]=(0.643431126406)*x[1]
72062            arg[2,3,1,0]=(-0.167611998738)*x[0]
72063            arg[2,3,1,1]=(0.226130056552)*x[1]
72064            arg[2,3,2,0]=(0.0752687641131)*x[0]
72065            arg[2,3,2,1]=(-0.115742756362)*x[1]
72066            arg[2,4,0,0]=(0.579694491028)*x[0]
72067            arg[2,4,0,1]=(-0.112005738299)*x[1]
72068            arg[2,4,1,0]=(0.657291764224)*x[0]
72069            arg[2,4,1,1]=(0.62671154177)*x[1]
72070            arg[2,4,2,0]=(0.103695027944)*x[0]
72071            arg[2,4,2,1]=(0.462828491544)*x[1]
72072            arg[3,0,0,0]=(0.697692979998)*x[0]
72073            arg[3,0,0,1]=(-0.123481859619)*x[1]
72074            arg[3,0,1,0]=(-0.749745629459)*x[0]
72075            arg[3,0,1,1]=(-0.541969524069)*x[1]
72076            arg[3,0,2,0]=(0.819484470759)*x[0]
72077            arg[3,0,2,1]=(-0.860592326469)*x[1]
72078            arg[3,1,0,0]=(-0.716566084771)*x[0]
72079            arg[3,1,0,1]=(-0.949235434827)*x[1]
72080            arg[3,1,1,0]=(-0.826699498174)*x[0]
72081            arg[3,1,1,1]=(-0.138511521583)*x[1]
72082            arg[3,1,2,0]=(-0.951682890904)*x[0]
72083            arg[3,1,2,1]=(0.413293316925)*x[1]
72084            arg[3,2,0,0]=(0.909516836775)*x[0]
72085            arg[3,2,0,1]=(-0.919989721277)*x[1]
72086            arg[3,2,1,0]=(0.0994860369337)*x[0]
72087            arg[3,2,1,1]=(-0.933647246623)*x[1]
72088            arg[3,2,2,0]=(-0.759215183015)*x[0]
72089            arg[3,2,2,1]=(0.0975793309286)*x[1]
72090            arg[3,3,0,0]=(-0.130256739381)*x[0]
72091            arg[3,3,0,1]=(-0.582280862311)*x[1]
72092            arg[3,3,1,0]=(0.206970526192)*x[0]
72093            arg[3,3,1,1]=(-0.8678322258)*x[1]
72094            arg[3,3,2,0]=(0.133004501279)*x[0]
72095            arg[3,3,2,1]=(0.802921710935)*x[1]
72096            arg[3,4,0,0]=(-0.255737792764)*x[0]
72097            arg[3,4,0,1]=(-0.34168114937)*x[1]
72098            arg[3,4,1,0]=(-0.859309090399)*x[0]
72099            arg[3,4,1,1]=(0.245043986435)*x[1]
72100            arg[3,4,2,0]=(0.893062018695)*x[0]
72101            arg[3,4,2,1]=(0.709422742588)*x[1]
72102            ref=sqrt((13.7289280362))
72103    
72104          else:
72105            arg=Data(0,(4, 5, 3, 3),w)
72106            arg[0,0,0,0]=(0.0312828390439)*x[0]
72107            arg[0,0,0,1]=(-0.524970416212)*x[1]
72108            arg[0,0,0,2]=(0.561865217554)*x[2]
72109            arg[0,0,1,0]=(0.692457187384)*x[0]
72110            arg[0,0,1,1]=(0.946967182157)*x[1]
72111            arg[0,0,1,2]=(-0.863842279464)*x[2]
72112            arg[0,0,2,0]=(0.993922921598)*x[0]
72113            arg[0,0,2,1]=(0.322812768679)*x[1]
72114            arg[0,0,2,2]=(0.901876132204)*x[2]
72115            arg[0,1,0,0]=(0.967569979365)*x[0]
72116            arg[0,1,0,1]=(0.840979131355)*x[1]
72117            arg[0,1,0,2]=(0.0494811460856)*x[2]
72118            arg[0,1,1,0]=(0.315178456102)*x[0]
72119            arg[0,1,1,1]=(0.449848313024)*x[1]
72120            arg[0,1,1,2]=(0.765887852886)*x[2]
72121            arg[0,1,2,0]=(0.975541574352)*x[0]
72122            arg[0,1,2,1]=(-0.797851290751)*x[1]
72123            arg[0,1,2,2]=(0.628918775319)*x[2]
72124            arg[0,2,0,0]=(0.685635794312)*x[0]
72125            arg[0,2,0,1]=(0.10341799962)*x[1]
72126            arg[0,2,0,2]=(-0.964822756043)*x[2]
72127            arg[0,2,1,0]=(-0.56160368212)*x[0]
72128            arg[0,2,1,1]=(0.676344298102)*x[1]
72129            arg[0,2,1,2]=(-0.713924121843)*x[2]
72130            arg[0,2,2,0]=(-0.276655136263)*x[0]
72131            arg[0,2,2,1]=(0.336046973788)*x[1]
72132            arg[0,2,2,2]=(-0.68789392396)*x[2]
72133            arg[0,3,0,0]=(0.0172861311571)*x[0]
72134            arg[0,3,0,1]=(-0.301075956456)*x[1]
72135            arg[0,3,0,2]=(0.779442985415)*x[2]
72136            arg[0,3,1,0]=(-0.517629576558)*x[0]
72137            arg[0,3,1,1]=(0.584779586639)*x[1]
72138            arg[0,3,1,2]=(-0.53266435436)*x[2]
72139            arg[0,3,2,0]=(0.841533567102)*x[0]
72140            arg[0,3,2,1]=(0.0458746415489)*x[1]
72141            arg[0,3,2,2]=(0.921237870758)*x[2]
72142            arg[0,4,0,0]=(0.0548343238805)*x[0]
72143            arg[0,4,0,1]=(0.687022707412)*x[1]
72144            arg[0,4,0,2]=(-0.319803609795)*x[2]
72145            arg[0,4,1,0]=(0.409763007811)*x[0]
72146            arg[0,4,1,1]=(0.165501957435)*x[1]
72147            arg[0,4,1,2]=(0.116001692781)*x[2]
72148            arg[0,4,2,0]=(-0.515571394238)*x[0]
72149            arg[0,4,2,1]=(0.209467945147)*x[1]
72150            arg[0,4,2,2]=(-0.344827191247)*x[2]
72151            arg[1,0,0,0]=(0.57193838014)*x[0]
72152            arg[1,0,0,1]=(-0.0880683799076)*x[1]
72153            arg[1,0,0,2]=(0.956899617441)*x[2]
72154            arg[1,0,1,0]=(-0.783689636357)*x[0]
72155            arg[1,0,1,1]=(-0.25177506885)*x[1]
72156            arg[1,0,1,2]=(-0.97074584634)*x[2]
72157            arg[1,0,2,0]=(0.432543519806)*x[0]
72158            arg[1,0,2,1]=(0.481003021954)*x[1]
72159            arg[1,0,2,2]=(-0.0630751518268)*x[2]
72160            arg[1,1,0,0]=(-0.65152446796)*x[0]
72161            arg[1,1,0,1]=(-0.0323685084425)*x[1]
72162            arg[1,1,0,2]=(-0.508674033909)*x[2]
72163            arg[1,1,1,0]=(-0.533367818916)*x[0]
72164            arg[1,1,1,1]=(0.310738340288)*x[1]
72165            arg[1,1,1,2]=(0.694612234326)*x[2]
72166            arg[1,1,2,0]=(-0.622052473032)*x[0]
72167            arg[1,1,2,1]=(0.0498443793671)*x[1]
72168            arg[1,1,2,2]=(0.61023707512)*x[2]
72169            arg[1,2,0,0]=(0.0730267406859)*x[0]
72170            arg[1,2,0,1]=(0.146909334607)*x[1]
72171            arg[1,2,0,2]=(-0.641860284448)*x[2]
72172            arg[1,2,1,0]=(0.917976589737)*x[0]
72173            arg[1,2,1,1]=(0.50219672122)*x[1]
72174            arg[1,2,1,2]=(0.634559579812)*x[2]
72175            arg[1,2,2,0]=(0.0578772734534)*x[0]
72176            arg[1,2,2,1]=(0.288730973517)*x[1]
72177            arg[1,2,2,2]=(-0.0525978796154)*x[2]
72178            arg[1,3,0,0]=(-0.926152433388)*x[0]
72179            arg[1,3,0,1]=(0.0616647680855)*x[1]
72180            arg[1,3,0,2]=(-0.875889217846)*x[2]
72181            arg[1,3,1,0]=(-0.638931542845)*x[0]
72182            arg[1,3,1,1]=(0.708848122964)*x[1]
72183            arg[1,3,1,2]=(0.119066979792)*x[2]
72184            arg[1,3,2,0]=(0.853716218591)*x[0]
72185            arg[1,3,2,1]=(-0.92754322201)*x[1]
72186            arg[1,3,2,2]=(-0.671530626265)*x[2]
72187            arg[1,4,0,0]=(0.337424536231)*x[0]
72188            arg[1,4,0,1]=(0.335704451719)*x[1]
72189            arg[1,4,0,2]=(-0.484565969466)*x[2]
72190            arg[1,4,1,0]=(-0.855476192012)*x[0]
72191            arg[1,4,1,1]=(0.405674615553)*x[1]
72192            arg[1,4,1,2]=(0.728310771323)*x[2]
72193            arg[1,4,2,0]=(0.363651308265)*x[0]
72194            arg[1,4,2,1]=(0.174460594531)*x[1]
72195            arg[1,4,2,2]=(-0.0418244838617)*x[2]
72196            arg[2,0,0,0]=(-0.531341992511)*x[0]
72197            arg[2,0,0,1]=(0.584996796272)*x[1]
72198            arg[2,0,0,2]=(-0.752430968716)*x[2]
72199            arg[2,0,1,0]=(-0.341989849747)*x[0]
72200            arg[2,0,1,1]=(0.153572646953)*x[1]
72201            arg[2,0,1,2]=(-0.197130051737)*x[2]
72202            arg[2,0,2,0]=(-0.338082424082)*x[0]
72203            arg[2,0,2,1]=(0.000173657394772)*x[1]
72204            arg[2,0,2,2]=(0.365272907692)*x[2]
72205            arg[2,1,0,0]=(0.904304126564)*x[0]
72206            arg[2,1,0,1]=(0.161252368484)*x[1]
72207            arg[2,1,0,2]=(0.246854092422)*x[2]
72208            arg[2,1,1,0]=(-0.299880647529)*x[0]
72209            arg[2,1,1,1]=(-0.566917528608)*x[1]
72210            arg[2,1,1,2]=(0.243183337285)*x[2]
72211            arg[2,1,2,0]=(0.437406011474)*x[0]
72212            arg[2,1,2,1]=(0.727447394053)*x[1]
72213            arg[2,1,2,2]=(0.380752950664)*x[2]
72214            arg[2,2,0,0]=(0.172292846911)*x[0]
72215            arg[2,2,0,1]=(0.334201791643)*x[1]
72216            arg[2,2,0,2]=(0.739989926962)*x[2]
72217            arg[2,2,1,0]=(-0.0669843715042)*x[0]
72218            arg[2,2,1,1]=(-0.540497281635)*x[1]
72219            arg[2,2,1,2]=(-0.744217027088)*x[2]
72220            arg[2,2,2,0]=(-0.287295952259)*x[0]
72221            arg[2,2,2,1]=(-0.512411849183)*x[1]
72222            arg[2,2,2,2]=(0.953107417666)*x[2]
72223            arg[2,3,0,0]=(0.998168116695)*x[0]
72224            arg[2,3,0,1]=(0.960065646359)*x[1]
72225            arg[2,3,0,2]=(0.110048258832)*x[2]
72226            arg[2,3,1,0]=(-0.477271134724)*x[0]
72227            arg[2,3,1,1]=(0.707182612251)*x[1]
72228            arg[2,3,1,2]=(0.285500891755)*x[2]
72229            arg[2,3,2,0]=(-0.863497506661)*x[0]
72230            arg[2,3,2,1]=(-0.293917669879)*x[1]
72231            arg[2,3,2,2]=(-0.403384244295)*x[2]
72232            arg[2,4,0,0]=(0.848455277702)*x[0]
72233            arg[2,4,0,1]=(-0.530101455578)*x[1]
72234            arg[2,4,0,2]=(0.33887313048)*x[2]
72235            arg[2,4,1,0]=(-0.195313538124)*x[0]
72236            arg[2,4,1,1]=(-0.62754572008)*x[1]
72237            arg[2,4,1,2]=(-0.385132960582)*x[2]
72238            arg[2,4,2,0]=(0.240048012886)*x[0]
72239            arg[2,4,2,1]=(0.900766252969)*x[1]
72240            arg[2,4,2,2]=(0.669620533505)*x[2]
72241            arg[3,0,0,0]=(0.375766827301)*x[0]
72242            arg[3,0,0,1]=(0.705484960308)*x[1]
72243            arg[3,0,0,2]=(0.440931516034)*x[2]
72244            arg[3,0,1,0]=(-0.44724403177)*x[0]
72245            arg[3,0,1,1]=(-0.31558249626)*x[1]
72246            arg[3,0,1,2]=(-0.00419436365172)*x[2]
72247            arg[3,0,2,0]=(0.750599752032)*x[0]
72248            arg[3,0,2,1]=(0.367649951795)*x[1]
72249            arg[3,0,2,2]=(0.0488013073654)*x[2]
72250            arg[3,1,0,0]=(-0.992890068274)*x[0]
72251            arg[3,1,0,1]=(0.671447745511)*x[1]
72252            arg[3,1,0,2]=(0.85613331404)*x[2]
72253            arg[3,1,1,0]=(-0.46064764242)*x[0]
72254            arg[3,1,1,1]=(0.48138877715)*x[1]
72255            arg[3,1,1,2]=(0.396741761803)*x[2]
72256            arg[3,1,2,0]=(-0.879391967543)*x[0]
72257            arg[3,1,2,1]=(-0.44039462138)*x[1]
72258            arg[3,1,2,2]=(0.0330511573872)*x[2]
72259            arg[3,2,0,0]=(-0.367413701648)*x[0]
72260            arg[3,2,0,1]=(0.0359818324891)*x[1]
72261            arg[3,2,0,2]=(-0.307532667032)*x[2]
72262            arg[3,2,1,0]=(0.334663597166)*x[0]
72263            arg[3,2,1,1]=(0.541941978066)*x[1]
72264            arg[3,2,1,2]=(-0.609184079318)*x[2]
72265            arg[3,2,2,0]=(0.359349239826)*x[0]
72266            arg[3,2,2,1]=(0.0419272305685)*x[1]
72267            arg[3,2,2,2]=(0.557189794296)*x[2]
72268            arg[3,3,0,0]=(-0.85864165554)*x[0]
72269            arg[3,3,0,1]=(-0.185411404213)*x[1]
72270            arg[3,3,0,2]=(0.254294865253)*x[2]
72271            arg[3,3,1,0]=(0.870362177541)*x[0]
72272            arg[3,3,1,1]=(-0.439688612864)*x[1]
72273            arg[3,3,1,2]=(0.26006729357)*x[2]
72274            arg[3,3,2,0]=(-0.0724034754175)*x[0]
72275            arg[3,3,2,1]=(0.444871564246)*x[1]
72276            arg[3,3,2,2]=(0.485634530531)*x[2]
72277            arg[3,4,0,0]=(-0.744756961758)*x[0]
72278            arg[3,4,0,1]=(0.429761406102)*x[1]
72279            arg[3,4,0,2]=(-0.584963735834)*x[2]
72280            arg[3,4,1,0]=(0.684578379159)*x[0]
72281            arg[3,4,1,1]=(0.949460132601)*x[1]
72282            arg[3,4,1,2]=(-0.592179909559)*x[2]
72283            arg[3,4,2,0]=(0.707154437797)*x[0]
72284            arg[3,4,2,1]=(0.619200407063)*x[1]
72285            arg[3,4,2,2]=(-0.338547165)*x[2]
72286            ref=sqrt((19.2170638478))
72287    
72288          res=L2(arg)
72289          self.failUnless(isinstance(res,float),"wrong type of result.")
72290          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
72291       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72292       def test_L2_onFunction_fromSymbol_rank0(self):
72293          """
72294          tests L2-norm of Symbol on the Function
72295    
72296          assumptions: self.domain supports integration on Function
72297          """
72298          dim=self.domain.getDim()
72299          w=Function(self.domain)
72300          x=w.getX()
72301          if dim==2:
72302            arg=Symbol(shape=(),dim=dim)
72303            s=Data(0,(),w)
72304            s=(-0.292546362165)*x[0]
72305            ref=sqrt((0.0285277913387))
72306    
72307          else:
72308            arg=Symbol(shape=(),dim=dim)
72309            s=Data(0,(),w)
72310            s=(0.751025585654)*x[0]
72311            ref=sqrt((0.188013143436))
72312    
72313          res=L2(arg)
72314          sub=res.substitute({arg:s})
72315          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
72316          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
72317          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
72318       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72319       def test_L2_onFunction_fromSymbol_rank1(self):
72320          """
72321          tests L2-norm of Symbol on the Function
72322    
72323          assumptions: self.domain supports integration on Function
72324          """
72325          dim=self.domain.getDim()
72326          w=Function(self.domain)
72327          x=w.getX()
72328          if dim==2:
72329            arg=Symbol(shape=(2,),dim=dim)
72330            s=Data(0,(2,),w)
72331            s[0]=(-0.1759467192)*x[0]
72332            s[1]=(0.37884376337)*x[1]
72333            ref=sqrt((0.0581599483473))
72334    
72335          else:
72336            arg=Symbol(shape=(3,),dim=dim)
72337            s=Data(0,(3,),w)
72338            s[0]=(-0.879259245697)*x[0]
72339            s[1]=(0.528911893259)*x[1]
72340            s[2]=(-0.751304571514)*x[2]
72341            ref=sqrt((0.539101057051))
72342    
72343          res=L2(arg)
72344          sub=res.substitute({arg:s})
72345          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
72346          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
72347          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
72348       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72349       def test_L2_onFunction_fromSymbol_rank2(self):
72350          """
72351          tests L2-norm of Symbol on the Function
72352    
72353          assumptions: self.domain supports integration on Function
72354          """
72355          dim=self.domain.getDim()
72356          w=Function(self.domain)
72357          x=w.getX()
72358          if dim==2:
72359            arg=Symbol(shape=(4, 2),dim=dim)
72360            s=Data(0,(4, 2),w)
72361            s[0,0]=(0.792724994628)*x[0]
72362            s[0,1]=(-0.662113166656)*x[1]
72363            s[1,0]=(-0.548842538341)*x[0]
72364            s[1,1]=(-0.555018478507)*x[1]
72365            s[2,0]=(0.42962640812)*x[0]
72366            s[2,1]=(-0.582731787726)*x[1]
72367            s[3,0]=(0.603890261621)*x[0]
72368            s[3,1]=(0.802141268835)*x[1]
72369            ref=sqrt((1.06944988539))
72370    
72371          else:
72372            arg=Symbol(shape=(4, 3),dim=dim)
72373            s=Data(0,(4, 3),w)
72374            s[0,0]=(-0.432893320336)*x[0]
72375            s[0,1]=(0.277328929482)*x[1]
72376            s[0,2]=(0.950129871073)*x[2]
72377            s[1,0]=(0.675116050333)*x[0]
72378            s[1,1]=(-0.234274111148)*x[1]
72379            s[1,2]=(-0.477441654222)*x[2]
72380            s[2,0]=(0.603834062829)*x[0]
72381            s[2,1]=(-0.606015016913)*x[1]
72382            s[2,2]=(0.637487308345)*x[2]
72383            s[3,0]=(-0.288536804159)*x[0]
72384            s[3,1]=(-0.442827019286)*x[1]
72385            s[3,2]=(-0.0978007221136)*x[2]
72386            ref=sqrt((1.11094846322))
72387    
72388          res=L2(arg)
72389          sub=res.substitute({arg:s})
72390          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
72391          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
72392          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
72393       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72394       def test_L2_onFunction_fromSymbol_rank3(self):
72395          """
72396          tests L2-norm of Symbol on the Function
72397    
72398          assumptions: self.domain supports integration on Function
72399          """
72400          dim=self.domain.getDim()
72401          w=Function(self.domain)
72402          x=w.getX()
72403          if dim==2:
72404            arg=Symbol(shape=(6, 2, 2),dim=dim)
72405            s=Data(0,(6, 2, 2),w)
72406            s[0,0,0]=(0.845216886022)*x[0]
72407            s[0,0,1]=(0.0597182977987)*x[1]
72408            s[0,1,0]=(0.146117477376)*x[0]
72409            s[0,1,1]=(0.918064672934)*x[1]
72410            s[1,0,0]=(-0.629068350604)*x[0]
72411            s[1,0,1]=(-0.116285587839)*x[1]
72412            s[1,1,0]=(0.678041887149)*x[0]
72413            s[1,1,1]=(-0.756045170867)*x[1]
72414            s[2,0,0]=(0.66884645591)*x[0]
72415            s[2,0,1]=(0.527297857958)*x[1]
72416            s[2,1,0]=(-0.453462310421)*x[0]
72417            s[2,1,1]=(-0.801421668573)*x[1]
72418            s[3,0,0]=(-0.418575000488)*x[0]
72419            s[3,0,1]=(0.977995539022)*x[1]
72420            s[3,1,0]=(0.863549457649)*x[0]
72421            s[3,1,1]=(0.975604004421)*x[1]
72422            s[4,0,0]=(0.642351898331)*x[0]
72423            s[4,0,1]=(-0.63624912796)*x[1]
72424            s[4,1,0]=(0.561260478169)*x[0]
72425            s[4,1,1]=(-0.942077895874)*x[1]
72426            s[5,0,0]=(0.0142173692077)*x[0]
72427            s[5,0,1]=(0.106312727314)*x[1]
72428            s[5,1,0]=(0.110676503653)*x[0]
72429            s[5,1,1]=(-0.534921324957)*x[1]
72430            ref=sqrt((3.25169916884))
72431    
72432          else:
72433            arg=Symbol(shape=(6, 2, 3),dim=dim)
72434            s=Data(0,(6, 2, 3),w)
72435            s[0,0,0]=(-0.351762958436)*x[0]
72436            s[0,0,1]=(0.797778461739)*x[1]
72437            s[0,0,2]=(-0.216759353067)*x[2]
72438            s[0,1,0]=(0.913252336442)*x[0]
72439            s[0,1,1]=(0.988076789445)*x[1]
72440            s[0,1,2]=(-0.901479800398)*x[2]
72441            s[1,0,0]=(0.179074582506)*x[0]
72442            s[1,0,1]=(-0.0198494753788)*x[1]
72443            s[1,0,2]=(0.453475519845)*x[2]
72444            s[1,1,0]=(0.0703079255814)*x[0]
72445            s[1,1,1]=(0.132531352932)*x[1]
72446            s[1,1,2]=(0.746319860866)*x[2]
72447            s[2,0,0]=(0.414228087724)*x[0]
72448            s[2,0,1]=(0.466702867918)*x[1]
72449            s[2,0,2]=(0.0868129987291)*x[2]
72450            s[2,1,0]=(0.903287212799)*x[0]
72451            s[2,1,1]=(0.912709008679)*x[1]
72452            s[2,1,2]=(-0.0365579422157)*x[2]
72453            s[3,0,0]=(0.0164686487169)*x[0]
72454            s[3,0,1]=(-0.914613841493)*x[1]
72455            s[3,0,2]=(-0.0822005463079)*x[2]
72456            s[3,1,0]=(-0.315907377871)*x[0]
72457            s[3,1,1]=(-0.102105289546)*x[1]
72458            s[3,1,2]=(-0.0353732873141)*x[2]
72459            s[4,0,0]=(0.0323628908944)*x[0]
72460            s[4,0,1]=(-0.954360115684)*x[1]
72461            s[4,0,2]=(0.923756483241)*x[2]
72462            s[4,1,0]=(0.980063248251)*x[0]
72463            s[4,1,1]=(0.0664804433015)*x[1]
72464            s[4,1,2]=(-0.765454557157)*x[2]
72465            s[5,0,0]=(-0.806747348451)*x[0]
72466            s[5,0,1]=(-0.423078051628)*x[1]
72467            s[5,0,2]=(0.765544317002)*x[2]
72468            s[5,1,0]=(0.00826992946354)*x[0]
72469            s[5,1,1]=(-0.117741801904)*x[1]
72470            s[5,1,2]=(-0.975554426921)*x[2]
72471            ref=sqrt((4.31586522476))
72472    
72473          res=L2(arg)
72474          sub=res.substitute({arg:s})
72475          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
72476          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
72477          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
72478       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72479       def test_L2_onFunction_fromSymbol_rank4(self):
72480          """
72481          tests L2-norm of Symbol on the Function
72482    
72483          assumptions: self.domain supports integration on Function
72484          """
72485          dim=self.domain.getDim()
72486          w=Function(self.domain)
72487          x=w.getX()
72488          if dim==2:
72489            arg=Symbol(shape=(4, 5, 3, 2),dim=dim)
72490            s=Data(0,(4, 5, 3, 2),w)
72491            s[0,0,0,0]=(0.392249504065)*x[0]
72492            s[0,0,0,1]=(-0.0829499082807)*x[1]
72493            s[0,0,1,0]=(0.075391736082)*x[0]
72494            s[0,0,1,1]=(-0.267274680434)*x[1]
72495            s[0,0,2,0]=(0.758405394297)*x[0]
72496            s[0,0,2,1]=(0.966859664545)*x[1]
72497            s[0,1,0,0]=(-0.665158005166)*x[0]
72498            s[0,1,0,1]=(-0.861735224083)*x[1]
72499            s[0,1,1,0]=(0.889852595371)*x[0]
72500            s[0,1,1,1]=(-0.456217187733)*x[1]
72501            s[0,1,2,0]=(-0.444839601276)*x[0]
72502            s[0,1,2,1]=(-0.646347424003)*x[1]
72503            s[0,2,0,0]=(0.016728267633)*x[0]
72504            s[0,2,0,1]=(0.598805251354)*x[1]
72505            s[0,2,1,0]=(-0.0850259337934)*x[0]
72506            s[0,2,1,1]=(-0.958442577173)*x[1]
72507            s[0,2,2,0]=(-0.316155802878)*x[0]
72508            s[0,2,2,1]=(0.882575663199)*x[1]
72509            s[0,3,0,0]=(-0.350482054568)*x[0]
72510            s[0,3,0,1]=(-0.0018770186166)*x[1]
72511            s[0,3,1,0]=(0.434158350351)*x[0]
72512            s[0,3,1,1]=(0.510916541891)*x[1]
72513            s[0,3,2,0]=(0.415800847408)*x[0]
72514            s[0,3,2,1]=(0.0045200661478)*x[1]
72515            s[0,4,0,0]=(0.719981048541)*x[0]
72516            s[0,4,0,1]=(-0.394991607605)*x[1]
72517            s[0,4,1,0]=(0.225637020507)*x[0]
72518            s[0,4,1,1]=(-0.942644070947)*x[1]
72519            s[0,4,2,0]=(0.914486047699)*x[0]
72520            s[0,4,2,1]=(-0.0605237231206)*x[1]
72521            s[1,0,0,0]=(0.49162536785)*x[0]
72522            s[1,0,0,1]=(-0.616492901013)*x[1]
72523            s[1,0,1,0]=(-0.1288077626)*x[0]
72524            s[1,0,1,1]=(-0.345407781206)*x[1]
72525            s[1,0,2,0]=(-0.0725937970644)*x[0]
72526            s[1,0,2,1]=(0.40531578317)*x[1]
72527            s[1,1,0,0]=(0.598712741491)*x[0]
72528            s[1,1,0,1]=(-0.93879902651)*x[1]
72529            s[1,1,1,0]=(-0.0264475169249)*x[0]
72530            s[1,1,1,1]=(0.249909294638)*x[1]
72531            s[1,1,2,0]=(0.0027245979433)*x[0]
72532            s[1,1,2,1]=(-0.373044612275)*x[1]
72533            s[1,2,0,0]=(-0.281778393525)*x[0]
72534            s[1,2,0,1]=(0.627994360637)*x[1]
72535            s[1,2,1,0]=(0.589488628124)*x[0]
72536            s[1,2,1,1]=(-0.758174695207)*x[1]
72537            s[1,2,2,0]=(-0.406965936453)*x[0]
72538            s[1,2,2,1]=(-0.69002957721)*x[1]
72539            s[1,3,0,0]=(-0.199124201524)*x[0]
72540            s[1,3,0,1]=(0.869253645966)*x[1]
72541            s[1,3,1,0]=(-0.452605020068)*x[0]
72542            s[1,3,1,1]=(-0.970641886846)*x[1]
72543            s[1,3,2,0]=(0.175601171946)*x[0]
72544            s[1,3,2,1]=(0.672851105536)*x[1]
72545            s[1,4,0,0]=(0.58320491243)*x[0]
72546            s[1,4,0,1]=(-0.259858520694)*x[1]
72547            s[1,4,1,0]=(-0.808152456276)*x[0]
72548            s[1,4,1,1]=(-0.061862146349)*x[1]
72549            s[1,4,2,0]=(-0.285657379415)*x[0]
72550            s[1,4,2,1]=(0.0400598209814)*x[1]
72551            s[2,0,0,0]=(-0.982895080214)*x[0]
72552            s[2,0,0,1]=(-0.221420258961)*x[1]
72553            s[2,0,1,0]=(0.241664738784)*x[0]
72554            s[2,0,1,1]=(0.360336298851)*x[1]
72555            s[2,0,2,0]=(-0.1930995368)*x[0]
72556            s[2,0,2,1]=(0.165323422951)*x[1]
72557            s[2,1,0,0]=(-0.580617143448)*x[0]
72558            s[2,1,0,1]=(-0.445386310829)*x[1]
72559            s[2,1,1,0]=(-0.679424485212)*x[0]
72560            s[2,1,1,1]=(0.999216345845)*x[1]
72561            s[2,1,2,0]=(-0.00488871164474)*x[0]
72562            s[2,1,2,1]=(0.94248053909)*x[1]
72563            s[2,2,0,0]=(0.241836822065)*x[0]
72564            s[2,2,0,1]=(-0.323265890223)*x[1]
72565            s[2,2,1,0]=(0.282530883606)*x[0]
72566            s[2,2,1,1]=(0.499481122286)*x[1]
72567            s[2,2,2,0]=(0.502100738495)*x[0]
72568            s[2,2,2,1]=(-0.714419126623)*x[1]
72569            s[2,3,0,0]=(0.427736585056)*x[0]
72570            s[2,3,0,1]=(0.846933115255)*x[1]
72571            s[2,3,1,0]=(0.293400967424)*x[0]
72572            s[2,3,1,1]=(0.258925376632)*x[1]
72573            s[2,3,2,0]=(-0.748167607341)*x[0]
72574            s[2,3,2,1]=(0.354090561451)*x[1]
72575            s[2,4,0,0]=(0.432737336014)*x[0]
72576            s[2,4,0,1]=(0.856383164324)*x[1]
72577            s[2,4,1,0]=(-0.0596776788823)*x[0]
72578            s[2,4,1,1]=(-0.299291531668)*x[1]
72579            s[2,4,2,0]=(0.0332610005043)*x[0]
72580            s[2,4,2,1]=(-0.784223449976)*x[1]
72581            s[3,0,0,0]=(0.856346607718)*x[0]
72582            s[3,0,0,1]=(-0.711038642485)*x[1]
72583            s[3,0,1,0]=(-0.722899969631)*x[0]
72584            s[3,0,1,1]=(-0.976358349372)*x[1]
72585            s[3,0,2,0]=(-0.566657009276)*x[0]
72586            s[3,0,2,1]=(-0.88977921418)*x[1]
72587            s[3,1,0,0]=(0.690995364783)*x[0]
72588            s[3,1,0,1]=(0.0178260768232)*x[1]
72589            s[3,1,1,0]=(0.210672134956)*x[0]
72590            s[3,1,1,1]=(-0.271769743548)*x[1]
72591            s[3,1,2,0]=(-0.119905539717)*x[0]
72592            s[3,1,2,1]=(0.408792239219)*x[1]
72593            s[3,2,0,0]=(0.134901834799)*x[0]
72594            s[3,2,0,1]=(0.0969235330927)*x[1]
72595            s[3,2,1,0]=(-0.418267686354)*x[0]
72596            s[3,2,1,1]=(-0.599174142878)*x[1]
72597            s[3,2,2,0]=(-0.409148104875)*x[0]
72598            s[3,2,2,1]=(0.504760142275)*x[1]
72599            s[3,3,0,0]=(-0.174999245323)*x[0]
72600            s[3,3,0,1]=(-0.994094684291)*x[1]
72601            s[3,3,1,0]=(0.470460754362)*x[0]
72602            s[3,3,1,1]=(-0.867881666651)*x[1]
72603            s[3,3,2,0]=(0.691171063635)*x[0]
72604            s[3,3,2,1]=(-0.644952618882)*x[1]
72605            s[3,4,0,0]=(0.883581127272)*x[0]
72606            s[3,4,0,1]=(-0.534009409512)*x[1]
72607            s[3,4,1,0]=(0.324806602648)*x[0]
72608            s[3,4,1,1]=(0.606235157996)*x[1]
72609            s[3,4,2,0]=(-0.0136704045984)*x[0]
72610            s[3,4,2,1]=(0.36671612245)*x[1]
72611            ref=sqrt((12.2721641113))
72612    
72613          else:
72614            arg=Symbol(shape=(4, 5, 3, 3),dim=dim)
72615            s=Data(0,(4, 5, 3, 3),w)
72616            s[0,0,0,0]=(-0.0241692471764)*x[0]
72617            s[0,0,0,1]=(0.816194825296)*x[1]
72618            s[0,0,0,2]=(-0.0193776462565)*x[2]
72619            s[0,0,1,0]=(0.885158780616)*x[0]
72620            s[0,0,1,1]=(0.750445408795)*x[1]
72621            s[0,0,1,2]=(-0.242904502332)*x[2]
72622            s[0,0,2,0]=(-0.101306101076)*x[0]
72623            s[0,0,2,1]=(0.254549514037)*x[1]
72624            s[0,0,2,2]=(-0.301743139759)*x[2]
72625            s[0,1,0,0]=(0.960790978081)*x[0]
72626            s[0,1,0,1]=(-0.873861925572)*x[1]
72627            s[0,1,0,2]=(-0.266926259205)*x[2]
72628            s[0,1,1,0]=(-0.533605756527)*x[0]
72629            s[0,1,1,1]=(-0.196348553154)*x[1]
72630            s[0,1,1,2]=(0.462438110297)*x[2]
72631            s[0,1,2,0]=(0.766114991742)*x[0]
72632            s[0,1,2,1]=(-0.282544763069)*x[1]
72633            s[0,1,2,2]=(-0.918562937205)*x[2]
72634            s[0,2,0,0]=(-0.723736937045)*x[0]
72635            s[0,2,0,1]=(-0.0271772220034)*x[1]
72636            s[0,2,0,2]=(-0.67448574094)*x[2]
72637            s[0,2,1,0]=(-0.0465782041976)*x[0]
72638            s[0,2,1,1]=(-0.701475255709)*x[1]
72639            s[0,2,1,2]=(-0.54745824908)*x[2]
72640            s[0,2,2,0]=(0.823427037717)*x[0]
72641            s[0,2,2,1]=(0.873366807256)*x[1]
72642            s[0,2,2,2]=(0.902453041345)*x[2]
72643            s[0,3,0,0]=(-0.383388300734)*x[0]
72644            s[0,3,0,1]=(-0.457344890379)*x[1]
72645            s[0,3,0,2]=(0.449736739028)*x[2]
72646            s[0,3,1,0]=(-0.994113075606)*x[0]
72647            s[0,3,1,1]=(0.0265853285952)*x[1]
72648            s[0,3,1,2]=(-0.738089523761)*x[2]
72649            s[0,3,2,0]=(0.663756875286)*x[0]
72650            s[0,3,2,1]=(0.597615440207)*x[1]
72651            s[0,3,2,2]=(0.246105261445)*x[2]
72652            s[0,4,0,0]=(0.397226701305)*x[0]
72653            s[0,4,0,1]=(0.0967432951001)*x[1]
72654            s[0,4,0,2]=(0.619665795097)*x[2]
72655            s[0,4,1,0]=(0.155541932506)*x[0]
72656            s[0,4,1,1]=(-0.114961356145)*x[1]
72657            s[0,4,1,2]=(-0.491668824315)*x[2]
72658            s[0,4,2,0]=(-0.726549525506)*x[0]
72659            s[0,4,2,1]=(-0.876194753259)*x[1]
72660            s[0,4,2,2]=(-0.506364111318)*x[2]
72661            s[1,0,0,0]=(-0.380662783497)*x[0]
72662            s[1,0,0,1]=(-0.57927422387)*x[1]
72663            s[1,0,0,2]=(-0.282039117242)*x[2]
72664            s[1,0,1,0]=(-0.873334149601)*x[0]
72665            s[1,0,1,1]=(-0.0145182664909)*x[1]
72666            s[1,0,1,2]=(0.903533313452)*x[2]
72667            s[1,0,2,0]=(0.123617284156)*x[0]
72668            s[1,0,2,1]=(0.716639379262)*x[1]
72669            s[1,0,2,2]=(-0.940470701414)*x[2]
72670            s[1,1,0,0]=(-0.831075410065)*x[0]
72671            s[1,1,0,1]=(0.808724910022)*x[1]
72672            s[1,1,0,2]=(0.218369441977)*x[2]
72673            s[1,1,1,0]=(0.690977533444)*x[0]
72674            s[1,1,1,1]=(-0.379327957709)*x[1]
72675            s[1,1,1,2]=(0.0964273177138)*x[2]
72676            s[1,1,2,0]=(-0.244790745268)*x[0]
72677            s[1,1,2,1]=(-0.208570215865)*x[1]
72678            s[1,1,2,2]=(0.280320965835)*x[2]
72679            s[1,2,0,0]=(-0.571572336783)*x[0]
72680            s[1,2,0,1]=(-0.512302129833)*x[1]
72681            s[1,2,0,2]=(0.458134267946)*x[2]
72682            s[1,2,1,0]=(-0.909450574449)*x[0]
72683            s[1,2,1,1]=(-0.54240194702)*x[1]
72684            s[1,2,1,2]=(0.015279542779)*x[2]
72685            s[1,2,2,0]=(-0.450829963713)*x[0]
72686            s[1,2,2,1]=(0.265958897553)*x[1]
72687            s[1,2,2,2]=(0.0115876819282)*x[2]
72688            s[1,3,0,0]=(-0.493820517172)*x[0]
72689            s[1,3,0,1]=(0.924501975039)*x[1]
72690            s[1,3,0,2]=(0.976144734904)*x[2]
72691            s[1,3,1,0]=(-0.0369162848651)*x[0]
72692            s[1,3,1,1]=(-0.282951956468)*x[1]
72693            s[1,3,1,2]=(0.46799488403)*x[2]
72694            s[1,3,2,0]=(0.859289726723)*x[0]
72695            s[1,3,2,1]=(0.460555626035)*x[1]
72696            s[1,3,2,2]=(0.515796525158)*x[2]
72697            s[1,4,0,0]=(0.707364903535)*x[0]
72698            s[1,4,0,1]=(0.749724556391)*x[1]
72699            s[1,4,0,2]=(-0.278863489815)*x[2]
72700            s[1,4,1,0]=(0.972950918189)*x[0]
72701            s[1,4,1,1]=(0.844177970875)*x[1]
72702            s[1,4,1,2]=(0.0763619420058)*x[2]
72703            s[1,4,2,0]=(-0.0852939975129)*x[0]
72704            s[1,4,2,1]=(0.583399144502)*x[1]
72705            s[1,4,2,2]=(0.848661907972)*x[2]
72706            s[2,0,0,0]=(-0.777408601463)*x[0]
72707            s[2,0,0,1]=(-0.855232334446)*x[1]
72708            s[2,0,0,2]=(-0.742431398498)*x[2]
72709            s[2,0,1,0]=(-0.96680966892)*x[0]
72710            s[2,0,1,1]=(-0.33301062934)*x[1]
72711            s[2,0,1,2]=(-0.675842472611)*x[2]
72712            s[2,0,2,0]=(-0.0163730639481)*x[0]
72713            s[2,0,2,1]=(-0.0854274064817)*x[1]
72714            s[2,0,2,2]=(-0.93094914338)*x[2]
72715            s[2,1,0,0]=(0.881651879025)*x[0]
72716            s[2,1,0,1]=(0.782286554309)*x[1]
72717            s[2,1,0,2]=(0.71813995101)*x[2]
72718            s[2,1,1,0]=(-0.0790321088042)*x[0]
72719            s[2,1,1,1]=(-0.181510921696)*x[1]
72720            s[2,1,1,2]=(0.822016852235)*x[2]
72721            s[2,1,2,0]=(0.634313542034)*x[0]
72722            s[2,1,2,1]=(0.797139044679)*x[1]
72723            s[2,1,2,2]=(0.400542618196)*x[2]
72724            s[2,2,0,0]=(-0.823507870125)*x[0]
72725            s[2,2,0,1]=(0.981256538471)*x[1]
72726            s[2,2,0,2]=(0.158779409645)*x[2]
72727            s[2,2,1,0]=(-0.0788962261172)*x[0]
72728            s[2,2,1,1]=(-0.295903805518)*x[1]
72729            s[2,2,1,2]=(0.338095367799)*x[2]
72730            s[2,2,2,0]=(0.259914616014)*x[0]
72731            s[2,2,2,1]=(-0.935338026316)*x[1]
72732            s[2,2,2,2]=(0.752104609965)*x[2]
72733            s[2,3,0,0]=(0.770409830614)*x[0]
72734            s[2,3,0,1]=(0.827165793631)*x[1]
72735            s[2,3,0,2]=(-0.570252686313)*x[2]
72736            s[2,3,1,0]=(-0.645381957261)*x[0]
72737            s[2,3,1,1]=(-0.547153600936)*x[1]
72738            s[2,3,1,2]=(-0.424301255985)*x[2]
72739            s[2,3,2,0]=(0.938907909024)*x[0]
72740            s[2,3,2,1]=(-0.165860294169)*x[1]
72741            s[2,3,2,2]=(-0.507668918028)*x[2]
72742            s[2,4,0,0]=(0.504198965293)*x[0]
72743            s[2,4,0,1]=(-0.668203518046)*x[1]
72744            s[2,4,0,2]=(0.229406581915)*x[2]
72745            s[2,4,1,0]=(0.454298324734)*x[0]
72746            s[2,4,1,1]=(0.631911737372)*x[1]
72747            s[2,4,1,2]=(-0.849242047895)*x[2]
72748            s[2,4,2,0]=(0.0187819832254)*x[0]
72749            s[2,4,2,1]=(-0.0257470291285)*x[1]
72750            s[2,4,2,2]=(-0.968820620099)*x[2]
72751            s[3,0,0,0]=(0.55579863211)*x[0]
72752            s[3,0,0,1]=(0.830363451819)*x[1]
72753            s[3,0,0,2]=(0.37501906831)*x[2]
72754            s[3,0,1,0]=(-0.609478442879)*x[0]
72755            s[3,0,1,1]=(0.895531311344)*x[1]
72756            s[3,0,1,2]=(0.457055008762)*x[2]
72757            s[3,0,2,0]=(-0.589517607648)*x[0]
72758            s[3,0,2,1]=(-0.840365410994)*x[1]
72759            s[3,0,2,2]=(-0.804004197791)*x[2]
72760            s[3,1,0,0]=(0.231479229381)*x[0]
72761            s[3,1,0,1]=(0.851135131086)*x[1]
72762            s[3,1,0,2]=(-0.558112154058)*x[2]
72763            s[3,1,1,0]=(-0.365328057806)*x[0]
72764            s[3,1,1,1]=(0.665370944345)*x[1]
72765            s[3,1,1,2]=(0.815245254888)*x[2]
72766            s[3,1,2,0]=(-0.622675567594)*x[0]
72767            s[3,1,2,1]=(0.15478575296)*x[1]
72768            s[3,1,2,2]=(-0.919833514628)*x[2]
72769            s[3,2,0,0]=(0.893976278733)*x[0]
72770            s[3,2,0,1]=(-0.881412936262)*x[1]
72771            s[3,2,0,2]=(-0.940014543462)*x[2]
72772            s[3,2,1,0]=(0.310442650776)*x[0]
72773            s[3,2,1,1]=(0.895222325851)*x[1]
72774            s[3,2,1,2]=(0.308995631858)*x[2]
72775            s[3,2,2,0]=(0.0373558936063)*x[0]
72776            s[3,2,2,1]=(-0.0592368839463)*x[1]
72777            s[3,2,2,2]=(0.793681649539)*x[2]
72778            s[3,3,0,0]=(-0.542535013221)*x[0]
72779            s[3,3,0,1]=(0.730645327078)*x[1]
72780            s[3,3,0,2]=(-0.776045858279)*x[2]
72781            s[3,3,1,0]=(-0.657528555613)*x[0]
72782            s[3,3,1,1]=(-0.282142368825)*x[1]
72783            s[3,3,1,2]=(-0.692363751497)*x[2]
72784            s[3,3,2,0]=(-0.168946040457)*x[0]
72785            s[3,3,2,1]=(-0.318493817076)*x[1]
72786            s[3,3,2,2]=(0.535922920691)*x[2]
72787            s[3,4,0,0]=(0.414492782118)*x[0]
72788            s[3,4,0,1]=(0.295207630842)*x[1]
72789            s[3,4,0,2]=(0.453596918765)*x[2]
72790            s[3,4,1,0]=(-0.083655892279)*x[0]
72791            s[3,4,1,1]=(-0.962961908465)*x[1]
72792            s[3,4,1,2]=(0.138455397004)*x[2]
72793            s[3,4,2,0]=(-0.383498097386)*x[0]
72794            s[3,4,2,1]=(0.650869920691)*x[1]
72795            s[3,4,2,2]=(-0.998836301837)*x[2]
72796            ref=sqrt((22.2241672931))
72797    
72798          res=L2(arg)
72799          sub=res.substitute({arg:s})
72800          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
72801          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
72802          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
72803       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72804       def test_L2_onFunctionOnBoundary_fromData_rank0(self):
72805          """
72806          tests L2-norm of Data on the FunctionOnBoundary
72807    
72808          assumptions: self.domain supports integration on FunctionOnBoundary
72809          """
72810          dim=self.domain.getDim()
72811          w=FunctionOnBoundary(self.domain)
72812          x=w.getX()
72813          if dim==2:
72814            arg=Data(0,(),w)
72815            arg=(-0.245574919477)*x[0]
72816            ref=sqrt((0.0603070410759)*(2.*dim+1.)/3.)
72817    
72818          else:
72819            arg=Data(0,(),w)
72820            arg=(0.757324521515)*x[0]
72821            ref=sqrt((0.573540430888)*(2.*dim+1.)/3.)
72822    
72823          res=L2(arg)
72824          self.failUnless(isinstance(res,float),"wrong type of result.")
72825          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
72826       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72827       def test_L2_onFunctionOnBoundary_fromData_rank1(self):
72828          """
72829          tests L2-norm of Data on the FunctionOnBoundary
72830    
72831          assumptions: self.domain supports integration on FunctionOnBoundary
72832          """
72833          dim=self.domain.getDim()
72834          w=FunctionOnBoundary(self.domain)
72835          x=w.getX()
72836          if dim==2:
72837            arg=Data(0,(2,),w)
72838            arg[0]=(0.723421565407)*x[0]
72839            arg[1]=(-0.460477393103)*x[1]
72840            ref=sqrt((0.735378190855)*(2.*dim+1.)/3.)
72841    
72842          else:
72843            arg=Data(0,(3,),w)
72844            arg[0]=(-0.88528497163)*x[0]
72845            arg[1]=(-0.65510214636)*x[1]
72846            arg[2]=(0.399538866363)*x[2]
72847            ref=sqrt((1.37251960889)*(2.*dim+1.)/3.)
72848    
72849          res=L2(arg)
72850          self.failUnless(isinstance(res,float),"wrong type of result.")
72851          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
72852       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72853       def test_L2_onFunctionOnBoundary_fromData_rank2(self):
72854          """
72855          tests L2-norm of Data on the FunctionOnBoundary
72856    
72857          assumptions: self.domain supports integration on FunctionOnBoundary
72858          """
72859          dim=self.domain.getDim()
72860          w=FunctionOnBoundary(self.domain)
72861          x=w.getX()
72862          if dim==2:
72863            arg=Data(0,(4, 2),w)
72864            arg[0,0]=(0.955620993904)*x[0]
72865            arg[0,1]=(-0.0987865813703)*x[1]
72866            arg[1,0]=(0.0288267231531)*x[0]
72867            arg[1,1]=(0.655440599879)*x[1]
72868            arg[2,0]=(0.685627284533)*x[0]
72869            arg[2,1]=(-0.989832824892)*x[1]
72870            arg[3,0]=(0.292184093194)*x[0]
72871            arg[3,1]=(0.149553857773)*x[1]
72872            ref=sqrt((2.91099532781)*(2.*dim+1.)/3.)
72873    
72874          else:
72875            arg=Data(0,(4, 3),w)
72876            arg[0,0]=(-0.325908541533)*x[0]
72877            arg[0,1]=(-0.992480479749)*x[1]
72878            arg[0,2]=(0.660360271799)*x[2]
72879            arg[1,0]=(0.173485908581)*x[0]
72880            arg[1,1]=(-0.328755199781)*x[1]
72881            arg[1,2]=(-0.943354674948)*x[2]
72882            arg[2,0]=(0.680713222646)*x[0]
72883            arg[2,1]=(-0.765971835693)*x[1]
72884            arg[2,2]=(0.0413284847528)*x[2]
72885            arg[3,0]=(0.990074004708)*x[0]
72886            arg[3,1]=(0.941801786766)*x[1]
72887            arg[3,2]=(0.886926192201)*x[2]
72888            ref=sqrt((6.26107155228)*(2.*dim+1.)/3.)
72889    
72890          res=L2(arg)
72891          self.failUnless(isinstance(res,float),"wrong type of result.")
72892          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
72893       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72894       def test_L2_onFunctionOnBoundary_fromData_rank3(self):
72895          """
72896          tests L2-norm of Data on the FunctionOnBoundary
72897    
72898          assumptions: self.domain supports integration on FunctionOnBoundary
72899          """
72900          dim=self.domain.getDim()
72901          w=FunctionOnBoundary(self.domain)
72902          x=w.getX()
72903          if dim==2:
72904            arg=Data(0,(6, 2, 2),w)
72905            arg[0,0,0]=(-0.0781611551598)*x[0]
72906            arg[0,0,1]=(0.291016249575)*x[1]
72907            arg[0,1,0]=(-0.107555233086)*x[0]
72908            arg[0,1,1]=(-0.559067108546)*x[1]
72909            arg[1,0,0]=(-0.0818406701266)*x[0]
72910            arg[1,0,1]=(-0.594866806483)*x[1]
72911            arg[1,1,0]=(-0.725814803863)*x[0]
72912            arg[1,1,1]=(0.59128101992)*x[1]
72913            arg[2,0,0]=(-0.15381555291)*x[0]
72914            arg[2,0,1]=(-0.679882948503)*x[1]
72915            arg[2,1,0]=(-0.58437193917)*x[0]
72916            arg[2,1,1]=(0.136304615849)*x[1]
72917            arg[3,0,0]=(0.0671365410096)*x[0]
72918            arg[3,0,1]=(-0.645687212187)*x[1]
72919            arg[3,1,0]=(-0.642492412392)*x[0]
72920            arg[3,1,1]=(-0.125760054735)*x[1]
72921            arg[4,0,0]=(0.731110824794)*x[0]
72922            arg[4,0,1]=(0.491668422979)*x[1]
72923            arg[4,1,0]=(-0.775841478292)*x[0]
72924            arg[4,1,1]=(0.728265567974)*x[1]
72925            arg[5,0,0]=(0.84511832373)*x[0]
72926            arg[5,0,1]=(-0.513796801068)*x[1]
72927            arg[5,1,0]=(0.113072243554)*x[0]
72928            arg[5,1,1]=(0.246630838744)*x[1]
72929            ref=sqrt((6.30829536252)*(2.*dim+1.)/3.)
72930    
72931          else:
72932            arg=Data(0,(6, 2, 3),w)
72933            arg[0,0,0]=(0.369748116859)*x[0]
72934            arg[0,0,1]=(-0.758056560031)*x[1]
72935            arg[0,0,2]=(-0.873984709951)*x[2]
72936            arg[0,1,0]=(0.311680165784)*x[0]
72937            arg[0,1,1]=(0.374400673651)*x[1]
72938            arg[0,1,2]=(0.712484217076)*x[2]
72939            arg[1,0,0]=(0.829379714484)*x[0]
72940            arg[1,0,1]=(-0.0551589596149)*x[1]
72941            arg[1,0,2]=(0.965672208426)*x[2]
72942            arg[1,1,0]=(-0.205044281547)*x[0]
72943            arg[1,1,1]=(0.238197452756)*x[1]
72944            arg[1,1,2]=(-0.33456139292)*x[2]
72945            arg[2,0,0]=(0.649928288926)*x[0]
72946            arg[2,0,1]=(-0.661384953389)*x[1]
72947            arg[2,0,2]=(-0.253241222975)*x[2]
72948            arg[2,1,0]=(-0.491716575992)*x[0]
72949            arg[2,1,1]=(-0.970872527468)*x[1]
72950            arg[2,1,2]=(0.222410198921)*x[2]
72951            arg[3,0,0]=(0.205752630262)*x[0]
72952            arg[3,0,1]=(0.864804362697)*x[1]
72953            arg[3,0,2]=(-0.417975564033)*x[2]
72954            arg[3,1,0]=(0.586425694033)*x[0]
72955            arg[3,1,1]=(0.952661122184)*x[1]
72956            arg[3,1,2]=(0.608680080453)*x[2]
72957            arg[4,0,0]=(0.625968903369)*x[0]
72958            arg[4,0,1]=(-0.573909405003)*x[1]
72959            arg[4,0,2]=(-0.762256394595)*x[2]
72960            arg[4,1,0]=(0.0710742394418)*x[0]
72961            arg[4,1,1]=(0.583378040574)*x[1]
72962            arg[4,1,2]=(0.719032893115)*x[2]
72963            arg[5,0,0]=(0.032173368884)*x[0]
72964            arg[5,0,1]=(-0.434042549492)*x[1]
72965            arg[5,0,2]=(0.363504765447)*x[2]
72966            arg[5,1,0]=(0.598817469198)*x[0]
72967            arg[5,1,1]=(-0.163967008775)*x[1]
72968            arg[5,1,2]=(0.546778730604)*x[2]
72969            ref=sqrt((11.9696343123)*(2.*dim+1.)/3.)
72970    
72971          res=L2(arg)
72972          self.failUnless(isinstance(res,float),"wrong type of result.")
72973          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
72974       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
72975       def test_L2_onFunctionOnBoundary_fromData_rank4(self):
72976          """
72977          tests L2-norm of Data on the FunctionOnBoundary
72978    
72979          assumptions: self.domain supports integration on FunctionOnBoundary
72980          """
72981          dim=self.domain.getDim()
72982          w=FunctionOnBoundary(self.domain)
72983          x=w.getX()
72984          if dim==2:
72985            arg=Data(0,(4, 5, 3, 2),w)
72986            arg[0,0,0,0]=(-0.273446520069)*x[0]
72987            arg[0,0,0,1]=(-0.913305910831)*x[1]
72988            arg[0,0,1,0]=(0.0745566747537)*x[0]
72989            arg[0,0,1,1]=(0.98803601919)*x[1]
72990            arg[0,0,2,0]=(-0.244120818875)*x[0]
72991            arg[0,0,2,1]=(0.247509644998)*x[1]
72992            arg[0,1,0,0]=(-0.548756417777)*x[0]
72993            arg[0,1,0,1]=(-0.354587911923)*x[1]
72994            arg[0,1,1,0]=(0.104268198867)*x[0]
72995            arg[0,1,1,1]=(-0.541700877072)*x[1]
72996            arg[0,1,2,0]=(-0.25900060689)*x[0]
72997            arg[0,1,2,1]=(-0.859660175231)*x[1]
72998            arg[0,2,0,0]=(0.195235560321)*x[0]
72999            arg[0,2,0,1]=(0.175518738589)*x[1]
73000            arg[0,2,1,0]=(-0.0638854232272)*x[0]
73001            arg[0,2,1,1]=(-0.586161016541)*x[1]
73002            arg[0,2,2,0]=(0.580258892247)*x[0]
73003            arg[0,2,2,1]=(-0.931927145435)*x[1]
73004            arg[0,3,0,0]=(-0.408209600298)*x[0]
73005            arg[0,3,0,1]=(-0.0344882667014)*x[1]
73006            arg[0,3,1,0]=(-0.131763534163)*x[0]
73007            arg[0,3,1,1]=(-0.787653739965)*x[1]
73008            arg[0,3,2,0]=(0.0910808104711)*x[0]
73009            arg[0,3,2,1]=(-0.280409023611)*x[1]
73010            arg[0,4,0,0]=(0.97745754012)*x[0]
73011            arg[0,4,0,1]=(-0.59829020936)*x[1]
73012            arg[0,4,1,0]=(0.890520260543)*x[0]
73013            arg[0,4,1,1]=(-0.600760090231)*x[1]
73014            arg[0,4,2,0]=(-0.897992297974)*x[0]
73015            arg[0,4,2,1]=(-0.841169898923)*x[1]
73016            arg[1,0,0,0]=(-0.249868816409)*x[0]
73017            arg[1,0,0,1]=(0.620375082228)*x[1]
73018            arg[1,0,1,0]=(-0.660480789306)*x[0]
73019            arg[1,0,1,1]=(-0.73638571806)*x[1]
73020            arg[1,0,2,0]=(0.339987316643)*x[0]
73021            arg[1,0,2,1]=(0.541112529894)*x[1]
73022            arg[1,1,0,0]=(-0.468808186705)*x[0]
73023            arg[1,1,0,1]=(-0.32919679792)*x[1]
73024            arg[1,1,1,0]=(0.917292803419)*x[0]
73025            arg[1,1,1,1]=(-0.834265058005)*x[1]
73026            arg[1,1,2,0]=(-0.247536849264)*x[0]
73027            arg[1,1,2,1]=(-0.197503469238)*x[1]
73028            arg[1,2,0,0]=(0.897591919909)*x[0]
73029            arg[1,2,0,1]=(-0.807446231234)*x[1]
73030            arg[1,2,1,0]=(-0.369878499382)*x[0]
73031            arg[1,2,1,1]=(0.985678692179)*x[1]
73032            arg[1,2,2,0]=(-0.709976427525)*x[0]
73033            arg[1,2,2,1]=(-0.368744647016)*x[1]
73034            arg[1,3,0,0]=(0.299630726462)*x[0]
73035            arg[1,3,0,1]=(-0.445295757899)*x[1]
73036            arg[1,3,1,0]=(-0.922386577254)*x[0]
73037            arg[1,3,1,1]=(0.234794853697)*x[1]
73038            arg[1,3,2,0]=(0.953377720197)*x[0]
73039            arg[1,3,2,1]=(0.409778183998)*x[1]
73040            arg[1,4,0,0]=(0.271967945488)*x[0]
73041            arg[1,4,0,1]=(-0.578629001202)*x[1]
73042            arg[1,4,1,0]=(0.210755226769)*x[0]
73043            arg[1,4,1,1]=(-0.0902751419945)*x[1]
73044            arg[1,4,2,0]=(0.70033387381)*x[0]
73045            arg[1,4,2,1]=(0.305733565661)*x[1]
73046            arg[2,0,0,0]=(-0.662483167298)*x[0]
73047            arg[2,0,0,1]=(0.585252048652)*x[1]
73048            arg[2,0,1,0]=(-0.398813785959)*x[0]
73049            arg[2,0,1,1]=(-0.797438697186)*x[1]
73050            arg[2,0,2,0]=(-0.508308971009)*x[0]
73051            arg[2,0,2,1]=(0.302249407524)*x[1]
73052            arg[2,1,0,0]=(0.208644491879)*x[0]
73053            arg[2,1,0,1]=(-0.604749055374)*x[1]
73054            arg[2,1,1,0]=(0.641654284594)*x[0]
73055            arg[2,1,1,1]=(0.456898593356)*x[1]
73056            arg[2,1,2,0]=(-0.398043867778)*x[0]
73057            arg[2,1,2,1]=(-0.0712344657587)*x[1]
73058            arg[2,2,0,0]=(0.0967860954865)*x[0]
73059            arg[2,2,0,1]=(0.520449905952)*x[1]
73060            arg[2,2,1,0]=(0.770198029595)*x[0]
73061            arg[2,2,1,1]=(-0.594004671621)*x[1]
73062            arg[2,2,2,0]=(-0.744571452885)*x[0]
73063            arg[2,2,2,1]=(0.544447367825)*x[1]
73064            arg[2,3,0,0]=(-0.137087966968)*x[0]
73065            arg[2,3,0,1]=(0.120672667497)*x[1]
73066            arg[2,3,1,0]=(0.204800088057)*x[0]
73067            arg[2,3,1,1]=(0.626526346076)*x[1]
73068            arg[2,3,2,0]=(-0.696480393227)*x[0]
73069            arg[2,3,2,1]=(0.188533741996)*x[1]
73070            arg[2,4,0,0]=(-0.403523821067)*x[0]
73071            arg[2,4,0,1]=(-0.428048989483)*x[1]
73072            arg[2,4,1,0]=(-0.244186366584)*x[0]
73073            arg[2,4,1,1]=(0.00866444909003)*x[1]
73074            arg[2,4,2,0]=(-0.445991308853)*x[0]
73075            arg[2,4,2,1]=(-0.899951068935)*x[1]
73076            arg[3,0,0,0]=(0.609340085418)*x[0]
73077            arg[3,0,0,1]=(0.878750391425)*x[1]
73078            arg[3,0,1,0]=(0.258064654464)*x[0]
73079            arg[3,0,1,1]=(-0.482402612985)*x[1]
73080            arg[3,0,2,0]=(0.943732283389)*x[0]
73081            arg[3,0,2,1]=(0.65514211843)*x[1]
73082            arg[3,1,0,0]=(-0.894551979619)*x[0]
73083            arg[3,1,0,1]=(0.220116541042)*x[1]
73084            arg[3,1,1,0]=(0.386887699577)*x[0]
73085            arg[3,1,1,1]=(-0.422560075108)*x[1]
73086            arg[3,1,2,0]=(0.00387273783493)*x[0]
73087            arg[3,1,2,1]=(0.465673505613)*x[1]
73088            arg[3,2,0,0]=(0.987383428982)*x[0]
73089            arg[3,2,0,1]=(0.376320055964)*x[1]
73090            arg[3,2,1,0]=(-0.463778689128)*x[0]
73091            arg[3,2,1,1]=(0.179816566227)*x[1]
73092            arg[3,2,2,0]=(0.961522856801)*x[0]
73093            arg[3,2,2,1]=(-0.257779627946)*x[1]
73094            arg[3,3,0,0]=(0.748886531458)*x[0]
73095            arg[3,3,0,1]=(-0.257342282566)*x[1]
73096            arg[3,3,1,0]=(0.377494024401)*x[0]
73097            arg[3,3,1,1]=(-0.334588346017)*x[1]
73098            arg[3,3,2,0]=(0.502495149189)*x[0]
73099            arg[3,3,2,1]=(0.534612429702)*x[1]
73100            arg[3,4,0,0]=(-0.308551337355)*x[0]
73101            arg[3,4,0,1]=(-0.471825826745)*x[1]
73102            arg[3,4,1,0]=(-0.262606531584)*x[0]
73103            arg[3,4,1,1]=(0.766089616367)*x[1]
73104            arg[3,4,2,0]=(-0.136526755642)*x[0]
73105            arg[3,4,2,1]=(0.675111459363)*x[1]
73106            ref=sqrt((37.3453550914)*(2.*dim+1.)/3.)
73107    
73108          else:
73109            arg=Data(0,(4, 5, 3, 3),w)
73110            arg[0,0,0,0]=(0.532946231146)*x[0]
73111            arg[0,0,0,1]=(0.269364089513)*x[1]
73112            arg[0,0,0,2]=(-0.207412457081)*x[2]
73113            arg[0,0,1,0]=(-0.843104704858)*x[0]
73114            arg[0,0,1,1]=(0.0416216508473)*x[1]
73115            arg[0,0,1,2]=(-0.836074693662)*x[2]
73116            arg[0,0,2,0]=(0.943609268731)*x[0]
73117            arg[0,0,2,1]=(0.0154543737816)*x[1]
73118            arg[0,0,2,2]=(0.0726268788381)*x[2]
73119            arg[0,1,0,0]=(0.108422740078)*x[0]
73120            arg[0,1,0,1]=(-0.296667916638)*x[1]
73121            arg[0,1,0,2]=(-0.769732600535)*x[2]
73122            arg[0,1,1,0]=(-0.428575493834)*x[0]
73123            arg[0,1,1,1]=(0.421245456722)*x[1]
73124            arg[0,1,1,2]=(-0.588277652277)*x[2]
73125            arg[0,1,2,0]=(0.145294576795)*x[0]
73126            arg[0,1,2,1]=(0.323206623794)*x[1]
73127            arg[0,1,2,2]=(0.788115602892)*x[2]
73128            arg[0,2,0,0]=(-0.227877282292)*x[0]
73129            arg[0,2,0,1]=(-0.630647460719)*x[1]
73130            arg[0,2,0,2]=(0.58754882135)*x[2]
73131            arg[0,2,1,0]=(0.347191113403)*x[0]
73132            arg[0,2,1,1]=(0.464093634725)*x[1]
73133            arg[0,2,1,2]=(-0.0412800774497)*x[2]
73134            arg[0,2,2,0]=(0.223364317185)*x[0]
73135            arg[0,2,2,1]=(0.257201130157)*x[1]
73136            arg[0,2,2,2]=(0.063203467463)*x[2]
73137            arg[0,3,0,0]=(-0.723240451643)*x[0]
73138            arg[0,3,0,1]=(-0.862468295097)*x[1]
73139            arg[0,3,0,2]=(-0.149283247587)*x[2]
73140            arg[0,3,1,0]=(0.15680097839)*x[0]
73141            arg[0,3,1,1]=(0.421563637547)*x[1]
73142            arg[0,3,1,2]=(0.111549188549)*x[2]
73143            arg[0,3,2,0]=(-0.272783329363)*x[0]
73144            arg[0,3,2,1]=(-0.420352789853)*x[1]
73145            arg[0,3,2,2]=(0.570865117722)*x[2]
73146            arg[0,4,0,0]=(-0.321910078414)*x[0]
73147            arg[0,4,0,1]=(0.988695599439)*x[1]
73148            arg[0,4,0,2]=(0.920200893398)*x[2]
73149            arg[0,4,1,0]=(0.0260910072651)*x[0]
73150            arg[0,4,1,1]=(0.460012578184)*x[1]
73151            arg[0,4,1,2]=(0.848099524112)*x[2]
73152            arg[0,4,2,0]=(0.242157803251)*x[0]
73153            arg[0,4,2,1]=(0.394528777004)*x[1]
73154            arg[0,4,2,2]=(0.562996837311)*x[2]
73155            arg[1,0,0,0]=(0.459886225958)*x[0]
73156            arg[1,0,0,1]=(-0.721868942003)*x[1]
73157            arg[1,0,0,2]=(0.432203082994)*x[2]
73158            arg[1,0,1,0]=(0.409831045482)*x[0]
73159            arg[1,0,1,1]=(-0.481677513473)*x[1]
73160            arg[1,0,1,2]=(0.439387853437)*x[2]
73161            arg[1,0,2,0]=(0.261583198434)*x[0]
73162            arg[1,0,2,1]=(0.290993423577)*x[1]
73163            arg[1,0,2,2]=(0.477993114134)*x[2]
73164            arg[1,1,0,0]=(0.586344598248)*x[0]
73165            arg[1,1,0,1]=(-0.105390792831)*x[1]
73166            arg[1,1,0,2]=(0.335990751314)*x[2]
73167            arg[1,1,1,0]=(-0.191500562856)*x[0]
73168            arg[1,1,1,1]=(0.244514598216)*x[1]
73169            arg[1,1,1,2]=(-0.804402720669)*x[2]
73170            arg[1,1,2,0]=(-0.455225710648)*x[0]
73171            arg[1,1,2,1]=(-0.505052700585)*x[1]
73172            arg[1,1,2,2]=(-0.0240295199362)*x[2]
73173            arg[1,2,0,0]=(-0.718487964893)*x[0]
73174            arg[1,2,0,1]=(-0.0899522570462)*x[1]
73175            arg[1,2,0,2]=(-0.293353754696)*x[2]
73176            arg[1,2,1,0]=(-0.180013826342)*x[0]
73177            arg[1,2,1,1]=(0.793689231922)*x[1]
73178            arg[1,2,1,2]=(0.673066555571)*x[2]
73179            arg[1,2,2,0]=(0.705362155032)*x[0]
73180            arg[1,2,2,1]=(0.54476742883)*x[1]
73181            arg[1,2,2,2]=(-0.331195064878)*x[2]
73182            arg[1,3,0,0]=(-0.360927441647)*x[0]
73183            arg[1,3,0,1]=(0.230772030282)*x[1]
73184            arg[1,3,0,2]=(0.912342489431)*x[2]
73185            arg[1,3,1,0]=(-0.817510690014)*x[0]
73186            arg[1,3,1,1]=(0.397583721353)*x[1]
73187            arg[1,3,1,2]=(-0.982551067917)*x[2]
73188            arg[1,3,2,0]=(0.86380240427)*x[0]
73189            arg[1,3,2,1]=(-0.415018976841)*x[1]
73190            arg[1,3,2,2]=(0.271582572267)*x[2]
73191            arg[1,4,0,0]=(0.252845347406)*x[0]
73192            arg[1,4,0,1]=(0.687786802906)*x[1]
73193            arg[1,4,0,2]=(0.465501171342)*x[2]
73194            arg[1,4,1,0]=(-0.613703721675)*x[0]
73195            arg[1,4,1,1]=(-0.110297640533)*x[1]
73196            arg[1,4,1,2]=(-0.836768056501)*x[2]
73197            arg[1,4,2,0]=(-0.0400898232224)*x[0]
73198            arg[1,4,2,1]=(0.0358172759009)*x[1]
73199            arg[1,4,2,2]=(-0.335751455408)*x[2]
73200            arg[2,0,0,0]=(-0.309992915015)*x[0]
73201            arg[2,0,0,1]=(-0.721404217867)*x[1]
73202            arg[2,0,0,2]=(-0.548000635629)*x[2]
73203            arg[2,0,1,0]=(0.651175831531)*x[0]
73204            arg[2,0,1,1]=(0.158960783491)*x[1]
73205            arg[2,0,1,2]=(-0.310676926155)*x[2]
73206            arg[2,0,2,0]=(-0.122289734411)*x[0]
73207            arg[2,0,2,1]=(-0.252405938421)*x[1]
73208            arg[2,0,2,2]=(-0.938280244213)*x[2]
73209            arg[2,1,0,0]=(0.559495801686)*x[0]
73210            arg[2,1,0,1]=(-0.547182622716)*x[1]
73211            arg[2,1,0,2]=(0.397441517898)*x[2]
73212            arg[2,1,1,0]=(-0.406112472071)*x[0]
73213            arg[2,1,1,1]=(0.355063810677)*x[1]
73214            arg[2,1,1,2]=(0.760400203215)*x[2]
73215            arg[2,1,2,0]=(0.992201320481)*x[0]
73216            arg[2,1,2,1]=(0.0580660882576)*x[1]
73217            arg[2,1,2,2]=(-0.643170879939)*x[2]
73218            arg[2,2,0,0]=(-0.280644461832)*x[0]
73219            arg[2,2,0,1]=(-0.0467430285531)*x[1]
73220            arg[2,2,0,2]=(0.314050593255)*x[2]
73221            arg[2,2,1,0]=(-0.230032618609)*x[0]
73222            arg[2,2,1,1]=(0.0996058698273)*x[1]
73223            arg[2,2,1,2]=(-0.0270266073208)*x[2]
73224            arg[2,2,2,0]=(0.767914132956)*x[0]
73225            arg[2,2,2,1]=(0.496930363612)*x[1]
73226            arg[2,2,2,2]=(-0.599525033616)*x[2]
73227            arg[2,3,0,0]=(-0.326433376073)*x[0]
73228            arg[2,3,0,1]=(-0.0366374501025)*x[1]
73229            arg[2,3,0,2]=(0.22555705749)*x[2]
73230            arg[2,3,1,0]=(-0.162548813895)*x[0]
73231            arg[2,3,1,1]=(-0.110074212194)*x[1]
73232            arg[2,3,1,2]=(-0.143600895553)*x[2]
73233            arg[2,3,2,0]=(0.771148880174)*x[0]
73234            arg[2,3,2,1]=(0.112528116552)*x[1]
73235            arg[2,3,2,2]=(-0.955735294341)*x[2]
73236            arg[2,4,0,0]=(-0.968392951034)*x[0]
73237            arg[2,4,0,1]=(-0.36901708507)*x[1]
73238            arg[2,4,0,2]=(0.283692515492)*x[2]
73239            arg[2,4,1,0]=(0.997238032837)*x[0]
73240            arg[2,4,1,1]=(-0.625794124653)*x[1]
73241            arg[2,4,1,2]=(0.533386027556)*x[2]
73242            arg[2,4,2,0]=(0.977311695557)*x[0]
73243            arg[2,4,2,1]=(0.693009976689)*x[1]
73244            arg[2,4,2,2]=(0.711179347652)*x[2]
73245            arg[3,0,0,0]=(-0.155585788931)*x[0]
73246            arg[3,0,0,1]=(0.0228078851234)*x[1]
73247            arg[3,0,0,2]=(0.510104938032)*x[2]
73248            arg[3,0,1,0]=(0.74865995369)*x[0]
73249            arg[3,0,1,1]=(0.672153736284)*x[1]
73250            arg[3,0,1,2]=(0.588012355098)*x[2]
73251            arg[3,0,2,0]=(-0.924508475715)*x[0]
73252            arg[3,0,2,1]=(-0.392784674758)*x[1]
73253            arg[3,0,2,2]=(-0.36371454642)*x[2]
73254            arg[3,1,0,0]=(-0.709783490337)*x[0]
73255            arg[3,1,0,1]=(0.844136172222)*x[1]
73256            arg[3,1,0,2]=(0.621011730043)*x[2]
73257            arg[3,1,1,0]=(0.428807337181)*x[0]
73258            arg[3,1,1,1]=(0.126300214574)*x[1]
73259            arg[3,1,1,2]=(0.795972806221)*x[2]
73260            arg[3,1,2,0]=(-0.252334324004)*x[0]
73261            arg[3,1,2,1]=(-0.722829467938)*x[1]
73262            arg[3,1,2,2]=(-0.551540062366)*x[2]
73263            arg[3,2,0,0]=(-0.134668475963)*x[0]
73264            arg[3,2,0,1]=(-0.598747540536)*x[1]
73265            arg[3,2,0,2]=(0.426422436624)*x[2]
73266            arg[3,2,1,0]=(-0.363050323762)*x[0]
73267            arg[3,2,1,1]=(0.980891457977)*x[1]
73268            arg[3,2,1,2]=(0.162831912555)*x[2]
73269            arg[3,2,2,0]=(-0.126505493475)*x[0]
73270            arg[3,2,2,1]=(-0.578567864811)*x[1]
73271            arg[3,2,2,2]=(-0.509843129095)*x[2]
73272            arg[3,3,0,0]=(-0.446171262265)*x[0]
73273            arg[3,3,0,1]=(-0.715175197494)*x[1]
73274            arg[3,3,0,2]=(-0.881016888806)*x[2]
73275            arg[3,3,1,0]=(-0.942020866327)*x[0]
73276            arg[3,3,1,1]=(0.156434646828)*x[1]
73277            arg[3,3,1,2]=(0.523624761583)*x[2]
73278            arg[3,3,2,0]=(-0.683550923926)*x[0]
73279            arg[3,3,2,1]=(0.857075218033)*x[1]
73280            arg[3,3,2,2]=(0.297672594023)*x[2]
73281            arg[3,4,0,0]=(0.74317121113)*x[0]
73282            arg[3,4,0,1]=(0.076464540756)*x[1]
73283            arg[3,4,0,2]=(0.781965468281)*x[2]
73284            arg[3,4,1,0]=(0.417750169098)*x[0]
73285            arg[3,4,1,1]=(0.82275428729)*x[1]
73286            arg[3,4,1,2]=(0.919072321093)*x[2]
73287            arg[3,4,2,0]=(-0.0246706472217)*x[0]
73288            arg[3,4,2,1]=(0.179863245513)*x[1]
73289            arg[3,4,2,2]=(0.539115287766)*x[2]
73290            ref=sqrt((52.492676775)*(2.*dim+1.)/3.)
73291    
73292          res=L2(arg)
73293          self.failUnless(isinstance(res,float),"wrong type of result.")
73294          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
73295       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73296       def test_L2_onFunctionOnBoundary_fromSymbol_rank0(self):
73297          """
73298          tests L2-norm of Symbol on the FunctionOnBoundary
73299    
73300          assumptions: self.domain supports integration on FunctionOnBoundary
73301          """
73302          dim=self.domain.getDim()
73303          w=FunctionOnBoundary(self.domain)
73304          x=w.getX()
73305          if dim==2:
73306            arg=Symbol(shape=(),dim=dim)
73307            s=Data(0,(),w)
73308            s=(0.0248400067683)*x[0]
73309            ref=sqrt((0.000617025936249)*(2.*dim+1.)/3.)
73310    
73311          else:
73312            arg=Symbol(shape=(),dim=dim)
73313            s=Data(0,(),w)
73314            s=(-0.48069197083)*x[0]
73315            ref=sqrt((0.23106477082)*(2.*dim+1.)/3.)
73316    
73317          res=L2(arg)
73318          sub=res.substitute({arg:s})
73319          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
73320          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
73321          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
73322       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73323       def test_L2_onFunctionOnBoundary_fromSymbol_rank1(self):
73324          """
73325          tests L2-norm of Symbol on the FunctionOnBoundary
73326    
73327          assumptions: self.domain supports integration on FunctionOnBoundary
73328          """
73329          dim=self.domain.getDim()
73330          w=FunctionOnBoundary(self.domain)
73331          x=w.getX()
73332          if dim==2:
73333            arg=Symbol(shape=(2,),dim=dim)
73334            s=Data(0,(2,),w)
73335            s[0]=(0.541099842991)*x[0]
73336            s[1]=(0.123212139947)*x[1]
73337            ref=sqrt((0.307970271515)*(2.*dim+1.)/3.)
73338    
73339          else:
73340            arg=Symbol(shape=(3,),dim=dim)
73341            s=Data(0,(3,),w)
73342            s[0]=(-0.74011573744)*x[0]
73343            s[1]=(0.63543826621)*x[1]
73344            s[2]=(-0.210366750156)*x[2]
73345            ref=sqrt((0.995807264541)*(2.*dim+1.)/3.)
73346    
73347          res=L2(arg)
73348          sub=res.substitute({arg:s})
73349          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
73350          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
73351          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
73352       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73353       def test_L2_onFunctionOnBoundary_fromSymbol_rank2(self):
73354          """
73355          tests L2-norm of Symbol on the FunctionOnBoundary
73356    
73357          assumptions: self.domain supports integration on FunctionOnBoundary
73358          """
73359          dim=self.domain.getDim()
73360          w=FunctionOnBoundary(self.domain)
73361          x=w.getX()
73362          if dim==2:
73363            arg=Symbol(shape=(4, 2),dim=dim)
73364            s=Data(0,(4, 2),w)
73365            s[0,0]=(-0.324596599761)*x[0]
73366            s[0,1]=(0.456181444086)*x[1]
73367            s[1,0]=(-0.85366968746)*x[0]
73368            s[1,1]=(-0.984222055109)*x[1]
73369            s[2,0]=(0.302615209563)*x[0]
73370            s[2,1]=(-0.259853865003)*x[1]
73371            s[3,0]=(-0.2851901062)*x[0]
73372            s[3,1]=(0.790097073483)*x[1]
73373            ref=sqrt((2.87559622997)*(2.*dim+1.)/3.)
73374    
73375          else:
73376            arg=Symbol(shape=(4, 3),dim=dim)
73377            s=Data(0,(4, 3),w)
73378            s[0,0]=(0.806171559469)*x[0]
73379            s[0,1]=(0.734186538041)*x[1]
73380            s[0,2]=(0.376885565623)*x[2]
73381            s[1,0]=(-0.168339360861)*x[0]
73382            s[1,1]=(-0.184538096909)*x[1]
73383            s[1,2]=(-0.649204637511)*x[2]
73384            s[2,0]=(0.0187762580033)*x[0]
73385            s[2,1]=(-0.851287373276)*x[1]
73386            s[2,2]=(0.84351620048)*x[2]
73387            s[3,0]=(0.759367087847)*x[0]
73388            s[3,1]=(-0.418326808815)*x[1]
73389            s[3,2]=(0.207925273666)*x[2]
73390            ref=sqrt((4.04627522925)*(2.*dim+1.)/3.)
73391    
73392          res=L2(arg)
73393          sub=res.substitute({arg:s})
73394          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
73395          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
73396          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
73397       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73398       def test_L2_onFunctionOnBoundary_fromSymbol_rank3(self):
73399          """
73400          tests L2-norm of Symbol on the FunctionOnBoundary
73401    
73402          assumptions: self.domain supports integration on FunctionOnBoundary
73403          """
73404          dim=self.domain.getDim()
73405          w=FunctionOnBoundary(self.domain)
73406          x=w.getX()
73407          if dim==2:
73408            arg=Symbol(shape=(6, 2, 2),dim=dim)
73409            s=Data(0,(6, 2, 2),w)
73410            s[0,0,0]=(0.656602395169)*x[0]
73411            s[0,0,1]=(-0.153988287938)*x[1]
73412            s[0,1,0]=(-0.911070962892)*x[0]
73413            s[0,1,1]=(0.734617382897)*x[1]
73414            s[1,0,0]=(0.708777892683)*x[0]
73415            s[1,0,1]=(0.407403464363)*x[1]
73416            s[1,1,0]=(-0.73004005055)*x[0]
73417            s[1,1,1]=(0.108502620047)*x[1]
73418            s[2,0,0]=(0.584913648885)*x[0]
73419            s[2,0,1]=(0.655698697233)*x[1]
73420            s[2,1,0]=(0.504301542359)*x[0]
73421            s[2,1,1]=(-0.637819233396)*x[1]
73422            s[3,0,0]=(0.395391847846)*x[0]
73423            s[3,0,1]=(-0.136070177387)*x[1]
73424            s[3,1,0]=(0.77444662439)*x[0]
73425            s[3,1,1]=(0.245316754174)*x[1]
73426            s[4,0,0]=(0.542716832119)*x[0]
73427            s[4,0,1]=(0.0202895164815)*x[1]
73428            s[4,1,0]=(0.922586929777)*x[0]
73429            s[4,1,1]=(-0.948487993154)*x[1]
73430            s[5,0,0]=(0.629779082528)*x[0]
73431            s[5,0,1]=(-0.90719864412)*x[1]
73432            s[5,1,0]=(-0.29521666306)*x[0]
73433            s[5,1,1]=(-0.431748113769)*x[1]
73434            ref=sqrt((8.84456266856)*(2.*dim+1.)/3.)
73435    
73436          else:
73437            arg=Symbol(shape=(6, 2, 3),dim=dim)
73438            s=Data(0,(6, 2, 3),w)
73439            s[0,0,0]=(0.529698924744)*x[0]
73440            s[0,0,1]=(0.779440018368)*x[1]
73441            s[0,0,2]=(-0.447704804318)*x[2]
73442            s[0,1,0]=(0.375433500828)*x[0]
73443            s[0,1,1]=(-0.567989496415)*x[1]
73444            s[0,1,2]=(-0.47133957857)*x[2]
73445            s[1,0,0]=(0.379156720923)*x[0]
73446            s[1,0,1]=(-0.629670565361)*x[1]
73447            s[1,0,2]=(0.814298387366)*x[2]
73448            s[1,1,0]=(-0.482876103672)*x[0]
73449            s[1,1,1]=(-0.592362629566)*x[1]
73450            s[1,1,2]=(0.368859438611)*x[2]
73451            s[2,0,0]=(0.145060478226)*x[0]
73452            s[2,0,1]=(-0.582989521856)*x[1]
73453            s[2,0,2]=(-0.977335802848)*x[2]
73454            s[2,1,0]=(-0.471820598698)*x[0]
73455            s[2,1,1]=(-0.680071585031)*x[1]
73456            s[2,1,2]=(-0.686102402643)*x[2]
73457            s[3,0,0]=(-0.647535125154)*x[0]
73458            s[3,0,1]=(-0.739392553517)*x[1]
73459            s[3,0,2]=(-0.0852792216585)*x[2]
73460            s[3,1,0]=(-0.0197635627728)*x[0]
73461            s[3,1,1]=(-0.811782244587)*x[1]
73462            s[3,1,2]=(0.842974983966)*x[2]
73463            s[4,0,0]=(-0.765665515246)*x[0]
73464            s[4,0,1]=(-0.379368211948)*x[1]
73465            s[4,0,2]=(-0.864157207524)*x[2]
73466            s[4,1,0]=(-0.393989909405)*x[0]
73467            s[4,1,1]=(0.482309706914)*x[1]
73468            s[4,1,2]=(-0.80068507467)*x[2]
73469            s[5,0,0]=(-0.686334218925)*x[0]
73470            s[5,0,1]=(-0.414623392196)*x[1]
73471            s[5,0,2]=(-0.689227675292)*x[2]
73472            s[5,1,0]=(0.347067831012)*x[0]
73473            s[5,1,1]=(0.675600902408)*x[1]
73474            s[5,1,2]=(-0.763467841004)*x[2]
73475            ref=sqrt((13.2965907789)*(2.*dim+1.)/3.)
73476    
73477          res=L2(arg)
73478          sub=res.substitute({arg:s})
73479          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
73480          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
73481          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
73482       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73483       def test_L2_onFunctionOnBoundary_fromSymbol_rank4(self):
73484          """
73485          tests L2-norm of Symbol on the FunctionOnBoundary
73486    
73487          assumptions: self.domain supports integration on FunctionOnBoundary
73488          """
73489          dim=self.domain.getDim()
73490          w=FunctionOnBoundary(self.domain)
73491          x=w.getX()
73492          if dim==2:
73493            arg=Symbol(shape=(4, 5, 3, 2),dim=dim)
73494            s=Data(0,(4, 5, 3, 2),w)
73495            s[0,0,0,0]=(0.478851101914)*x[0]
73496            s[0,0,0,1]=(-0.669115623243)*x[1]
73497            s[0,0,1,0]=(0.169431656457)*x[0]
73498            s[0,0,1,1]=(-0.154130248518)*x[1]
73499            s[0,0,2,0]=(0.590784906322)*x[0]
73500            s[0,0,2,1]=(-0.843193872964)*x[1]
73501            s[0,1,0,0]=(0.040548638805)*x[0]
73502            s[0,1,0,1]=(0.0223688163494)*x[1]
73503            s[0,1,1,0]=(0.591094685655)*x[0]
73504            s[0,1,1,1]=(0.692105812582)*x[1]
73505            s[0,1,2,0]=(-0.326832256739)*x[0]
73506            s[0,1,2,1]=(0.824824822029)*x[1]
73507            s[0,2,0,0]=(-0.352757110519)*x[0]
73508            s[0,2,0,1]=(-0.898616847036)*x[1]
73509            s[0,2,1,0]=(0.972018635849)*x[0]
73510            s[0,2,1,1]=(0.64223146835)*x[1]
73511            s[0,2,2,0]=(0.599638014876)*x[0]
73512            s[0,2,2,1]=(0.665927987689)*x[1]
73513            s[0,3,0,0]=(-0.757282087611)*x[0]
73514            s[0,3,0,1]=(-0.541306038159)*x[1]
73515            s[0,3,1,0]=(0.443494146532)*x[0]
73516            s[0,3,1,1]=(-0.125404019651)*x[1]
73517            s[0,3,2,0]=(0.234422087306)*x[0]
73518            s[0,3,2,1]=(0.443982420301)*x[1]
73519            s[0,4,0,0]=(0.46454740036)*x[0]
73520            s[0,4,0,1]=(-0.479031824057)*x[1]
73521            s[0,4,1,0]=(-0.304056971991)*x[0]
73522            s[0,4,1,1]=(-0.763293280009)*x[1]
73523            s[0,4,2,0]=(-0.142796685199)*x[0]
73524            s[0,4,2,1]=(0.301022025426)*x[1]
73525            s[1,0,0,0]=(-0.843399285738)*x[0]
73526            s[1,0,0,1]=(0.639837980509)*x[1]
73527            s[1,0,1,0]=(-0.649024291296)*x[0]
73528            s[1,0,1,1]=(0.645960995308)*x[1]
73529            s[1,0,2,0]=(0.0862852468825)*x[0]
73530            s[1,0,2,1]=(-0.399237566917)*x[1]
73531            s[1,1,0,0]=(0.959425187971)*x[0]
73532            s[1,1,0,1]=(0.65407910284)*x[1]
73533            s[1,1,1,0]=(0.873927579655)*x[0]
73534            s[1,1,1,1]=(0.399448652787)*x[1]
73535            s[1,1,2,0]=(-0.363863298937)*x[0]
73536            s[1,1,2,1]=(0.555310285452)*x[1]
73537            s[1,2,0,0]=(0.962712099815)*x[0]
73538            s[1,2,0,1]=(0.141495259052)*x[1]
73539            s[1,2,1,0]=(-0.819117296209)*x[0]
73540            s[1,2,1,1]=(-0.752934712352)*x[1]
73541            s[1,2,2,0]=(0.065886700262)*x[0]
73542            s[1,2,2,1]=(-0.530225381274)*x[1]
73543            s[1,3,0,0]=(0.830686848377)*x[0]
73544            s[1,3,0,1]=(0.139854694845)*x[1]
73545            s[1,3,1,0]=(0.869755726605)*x[0]
73546            s[1,3,1,1]=(0.145889500911)*x[1]
73547            s[1,3,2,0]=(-0.690283765486)*x[0]
73548            s[1,3,2,1]=(-0.790245562042)*x[1]
73549            s[1,4,0,0]=(0.704042980492)*x[0]
73550            s[1,4,0,1]=(-0.692268480039)*x[1]
73551            s[1,4,1,0]=(-0.708898941564)*x[0]
73552            s[1,4,1,1]=(-0.675824414677)*x[1]
73553            s[1,4,2,0]=(0.320394083261)*x[0]
73554            s[1,4,2,1]=(0.173795411968)*x[1]
73555            s[2,0,0,0]=(0.707844986267)*x[0]
73556            s[2,0,0,1]=(0.991847131293)*x[1]
73557            s[2,0,1,0]=(0.470933752596)*x[0]
73558            s[2,0,1,1]=(0.847427404272)*x[1]
73559            s[2,0,2,0]=(0.383056136263)*x[0]
73560            s[2,0,2,1]=(-0.717411302782)*x[1]
73561            s[2,1,0,0]=(0.118326527818)*x[0]
73562            s[2,1,0,1]=(0.0957434761651)*x[1]
73563            s[2,1,1,0]=(-0.420654904504)*x[0]
73564            s[2,1,1,1]=(0.31903393188)*x[1]
73565            s[2,1,2,0]=(0.0597937431476)*x[0]
73566            s[2,1,2,1]=(0.965201628622)*x[1]
73567            s[2,2,0,0]=(0.884709108482)*x[0]
73568            s[2,2,0,1]=(-0.541160500366)*x[1]
73569            s[2,2,1,0]=(-0.180788996448)*x[0]
73570            s[2,2,1,1]=(-0.44537512426)*x[1]
73571            s[2,2,2,0]=(-0.291513668432)*x[0]
73572            s[2,2,2,1]=(0.349090737561)*x[1]
73573            s[2,3,0,0]=(0.0994765186043)*x[0]
73574            s[2,3,0,1]=(-0.317258869646)*x[1]
73575            s[2,3,1,0]=(0.661005398598)*x[0]
73576            s[2,3,1,1]=(-0.914254206568)*x[1]
73577            s[2,3,2,0]=(-0.374142249366)*x[0]
73578            s[2,3,2,1]=(-0.587651938713)*x[1]
73579            s[2,4,0,0]=(-0.0990354726919)*x[0]
73580            s[2,4,0,1]=(-0.104596309056)*x[1]
73581            s[2,4,1,0]=(0.183201845594)*x[0]
73582            s[2,4,1,1]=(-0.265185815743)*x[1]
73583            s[2,4,2,0]=(0.804060169933)*x[0]
73584            s[2,4,2,1]=(-0.0798336799535)*x[1]
73585            s[3,0,0,0]=(-0.470265711106)*x[0]
73586            s[3,0,0,1]=(0.123030821016)*x[1]
73587            s[3,0,1,0]=(0.971878570072)*x[0]
73588            s[3,0,1,1]=(0.557374437558)*x[1]
73589            s[3,0,2,0]=(0.771881325143)*x[0]
73590            s[3,0,2,1]=(-0.181917882935)*x[1]
73591            s[3,1,0,0]=(-0.30330086877)*x[0]
73592            s[3,1,0,1]=(0.785561830696)*x[1]
73593            s[3,1,1,0]=(0.0783160883668)*x[0]
73594            s[3,1,1,1]=(-0.192122642565)*x[1]
73595            s[3,1,2,0]=(-0.294486881116)*x[0]
73596            s[3,1,2,1]=(0.533158403133)*x[1]
73597            s[3,2,0,0]=(-0.413737404117)*x[0]
73598            s[3,2,0,1]=(0.622363162902)*x[1]
73599            s[3,2,1,0]=(0.241741847782)*x[0]
73600            s[3,2,1,1]=(-0.0541594558102)*x[1]
73601            s[3,2,2,0]=(0.157759963106)*x[0]
73602            s[3,2,2,1]=(-0.833376953416)*x[1]
73603            s[3,3,0,0]=(-0.671630074873)*x[0]
73604            s[3,3,0,1]=(-0.10840086864)*x[1]
73605            s[3,3,1,0]=(-0.995501368513)*x[0]
73606            s[3,3,1,1]=(-0.153147007921)*x[1]
73607            s[3,3,2,0]=(-0.504815129335)*x[0]
73608            s[3,3,2,1]=(-0.489511115245)*x[1]
73609            s[3,4,0,0]=(0.206555206064)*x[0]
73610            s[3,4,0,1]=(-0.294058867178)*x[1]
73611            s[3,4,1,0]=(-0.571176824119)*x[0]
73612            s[3,4,1,1]=(0.353847783519)*x[1]
73613            s[3,4,2,0]=(-0.441012644459)*x[0]
73614            s[3,4,2,1]=(0.198182379551)*x[1]
73615            ref=sqrt((36.8775562848)*(2.*dim+1.)/3.)
73616    
73617          else:
73618            arg=Symbol(shape=(4, 5, 3, 3),dim=dim)
73619            s=Data(0,(4, 5, 3, 3),w)
73620            s[0,0,0,0]=(-0.391342187918)*x[0]
73621            s[0,0,0,1]=(-0.807670030995)*x[1]
73622            s[0,0,0,2]=(-0.730776810158)*x[2]
73623            s[0,0,1,0]=(-0.640249702579)*x[0]
73624            s[0,0,1,1]=(-0.0944608864404)*x[1]
73625            s[0,0,1,2]=(0.852922834544)*x[2]
73626            s[0,0,2,0]=(0.0996848239317)*x[0]
73627            s[0,0,2,1]=(-0.323310001677)*x[1]
73628            s[0,0,2,2]=(-0.311089889753)*x[2]
73629            s[0,1,0,0]=(-0.294816251058)*x[0]
73630            s[0,1,0,1]=(0.939389998027)*x[1]
73631            s[0,1,0,2]=(0.900617063513)*x[2]
73632            s[0,1,1,0]=(-0.961986583089)*x[0]
73633            s[0,1,1,1]=(0.629473020335)*x[1]
73634            s[0,1,1,2]=(-0.215446848397)*x[2]
73635            s[0,1,2,0]=(-0.256062202737)*x[0]
73636            s[0,1,2,1]=(0.497231616486)*x[1]
73637            s[0,1,2,2]=(-0.813869122359)*x[2]
73638            s[0,2,0,0]=(0.352147663827)*x[0]
73639            s[0,2,0,1]=(0.553022457414)*x[1]
73640            s[0,2,0,2]=(-0.340077213113)*x[2]
73641            s[0,2,1,0]=(0.654397833915)*x[0]
73642            s[0,2,1,1]=(-0.34308640744)*x[1]
73643            s[0,2,1,2]=(-0.689126280824)*x[2]
73644            s[0,2,2,0]=(0.428183196531)*x[0]
73645            s[0,2,2,1]=(-0.322384435092)*x[1]
73646            s[0,2,2,2]=(0.636495513573)*x[2]
73647            s[0,3,0,0]=(0.214083660816)*x[0]
73648            s[0,3,0,1]=(0.312445001293)*x[1]
73649            s[0,3,0,2]=(-0.939086993471)*x[2]
73650            s[0,3,1,0]=(-0.0668860159236)*x[0]
73651            s[0,3,1,1]=(0.591012248354)*x[1]
73652            s[0,3,1,2]=(0.696149816619)*x[2]
73653            s[0,3,2,0]=(0.917050906357)*x[0]
73654            s[0,3,2,1]=(-0.695398022945)*x[1]
73655            s[0,3,2,2]=(0.578841930671)*x[2]
73656            s[0,4,0,0]=(-0.321769393495)*x[0]
73657            s[0,4,0,1]=(-0.761161601481)*x[1]
73658            s[0,4,0,2]=(0.000116192661055)*x[2]
73659            s[0,4,1,0]=(0.347135267821)*x[0]
73660            s[0,4,1,1]=(-0.0105215354141)*x[1]
73661            s[0,4,1,2]=(0.582827998159)*x[2]
73662            s[0,4,2,0]=(0.765317199582)*x[0]
73663            s[0,4,2,1]=(0.546093510978)*x[1]
73664            s[0,4,2,2]=(-0.753832119978)*x[2]
73665            s[1,0,0,0]=(-0.163230444043)*x[0]
73666            s[1,0,0,1]=(0.415060470539)*x[1]
73667            s[1,0,0,2]=(0.638843786094)*x[2]
73668            s[1,0,1,0]=(-0.320730240187)*x[0]
73669            s[1,0,1,1]=(-0.369428894975)*x[1]
73670            s[1,0,1,2]=(-0.944414569234)*x[2]
73671            s[1,0,2,0]=(0.580606041923)*x[0]
73672            s[1,0,2,1]=(-0.351082080131)*x[1]
73673            s[1,0,2,2]=(-0.170588782574)*x[2]
73674            s[1,1,0,0]=(0.323136286071)*x[0]
73675            s[1,1,0,1]=(0.397263600918)*x[1]
73676            s[1,1,0,2]=(-0.687508659585)*x[2]
73677            s[1,1,1,0]=(-0.997412227958)*x[0]
73678            s[1,1,1,1]=(0.968968702091)*x[1]
73679            s[1,1,1,2]=(-0.223523055076)*x[2]
73680            s[1,1,2,0]=(-0.495473193251)*x[0]
73681            s[1,1,2,1]=(-0.00758436986969)*x[1]
73682            s[1,1,2,2]=(0.0770020818673)*x[2]
73683            s[1,2,0,0]=(-0.522152049391)*x[0]
73684            s[1,2,0,1]=(0.820143671384)*x[1]
73685            s[1,2,0,2]=(0.672347144349)*x[2]
73686            s[1,2,1,0]=(-0.868655459375)*x[0]
73687            s[1,2,1,1]=(-0.698503510192)*x[1]
73688            s[1,2,1,2]=(0.16866148235)*x[2]
73689            s[1,2,2,0]=(0.291645089215)*x[0]
73690            s[1,2,2,1]=(0.375705968271)*x[1]
73691            s[1,2,2,2]=(0.047575084848)*x[2]
73692            s[1,3,0,0]=(-0.856292393733)*x[0]
73693            s[1,3,0,1]=(0.741997693375)*x[1]
73694            s[1,3,0,2]=(0.922057641142)*x[2]
73695            s[1,3,1,0]=(-0.0246230217779)*x[0]
73696            s[1,3,1,1]=(0.233511225618)*x[1]
73697            s[1,3,1,2]=(-0.128732881848)*x[2]
73698            s[1,3,2,0]=(0.437273172814)*x[0]
73699            s[1,3,2,1]=(-0.24673804436)*x[1]
73700            s[1,3,2,2]=(0.834689693971)*x[2]
73701            s[1,4,0,0]=(0.0567731436429)*x[0]
73702            s[1,4,0,1]=(-0.523439015055)*x[1]
73703            s[1,4,0,2]=(-0.175105109157)*x[2]
73704            s[1,4,1,0]=(-0.783819538589)*x[0]
73705            s[1,4,1,1]=(0.722409822905)*x[1]
73706            s[1,4,1,2]=(-0.99480794117)*x[2]
73707            s[1,4,2,0]=(-0.0948610680733)*x[0]
73708            s[1,4,2,1]=(-0.0934034446625)*x[1]
73709            s[1,4,2,2]=(0.993222484498)*x[2]
73710            s[2,0,0,0]=(-0.739506857296)*x[0]
73711            s[2,0,0,1]=(-0.402129626454)*x[1]
73712            s[2,0,0,2]=(-0.131164073645)*x[2]
73713            s[2,0,1,0]=(-0.185068425131)*x[0]
73714            s[2,0,1,1]=(-0.888669413054)*x[1]
73715            s[2,0,1,2]=(0.149638740783)*x[2]
73716            s[2,0,2,0]=(-0.977520384)*x[0]
73717            s[2,0,2,1]=(0.495784511707)*x[1]
73718            s[2,0,2,2]=(0.140779930302)*x[2]
73719            s[2,1,0,0]=(-0.668882409761)*x[0]
73720            s[2,1,0,1]=(0.87881226199)*x[1]
73721            s[2,1,0,2]=(0.596921491285)*x[2]
73722            s[2,1,1,0]=(0.327990184264)*x[0]
73723            s[2,1,1,1]=(-0.842310366654)*x[1]
73724            s[2,1,1,2]=(-0.104630179971)*x[2]
73725            s[2,1,2,0]=(-0.997782736966)*x[0]
73726            s[2,1,2,1]=(0.362490263673)*x[1]
73727            s[2,1,2,2]=(-0.919527812431)*x[2]
73728            s[2,2,0,0]=(-0.694141113242)*x[0]
73729            s[2,2,0,1]=(-0.189176840568)*x[1]
73730            s[2,2,0,2]=(-0.305307574884)*x[2]
73731            s[2,2,1,0]=(0.97520770841)*x[0]
73732            s[2,2,1,1]=(0.709672831962)*x[1]
73733            s[2,2,1,2]=(-0.056408975067)*x[2]
73734            s[2,2,2,0]=(-0.491153842737)*x[0]
73735            s[2,2,2,1]=(-0.487533744248)*x[1]
73736            s[2,2,2,2]=(-0.16258274458)*x[2]
73737            s[2,3,0,0]=(0.69721543109)*x[0]
73738            s[2,3,0,1]=(-0.927116706183)*x[1]
73739            s[2,3,0,2]=(-0.277453826622)*x[2]
73740            s[2,3,1,0]=(-0.530246149296)*x[0]
73741            s[2,3,1,1]=(0.971840533777)*x[1]
73742            s[2,3,1,2]=(-0.472599623799)*x[2]
73743            s[2,3,2,0]=(0.772149184332)*x[0]
73744            s[2,3,2,1]=(-0.644107019603)*x[1]
73745            s[2,3,2,2]=(-0.537937585926)*x[2]
73746            s[2,4,0,0]=(-0.786226779015)*x[0]
73747            s[2,4,0,1]=(-0.132798607299)*x[1]
73748            s[2,4,0,2]=(-0.954772620074)*x[2]
73749            s[2,4,1,0]=(-0.378657907627)*x[0]
73750            s[2,4,1,1]=(0.896332243914)*x[1]
73751            s[2,4,1,2]=(-0.980811837061)*x[2]
73752            s[2,4,2,0]=(-0.033610987457)*x[0]
73753            s[2,4,2,1]=(0.301124520167)*x[1]
73754            s[2,4,2,2]=(0.505461084966)*x[2]
73755            s[3,0,0,0]=(0.92844681553)*x[0]
73756            s[3,0,0,1]=(-0.833141539681)*x[1]
73757            s[3,0,0,2]=(-0.219378232103)*x[2]
73758            s[3,0,1,0]=(-0.342722442206)*x[0]
73759            s[3,0,1,1]=(0.662705183551)*x[1]
73760            s[3,0,1,2]=(0.544702876622)*x[2]
73761            s[3,0,2,0]=(-0.984992104327)*x[0]
73762            s[3,0,2,1]=(-0.118846731)*x[1]
73763            s[3,0,2,2]=(-0.850203016683)*x[2]
73764            s[3,1,0,0]=(0.797626533525)*x[0]
73765            s[3,1,0,1]=(-0.415519060262)*x[1]
73766            s[3,1,0,2]=(-0.629491781709)*x[2]
73767            s[3,1,1,0]=(0.223213637134)*x[0]
73768            s[3,1,1,1]=(0.824993414773)*x[1]
73769            s[3,1,1,2]=(0.141523286845)*x[2]
73770            s[3,1,2,0]=(-0.66436462404)*x[0]
73771            s[3,1,2,1]=(-0.854989422144)*x[1]
73772            s[3,1,2,2]=(-0.0354537218933)*x[2]
73773            s[3,2,0,0]=(-0.0988394772118)*x[0]
73774            s[3,2,0,1]=(0.125214003041)*x[1]
73775            s[3,2,0,2]=(-0.701121659493)*x[2]
73776            s[3,2,1,0]=(-0.603538097381)*x[0]
73777            s[3,2,1,1]=(-0.659139390328)*x[1]
73778            s[3,2,1,2]=(-0.849986094805)*x[2]
73779            s[3,2,2,0]=(-0.545364489526)*x[0]
73780            s[3,2,2,1]=(-0.90842178441)*x[1]
73781            s[3,2,2,2]=(-0.650251007613)*x[2]
73782            s[3,3,0,0]=(0.943460211337)*x[0]
73783            s[3,3,0,1]=(-0.707864979205)*x[1]
73784            s[3,3,0,2]=(0.9885932761)*x[2]
73785            s[3,3,1,0]=(0.127650934393)*x[0]
73786            s[3,3,1,1]=(-0.495451047906)*x[1]
73787            s[3,3,1,2]=(0.641823757246)*x[2]
73788            s[3,3,2,0]=(-0.33331510031)*x[0]
73789            s[3,3,2,1]=(0.922346384165)*x[1]
73790            s[3,3,2,2]=(-0.987453834808)*x[2]
73791            s[3,4,0,0]=(-0.376485044284)*x[0]
73792            s[3,4,0,1]=(0.693296795267)*x[1]
73793            s[3,4,0,2]=(-0.31498404544)*x[2]
73794            s[3,4,1,0]=(0.512477956635)*x[0]
73795            s[3,4,1,1]=(-0.333819138285)*x[1]
73796            s[3,4,1,2]=(0.560322373773)*x[2]
73797            s[3,4,2,0]=(0.889090668029)*x[0]
73798            s[3,4,2,1]=(0.981814634684)*x[1]
73799            s[3,4,2,2]=(-0.41272129735)*x[2]
73800            ref=sqrt((66.7960236856)*(2.*dim+1.)/3.)
73801    
73802          res=L2(arg)
73803          sub=res.substitute({arg:s})
73804          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
73805          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
73806          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
73807       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73808       def test_L2_onFunctionOnContactZero_fromData_rank0(self):
73809          """
73810          tests L2-norm of Data on the FunctionOnContactZero
73811    
73812          assumptions: self.domain supports integration on FunctionOnContactZero
73813          """
73814          dim=self.domain.getDim()
73815          w=FunctionOnContactZero(self.domain)
73816          x=w.getX()
73817          if dim==2:
73818            arg=Data(0,(),w)
73819            arg=(-0.908822474879)*x[0]
73820            ref=sqrt((0.0)+(0.206489572711))
73821    
73822          else:
73823            arg=Data(0,(),w)
73824            arg=(-0.893168521371)*x[0]
73825            ref=sqrt((0.0)+(0.199437501892))
73826    
73827          res=L2(arg)
73828          self.failUnless(isinstance(res,float),"wrong type of result.")
73829          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
73830       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73831       def test_L2_onFunctionOnContactZero_fromData_rank1(self):
73832          """
73833          tests L2-norm of Data on the FunctionOnContactZero
73834    
73835          assumptions: self.domain supports integration on FunctionOnContactZero
73836          """
73837          dim=self.domain.getDim()
73838          w=FunctionOnContactZero(self.domain)
73839          x=w.getX()
73840          if dim==2:
73841            arg=Data(0,(2,),w)
73842            arg[0]=(-0.30839170903)*x[0]
73843            arg[1]=(0.108352504587)*x[1]
73844            ref=sqrt((0.00391342175007)+(0.0237763615497))
73845    
73846          else:
73847            arg=Data(0,(3,),w)
73848            arg[0]=(-0.260572084359)*x[0]
73849            arg[1]=(0.250696802346)*x[1]
73850            arg[2]=(-0.498857619202)*x[2]
73851            ref=sqrt((0.103902603647)+(0.0169744527868))
73852    
73853          res=L2(arg)
73854          self.failUnless(isinstance(res,float),"wrong type of result.")
73855          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
73856       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73857       def test_L2_onFunctionOnContactZero_fromData_rank2(self):
73858          """
73859          tests L2-norm of Data on the FunctionOnContactZero
73860    
73861          assumptions: self.domain supports integration on FunctionOnContactZero
73862          """
73863          dim=self.domain.getDim()
73864          w=FunctionOnContactZero(self.domain)
73865          x=w.getX()
73866          if dim==2:
73867            arg=Data(0,(4, 2),w)
73868            arg[0,0]=(0.0107777943992)*x[0]
73869            arg[0,1]=(0.0188929341636)*x[1]
73870            arg[1,0]=(-0.00268267834861)*x[0]
73871            arg[1,1]=(-0.656039971477)*x[1]
73872            arg[2,0]=(-0.997645982047)*x[0]
73873            arg[2,1]=(0.993049748017)*x[1]
73874            arg[3,0]=(0.938636169945)*x[0]
73875            arg[3,1]=(-0.609892243528)*x[1]
73876            ref=sqrt((0.596287245963)+(0.46911468066))
73877    
73878          else:
73879            arg=Data(0,(4, 3),w)
73880            arg[0,0]=(0.128987155564)*x[0]
73881            arg[0,1]=(-0.582660210551)*x[1]
73882            arg[0,2]=(-0.605040149822)*x[2]
73883            arg[1,0]=(0.494540007291)*x[0]
73884            arg[1,1]=(0.563900397935)*x[1]
73885            arg[1,2]=(-0.806214220737)*x[2]
73886            arg[2,0]=(0.878027993704)*x[0]
73887            arg[2,1]=(0.597165310427)*x[1]
73888            arg[2,2]=(-0.444798130742)*x[2]
73889            arg[3,0]=(0.982067213342)*x[0]
73890            arg[3,1]=(-0.160013302763)*x[1]
73891            arg[3,2]=(-0.490830124654)*x[2]
73892            ref=sqrt((0.831500595262)+(0.49914916859))
73893    
73894          res=L2(arg)
73895          self.failUnless(isinstance(res,float),"wrong type of result.")
73896          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
73897       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73898       def test_L2_onFunctionOnContactZero_fromData_rank3(self):
73899          """
73900          tests L2-norm of Data on the FunctionOnContactZero
73901    
73902          assumptions: self.domain supports integration on FunctionOnContactZero
73903          """
73904          dim=self.domain.getDim()
73905          w=FunctionOnContactZero(self.domain)
73906          x=w.getX()
73907          if dim==2:
73908            arg=Data(0,(6, 2, 2),w)
73909            arg[0,0,0]=(0.83264345248)*x[0]
73910            arg[0,0,1]=(-0.29697614845)*x[1]
73911            arg[0,1,0]=(-0.903150797089)*x[0]
73912            arg[0,1,1]=(-0.569048463149)*x[1]
73913            arg[1,0,0]=(0.317087339385)*x[0]
73914            arg[1,0,1]=(0.0120740865344)*x[1]
73915            arg[1,1,0]=(-0.221145803457)*x[0]
73916            arg[1,1,1]=(-0.15362409313)*x[1]
73917            arg[2,0,0]=(0.459428065932)*x[0]
73918            arg[2,0,1]=(-0.495488213623)*x[1]
73919            arg[2,1,0]=(0.919114285084)*x[0]
73920            arg[2,1,1]=(0.54511942052)*x[1]
73921            arg[3,0,0]=(0.442207797529)*x[0]
73922            arg[3,0,1]=(0.958341188449)*x[1]
73923            arg[3,1,0]=(-0.0915205976682)*x[0]
73924            arg[3,1,1]=(-0.410964460336)*x[1]
73925            arg[4,0,0]=(-0.243030095673)*x[0]
73926            arg[4,0,1]=(-0.413661756935)*x[1]
73927            arg[4,1,0]=(-0.0973014277464)*x[0]
73928            arg[4,1,1]=(0.204130676874)*x[1]
73929            arg[5,0,0]=(0.38083750131)*x[0]
73930            arg[5,0,1]=(0.286331574579)*x[1]
73931            arg[5,1,0]=(0.583320730408)*x[0]
73932            arg[5,1,1]=(-0.0899419806181)*x[1]
73933            ref=sqrt((0.789530406063)+(0.868006693351))
73934    
73935          else:
73936            arg=Data(0,(6, 2, 3),w)
73937            arg[0,0,0]=(-0.98411764268)*x[0]
73938            arg[0,0,1]=(-0.180549567137)*x[1]
73939            arg[0,0,2]=(0.357923974709)*x[2]
73940            arg[0,1,0]=(0.67691778218)*x[0]
73941            arg[0,1,1]=(-0.643267669153)*x[1]
73942            arg[0,1,2]=(0.452374328301)*x[2]
73943            arg[1,0,0]=(0.494303694439)*x[0]
73944            arg[1,0,1]=(0.00767629822214)*x[1]
73945            arg[1,0,2]=(0.232436713422)*x[2]
73946            arg[1,1,0]=(-0.698568975983)*x[0]
73947            arg[1,1,1]=(-0.08483720353)*x[1]
73948            arg[1,1,2]=(-0.723935799719)*x[2]
73949            arg[2,0,0]=(0.931313239646)*x[0]
73950            arg[2,0,1]=(-0.0988070442341)*x[1]
73951            arg[2,0,2]=(-0.166201798278)*x[2]
73952            arg[2,1,0]=(-0.733172171406)*x[0]
73953            arg[2,1,1]=(0.24542706584)*x[1]
73954            arg[2,1,2]=(0.49170717592)*x[2]
73955            arg[3,0,0]=(-0.718346096869)*x[0]
73956            arg[3,0,1]=(0.297442410539)*x[1]
73957            arg[3,0,2]=(0.0277708718174)*x[2]
73958            arg[3,1,0]=(0.735100702194)*x[0]
73959            arg[3,1,1]=(-0.808007526296)*x[1]
73960            arg[3,1,2]=(-0.423023238313)*x[2]
73961            arg[4,0,0]=(0.383188529876)*x[0]
73962            arg[4,0,1]=(-0.190101601814)*x[1]
73963            arg[4,0,2]=(-0.404380990215)*x[2]
73964            arg[4,1,0]=(-0.31098204217)*x[0]
73965            arg[4,1,1]=(-0.715247945432)*x[1]
73966            arg[4,1,2]=(0.435774772982)*x[2]
73967            arg[5,0,0]=(-0.0662056096206)*x[0]
73968            arg[5,0,1]=(0.746710247367)*x[1]
73969            arg[5,0,2]=(0.753267249301)*x[2]
73970            arg[5,1,0]=(0.258102962518)*x[0]
73971            arg[5,1,1]=(-0.0270028483187)*x[1]
73972            arg[5,1,2]=(-0.971060107954)*x[2]
73973            ref=sqrt((1.86493016409)+(1.23371587938))
73974    
73975          res=L2(arg)
73976          self.failUnless(isinstance(res,float),"wrong type of result.")
73977          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
73978       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
73979       def test_L2_onFunctionOnContactZero_fromData_rank4(self):
73980          """
73981          tests L2-norm of Data on the FunctionOnContactZero
73982    
73983          assumptions: self.domain supports integration on FunctionOnContactZero
73984          """
73985          dim=self.domain.getDim()
73986          w=FunctionOnContactZero(self.domain)
73987          x=w.getX()
73988          if dim==2:
73989            arg=Data(0,(4, 5, 3, 2),w)
73990            arg[0,0,0,0]=(-0.144741217139)*x[0]
73991            arg[0,0,0,1]=(-0.188187241012)*x[1]
73992            arg[0,0,1,0]=(0.056339373733)*x[0]
73993            arg[0,0,1,1]=(0.222177130759)*x[1]
73994            arg[0,0,2,0]=(-0.437240978497)*x[0]
73995            arg[0,0,2,1]=(-0.479213082014)*x[1]
73996            arg[0,1,0,0]=(0.343204141181)*x[0]
73997            arg[0,1,0,1]=(0.099683148208)*x[1]
73998            arg[0,1,1,0]=(0.167657906331)*x[0]
73999            arg[0,1,1,1]=(0.371064917656)*x[1]
74000            arg[0,1,2,0]=(-0.175796118619)*x[0]
74001            arg[0,1,2,1]=(-0.523477567832)*x[1]
74002            arg[0,2,0,0]=(0.188832282277)*x[0]
74003            arg[0,2,0,1]=(0.948618356423)*x[1]
74004            arg[0,2,1,0]=(-0.3835066594)*x[0]
74005            arg[0,2,1,1]=(0.872875257641)*x[1]
74006            arg[0,2,2,0]=(-0.98414676194)*x[0]
74007            arg[0,2,2,1]=(0.59170993756)*x[1]
74008            arg[0,3,0,0]=(0.875820385471)*x[0]
74009            arg[0,3,0,1]=(-0.209139794169)*x[1]
74010            arg[0,3,1,0]=(0.783312979835)*x[0]
74011            arg[0,3,1,1]=(-0.440048708153)*x[1]
74012            arg[0,3,2,0]=(-0.906741480158)*x[0]
74013            arg[0,3,2,1]=(0.63834196559)*x[1]
74014            arg[0,4,0,0]=(0.0142616166715)*x[0]
74015            arg[0,4,0,1]=(-0.0745581409622)*x[1]
74016            arg[0,4,1,0]=(-0.779966728505)*x[0]
74017            arg[0,4,1,1]=(0.734744791584)*x[1]
74018            arg[0,4,2,0]=(0.0407627699446)*x[0]
74019            arg[0,4,2,1]=(-0.629666423098)*x[1]
74020            arg[1,0,0,0]=(-0.782291768803)*x[0]
74021            arg[1,0,0,1]=(-0.197799867335)*x[1]
74022            arg[1,0,1,0]=(-0.487323212409)*x[0]
74023            arg[1,0,1,1]=(-0.789940409633)*x[1]
74024            arg[1,0,2,0]=(-0.523871448728)*x[0]
74025            arg[1,0,2,1]=(-0.622272488658)*x[1]
74026            arg[1,1,0,0]=(0.370095832941)*x[0]
74027            arg[1,1,0,1]=(-0.0683624906905)*x[1]
74028            arg[1,1,1,0]=(-0.180583695959)*x[0]
74029            arg[1,1,1,1]=(-0.0529097308814)*x[1]
74030            arg[1,1,2,0]=(0.440088045764)*x[0]
74031            arg[1,1,2,1]=(-0.207665675854)*x[1]
74032            arg[1,2,0,0]=(-0.360120735448)*x[0]
74033            arg[1,2,0,1]=(0.877797020694)*x[1]
74034            arg[1,2,1,0]=(0.655192721419)*x[0]
74035            arg[1,2,1,1]=(0.978781227463)*x[1]
74036            arg[1,2,2,0]=(-0.205886258554)*x[0]
74037            arg[1,2,2,1]=(-0.0050396100363)*x[1]
74038            arg[1,3,0,0]=(-0.484332943177)*x[0]
74039            arg[1,3,0,1]=(0.964697361018)*x[1]
74040            arg[1,3,1,0]=(0.0815652906824)*x[0]
74041            arg[1,3,1,1]=(-0.531163025802)*x[1]
74042            arg[1,3,2,0]=(-0.229615479833)*x[0]
74043            arg[1,3,2,1]=(0.139971291609)*x[1]
74044            arg[1,4,0,0]=(0.960839193726)*x[0]
74045            arg[1,4,0,1]=(-0.9744930023)*x[1]
74046            arg[1,4,1,0]=(-0.0919000363634)*x[0]
74047            arg[1,4,1,1]=(0.483909186003)*x[1]
74048            arg[1,4,2,0]=(0.248597552464)*x[0]
74049            arg[1,4,2,1]=(0.965872402486)*x[1]
74050            arg[2,0,0,0]=(-0.935049188033)*x[0]
74051            arg[2,0,0,1]=(-0.823239964421)*x[1]
74052            arg[2,0,1,0]=(0.30901193713)*x[0]
74053            arg[2,0,1,1]=(-0.0538396976182)*x[1]
74054            arg[2,0,2,0]=(-0.449416473099)*x[0]
74055            arg[2,0,2,1]=(-0.857785267819)*x[1]
74056            arg[2,1,0,0]=(-0.167802578334)*x[0]
74057            arg[2,1,0,1]=(-0.7016101186)*x[1]
74058            arg[2,1,1,0]=(0.995848317929)*x[0]
74059            arg[2,1,1,1]=(-0.824595018011)*x[1]
74060            arg[2,1,2,0]=(-0.826030527686)*x[0]
74061            arg[2,1,2,1]=(-0.856151725651)*x[1]
74062            arg[2,2,0,0]=(0.342047605028)*x[0]
74063            arg[2,2,0,1]=(-0.342370307931)*x[1]
74064            arg[2,2,1,0]=(-0.540693890831)*x[0]
74065            arg[2,2,1,1]=(-0.720754897785)*x[1]
74066            arg[2,2,2,0]=(-0.0941215154824)*x[0]
74067            arg[2,2,2,1]=(0.115887914141)*x[1]
74068            arg[2,3,0,0]=(-0.0920059639279)*x[0]
74069            arg[2,3,0,1]=(0.910948619784)*x[1]
74070            arg[2,3,1,0]=(-0.40846609126)*x[0]
74071            arg[2,3,1,1]=(0.542728733954)*x[1]
74072            arg[2,3,2,0]=(0.451361830368)*x[0]
74073            arg[2,3,2,1]=(0.0767538617936)*x[1]
74074            arg[2,4,0,0]=(-0.431757008766)*x[0]
74075            arg[2,4,0,1]=(0.258988103513)*x[1]
74076            arg[2,4,1,0]=(-0.584559859464)*x[0]
74077            arg[2,4,1,1]=(-0.776827606804)*x[1]
74078            arg[2,4,2,0]=(-0.867078960637)*x[0]
74079            arg[2,4,2,1]=(-0.0972960135129)*x[1]
74080            arg[3,0,0,0]=(0.999511727022)*x[0]
74081            arg[3,0,0,1]=(-0.753218704622)*x[1]
74082            arg[3,0,1,0]=(0.506439354885)*x[0]
74083            arg[3,0,1,1]=(-0.0845853282297)*x[1]
74084            arg[3,0,2,0]=(-0.871475028801)*x[0]
74085            arg[3,0,2,1]=(-0.69261642657)*x[1]
74086            arg[3,1,0,0]=(0.549778399933)*x[0]
74087            arg[3,1,0,1]=(0.246187536149)*x[1]
74088            arg[3,1,1,0]=(-0.620454200676)*x[0]
74089            arg[3,1,1,1]=(0.372738564315)*x[1]
74090            arg[3,1,2,0]=(0.0544097075138)*x[0]
74091            arg[3,1,2,1]=(-0.0883198944676)*x[1]
74092            arg[3,2,0,0]=(-0.671057180545)*x[0]
74093            arg[3,2,0,1]=(-0.118991797907)*x[1]
74094            arg[3,2,1,0]=(-0.27196730081)*x[0]
74095            arg[3,2,1,1]=(-0.458807068968)*x[1]
74096            arg[3,2,2,0]=(-0.31485399083)*x[0]
74097            arg[3,2,2,1]=(0.487291960328)*x[1]
74098            arg[3,3,0,0]=(-0.750302723531)*x[0]
74099            arg[3,3,0,1]=(-0.486428789771)*x[1]
74100            arg[3,3,1,0]=(-0.295909324594)*x[0]
74101            arg[3,3,1,1]=(0.325702372596)*x[1]
74102            arg[3,3,2,0]=(-0.512109540631)*x[0]
74103            arg[3,3,2,1]=(0.563284721908)*x[1]
74104            arg[3,4,0,0]=(0.53579406798)*x[0]
74105            arg[3,4,0,1]=(-0.468431927975)*x[1]
74106            arg[3,4,1,0]=(0.570851401329)*x[0]
74107            arg[3,4,1,1]=(0.107791149865)*x[1]
74108            arg[3,4,2,0]=(-0.211543670157)*x[0]
74109            arg[3,4,2,1]=(0.848189550468)*x[1]
74110            ref=sqrt((6.54316712884)+(4.39564064326))
74111    
74112          else:
74113            arg=Data(0,(4, 5, 3, 3),w)
74114            arg[0,0,0,0]=(-0.392256494872)*x[0]
74115            arg[0,0,0,1]=(0.271488478841)*x[1]
74116            arg[0,0,0,2]=(-0.878268531987)*x[2]
74117            arg[0,0,1,0]=(0.106903787643)*x[0]
74118            arg[0,0,1,1]=(-0.117986434516)*x[1]
74119            arg[0,0,1,2]=(0.912673598522)*x[2]
74120            arg[0,0,2,0]=(-0.652598945824)*x[0]
74121            arg[0,0,2,1]=(-0.984195895647)*x[1]
74122            arg[0,0,2,2]=(-0.137845459589)*x[2]
74123            arg[0,1,0,0]=(0.696713200721)*x[0]
74124            arg[0,1,0,1]=(0.480337929223)*x[1]
74125            arg[0,1,0,2]=(-0.628726114325)*x[2]
74126            arg[0,1,1,0]=(-0.356503461347)*x[0]
74127            arg[0,1,1,1]=(-0.64670584045)*x[1]
74128            arg[0,1,1,2]=(-0.737787618908)*x[2]
74129            arg[0,1,2,0]=(-0.14207595302)*x[0]
74130            arg[0,1,2,1]=(-0.573485525334)*x[1]
74131            arg[0,1,2,2]=(-0.955542178481)*x[2]
74132            arg[0,2,0,0]=(0.371952883975)*x[0]
74133            arg[0,2,0,1]=(0.114016178762)*x[1]
74134            arg[0,2,0,2]=(0.552721218169)*x[2]
74135            arg[0,2,1,0]=(0.318426742113)*x[0]
74136            arg[0,2,1,1]=(0.862220239384)*x[1]
74137            arg[0,2,1,2]=(0.887376889978)*x[2]
74138            arg[0,2,2,0]=(0.203656742981)*x[0]
74139            arg[0,2,2,1]=(0.350541335144)*x[1]
74140            arg[0,2,2,2]=(-0.448401957447)*x[2]
74141            arg[0,3,0,0]=(-0.349200084042)*x[0]
74142            arg[0,3,0,1]=(-0.546012602125)*x[1]
74143            arg[0,3,0,2]=(-0.931488270979)*x[2]
74144            arg[0,3,1,0]=(0.207457831058)*x[0]
74145            arg[0,3,1,1]=(0.557715840549)*x[1]
74146            arg[0,3,1,2]=(-0.978130146744)*x[2]
74147            arg[0,3,2,0]=(-0.55088967957)*x[0]
74148            arg[0,3,2,1]=(0.0490328838057)*x[1]
74149            arg[0,3,2,2]=(0.150209929122)*x[2]
74150            arg[0,4,0,0]=(-0.484145614698)*x[0]
74151            arg[0,4,0,1]=(0.393078411279)*x[1]
74152            arg[0,4,0,2]=(0.0678631863917)*x[2]
74153            arg[0,4,1,0]=(-0.350980464628)*x[0]
74154            arg[0,4,1,1]=(-0.784203839564)*x[1]
74155            arg[0,4,1,2]=(0.636960296147)*x[2]
74156            arg[0,4,2,0]=(0.592799503581)*x[0]
74157            arg[0,4,2,1]=(-0.672104833683)*x[1]
74158            arg[0,4,2,2]=(0.0366914082467)*x[2]
74159            arg[1,0,0,0]=(-0.147168019774)*x[0]
74160            arg[1,0,0,1]=(-0.0823637938956)*x[1]
74161            arg[1,0,0,2]=(-0.852729690176)*x[2]
74162            arg[1,0,1,0]=(-0.612338430408)*x[0]
74163            arg[1,0,1,1]=(-0.85820035747)*x[1]
74164            arg[1,0,1,2]=(-0.463664966162)*x[2]
74165            arg[1,0,2,0]=(0.274600720491)*x[0]
74166            arg[1,0,2,1]=(-0.488508234093)*x[1]
74167            arg[1,0,2,2]=(-0.28251466519)*x[2]
74168            arg[1,1,0,0]=(-0.0196532462794)*x[0]
74169            arg[1,1,0,1]=(0.239352528871)*x[1]
74170            arg[1,1,0,2]=(-0.17054773873)*x[2]
74171            arg[1,1,1,0]=(-0.2396627789)*x[0]
74172            arg[1,1,1,1]=(0.868970323003)*x[1]
74173            arg[1,1,1,2]=(0.401487430312)*x[2]
74174            arg[1,1,2,0]=(-0.624411449783)*x[0]
74175            arg[1,1,2,1]=(0.0036634266684)*x[1]
74176            arg[1,1,2,2]=(0.736129120967)*x[2]
74177            arg[1,2,0,0]=(0.183756511707)*x[0]
74178            arg[1,2,0,1]=(-0.288651848639)*x[1]
74179            arg[1,2,0,2]=(-0.0672121537447)*x[2]
74180            arg[1,2,1,0]=(-0.323274725936)*x[0]
74181            arg[1,2,1,1]=(0.298001016025)*x[1]
74182            arg[1,2,1,2]=(-0.976052460675)*x[2]
74183            arg[1,2,2,0]=(0.596504441096)*x[0]
74184            arg[1,2,2,1]=(0.873776068983)*x[1]
74185            arg[1,2,2,2]=(-0.994068273196)*x[2]
74186            arg[1,3,0,0]=(-0.495387299681)*x[0]
74187            arg[1,3,0,1]=(-0.123674756551)*x[1]
74188            arg[1,3,0,2]=(0.581213818577)*x[2]
74189            arg[1,3,1,0]=(0.146405749701)*x[0]
74190            arg[1,3,1,1]=(-0.594994686675)*x[1]
74191            arg[1,3,1,2]=(-0.059093568436)*x[2]
74192            arg[1,3,2,0]=(0.651004255104)*x[0]
74193            arg[1,3,2,1]=(-0.977880706193)*x[1]
74194            arg[1,3,2,2]=(0.370344651319)*x[2]
74195            arg[1,4,0,0]=(-0.503657215247)*x[0]
74196            arg[1,4,0,1]=(-0.170885297253)*x[1]
74197            arg[1,4,0,2]=(0.533424480956)*x[2]
74198            arg[1,4,1,0]=(-0.220533193308)*x[0]
74199            arg[1,4,1,1]=(0.344537611882)*x[1]
74200            arg[1,4,1,2]=(0.861473877282)*x[2]
74201            arg[1,4,2,0]=(-0.0923010438884)*x[0]
74202            arg[1,4,2,1]=(-0.338256780498)*x[1]
74203            arg[1,4,2,2]=(0.528567959345)*x[2]
74204            arg[2,0,0,0]=(-0.0423053381485)*x[0]
74205            arg[2,0,0,1]=(0.856798579151)*x[1]
74206            arg[2,0,0,2]=(0.383258153853)*x[2]
74207            arg[2,0,1,0]=(0.350994872736)*x[0]
74208            arg[2,0,1,1]=(-0.78055158106)*x[1]
74209            arg[2,0,1,2]=(-0.770876699915)*x[2]
74210            arg[2,0,2,0]=(-0.935133287106)*x[0]
74211            arg[2,0,2,1]=(0.618238076989)*x[1]
74212            arg[2,0,2,2]=(-0.846783087949)*x[2]
74213            arg[2,1,0,0]=(-0.657394511405)*x[0]
74214            arg[2,1,0,1]=(0.576218821654)*x[1]
74215            arg[2,1,0,2]=(0.0269446356493)*x[2]
74216            arg[2,1,1,0]=(-0.310710230949)*x[0]
74217            arg[2,1,1,1]=(0.425412515598)*x[1]
74218            arg[2,1,1,2]=(-0.225225290862)*x[2]
74219            arg[2,1,2,0]=(-0.539928589495)*x[0]
74220            arg[2,1,2,1]=(-0.348082121765)*x[1]
74221            arg[2,1,2,2]=(-0.0287274646233)*x[2]
74222            arg[2,2,0,0]=(0.746132865923)*x[0]
74223            arg[2,2,0,1]=(-0.0234203693548)*x[1]
74224            arg[2,2,0,2]=(0.517411821941)*x[2]
74225            arg[2,2,1,0]=(-0.183204217349)*x[0]
74226            arg[2,2,1,1]=(0.714988861836)*x[1]
74227            arg[2,2,1,2]=(0.829083318937)*x[2]
74228            arg[2,2,2,0]=(0.458067555841)*x[0]
74229            arg[2,2,2,1]=(0.639317125869)*x[1]
74230            arg[2,2,2,2]=(0.104611520408)*x[2]
74231            arg[2,3,0,0]=(-0.420513461135)*x[0]
74232            arg[2,3,0,1]=(0.888686162754)*x[1]
74233            arg[2,3,0,2]=(0.939305777879)*x[2]
74234            arg[2,3,1,0]=(0.856795132015)*x[0]
74235            arg[2,3,1,1]=(0.817593141895)*x[1]
74236            arg[2,3,1,2]=(0.962503342535)*x[2]
74237            arg[2,3,2,0]=(-0.334586700245)*x[0]
74238            arg[2,3,2,1]=(0.182696129528)*x[1]
74239            arg[2,3,2,2]=(-0.707271571206)*x[2]
74240            arg[2,4,0,0]=(-0.594795981069)*x[0]
74241            arg[2,4,0,1]=(0.451239168073)*x[1]
74242            arg[2,4,0,2]=(0.191212211556)*x[2]
74243            arg[2,4,1,0]=(-0.503465984944)*x[0]
74244            arg[2,4,1,1]=(0.725377884208)*x[1]
74245            arg[2,4,1,2]=(-0.40719255752)*x[2]
74246            arg[2,4,2,0]=(0.268071476451)*x[0]
74247            arg[2,4,2,1]=(0.85066639942)*x[1]
74248            arg[2,4,2,2]=(-0.906021406945)*x[2]
74249            arg[3,0,0,0]=(-0.922179152122)*x[0]
74250            arg[3,0,0,1]=(-0.0903841240007)*x[1]
74251            arg[3,0,0,2]=(-0.751482803516)*x[2]
74252            arg[3,0,1,0]=(0.960697809119)*x[0]
74253            arg[3,0,1,1]=(0.638878873158)*x[1]
74254            arg[3,0,1,2]=(0.390932234724)*x[2]
74255            arg[3,0,2,0]=(-0.925078301694)*x[0]
74256            arg[3,0,2,1]=(0.793590580665)*x[1]
74257            arg[3,0,2,2]=(0.535478366911)*x[2]
74258            arg[3,1,0,0]=(-0.431951993217)*x[0]
74259            arg[3,1,0,1]=(0.211750261417)*x[1]
74260            arg[3,1,0,2]=(-0.930706580442)*x[2]
74261            arg[3,1,1,0]=(0.330979313323)*x[0]
74262            arg[3,1,1,1]=(-0.838919076081)*x[1]
74263            arg[3,1,1,2]=(0.134250050168)*x[2]
74264            arg[3,1,2,0]=(0.414922811301)*x[0]
74265            arg[3,1,2,1]=(-0.663692878121)*x[1]
74266            arg[3,1,2,2]=(0.88499278543)*x[2]
74267            arg[3,2,0,0]=(0.0884662742233)*x[0]
74268            arg[3,2,0,1]=(-0.412630722821)*x[1]
74269            arg[3,2,0,2]=(-0.730850884928)*x[2]
74270            arg[3,2,1,0]=(0.722207547366)*x[0]
74271            arg[3,2,1,1]=(-0.260067950749)*x[1]
74272            arg[3,2,1,2]=(0.426259201494)*x[2]
74273            arg[3,2,2,0]=(0.0516111795322)*x[0]
74274            arg[3,2,2,1]=(0.922853710048)*x[1]
74275            arg[3,2,2,2]=(-0.991912758116)*x[2]
74276            arg[3,3,0,0]=(0.263933965905)*x[0]
74277            arg[3,3,0,1]=(0.840541758799)*x[1]
74278            arg[3,3,0,2]=(0.417658511125)*x[2]
74279            arg[3,3,1,0]=(-0.901745614723)*x[0]
74280            arg[3,3,1,1]=(-0.623608908699)*x[1]
74281            arg[3,3,1,2]=(0.0522167208784)*x[2]
74282            arg[3,3,2,0]=(-0.549431264931)*x[0]
74283            arg[3,3,2,1]=(0.919971855457)*x[1]
74284            arg[3,3,2,2]=(0.142757773397)*x[2]
74285            arg[3,4,0,0]=(-0.258875259824)*x[0]
74286            arg[3,4,0,1]=(-0.0373872187041)*x[1]
74287            arg[3,4,0,2]=(0.445989164864)*x[2]
74288            arg[3,4,1,0]=(0.0273711397038)*x[0]
74289            arg[3,4,1,1]=(-0.85522629)*x[1]
74290            arg[3,4,1,2]=(-0.835392581226)*x[2]
74291            arg[3,4,2,0]=(0.402929450189)*x[0]
74292            arg[3,4,2,1]=(0.549623033221)*x[1]
74293            arg[3,4,2,2]=(0.237803212109)*x[2]
74294            ref=sqrt((15.1448100099)+(3.61598249819))
74295    
74296          res=L2(arg)
74297          self.failUnless(isinstance(res,float),"wrong type of result.")
74298          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
74299       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74300       def test_L2_onFunctionOnContactZero_fromSymbol_rank0(self):
74301          """
74302          tests L2-norm of Symbol on the FunctionOnContactZero
74303    
74304          assumptions: self.domain supports integration on FunctionOnContactZero
74305          """
74306          dim=self.domain.getDim()
74307          w=FunctionOnContactZero(self.domain)
74308          x=w.getX()
74309          if dim==2:
74310            arg=Symbol(shape=(),dim=dim)
74311            s=Data(0,(),w)
74312            s=(-0.833494674242)*x[0]
74313            ref=sqrt((0.0)+(0.173678342998))
74314    
74315          else:
74316            arg=Symbol(shape=(),dim=dim)
74317            s=Data(0,(),w)
74318            s=(-0.413475598947)*x[0]
74319            ref=sqrt((0.0)+(0.0427405177311))
74320    
74321          res=L2(arg)
74322          sub=res.substitute({arg:s})
74323          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
74324          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
74325          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
74326       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74327       def test_L2_onFunctionOnContactZero_fromSymbol_rank1(self):
74328          """
74329          tests L2-norm of Symbol on the FunctionOnContactZero
74330    
74331          assumptions: self.domain supports integration on FunctionOnContactZero
74332          """
74333          dim=self.domain.getDim()
74334          w=FunctionOnContactZero(self.domain)
74335          x=w.getX()
74336          if dim==2:
74337            arg=Symbol(shape=(2,),dim=dim)
74338            s=Data(0,(2,),w)
74339            s[0]=(-0.836300232979)*x[0]
74340            s[1]=(-0.855949069442)*x[1]
74341            ref=sqrt((0.244216269826)+(0.17484951992))
74342    
74343          else:
74344            arg=Symbol(shape=(3,),dim=dim)
74345            s=Data(0,(3,),w)
74346            s[0]=(0.604037678348)*x[0]
74347            s[1]=(0.173183346503)*x[1]
74348            s[2]=(0.0242607956405)*x[2]
74349            ref=sqrt((0.0101936859037)+(0.091215379216))
74350    
74351          res=L2(arg)
74352          sub=res.substitute({arg:s})
74353          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
74354          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
74355          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
74356       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74357       def test_L2_onFunctionOnContactZero_fromSymbol_rank2(self):
74358          """
74359          tests L2-norm of Symbol on the FunctionOnContactZero
74360    
74361          assumptions: self.domain supports integration on FunctionOnContactZero
74362          """
74363          dim=self.domain.getDim()
74364          w=FunctionOnContactZero(self.domain)
74365          x=w.getX()
74366          if dim==2:
74367            arg=Symbol(shape=(4, 2),dim=dim)
74368            s=Data(0,(4, 2),w)
74369            s[0,0]=(-0.482686145994)*x[0]
74370            s[0,1]=(-0.948811640283)*x[1]
74371            s[1,0]=(-0.992141136202)*x[0]
74372            s[1,1]=(0.966819328886)*x[1]
74373            s[2,0]=(0.948775134068)*x[0]
74374            s[2,1]=(-0.468349890651)*x[1]
74375            s[3,0]=(-0.671716588929)*x[0]
74376            s[3,1]=(-0.340484526166)*x[1]
74377            ref=sqrt((0.723421492026)+(0.642176845137))
74378    
74379          else:
74380            arg=Symbol(shape=(4, 3),dim=dim)
74381            s=Data(0,(4, 3),w)
74382            s[0,0]=(-0.891790655048)*x[0]
74383            s[0,1]=(-0.245798024334)*x[1]
74384            s[0,2]=(0.0537464591204)*x[2]
74385            s[1,0]=(0.230259637248)*x[0]
74386            s[1,1]=(0.0816863818806)*x[1]
74387            s[1,2]=(0.000519957155649)*x[2]
74388            s[2,0]=(0.0828558901056)*x[0]
74389            s[2,1]=(0.831425281201)*x[1]
74390            s[2,2]=(-0.601659198259)*x[2]
74391            s[3,0]=(-0.499606719218)*x[0]
74392            s[3,1]=(0.0962103643534)*x[1]
74393            s[3,2]=(0.997600764289)*x[2]
74394            ref=sqrt((0.709234598055)+(0.276195511347))
74395    
74396          res=L2(arg)
74397          sub=res.substitute({arg:s})
74398          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
74399          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
74400          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
74401       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74402       def test_L2_onFunctionOnContactZero_fromSymbol_rank3(self):
74403          """
74404          tests L2-norm of Symbol on the FunctionOnContactZero
74405    
74406          assumptions: self.domain supports integration on FunctionOnContactZero
74407          """
74408          dim=self.domain.getDim()
74409          w=FunctionOnContactZero(self.domain)
74410          x=w.getX()
74411          if dim==2:
74412            arg=Symbol(shape=(6, 2, 2),dim=dim)
74413            s=Data(0,(6, 2, 2),w)
74414            s[0,0,0]=(0.991681821415)*x[0]
74415            s[0,0,1]=(-0.224425650593)*x[1]
74416            s[0,1,0]=(-0.876361852829)*x[0]
74417            s[0,1,1]=(0.537837501136)*x[1]
74418            s[1,0,0]=(-0.54481895152)*x[0]
74419            s[1,0,1]=(0.593327791724)*x[1]
74420            s[1,1,0]=(0.418004915001)*x[0]
74421            s[1,1,1]=(-0.192957383127)*x[1]
74422            s[2,0,0]=(0.201546374554)*x[0]
74423            s[2,0,1]=(-0.265198464218)*x[1]
74424            s[2,1,0]=(-0.965663986948)*x[0]
74425            s[2,1,1]=(-0.323140398665)*x[1]
74426            s[3,0,0]=(0.233122332146)*x[0]
74427            s[3,0,1]=(-0.121823927196)*x[1]
74428            s[3,1,0]=(0.292287834978)*x[0]
74429            s[3,1,1]=(0.932977541215)*x[1]
74430            s[4,0,0]=(-0.345560503758)*x[0]
74431            s[4,0,1]=(0.192322796658)*x[1]
74432            s[4,1,0]=(0.0397082772329)*x[0]
74433            s[4,1,1]=(0.659346662851)*x[1]
74434            s[5,0,0]=(-0.195000663748)*x[0]
74435            s[5,0,1]=(-0.214222081491)*x[1]
74436            s[5,1,0]=(0.830046961039)*x[0]
74437            s[5,1,1]=(0.535960833948)*x[1]
74438            ref=sqrt((0.864605256793)+(1.04597420834))
74439    
74440          else:
74441            arg=Symbol(shape=(6, 2, 3),dim=dim)
74442            s=Data(0,(6, 2, 3),w)
74443            s[0,0,0]=(-0.660450094858)*x[0]
74444            s[0,0,1]=(-0.383241027824)*x[1]
74445            s[0,0,2]=(0.615453081929)*x[2]
74446            s[0,1,0]=(0.0679578237259)*x[0]
74447            s[0,1,1]=(0.801162277845)*x[1]
74448            s[0,1,2]=(0.741261458673)*x[2]
74449            s[1,0,0]=(0.0391969780398)*x[0]
74450            s[1,0,1]=(-0.400798945746)*x[1]
74451            s[1,0,2]=(-0.00301944444045)*x[2]
74452            s[1,1,0]=(-0.473988187262)*x[0]
74453            s[1,1,1]=(0.124770000361)*x[1]
74454            s[1,1,2]=(-0.65645884933)*x[2]
74455            s[2,0,0]=(-0.849984307849)*x[0]
74456            s[2,0,1]=(-0.992314728332)*x[1]
74457            s[2,0,2]=(-0.221196101266)*x[2]
74458            s[2,1,0]=(0.303587301796)*x[0]
74459            s[2,1,1]=(-0.276498999588)*x[1]
74460            s[2,1,2]=(0.341982161276)*x[2]
74461            s[3,0,0]=(-0.479181710128)*x[0]
74462            s[3,0,1]=(-0.799175074635)*x[1]
74463            s[3,0,2]=(-0.741790237186)*x[2]
74464            s[3,1,0]=(0.512279309628)*x[0]
74465            s[3,1,1]=(-0.346869946977)*x[1]
74466            s[3,1,2]=(-0.559402479335)*x[2]
74467            s[4,0,0]=(0.449912947237)*x[0]
74468            s[4,0,1]=(-0.0398661706497)*x[1]
74469            s[4,0,2]=(-0.856490275998)*x[2]
74470            s[4,1,0]=(-0.720500133511)*x[0]
74471            s[4,1,1]=(-0.97292914508)*x[1]
74472            s[4,1,2]=(-0.151959359468)*x[2]
74473            s[5,0,0]=(0.397527396462)*x[0]
74474            s[5,0,1]=(-0.151341467662)*x[1]
74475            s[5,0,2]=(-0.202710617619)*x[2]
74476            s[5,1,0]=(0.386974642401)*x[0]
74477            s[5,1,1]=(0.103900256892)*x[1]
74478            s[5,1,2]=(-0.152493955764)*x[2]
74479            ref=sqrt((2.3254122568)+(0.750754270358))
74480    
74481          res=L2(arg)
74482          sub=res.substitute({arg:s})
74483          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
74484          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
74485          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
74486       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74487       def test_L2_onFunctionOnContactZero_fromSymbol_rank4(self):
74488          """
74489          tests L2-norm of Symbol on the FunctionOnContactZero
74490    
74491          assumptions: self.domain supports integration on FunctionOnContactZero
74492          """
74493          dim=self.domain.getDim()
74494          w=FunctionOnContactZero(self.domain)
74495          x=w.getX()
74496          if dim==2:
74497            arg=Symbol(shape=(4, 5, 3, 2),dim=dim)
74498            s=Data(0,(4, 5, 3, 2),w)
74499            s[0,0,0,0]=(0.914300112399)*x[0]
74500            s[0,0,0,1]=(0.800216576034)*x[1]
74501            s[0,0,1,0]=(-0.396870583938)*x[0]
74502            s[0,0,1,1]=(0.867325478217)*x[1]
74503            s[0,0,2,0]=(-0.200425849404)*x[0]
74504            s[0,0,2,1]=(0.562512527677)*x[1]
74505            s[0,1,0,0]=(-0.26457813536)*x[0]
74506            s[0,1,0,1]=(-0.865366345944)*x[1]
74507            s[0,1,1,0]=(0.906255889925)*x[0]
74508            s[0,1,1,1]=(-0.144426923939)*x[1]
74509            s[0,1,2,0]=(-0.835643108487)*x[0]
74510            s[0,1,2,1]=(-0.644514669599)*x[1]
74511            s[0,2,0,0]=(0.516524292926)*x[0]
74512            s[0,2,0,1]=(0.825766812215)*x[1]
74513            s[0,2,1,0]=(-0.37867452414)*x[0]
74514            s[0,2,1,1]=(0.920377065217)*x[1]
74515            s[0,2,2,0]=(0.0937552904916)*x[0]
74516            s[0,2,2,1]=(0.378732372322)*x[1]
74517            s[0,3,0,0]=(0.496752465789)*x[0]
74518            s[0,3,0,1]=(0.427047604935)*x[1]
74519            s[0,3,1,0]=(0.750830919575)*x[0]
74520            s[0,3,1,1]=(0.576559278913)*x[1]
74521            s[0,3,2,0]=(-0.115508523662)*x[0]
74522            s[0,3,2,1]=(0.737623150949)*x[1]
74523            s[0,4,0,0]=(0.440274015173)*x[0]
74524            s[0,4,0,1]=(-0.450295347264)*x[1]
74525            s[0,4,1,0]=(0.170660831663)*x[0]
74526            s[0,4,1,1]=(-0.00668299893696)*x[1]
74527            s[0,4,2,0]=(0.443915340807)*x[0]
74528            s[0,4,2,1]=(-0.096469220433)*x[1]
74529            s[1,0,0,0]=(0.124319331592)*x[0]
74530            s[1,0,0,1]=(0.0209567989245)*x[1]
74531            s[1,0,1,0]=(-0.120682670913)*x[0]
74532            s[1,0,1,1]=(-0.0668286988997)*x[1]
74533            s[1,0,2,0]=(-0.622418696038)*x[0]
74534            s[1,0,2,1]=(0.690522460229)*x[1]
74535            s[1,1,0,0]=(-0.564034328652)*x[0]
74536            s[1,1,0,1]=(-0.488373582152)*x[1]
74537            s[1,1,1,0]=(0.37807858594)*x[0]
74538            s[1,1,1,1]=(0.607009462361)*x[1]
74539            s[1,1,2,0]=(0.357544289055)*x[0]
74540            s[1,1,2,1]=(0.89416048362)*x[1]
74541            s[1,2,0,0]=(0.180403414369)*x[0]
74542            s[1,2,0,1]=(-0.590910014416)*x[1]
74543            s[1,2,1,0]=(-0.0184755955417)*x[0]
74544            s[1,2,1,1]=(0.84738705179)*x[1]
74545            s[1,2,2,0]=(-0.677245742487)*x[0]
74546            s[1,2,2,1]=(-0.457219426905)*x[1]
74547            s[1,3,0,0]=(-0.454834820082)*x[0]
74548            s[1,3,0,1]=(-0.725915297395)*x[1]
74549            s[1,3,1,0]=(0.184608835513)*x[0]
74550            s[1,3,1,1]=(0.313259821447)*x[1]
74551            s[1,3,2,0]=(-0.252818794924)*x[0]
74552            s[1,3,2,1]=(-0.654170873581)*x[1]
74553            s[1,4,0,0]=(-0.315092745211)*x[0]
74554            s[1,4,0,1]=(-0.922091825394)*x[1]
74555            s[1,4,1,0]=(-0.386863810397)*x[0]
74556            s[1,4,1,1]=(0.430983629642)*x[1]
74557            s[1,4,2,0]=(-0.762809887523)*x[0]
74558            s[1,4,2,1]=(0.58896325465)*x[1]
74559            s[2,0,0,0]=(-0.456340727871)*x[0]
74560            s[2,0,0,1]=(-0.0187981167144)*x[1]
74561            s[2,0,1,0]=(-0.525249731866)*x[0]
74562            s[2,0,1,1]=(0.399070164526)*x[1]
74563            s[2,0,2,0]=(-0.201772101073)*x[0]
74564            s[2,0,2,1]=(-0.0968197655895)*x[1]
74565            s[2,1,0,0]=(0.191048791069)*x[0]
74566            s[2,1,0,1]=(0.434067010545)*x[1]
74567            s[2,1,1,0]=(0.848522099444)*x[0]
74568            s[2,1,1,1]=(0.696991804739)*x[1]
74569            s[2,1,2,0]=(0.220121221699)*x[0]
74570            s[2,1,2,1]=(0.301203065888)*x[1]
74571            s[2,2,0,0]=(0.766472384148)*x[0]
74572            s[2,2,0,1]=(-0.0714402172399)*x[1]
74573            s[2,2,1,0]=(0.492328493075)*x[0]
74574            s[2,2,1,1]=(0.558080277043)*x[1]
74575            s[2,2,2,0]=(0.469934590015)*x[0]
74576            s[2,2,2,1]=(0.758048072142)*x[1]
74577            s[2,3,0,0]=(0.085308155098)*x[0]
74578            s[2,3,0,1]=(0.297189197296)*x[1]
74579            s[2,3,1,0]=(0.978282022769)*x[0]
74580            s[2,3,1,1]=(0.682153031605)*x[1]
74581            s[2,3,2,0]=(-0.561125939181)*x[0]
74582            s[2,3,2,1]=(0.440224855986)*x[1]
74583            s[2,4,0,0]=(0.72050530483)*x[0]
74584            s[2,4,0,1]=(-0.206652409514)*x[1]
74585            s[2,4,1,0]=(0.387667449577)*x[0]
74586            s[2,4,1,1]=(0.493459617619)*x[1]
74587            s[2,4,2,0]=(0.688054409914)*x[0]
74588            s[2,4,2,1]=(0.971336356338)*x[1]
74589            s[3,0,0,0]=(0.861462391015)*x[0]
74590            s[3,0,0,1]=(0.0554843601356)*x[1]
74591            s[3,0,1,0]=(0.83937959439)*x[0]
74592            s[3,0,1,1]=(0.954697475987)*x[1]
74593            s[3,0,2,0]=(-0.997867671237)*x[0]
74594            s[3,0,2,1]=(-0.218317664783)*x[1]
74595            s[3,1,0,0]=(-0.262679977079)*x[0]
74596            s[3,1,0,1]=(0.0145063905029)*x[1]
74597            s[3,1,1,0]=(0.130108953527)*x[0]
74598            s[3,1,1,1]=(0.9110336683)*x[1]
74599            s[3,1,2,0]=(0.278623938991)*x[0]
74600            s[3,1,2,1]=(-0.374239642631)*x[1]
74601            s[3,2,0,0]=(0.720411588365)*x[0]
74602            s[3,2,0,1]=(0.794261999505)*x[1]
74603            s[3,2,1,0]=(0.098798147685)*x[0]
74604            s[3,2,1,1]=(-0.338610161254)*x[1]
74605            s[3,2,2,0]=(0.961927950853)*x[0]
74606            s[3,2,2,1]=(-0.307621697905)*x[1]
74607            s[3,3,0,0]=(-0.73836606888)*x[0]
74608            s[3,3,0,1]=(0.714826978574)*x[1]
74609            s[3,3,1,0]=(-0.394351029155)*x[0]
74610            s[3,3,1,1]=(0.408664173503)*x[1]
74611            s[3,3,2,0]=(0.844614972483)*x[0]
74612            s[3,3,2,1]=(-0.478702935986)*x[1]
74613            s[3,4,0,0]=(0.0447493337692)*x[0]
74614            s[3,4,0,1]=(0.317235470904)*x[1]
74615            s[3,4,1,0]=(-0.960879888735)*x[0]
74616            s[3,4,1,1]=(-0.349654948749)*x[1]
74617            s[3,4,2,0]=(0.15351062359)*x[0]
74618            s[3,4,2,1]=(-0.30302268499)*x[1]
74619            ref=sqrt((6.41155668825)+(4.53628477602))
74620    
74621          else:
74622            arg=Symbol(shape=(4, 5, 3, 3),dim=dim)
74623            s=Data(0,(4, 5, 3, 3),w)
74624            s[0,0,0,0]=(-0.89168364071)*x[0]
74625            s[0,0,0,1]=(0.656887229548)*x[1]
74626            s[0,0,0,2]=(0.0379592114434)*x[2]
74627            s[0,0,1,0]=(-0.499743077643)*x[0]
74628            s[0,0,1,1]=(0.433796934727)*x[1]
74629            s[0,0,1,2]=(-0.419639340675)*x[2]
74630            s[0,0,2,0]=(-0.229849090155)*x[0]
74631            s[0,0,2,1]=(0.48808994712)*x[1]
74632            s[0,0,2,2]=(0.424012703453)*x[2]
74633            s[0,1,0,0]=(0.498682171432)*x[0]
74634            s[0,1,0,1]=(0.623180282688)*x[1]
74635            s[0,1,0,2]=(0.467278343783)*x[2]
74636            s[0,1,1,0]=(-0.461240789999)*x[0]
74637            s[0,1,1,1]=(0.79579036671)*x[1]
74638            s[0,1,1,2]=(0.0336609748509)*x[2]
74639            s[0,1,2,0]=(-0.758182366212)*x[0]
74640            s[0,1,2,1]=(0.335354770639)*x[1]
74641            s[0,1,2,2]=(-0.43256653064)*x[2]
74642            s[0,2,0,0]=(0.267085562446)*x[0]
74643            s[0,2,0,1]=(0.74096852219)*x[1]
74644            s[0,2,0,2]=(0.884306535005)*x[2]
74645            s[0,2,1,0]=(0.839435822303)*x[0]
74646            s[0,2,1,1]=(0.981598566715)*x[1]
74647            s[0,2,1,2]=(0.178444224041)*x[2]
74648            s[0,2,2,0]=(0.28828503848)*x[0]
74649            s[0,2,2,1]=(-0.626210031155)*x[1]
74650            s[0,2,2,2]=(-0.69299554971)*x[2]
74651            s[0,3,0,0]=(-0.0218942570636)*x[0]
74652            s[0,3,0,1]=(0.542278046952)*x[1]
74653            s[0,3,0,2]=(0.953044269075)*x[2]
74654            s[0,3,1,0]=(-0.557505895397)*x[0]
74655            s[0,3,1,1]=(0.523921264225)*x[1]
74656            s[0,3,1,2]=(-0.786147057715)*x[2]
74657            s[0,3,2,0]=(-0.89329999988)*x[0]
74658            s[0,3,2,1]=(0.462215391096)*x[1]
74659            s[0,3,2,2]=(-0.374927543026)*x[2]
74660            s[0,4,0,0]=(-0.247805259481)*x[0]
74661            s[0,4,0,1]=(0.645841666564)*x[1]
74662            s[0,4,0,2]=(0.16650874055)*x[2]
74663            s[0,4,1,0]=(0.266137626404)*x[0]
74664            s[0,4,1,1]=(-0.288059047514)*x[1]
74665            s[0,4,1,2]=(-0.486812056856)*x[2]
74666            s[0,4,2,0]=(0.688344153316)*x[0]
74667            s[0,4,2,1]=(-0.655455791821)*x[1]
74668            s[0,4,2,2]=(-0.348241680636)*x[2]
74669            s[1,0,0,0]=(0.762345221451)*x[0]
74670            s[1,0,0,1]=(0.264502883884)*x[1]
74671            s[1,0,0,2]=(0.48788907144)*x[2]
74672            s[1,0,1,0]=(0.42005226242)*x[0]
74673            s[1,0,1,1]=(-0.825723492918)*x[1]
74674            s[1,0,1,2]=(0.797321195042)*x[2]
74675            s[1,0,2,0]=(-0.19639010863)*x[0]
74676            s[1,0,2,1]=(-0.702950524388)*x[1]
74677            s[1,0,2,2]=(0.235603192829)*x[2]
74678            s[1,1,0,0]=(-0.454504750183)*x[0]
74679            s[1,1,0,1]=(0.31590384254)*x[1]
74680            s[1,1,0,2]=(-0.19227935466)*x[2]
74681            s[1,1,1,0]=(0.0070439759207)*x[0]
74682            s[1,1,1,1]=(-0.293083678876)*x[1]
74683            s[1,1,1,2]=(-0.878745990375)*x[2]
74684            s[1,1,2,0]=(-0.192794025412)*x[0]
74685            s[1,1,2,1]=(0.648895386958)*x[1]
74686            s[1,1,2,2]=(0.775208361981)*x[2]
74687            s[1,2,0,0]=(-0.368309400642)*x[0]
74688            s[1,2,0,1]=(-0.917724017536)*x[1]
74689            s[1,2,0,2]=(0.920777364818)*x[2]
74690            s[1,2,1,0]=(-0.645052443283)*x[0]
74691            s[1,2,1,1]=(0.139033194163)*x[1]
74692            s[1,2,1,2]=(-0.0404331243874)*x[2]
74693            s[1,2,2,0]=(-0.61245787618)*x[0]
74694            s[1,2,2,1]=(0.0482137893562)*x[1]
74695            s[1,2,2,2]=(0.179049768973)*x[2]
74696            s[1,3,0,0]=(-0.896233852085)*x[0]
74697            s[1,3,0,1]=(-0.681461465854)*x[1]
74698            s[1,3,0,2]=(-0.446646723524)*x[2]
74699            s[1,3,1,0]=(-0.555003216598)*x[0]
74700            s[1,3,1,1]=(0.35239325809)*x[1]
74701            s[1,3,1,2]=(0.39507338896)*x[2]
74702            s[1,3,2,0]=(-0.13811362276)*x[0]
74703            s[1,3,2,1]=(-0.374436915851)*x[1]
74704            s[1,3,2,2]=(0.0513289236564)*x[2]
74705            s[1,4,0,0]=(-0.687683310284)*x[0]
74706            s[1,4,0,1]=(0.572359319345)*x[1]
74707            s[1,4,0,2]=(-0.814515142116)*x[2]
74708            s[1,4,1,0]=(-0.565292086642)*x[0]
74709            s[1,4,1,1]=(-0.191646702103)*x[1]
74710            s[1,4,1,2]=(-0.292049727092)*x[2]
74711            s[1,4,2,0]=(0.452055314722)*x[0]
74712            s[1,4,2,1]=(-0.457431088076)*x[1]
74713            s[1,4,2,2]=(-0.178361949498)*x[2]
74714            s[2,0,0,0]=(0.354814016099)*x[0]
74715            s[2,0,0,1]=(-0.384609805819)*x[1]
74716            s[2,0,0,2]=(-0.281337028672)*x[2]
74717            s[2,0,1,0]=(0.142919596773)*x[0]
74718            s[2,0,1,1]=(-0.57612422002)*x[1]
74719            s[2,0,1,2]=(-0.529853258262)*x[2]
74720            s[2,0,2,0]=(0.80636898712)*x[0]
74721            s[2,0,2,1]=(0.106993663032)*x[1]
74722            s[2,0,2,2]=(0.255600789365)*x[2]
74723            s[2,1,0,0]=(0.978145357315)*x[0]
74724            s[2,1,0,1]=(-0.901086815575)*x[1]
74725            s[2,1,0,2]=(0.648553017338)*x[2]
74726            s[2,1,1,0]=(-0.283065724087)*x[0]
74727            s[2,1,1,1]=(-0.0976255838643)*x[1]
74728            s[2,1,1,2]=(-0.518416419376)*x[2]
74729            s[2,1,2,0]=(0.572224523241)*x[0]
74730            s[2,1,2,1]=(0.676830468876)*x[1]
74731            s[2,1,2,2]=(0.347547333574)*x[2]
74732            s[2,2,0,0]=(-0.890366473527)*x[0]
74733            s[2,2,0,1]=(-0.202566992837)*x[1]
74734            s[2,2,0,2]=(-0.00994077956762)*x[2]
74735            s[2,2,1,0]=(-0.312288044658)*x[0]
74736            s[2,2,1,1]=(0.215695301526)*x[1]
74737            s[2,2,1,2]=(0.134196622741)*x[2]
74738            s[2,2,2,0]=(-0.564325028454)*x[0]
74739            s[2,2,2,1]=(-0.707031226029)*x[1]
74740            s[2,2,2,2]=(-0.793190569275)*x[2]
74741            s[2,3,0,0]=(0.28006826199)*x[0]
74742            s[2,3,0,1]=(0.743445147616)*x[1]
74743            s[2,3,0,2]=(0.57457392009)*x[2]
74744            s[2,3,1,0]=(-0.353169838541)*x[0]
74745            s[2,3,1,1]=(-0.353550104906)*x[1]
74746            s[2,3,1,2]=(0.26061713616)*x[2]
74747            s[2,3,2,0]=(0.360387490548)*x[0]
74748            s[2,3,2,1]=(0.532836358847)*x[1]
74749            s[2,3,2,2]=(0.517337142155)*x[2]
74750            s[2,4,0,0]=(0.969178027599)*x[0]
74751            s[2,4,0,1]=(-0.0671877983392)*x[1]
74752            s[2,4,0,2]=(0.692408837657)*x[2]
74753            s[2,4,1,0]=(0.988861077126)*x[0]
74754            s[2,4,1,1]=(0.987792613173)*x[1]
74755            s[2,4,1,2]=(-0.147075972258)*x[2]
74756            s[2,4,2,0]=(-0.440780900369)*x[0]
74757            s[2,4,2,1]=(0.390407807605)*x[1]
74758            s[2,4,2,2]=(-0.893694860437)*x[2]
74759            s[3,0,0,0]=(0.699550432817)*x[0]
74760            s[3,0,0,1]=(-0.787672358838)*x[1]
74761            s[3,0,0,2]=(-0.583257623239)*x[2]
74762            s[3,0,1,0]=(-0.157588638816)*x[0]
74763            s[3,0,1,1]=(-0.986238064621)*x[1]
74764            s[3,0,1,2]=(0.699443634206)*x[2]
74765            s[3,0,2,0]=(-0.222407346878)*x[0]
74766            s[3,0,2,1]=(-0.308189430231)*x[1]
74767            s[3,0,2,2]=(0.299965297762)*x[2]
74768            s[3,1,0,0]=(-0.412975772409)*x[0]
74769            s[3,1,0,1]=(0.717170353427)*x[1]
74770            s[3,1,0,2]=(0.555847828902)*x[2]
74771            s[3,1,1,0]=(0.301148971297)*x[0]
74772            s[3,1,1,1]=(0.556400276399)*x[1]
74773            s[3,1,1,2]=(0.473027697568)*x[2]
74774            s[3,1,2,0]=(-0.701958828234)*x[0]
74775            s[3,1,2,1]=(-0.965435432938)*x[1]
74776            s[3,1,2,2]=(0.226965032076)*x[2]
74777            s[3,2,0,0]=(0.548493161421)*x[0]
74778            s[3,2,0,1]=(-0.422082327803)*x[1]
74779            s[3,2,0,2]=(-0.64432755028)*x[2]
74780            s[3,2,1,0]=(-0.821784569582)*x[0]
74781            s[3,2,1,1]=(0.567506242312)*x[1]
74782            s[3,2,1,2]=(0.58945700083)*x[2]
74783            s[3,2,2,0]=(-0.31431442897)*x[0]
74784            s[3,2,2,1]=(-0.727570436185)*x[1]
74785            s[3,2,2,2]=(-0.234428528039)*x[2]
74786            s[3,3,0,0]=(-0.184478413951)*x[0]
74787            s[3,3,0,1]=(0.54667291001)*x[1]
74788            s[3,3,0,2]=(0.266086928294)*x[2]
74789            s[3,3,1,0]=(0.0279847154277)*x[0]
74790            s[3,3,1,1]=(-0.0851677217034)*x[1]
74791            s[3,3,1,2]=(-0.679725199609)*x[2]
74792            s[3,3,2,0]=(0.570361871278)*x[0]
74793            s[3,3,2,1]=(0.913879855699)*x[1]
74794            s[3,3,2,2]=(-0.036149215115)*x[2]
74795            s[3,4,0,0]=(0.430041266053)*x[0]
74796            s[3,4,0,1]=(-0.468708383807)*x[1]
74797            s[3,4,0,2]=(0.430318326847)*x[2]
74798            s[3,4,1,0]=(0.808876543295)*x[0]
74799            s[3,4,1,1]=(0.175574603952)*x[1]
74800            s[3,4,1,2]=(-0.982042631943)*x[2]
74801            s[3,4,2,0]=(0.730923035545)*x[0]
74802            s[3,4,2,1]=(0.65499693359)*x[1]
74803            s[3,4,2,2]=(0.678161392893)*x[2]
74804            ref=sqrt((12.3860143155)+(4.68566966204))
74805    
74806          res=L2(arg)
74807          sub=res.substitute({arg:s})
74808          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
74809          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
74810          self.failUnlessAlmostEqual(sub,ref,int(-log10(self.RES_TOL)),"wrong result")
74811       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74812       def test_L2_onFunctionOnContactOne_fromData_rank0(self):
74813          """
74814          tests L2-norm of Data on the FunctionOnContactOne
74815    
74816          assumptions: self.domain supports integration on FunctionOnContactOne
74817          """
74818          dim=self.domain.getDim()
74819          w=FunctionOnContactOne(self.domain)
74820          x=w.getX()
74821          if dim==2:
74822            arg=Data(0,(),w)
74823            arg=(0.39039157828)*x[0]
74824            ref=sqrt((0.0)+(0.038101396098))
74825    
74826          else:
74827            arg=Data(0,(),w)
74828            arg=(0.893204658234)*x[0]
74829            ref=sqrt((0.0)+(0.199453640373))
74830    
74831          res=L2(arg)
74832          self.failUnless(isinstance(res,float),"wrong type of result.")
74833          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
74834       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74835       def test_L2_onFunctionOnContactOne_fromData_rank1(self):
74836          """
74837          tests L2-norm of Data on the FunctionOnContactOne
74838    
74839          assumptions: self.domain supports integration on FunctionOnContactOne
74840          """
74841          dim=self.domain.getDim()
74842          w=FunctionOnContactOne(self.domain)
74843          x=w.getX()
74844          if dim==2:
74845            arg=Data(0,(2,),w)
74846            arg[0]=(0.697576620054)*x[0]
74847            arg[1]=(-0.302037273777)*x[1]
74848            ref=sqrt((0.0304088382502)+(0.121653285212))
74849    
74850          else:
74851            arg=Data(0,(3,),w)
74852            arg[0]=(0.649308272675)*x[0]
74853            arg[1]=(-0.408829699836)*x[1]
74854            arg[2]=(-0.984892977949)*x[2]
74855            ref=sqrt((0.37905196716)+(0.105400308241))
74856    
74857          res=L2(arg)
74858          self.failUnless(isinstance(res,float),"wrong type of result.")
74859          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
74860       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74861       def test_L2_onFunctionOnContactOne_fromData_rank2(self):
74862          """
74863          tests L2-norm of Data on the FunctionOnContactOne
74864    
74865          assumptions: self.domain supports integration on FunctionOnContactOne
74866          """
74867          dim=self.domain.getDim()
74868          w=FunctionOnContactOne(self.domain)
74869          x=w.getX()
74870          if dim==2:
74871            arg=Data(0,(4, 2),w)
74872            arg[0,0]=(0.504133645896)*x[0]
74873            arg[0,1]=(0.728228500775)*x[1]
74874            arg[1,0]=(0.968237164633)*x[0]
74875            arg[1,1]=(-0.205351628957)*x[1]
74876            arg[2,0]=(-0.154008228702)*x[0]
74877            arg[2,1]=(-0.972088404566)*x[1]
74878            arg[3,0]=(0.585153521593)*x[0]
74879            arg[3,1]=(0.371861820001)*x[1]
74880            ref=sqrt((0.551907706774)+(0.389439279561))
74881    
74882          else:
74883            arg=Data(0,(4, 3),w)
74884            arg[0,0]=(-0.4847970605)*x[0]
74885            arg[0,1]=(-0.664433021479)*x[1]
74886            arg[0,2]=(-0.93730914676)*x[2]
74887            arg[1,0]=(0.712624065023)*x[0]
74888            arg[1,1]=(0.105431976424)*x[1]
74889            arg[1,2]=(-0.452636806104)*x[2]
74890            arg[2,0]=(0.488406064176)*x[0]
74891            arg[2,1]=(0.0594879976584)*x[1]
74892            arg[2,2]=(0.596963883202)*x[2]
74893            arg[3,0]=(0.619366395328)*x[0]
74894            arg[3,1]=(0.719965901041)*x[1]
74895            arg[3,2]=(-0.568971277169)*x[2]
74896            ref=sqrt((0.912666523048)+(0.341254115776))
74897    
74898          res=L2(arg)
74899          self.failUnless(isinstance(res,float),"wrong type of result.")
74900          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
74901       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74902       def test_L2_onFunctionOnContactOne_fromData_rank3(self):
74903          """
74904          tests L2-norm of Data on the FunctionOnContactOne
74905    
74906          assumptions: self.domain supports integration on FunctionOnContactOne
74907          """
74908          dim=self.domain.getDim()
74909          w=FunctionOnContactOne(self.domain)
74910          x=w.getX()
74911          if dim==2:
74912            arg=Data(0,(6, 2, 2),w)
74913            arg[0,0,0]=(-0.481233278183)*x[0]
74914            arg[0,0,1]=(-0.883447576048)*x[1]
74915            arg[0,1,0]=(0.525938652633)*x[0]
74916            arg[0,1,1]=(-0.694971850651)*x[1]
74917            arg[1,0,0]=(-0.935880633291)*x[0]
74918            arg[1,0,1]=(0.970445286468)*x[1]
74919            arg[1,1,0]=(-0.302571977945)*x[0]
74920            arg[1,1,1]=(-0.237750319821)*x[1]
74921            arg[2,0,0]=(0.922940652883)*x[0]
74922            arg[2,0,1]=(-0.624756614078)*x[1]
74923            arg[2,1,0]=(-0.146839388764)*x[0]
74924            arg[2,1,1]=(-0.995551211092)*x[1]
74925            arg[3,0,0]=(0.719184541649)*x[0]
74926            arg[3,0,1]=(-0.629461063375)*x[1]
74927            arg[3,1,0]=(-0.925581215276)*x[0]
74928            arg[3,1,1]=(-0.564418658495)*x[1]
74929            arg[4,0,0]=(-0.724035884026)*x[0]
74930            arg[4,0,1]=(0.78393984221)*x[1]
74931            arg[4,1,0]=(-0.722375249317)*x[0]
74932            arg[4,1,1]=(0.27571990944)*x[1]
74933            arg[5,0,0]=(-0.197579392553)*x[0]
74934            arg[5,0,1]=(0.341717398275)*x[1]
74935            arg[5,1,0]=(0.926327822859)*x[0]
74936            arg[5,1,1]=(0.44114488285)*x[1]
74937            ref=sqrt((1.78665006238)+(1.41652558894))
74938    
74939          else:
74940            arg=Data(0,(6, 2, 3),w)
74941            arg[0,0,0]=(-0.348448140437)*x[0]
74942            arg[0,0,1]=(-0.530793589782)*x[1]
74943            arg[0,0,2]=(0.386511493376)*x[2]
74944            arg[0,1,0]=(0.00776536299593)*x[0]
74945            arg[0,1,1]=(-0.0696129074064)*x[1]
74946            arg[0,1,2]=(0.114179504216)*x[2]
74947            arg[1,0,0]=(-0.681009917406)*x[0]
74948            arg[1,0,1]=(0.763595403719)*x[1]
74949            arg[1,0,2]=(-0.54459342544)*x[2]
74950            arg[1,1,0]=(0.0839255723157)*x[0]
74951            arg[1,1,1]=(0.269389515003)*x[1]
74952            arg[1,1,2]=(0.612446509453)*x[2]
74953            arg[2,0,0]=(0.600070579238)*x[0]
74954            arg[2,0,1]=(-0.49585867531)*x[1]
74955            arg[2,0,2]=(-0.766857395141)*x[2]
74956            arg[2,1,0]=(-0.84515816441)*x[0]
74957            arg[2,1,1]=(-0.594337789049)*x[1]
74958            arg[2,1,2]=(0.774596009811)*x[2]
74959            arg[3,0,0]=(-0.833982234688)*x[0]
74960            arg[3,0,1]=(0.747667281218)*x[1]
74961            arg[3,0,2]=(-0.77025764051)*x[2]
74962            arg[3,1,0]=(0.0367023286497)*x[0]
74963            arg[3,1,1]=(-0.503080137993)*x[1]
74964            arg[3,1,2]=(-0.129478323797)*x[2]
74965            arg[4,0,0]=(0.304123530695)*x[0]
74966            arg[4,0,1]=(-0.873023368289)*x[1]
74967            arg[4,0,2]=(-0.712740806672)*x[2]
74968            arg[4,1,0]=(-0.0629132979843)*x[0]
74969            arg[4,1,1]=(0.096843438525)*x[1]
74970            arg[4,1,2]=(-0.608716559621)*x[2]
74971            arg[5,0,0]=(-0.642902822517)*x[0]
74972            arg[5,0,1]=(0.478134785533)*x[1]
74973            arg[5,0,2]=(0.757891512092)*x[2]
74974            arg[5,1,0]=(-0.144492755065)*x[0]
74975            arg[5,1,1]=(0.286775195938)*x[1]
74976            arg[5,1,2]=(-0.063580488638)*x[2]
74977            ref=sqrt((2.50835195543)+(0.723549067206))
74978    
74979          res=L2(arg)
74980          self.failUnless(isinstance(res,float),"wrong type of result.")
74981          self.failUnlessAlmostEqual(res,ref,int(-log10(self.RES_TOL)),"wrong result")
74982       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
74983       def test_L2_onFunctionOnContactOne_fromData_rank4(self):
74984          """
74985          tests L2-norm of Data on the FunctionOnContactOne
74986    
74987          assumptions: self.domain supports integration on FunctionOnContactOne
74988          """
74989          dim=self.domain.getDim()
74990          w=FunctionOnContactOne(self.domain)
74991          x=w.getX()
74992          if dim==2:
74993            arg=Data(0,(4, 5, 3, 2),w)
74994            arg[0,0,0,0]=(0.523372259748)*x[0]
74995            arg[0,0,0,1]=(-0.732795389957)*x[1]
74996            arg[0,0,1,0]=(0.0571737128606)*x[0]
74997            arg[0,0,1,1]=(-0.627260438721)*x[1]
74998            arg[0,0,2,0]=(-0.945159375045)*x[0]
74999            arg[0,0,2,1]=(-0.145103328237)*x[1]
75000            arg[0,1,0,0]=(-0.0586985419455)*x[0]
75001            arg[0,1,0,1]=(-0.788101334389)*x[1]
75002            arg[0,1,1,0]=(0.615023802803)*x[0]
75003            arg[0,1,1,1]=(0.965381283357)*x[1]
75004            arg[0,1,2,0]=(0.173979432067)*x[0]
75005            arg[0,1,2,1]=(-0.980483156424)*x[1]
75006            arg[0,2,0,0]=(-0.345940909471)*x[0]
75007            arg[0,2,0,1]=(0.00162430279595)*x[1]
75008            arg[0,2,1,0]=(-0.0847413350082)*x[0]
75009            arg[0,2,1,1]=(-0.911248036753)*x[1]
75010            arg[0,2,2,0]=(-0.817295589942)*x[0]
75011            arg[0,2,2,1]=(-0.0514569401185)*x[1]
75012            arg[0,3,0,0]=(0.329704440159)*x[0]
75013            arg[0,3,0,1]=(0.580379057442)*x[1]
75014            arg[0,3,1,0]=(0.737014729605)*x[0]
75015            arg[0,3,1,1]=(0.535521740242)*x[1]
75016            arg[0,3,2,0]=(-0.943554721405)*x[0]
75017            arg[0,3,2,1]=(0.798294295959)*x[1]
75018            arg[0,4,0,0]=(-0.1814410847)*x[0]
75019            arg[0,4,0,1]=(0.968476629577)*x[1]
75020            arg[0,4,1,0]=(0.26595250332)*x[0]
75021            arg[0,4,1,1]=(-0.493516007909)*x[1]
75022            arg[0,4,2,0]=(0.374323739856)*x[0]
75023            arg[0,4,2,1]=(-0.914413601829)*x[1]
75024            arg[1,0,0,0]=(-0.701090812201)*x[0]
75025            arg[1,0,0,1]=(-0.403596866322)*x[1]
75026            arg[1,0,1,0]=(0.587183778075)*x[0]
75027            arg[1,0,1,1]=(-0.218129059558)*x[1]
75028            arg[1,0,2,0]=(-0.0205642762349)*x[0]
75029            arg[1,0,2,1]=(0.441382235525)*x[1]
75030            arg[1,1,0,0]=(0.909683859519)*x[0]
75031            arg[1,1,0,1]=(0.960088832754)*x[1]
75032            arg[1,1,1,0]=(0.0450355911985)*x[0]
75033            arg[1,1,1,1]=(0.366849576658)*x[1]
75034            arg[1,1,2,0]=(0.315490164497)*x[0]
75035            arg[1,1,2,1]=(0.533746946808)*x[1]
75036            arg[1,2,0,0]=(-0.552919155957)*x[0]
75037            arg[1,2,0,1]=(-0.647373009727)*x[1]
75038            arg[1,2,1,0]=(0.32617079311)*x[0]
75039            arg[1,2,1,1]=(-0.3424263412)*x[1]
75040            arg[1,2,2,0]=(0.848733118893)*x[0]
75041            arg[1,2,2,1]=(-0.65341712364)*x[1]
75042            arg[1,3,0,0]=(-0.698538235208)*x[0]
75043            arg[1,3,0,1]=(-0.176858090319)*x[1]
75044            arg[1,3,1,0]=(-0.956962782849)*x[0]
75045            arg[1,3,1,1]=(0.53041598553)*x[1]
75046            arg[1,3,2,0]=(-0.241715236701)*x[0]
75047            arg[1,3,2,1]=(0.0340608544103)*x[1]
75048            arg[1,4,0,0]=(-0.399279751219)*x[0]
75049            arg[1,4,0,1]=(0.383860128496)*x[1]
75050            arg[1,4,1,0]=(0.229189108307)*x[0]
75051            arg[1,4,1,1]=(0.963667605308)*x[1]
75052            arg[1,4,2,0]=(0.731912848998)*x[0]
75053            arg[1,4,2,1]=(0.0534970206048)*x[1]
75054            arg[2,0,0,0]=(0.422292915614)*x[0]
75055            arg[2,0,0,1]=(0.915607515426)*x[1]
75056            arg[2,0,1,0]=(0.451054723135)*x[0]
75057            arg[2,0,1,1]=(0.0400870534188)*x[1]
75058            arg[2,0,2,0]=(-0.851047453002)*x[0]
75059            arg[2,0,2,1]=(0.300957420969)*x[1]
75060            arg[2,1,0,0]=(0.636801515211)*x[0]
75061            arg[2,1,0,1]=(0.386798062533)*x[1]
75062            arg[2,1,1,0]=(-0.0501653606261)*x[0]
75063            arg[2,1,1,1]=(0.46515271421)*x[1]
75064            arg[2,1,2,0]=(-0.416436918527)*x[0]
75065            arg[2,1,2,1]=(0.214018855333)*x[1]
75066            arg[2,2,0,0]=(0.0516439357756)*x[0]
75067            arg[2,2,0,1]=(-0.237707451356)*x[1]
75068            arg[2,2,1,0]=(0.117559050121)*x[0]
75069            arg[2,2,1,1]=(0.164349348553)*x[1]
75070            arg[2,2,2,0]=(0.0524038362463)*x[0]
75071            arg[2,2,2,1]=(0.690751059081)*x[1]
75072            arg[2,3,0,0]=(-0.942079336547)*x[0]
75073            arg[2,3,0,1]=(0.340143899875)*x[1]
75074            arg[2,3,1,0]=(-0.630411753789)*x[0]
75075            arg[2,3,1,1]=(-0.722078100418)*x[1]
75076            arg[2,3,2,0]=(-0.310606406168)*x[0]
75077            arg[2,3,2,1]=(0.728069014178)*x[1]
75078            arg[2,4,0,0]=(0.981678768954)*x[0]
75079            arg[2,4,0,1]=(-0.273023706956)*x[1]
75080            arg[2,4,1,0]=(0.307187251211)*x[0]
75081            arg[2,4,1,1]=(-0.885309661176)*x[1]
75082            arg[2,4,2,0]=(-0.808022645995)*x[0]
75083            arg[2,4,2,1]=(-0.21488080753)*x[1]
75084            arg[3,0,0,0]=(-0.785416067695)*x[0]
75085            arg[3,0,0,1]=(0.344457091999)*x[1]
75086            arg[3,0,1,0]=(-0.845835855973)*x[0]
75087            arg[3,0,1,1]=(0.365474280353)*x[1]
75088            arg[3,0,2,0]=(-0.250535373488)*x[0]
75089            arg[3,0,2,1]=(-0.888004656815)*x[1]
75090            arg[3,1,0,0]=(-0.0652508248717)*x[0]
75091            arg[3,1,0,1]=(0.402069695186)*x[1]
75092            arg[3,1,1,0]=(-0.229714763188)*x[0]
75093            arg[3,1,1,1]=(-0.866938136156)*x[1]
75094            arg[3,1,2,0]=(-0.638603745536)*x[0]
75095            arg[3,1,2,1]=(-0.997108734664)*x[1]
75096            arg[3,2,0,0]=(-0.182784593825)*x[0]
75097            arg[3,2,0,1]=(0.426951207538)*x[1]
75098            arg[3,2,1,0]=(-0.958149736654)*x[0]
75099            arg[3,2,1,1]=(-0.58458370587)*x[1]
75100            arg[3,2,2,0]=(0.410243417149)*x[0]
75101            arg[3,2,2,1]=(0.764474507608)*x[1]
75102            arg[3,3,0,0]=(0.235623988334)*x[0]
75103            arg[3,3,0,1]=(-0.105137401903)*x[1]
75104            arg[3,3,1,0]=(-0.957743319072)*x[0]
75105            arg[3,3,1,1]=(0.285680328399)*x[1]
75106            arg[3,3,2,0]=(-0.525269717395)*x[0]
75107            arg[3,3,2,1]=(0.655974370871)*x[1]
75108            arg[3,4,0,0]=(0.926779313365)*x[0]
75109            arg[3,4,0,1]=(-0.111556488031)*x[1]
75110            arg[3,4,1,0]=(-0.672785588938)*x[0]
75111            arg[3,4,1,1]=(-0.687907843899)*x[1]
75112            arg[3,4,2,0]=(0.503984478085)*x[0]
75113            arg[3,4,2,1]=(0.213194091516)*x[1]
75114            ref=sqrt((6.92178561091)+(4.96610502195))
75115    
75116          else:
75117            arg=Data(0,(4, 5, 3, 3),w)
75118            arg[0,0,0,0]=(-0.641108959812)*x[0]
75119            arg[0,0,0,1]=(0.395837684631)*x[1]
75120            arg[0,0,0,2]=(0.36258240616)*x[2]