/[escript]/trunk/escript/py_src/test_util_unary_no_tagged_data.py
ViewVC logotype

Diff of /trunk/escript/py_src/test_util_unary_no_tagged_data.py

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

revision 395 by gross, Wed Dec 21 02:41:59 2005 UTC revision 429 by gross, Wed Jan 11 05:53:40 2006 UTC
# Line 225  class Test_util_unary_no_tagged_data(Tes Line 225  class Test_util_unary_no_tagged_data(Tes
225        arg=numarray.array(-15.0739210922)        arg=numarray.array(-15.0739210922)
226        res=wherePositive(arg)        res=wherePositive(arg)
227        ref=numarray.array(0.0)        ref=numarray.array(0.0)
228        if not isinstance(res,float):        if isinstance(res,numarray.NumArray):
          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")  
229           self.failUnlessEqual(res.shape,(),"wrong shape of result.")           self.failUnlessEqual(res.shape,(),"wrong shape of result.")
230          else:
231             self.failUnless(isinstance(res,float),"wrong type of result.")
232        self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
233     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
234     def test_wherePositive_array_rank1(self):     def test_wherePositive_array_rank1(self):
# Line 5094  class Test_util_unary_no_tagged_data(Tes Line 5095  class Test_util_unary_no_tagged_data(Tes
5095        self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5096        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5097    
5098       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5099       def test_clip_float_rank0(self):
5100          arg=-0.660844742681
5101          res=clip(arg,-0.3,0.5)
5102          ref=-0.3
5103          self.failUnless(isinstance(res,float),"wrong type of result.")
5104          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5105       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5106       def test_clip_array_rank0(self):
5107          arg=numarray.array(-0.616432559809)
5108          res=clip(arg,-0.3,0.5)
5109          ref=numarray.array(-0.3)
5110          if isinstance(res,numarray.NumArray):
5111             self.failUnlessEqual(res.shape,(),"wrong shape of result.")
5112          else:
5113             self.failUnless(isinstance(res,float),"wrong type of result.")
5114          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5115       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5116       def test_clip_array_rank1(self):
5117          arg=numarray.array([-0.51271199503186593, -0.822484111396796])
5118          res=clip(arg,-0.3,0.5)
5119          ref=numarray.array([-0.29999999999999999, -0.29999999999999999])
5120          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5121          self.failUnlessEqual(res.shape,(2,),"wrong shape of result.")
5122          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5123       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5124       def test_clip_array_rank2(self):
5125          arg=numarray.array([[0.30100679449598511, 0.88767064649145766, 0.33865733182911906, 0.85531213080164914, 0.99410402183813074], [0.095717025396767408, 0.79153699203511629, 0.69300596381099822, 0.52370716757069058, -0.59416147926326457], [-0.19974051297983286, -0.54785769539787643, 0.6908558361120738, 0.10853690318676268, -0.92243333197553667], [0.38961082223496413, 0.89291409313272374, 0.057863956684621076, 0.50395838385178759, -0.34645817452731187]])
5126          res=clip(arg,-0.3,0.5)
5127          ref=numarray.array([[0.30100679449598511, 0.5, 0.33865733182911906, 0.5, 0.5], [0.095717025396767408, 0.5, 0.5, 0.5, -0.29999999999999999], [-0.19974051297983286, -0.29999999999999999, 0.5, 0.10853690318676268, -0.29999999999999999], [0.38961082223496413, 0.5, 0.057863956684621076, 0.5, -0.29999999999999999]])
5128          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5129          self.failUnlessEqual(res.shape,(4, 5),"wrong shape of result.")
5130          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5131       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5132       def test_clip_array_rank3(self):
5133          arg=numarray.array([[[0.80651421777631804, 0.42731881222688806], [-0.97337503979172202, 0.55560652110255382]], [[0.57745817086577378, -0.74819163530551558], [0.65118109098829802, 0.45705605350544798]], [[0.84734044549687937, -0.97694579653116231], [0.11346644908007897, 0.97057408781664289]], [[-0.44110401079642081, -0.90446847999697488], [0.82981000049437226, 0.62852473157503597]], [[0.55643517187873859, 0.17159295755472526], [-0.3276983994906566, 0.82111281587385077]], [[0.66037767196123465, -0.8138922973233893], [0.22428143590074856, 0.60032297288637171]]])
5134          res=clip(arg,-0.3,0.5)
5135          ref=numarray.array([[[0.5, 0.42731881222688806], [-0.29999999999999999, 0.5]], [[0.5, -0.29999999999999999], [0.5, 0.45705605350544798]], [[0.5, -0.29999999999999999], [0.11346644908007897, 0.5]], [[-0.29999999999999999, -0.29999999999999999], [0.5, 0.5]], [[0.5, 0.17159295755472526], [-0.29999999999999999, 0.5]], [[0.5, -0.29999999999999999], [0.22428143590074856, 0.5]]])
5136          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5137          self.failUnlessEqual(res.shape,(6, 2, 2),"wrong shape of result.")
5138          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5139       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5140       def test_clip_array_rank4(self):
5141          arg=numarray.array([[[[0.46285917453321823, -0.91689578652051007, 0.85018159714116481, -0.25906072812293113], [0.81932949407078137, -0.60307967212356628, 0.56538931825524186, -0.40508251808655071], [0.77170764992626406, 0.81299384258133656, 0.7404976524889133, 0.51860787224188187]], [[-0.62450454506954589, 0.94207725980470158, -0.12374258578480357, 0.66339457762270237], [0.35534578368047653, 0.42819081302985462, 0.063059236470800473, -0.73505630795988397], [0.24842113864491688, 0.44227807933837804, 0.36053730941174211, -0.34351746910574721]]], [[[-0.54014660449687857, -0.73963869205638022, -0.85829607205589942, 0.19478539963645392], [-0.94553140352926479, -0.29641607950976878, -0.57063497488586767, -0.48500827538538505], [-0.45756026282338103, -0.19137078199124091, -0.26560363911562557, -0.80865109063294827]], [[0.14311339149994962, 0.29424466150856587, 0.99821626133853081, -0.1461637145270076], [-0.72334486633204564, 0.033116994477579764, 0.47044975702162461, 0.40109158073490891], [-0.038219493414332506, 0.73839517283012568, 0.14208390499507262, 0.49550413385768977]]], [[[0.398910718898426, 0.03446413720460928, -0.46028688211877444, 0.70797648020636439], [0.19363454901242005, 0.92111688093404243, 0.79409098989516091, 0.71035510610026265], [0.12629228314430518, 0.88671129037390428, -0.91227198363005213, -0.94341232990645918]], [[0.57833363856424014, -0.47043185008904964, -0.63643237130510921, 0.28866935981066577], [0.39621689148915196, -0.89298541799113895, -0.76674863298496154, 0.86640350436457525], [0.33847977460676804, 0.57610754346250648, 0.22238502772765689, -0.57901129898204906]]]])
5142          res=clip(arg,-0.3,0.5)
5143          ref=numarray.array([[[[0.46285917453321823, -0.29999999999999999, 0.5, -0.25906072812293113], [0.5, -0.29999999999999999, 0.5, -0.29999999999999999], [0.5, 0.5, 0.5, 0.5]], [[-0.29999999999999999, 0.5, -0.12374258578480357, 0.5], [0.35534578368047653, 0.42819081302985462, 0.063059236470800473, -0.29999999999999999], [0.24842113864491688, 0.44227807933837804, 0.36053730941174211, -0.29999999999999999]]], [[[-0.29999999999999999, -0.29999999999999999, -0.29999999999999999, 0.19478539963645392], [-0.29999999999999999, -0.29641607950976878, -0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, -0.19137078199124091, -0.26560363911562557, -0.29999999999999999]], [[0.14311339149994962, 0.29424466150856587, 0.5, -0.1461637145270076], [-0.29999999999999999, 0.033116994477579764, 0.47044975702162461, 0.40109158073490891], [-0.038219493414332506, 0.5, 0.14208390499507262, 0.49550413385768977]]], [[[0.398910718898426, 0.03446413720460928, -0.29999999999999999, 0.5], [0.19363454901242005, 0.5, 0.5, 0.5], [0.12629228314430518, 0.5, -0.29999999999999999, -0.29999999999999999]], [[0.5, -0.29999999999999999, -0.29999999999999999, 0.28866935981066577], [0.39621689148915196, -0.29999999999999999, -0.29999999999999999, 0.5], [0.33847977460676804, 0.5, 0.22238502772765689, -0.29999999999999999]]]])
5144          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5145          self.failUnlessEqual(res.shape,(3, 2, 3, 4),"wrong shape of result.")
5146          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5147       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5148       def test_clip_Symbol_rank0(self):
5149          arg=Symbol(shape=())
5150          res=clip(arg,-0.3,0.5)
5151          s=numarray.array(-0.792931814027)
5152          sub=res.substitute({arg:s})
5153          ref=numarray.array(-0.3)
5154          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5155          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5156          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5157       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5158       def test_clip_Symbol_rank1(self):
5159          arg=Symbol(shape=(2,))
5160          res=clip(arg,-0.3,0.5)
5161          s=numarray.array([-0.12048403445176348, -0.40029599458937115])
5162          sub=res.substitute({arg:s})
5163          ref=numarray.array([-0.12048403445176348, -0.29999999999999999])
5164          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5165          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5166          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5167       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5168       def test_clip_Symbol_rank2(self):
5169          arg=Symbol(shape=(4, 5))
5170          res=clip(arg,-0.3,0.5)
5171          s=numarray.array([[0.59397707593157989, -0.015816232421714593, -0.71355286935163331, -0.85103204785524444, -0.91412162455901824], [-0.010694641368312885, 0.84414762841027247, -0.55243149822804294, -0.84297884285781066, 0.27021554859147567], [0.4863295784707149, 0.050773923264246568, 0.41020785802506343, -0.015448450147302895, -0.9895001255305016], [-0.80145072141626073, 0.041501336925147125, -0.9850016338870633, 0.61693811132536069, -0.48955961785655933]])
5172          sub=res.substitute({arg:s})
5173          ref=numarray.array([[0.5, -0.015816232421714593, -0.29999999999999999, -0.29999999999999999, -0.29999999999999999], [-0.010694641368312885, 0.5, -0.29999999999999999, -0.29999999999999999, 0.27021554859147567], [0.4863295784707149, 0.050773923264246568, 0.41020785802506343, -0.015448450147302895, -0.29999999999999999], [-0.29999999999999999, 0.041501336925147125, -0.29999999999999999, 0.5, -0.29999999999999999]])
5174          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5175          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
5176          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5177       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5178       def test_clip_Symbol_rank3(self):
5179          arg=Symbol(shape=(6, 2, 2))
5180          res=clip(arg,-0.3,0.5)
5181          s=numarray.array([[[-0.67698725582695451, 0.55024011140579132], [-0.047623883112311249, 0.071564619314291367]], [[-0.7948301013947463, 0.26374348727881602], [-0.94301016179903296, -0.88704745056286716]], [[0.20486197801890671, 0.80225286382835392], [-0.69420948063995547, -0.12606948305733034]], [[0.61750342986108109, 0.93969472414748978], [-0.45326273384231608, 0.31853757719424647]], [[0.65617139058608709, -0.29299677423087145], [-0.66376148085374687, 0.018048557420640821]], [[0.4506769651529039, -0.40677305322783619], [0.12438133220532399, 0.33554725745486236]]])
5182          sub=res.substitute({arg:s})
5183          ref=numarray.array([[[-0.29999999999999999, 0.5], [-0.047623883112311249, 0.071564619314291367]], [[-0.29999999999999999, 0.26374348727881602], [-0.29999999999999999, -0.29999999999999999]], [[0.20486197801890671, 0.5], [-0.29999999999999999, -0.12606948305733034]], [[0.5, 0.5], [-0.29999999999999999, 0.31853757719424647]], [[0.5, -0.29299677423087145], [-0.29999999999999999, 0.018048557420640821]], [[0.4506769651529039, -0.29999999999999999], [0.12438133220532399, 0.33554725745486236]]])
5184          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5185          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
5186          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5187       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5188       def test_clip_Symbol_rank4(self):
5189          arg=Symbol(shape=(3, 2, 3, 4))
5190          res=clip(arg,-0.3,0.5)
5191          s=numarray.array([[[[0.87297933466547506, -0.6759395484248385, -0.064930862035132542, -0.68208927283081366], [-0.8905913641586114, -0.51780151868370705, 0.47935494949299517, -0.43996092297267175], [-0.13947535976114955, -0.59013798318233879, 0.92191259205453591, 0.28856814133987152]], [[0.87283476362790768, 0.83458944186472883, 0.57945024810703272, -0.51607631639092055], [-0.045611193265933991, -0.13516754948427256, -0.12079102468797509, 0.95040836153785979], [0.42784337867530087, -0.74320064427902177, -0.29677529518365819, -0.72388240820397476]]], [[[-0.25053913879373635, 0.99039684792089555, 0.84365440049321294, -0.44615210082238077], [0.2098688758528251, -0.094827930093002388, -0.48904012546642628, 0.07353404666222918], [-0.405215805546145, -0.24507666906852199, 0.073037984734869887, 0.45910186159723798]], [[-0.83617803684565284, 0.72409861676776344, 0.66274368653669491, -0.8363139277203151], [-0.59303850192082574, -0.26100647735452887, -0.46126763689102002, -0.5538059778591673], [-0.13796438067897321, 0.9455220175339234, -0.14001610155093669, -0.13853682926845678]]], [[[-0.88109448055064177, 0.042200298380294932, 0.97569411639878867, 0.055014350789691413], [-0.58023129058148948, -0.81286449921011528, 0.55426564144993939, 0.87587695474553762], [-0.19635452272327258, -0.53832837997779137, -0.025941720598393392, 0.68951865195447115]], [[-0.6367350497294797, 0.82779102060680665, 0.14724409720331422, -0.29315367370960499], [0.22190760573348678, -0.80567179915913845, 0.32495113629038319, -0.91983230608442446], [-0.32241542693213776, -0.85248386776413798, 0.78949099002770429, 0.094819493332709781]]]])
5192          sub=res.substitute({arg:s})
5193          ref=numarray.array([[[[0.5, -0.29999999999999999, -0.064930862035132542, -0.29999999999999999], [-0.29999999999999999, -0.29999999999999999, 0.47935494949299517, -0.29999999999999999], [-0.13947535976114955, -0.29999999999999999, 0.5, 0.28856814133987152]], [[0.5, 0.5, 0.5, -0.29999999999999999], [-0.045611193265933991, -0.13516754948427256, -0.12079102468797509, 0.5], [0.42784337867530087, -0.29999999999999999, -0.29677529518365819, -0.29999999999999999]]], [[[-0.25053913879373635, 0.5, 0.5, -0.29999999999999999], [0.2098688758528251, -0.094827930093002388, -0.29999999999999999, 0.07353404666222918], [-0.29999999999999999, -0.24507666906852199, 0.073037984734869887, 0.45910186159723798]], [[-0.29999999999999999, 0.5, 0.5, -0.29999999999999999], [-0.29999999999999999, -0.26100647735452887, -0.29999999999999999, -0.29999999999999999], [-0.13796438067897321, 0.5, -0.14001610155093669, -0.13853682926845678]]], [[[-0.29999999999999999, 0.042200298380294932, 0.5, 0.055014350789691413], [-0.29999999999999999, -0.29999999999999999, 0.5, 0.5], [-0.19635452272327258, -0.29999999999999999, -0.025941720598393392, 0.5]], [[-0.29999999999999999, 0.5, 0.14724409720331422, -0.29315367370960499], [0.22190760573348678, -0.29999999999999999, 0.32495113629038319, -0.29999999999999999], [-0.29999999999999999, -0.29999999999999999, 0.5, 0.094819493332709781]]]])
5194          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5195          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
5196          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5197       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5198       def test_clip_constData_rank0(self):
5199          arg=Data(0.873991409144,self.functionspace)
5200          res=clip(arg,-0.3,0.5)
5201          ref=Data(0.5,self.functionspace)
5202          self.failUnless(isinstance(res,Data),"wrong type of result.")
5203          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5204          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5205       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5206       def test_clip_constData_rank1(self):
5207          arg=Data(numarray.array([0.10029829613225805, 0.47403026690156014]),self.functionspace)
5208          res=clip(arg,-0.3,0.5)
5209          ref=Data(numarray.array([0.10029829613225805, 0.47403026690156014]),self.functionspace)
5210          self.failUnless(isinstance(res,Data),"wrong type of result.")
5211          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5212          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5213       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5214       def test_clip_constData_rank2(self):
5215          arg=Data(numarray.array([[-0.28275534784898304, -0.13729948733728325, 0.013813296255671847, 0.73460682612929729, 0.24551982471646627], [0.61067563404013048, 0.42590985220127653, 0.053795995066850733, -0.12813919742697655, -0.45354184407079257], [0.027592398296971021, -0.27728369179302592, 0.83461918535632207, 0.5996778630178683, 0.64537419802208373], [0.46265837345465788, -0.013903448047151823, 0.43282947286633333, -0.7140268312200182, 0.11491473517057038]]),self.functionspace)
5216          res=clip(arg,-0.3,0.5)
5217          ref=Data(numarray.array([[-0.28275534784898304, -0.13729948733728325, 0.013813296255671847, 0.5, 0.24551982471646627], [0.5, 0.42590985220127653, 0.053795995066850733, -0.12813919742697655, -0.29999999999999999], [0.027592398296971021, -0.27728369179302592, 0.5, 0.5, 0.5], [0.46265837345465788, -0.013903448047151823, 0.43282947286633333, -0.29999999999999999, 0.11491473517057038]]),self.functionspace)
5218          self.failUnless(isinstance(res,Data),"wrong type of result.")
5219          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
5220          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5221       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5222       def test_clip_constData_rank3(self):
5223          arg=Data(numarray.array([[[-0.44382776839546945, -0.63662456777605092], [-0.54650947561527286, -0.84571189798389201]], [[-0.84094147647363049, 0.64826856634432373], [0.622621310911184, 0.23179746677715629]], [[0.72783765690686408, -0.14342314789815735], [0.38201531418904833, -0.69055788612963065]], [[-0.0064036502394755335, 0.88418526966764577], [0.38413648569626235, -0.48827873166332258]], [[-0.36805980178883502, -0.52366150491610441], [-0.17224428981836781, -0.11145730040193791]], [[0.0032312327392447493, 0.40509583911865898], [-0.078221409096661088, 0.55983165731854423]]]),self.functionspace)
5224          res=clip(arg,-0.3,0.5)
5225          ref=Data(numarray.array([[[-0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, -0.29999999999999999]], [[-0.29999999999999999, 0.5], [0.5, 0.23179746677715629]], [[0.5, -0.14342314789815735], [0.38201531418904833, -0.29999999999999999]], [[-0.0064036502394755335, 0.5], [0.38413648569626235, -0.29999999999999999]], [[-0.29999999999999999, -0.29999999999999999], [-0.17224428981836781, -0.11145730040193791]], [[0.0032312327392447493, 0.40509583911865898], [-0.078221409096661088, 0.5]]]),self.functionspace)
5226          self.failUnless(isinstance(res,Data),"wrong type of result.")
5227          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
5228          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5229       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5230       def test_clip_constData_rank4(self):
5231          arg=Data(numarray.array([[[[0.74565220604294113, 0.70707680004089535, -0.8773779384765521, 0.32828037279397537], [0.12930191501822041, 0.61037326219072852, -0.72378849864905304, -0.71546199305068181], [-0.99689819686806036, 0.27574928269813848, -0.35838582444761657, -0.5263903369979559]], [[0.34209505072502133, 0.15911882981611325, 0.35995945219157122, 0.66221816529573552], [0.43624456519819632, -0.86396951527158183, -0.39169318175569057, -0.42904934103954684], [-0.41672280174621079, 0.5747168458744496, 0.10190810106330472, -0.40269367788473454]]], [[[0.96435342278392056, -0.38598803996794429, -0.10569714455448587, 0.78395387940432859], [-0.038509327942198635, 0.33381791489369883, -0.15711165198428034, 0.62080633262478568], [-0.85531025762383317, -0.51127155377851863, -0.98887178638798634, 0.74904701210248192]], [[-0.24723563589657527, 0.40962376639148879, -0.63040816326005822, -0.7114593474303792], [0.86532397329368793, 0.93027464092180923, 0.63743386509330668, 0.095944939045965238], [0.40272444381571271, -0.11827319884920562, 0.90658957997212819, 0.75580908924882162]]], [[[0.38931728355886186, -0.87926757063573313, 0.5065858460075825, -0.094306906597873885], [0.80847359053294654, -0.41252922807094805, -0.33611596899498153, 0.26443168557169749], [-0.017360832827441719, -0.67566709940607206, -0.64725079995155332, -0.65760481990092745]], [[0.31365664160961182, 0.18146342960739825, -0.91968636759286748, 0.95202972228558935], [0.29398556423299493, -0.19710497775305269, 0.051818367197931092, -0.58880901521639895], [-0.15383079570743585, 0.058375088082090132, 0.86765927088269068, 0.54391547419416297]]]]),self.functionspace)
5232          res=clip(arg,-0.3,0.5)
5233          ref=Data(numarray.array([[[[0.5, 0.5, -0.29999999999999999, 0.32828037279397537], [0.12930191501822041, 0.5, -0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, 0.27574928269813848, -0.29999999999999999, -0.29999999999999999]], [[0.34209505072502133, 0.15911882981611325, 0.35995945219157122, 0.5], [0.43624456519819632, -0.29999999999999999, -0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, 0.5, 0.10190810106330472, -0.29999999999999999]]], [[[0.5, -0.29999999999999999, -0.10569714455448587, 0.5], [-0.038509327942198635, 0.33381791489369883, -0.15711165198428034, 0.5], [-0.29999999999999999, -0.29999999999999999, -0.29999999999999999, 0.5]], [[-0.24723563589657527, 0.40962376639148879, -0.29999999999999999, -0.29999999999999999], [0.5, 0.5, 0.5, 0.095944939045965238], [0.40272444381571271, -0.11827319884920562, 0.5, 0.5]]], [[[0.38931728355886186, -0.29999999999999999, 0.5, -0.094306906597873885], [0.5, -0.29999999999999999, -0.29999999999999999, 0.26443168557169749], [-0.017360832827441719, -0.29999999999999999, -0.29999999999999999, -0.29999999999999999]], [[0.31365664160961182, 0.18146342960739825, -0.29999999999999999, 0.5], [0.29398556423299493, -0.19710497775305269, 0.051818367197931092, -0.29999999999999999], [-0.15383079570743585, 0.058375088082090132, 0.5, 0.5]]]]),self.functionspace)
5234          self.failUnless(isinstance(res,Data),"wrong type of result.")
5235          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
5236          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5237       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5238       def test_clip_expandedData_rank0(self):
5239          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5240          arg=msk_arg*(-0.842028460005)+(1.-msk_arg)*(-0.293977917573)
5241          res=clip(arg,-0.3,0.5)
5242          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5243          ref=msk_ref*(-0.3)+(1.-msk_ref)*(-0.293977917573)
5244          self.failUnless(isinstance(res,Data),"wrong type of result.")
5245          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5246          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5247       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5248       def test_clip_expandedData_rank1(self):
5249          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5250          arg=msk_arg*numarray.array([0.68183730574045565, 0.11696629718283025])+(1.-msk_arg)*numarray.array([0.35288961662527463, -0.072592053270659651])
5251          res=clip(arg,-0.3,0.5)
5252          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5253          ref=msk_ref*numarray.array([0.5, 0.11696629718283025])+(1.-msk_ref)*numarray.array([0.35288961662527463, -0.072592053270659651])
5254          self.failUnless(isinstance(res,Data),"wrong type of result.")
5255          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5256          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5257       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5258       def test_clip_expandedData_rank2(self):
5259          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5260          arg=msk_arg*numarray.array([[0.90716898369189836, -0.35803512117401981, 0.94018031372277644, 0.79669090472583703, -0.18693600910396135], [0.66131238434994155, -0.97051536409745509, 0.9041285176368381, -0.85346375259533169, 0.080322075200497611], [-0.88411631255225487, -0.034767111898162728, -0.57932986353520599, -0.36438560630357641, 0.46429678163635812], [0.27577795037496067, 0.63194239600641899, -0.25968796804973282, 0.57336606861296535, 0.42681293935570541]])+(1.-msk_arg)*numarray.array([[-0.39043293288066505, -0.12586769834531109, 0.86941394855912812, 0.87286911746074325, -0.31449584387107565], [0.067675865430771864, 0.1411821630632728, 0.36884686073023309, 0.44919011697492928, -0.28594899701518273], [0.54855238117480076, 0.17688408664749944, 0.25657627305599928, -0.39115693595816903, 0.79599505168892248], [-0.63955125945377644, -0.94202055254588668, -0.68308189366965677, 0.4578895128510021, -0.60069619882054903]])
5261          res=clip(arg,-0.3,0.5)
5262          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5263          ref=msk_ref*numarray.array([[0.5, -0.29999999999999999, 0.5, 0.5, -0.18693600910396135], [0.5, -0.29999999999999999, 0.5, -0.29999999999999999, 0.080322075200497611], [-0.29999999999999999, -0.034767111898162728, -0.29999999999999999, -0.29999999999999999, 0.46429678163635812], [0.27577795037496067, 0.5, -0.25968796804973282, 0.5, 0.42681293935570541]])+(1.-msk_ref)*numarray.array([[-0.29999999999999999, -0.12586769834531109, 0.5, 0.5, -0.29999999999999999], [0.067675865430771864, 0.1411821630632728, 0.36884686073023309, 0.44919011697492928, -0.28594899701518273], [0.5, 0.17688408664749944, 0.25657627305599928, -0.29999999999999999, 0.5], [-0.29999999999999999, -0.29999999999999999, -0.29999999999999999, 0.4578895128510021, -0.29999999999999999]])
5264          self.failUnless(isinstance(res,Data),"wrong type of result.")
5265          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
5266          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5267       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5268       def test_clip_expandedData_rank3(self):
5269          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5270          arg=msk_arg*numarray.array([[[0.93020317689046128, -0.54447904233724853], [0.11461289830616783, -0.22468993486584155]], [[0.2580017724494863, 0.96989125372971774], [0.15057436976633753, -0.78151964173949384]], [[-0.71582456376904258, 0.82703131516257322], [-0.24926797106114562, -0.1238935499896896]], [[0.32428682415562093, -0.91311839613385692], [0.30146899459086263, -0.12556147633489956]], [[-0.68665518227346567, -0.22144952551343633], [-0.50981084983177216, -0.030119060352006066]], [[0.18318336820339765, -0.38259427020750825], [0.19442151433667187, -0.99958596975615577]]])+(1.-msk_arg)*numarray.array([[[-0.4343470595053156, 0.96097360321015346], [-0.46568918744082421, 0.48300612207019933]], [[0.81630000256950841, 0.38374999480003424], [0.79617490239235345, -0.097514887490353752]], [[0.039610536347541192, -0.11954981925174257], [-0.40947914780332573, -0.48354495774094963]], [[-0.078080941006748672, -0.46167291110337838], [0.26568933223987878, 0.96040591883607895]], [[0.64111624021647295, 0.67697706382199141], [0.64028160169512827, -0.98698793247338523]], [[-0.9114669507080646, 0.62094506194746613], [-0.42103142433552065, -0.63632370203732247]]])
5271          res=clip(arg,-0.3,0.5)
5272          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5273          ref=msk_ref*numarray.array([[[0.5, -0.29999999999999999], [0.11461289830616783, -0.22468993486584155]], [[0.2580017724494863, 0.5], [0.15057436976633753, -0.29999999999999999]], [[-0.29999999999999999, 0.5], [-0.24926797106114562, -0.1238935499896896]], [[0.32428682415562093, -0.29999999999999999], [0.30146899459086263, -0.12556147633489956]], [[-0.29999999999999999, -0.22144952551343633], [-0.29999999999999999, -0.030119060352006066]], [[0.18318336820339765, -0.29999999999999999], [0.19442151433667187, -0.29999999999999999]]])+(1.-msk_ref)*numarray.array([[[-0.29999999999999999, 0.5], [-0.29999999999999999, 0.48300612207019933]], [[0.5, 0.38374999480003424], [0.5, -0.097514887490353752]], [[0.039610536347541192, -0.11954981925174257], [-0.29999999999999999, -0.29999999999999999]], [[-0.078080941006748672, -0.29999999999999999], [0.26568933223987878, 0.5]], [[0.5, 0.5], [0.5, -0.29999999999999999]], [[-0.29999999999999999, 0.5], [-0.29999999999999999, -0.29999999999999999]]])
5274          self.failUnless(isinstance(res,Data),"wrong type of result.")
5275          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
5276          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5277       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5278       def test_clip_expandedData_rank4(self):
5279          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5280          arg=msk_arg*numarray.array([[[[0.47253941060193694, 0.19296787597619924, -0.48241297799548888, -0.75064623239139383], [-0.58524626791925782, 0.17426765589991278, 0.35312486983619285, 0.083669184154522291], [-0.84069384309987161, -0.15040140084518883, -0.41665586874162486, -0.52240956580940079]], [[-0.6154323811169542, -0.57957166937646276, 0.79263239744786929, 0.75307658018532964], [-0.11379828349950394, -0.95566162645602204, 0.82201752038788811, -0.82419839021415009], [0.040955022200906965, 0.80044686051015956, -0.084301202894394134, 0.50298997540454393]]], [[[0.38713164665793709, -0.9893659106059931, -0.40195267367189746, 0.54085998487601983], [-0.36547517059197343, -0.97749720898537218, 0.55460176315663934, -0.51328259591874281], [-0.15014163110959977, 0.64227796852044805, 0.67829045256375609, -0.53275577483557157]], [[0.69428959767000853, 0.27181575416077908, -0.67540666153511464, 0.68537741704783373], [0.12635059570264229, 0.25790168831554028, 0.21053467373381252, 0.89625019365122061], [0.78533441113905633, 0.38651890253248178, 0.46866980084781207, 0.3966858407832079]]], [[[0.09213358476370237, 0.32622677154765856, -0.52054474510218407, 0.11292458645612613], [0.60076852133813197, -0.59651506026789658, -0.310660307624816, -0.83164083985032011], [-0.11239584868207197, -0.21969260297894544, 0.66253117553533181, -0.47549870903007396]], [[0.61793844593902714, 0.049088591742032062, 0.73171791413069731, 0.10324087884362898], [0.70630497078056043, -0.39548178252243704, -0.20171780102887515, 0.4486867740825855], [0.3067826397434239, -0.69920342074020692, 0.55315007879538758, 0.76955263523522177]]]])+(1.-msk_arg)*numarray.array([[[[-0.98195387674416623, -0.71647041666207634, 0.96131746394220374, -0.2970268397734761], [-0.6798614682172941, 0.68011781692825046, 0.9901614342712215, -0.51224054060555768], [-0.49126801267038034, -0.2061185705955475, -0.94879172547184121, 0.32864682447432192]], [[0.81206407375573542, -0.47431758135493918, 0.35433905577893388, 0.015673991101298634], [0.48161105139319216, 0.76475757327272964, 0.87767937074390434, -0.061736059585125069], [0.28109110620516442, -0.84666842157492495, -0.77512442918187219, 0.20772758208828335]]], [[[0.30772959794939792, -0.2885188792188953, -0.90570783131128163, -0.91845913691101799], [0.28634884391824733, -0.3690804749180665, 0.03915017349519978, -0.35281078034679925], [-0.086035338721760501, 0.67930968257225288, 0.67498622364084948, 0.93164079695122304]], [[0.68920407959864227, 0.85164957425061294, -0.61676686381412349, -0.99625404634540149], [-0.79371359058265867, -0.94393926509038906, -0.35532528723257628, 0.0015878731596392637], [0.35679339163849177, -0.49580675506446492, 0.91497928940479811, 0.14614297523964193]]], [[[-0.26376915847654825, -0.4289545189914894, 0.0096817410430425355, -0.4091406948939682], [-0.21537036900190487, 0.38987973408241117, -0.12828981462849209, -0.97396371660294467], [0.67689931380382329, -0.73005845261718227, -0.32903973852020085, -0.074856999663114099]], [[-0.40422874438770284, 0.95870358605131867, -0.048075373669192345, 0.036769265208584478], [0.25203988496541907, -0.62875034340309677, 0.41362004004453712, -0.40696408032236886], [0.81933944111362078, -0.68464153016036078, -0.43524094107963629, 0.19643875172460112]]]])
5281          res=clip(arg,-0.3,0.5)
5282          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5283          ref=msk_ref*numarray.array([[[[0.47253941060193694, 0.19296787597619924, -0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, 0.17426765589991278, 0.35312486983619285, 0.083669184154522291], [-0.29999999999999999, -0.15040140084518883, -0.29999999999999999, -0.29999999999999999]], [[-0.29999999999999999, -0.29999999999999999, 0.5, 0.5], [-0.11379828349950394, -0.29999999999999999, 0.5, -0.29999999999999999], [0.040955022200906965, 0.5, -0.084301202894394134, 0.5]]], [[[0.38713164665793709, -0.29999999999999999, -0.29999999999999999, 0.5], [-0.29999999999999999, -0.29999999999999999, 0.5, -0.29999999999999999], [-0.15014163110959977, 0.5, 0.5, -0.29999999999999999]], [[0.5, 0.27181575416077908, -0.29999999999999999, 0.5], [0.12635059570264229, 0.25790168831554028, 0.21053467373381252, 0.5], [0.5, 0.38651890253248178, 0.46866980084781207, 0.3966858407832079]]], [[[0.09213358476370237, 0.32622677154765856, -0.29999999999999999, 0.11292458645612613], [0.5, -0.29999999999999999, -0.29999999999999999, -0.29999999999999999], [-0.11239584868207197, -0.21969260297894544, 0.5, -0.29999999999999999]], [[0.5, 0.049088591742032062, 0.5, 0.10324087884362898], [0.5, -0.29999999999999999, -0.20171780102887515, 0.4486867740825855], [0.3067826397434239, -0.29999999999999999, 0.5, 0.5]]]])+(1.-msk_ref)*numarray.array([[[[-0.29999999999999999, -0.29999999999999999, 0.5, -0.2970268397734761], [-0.29999999999999999, 0.5, 0.5, -0.29999999999999999], [-0.29999999999999999, -0.2061185705955475, -0.29999999999999999, 0.32864682447432192]], [[0.5, -0.29999999999999999, 0.35433905577893388, 0.015673991101298634], [0.48161105139319216, 0.5, 0.5, -0.061736059585125069], [0.28109110620516442, -0.29999999999999999, -0.29999999999999999, 0.20772758208828335]]], [[[0.30772959794939792, -0.2885188792188953, -0.29999999999999999, -0.29999999999999999], [0.28634884391824733, -0.29999999999999999, 0.03915017349519978, -0.29999999999999999], [-0.086035338721760501, 0.5, 0.5, 0.5]], [[0.5, 0.5, -0.29999999999999999, -0.29999999999999999], [-0.29999999999999999, -0.29999999999999999, -0.29999999999999999, 0.0015878731596392637], [0.35679339163849177, -0.29999999999999999, 0.5, 0.14614297523964193]]], [[[-0.26376915847654825, -0.29999999999999999, 0.0096817410430425355, -0.29999999999999999], [-0.21537036900190487, 0.38987973408241117, -0.12828981462849209, -0.29999999999999999], [0.5, -0.29999999999999999, -0.29999999999999999, -0.074856999663114099]], [[-0.29999999999999999, 0.5, -0.048075373669192345, 0.036769265208584478], [0.25203988496541907, -0.29999999999999999, 0.41362004004453712, -0.29999999999999999], [0.5, -0.29999999999999999, -0.29999999999999999, 0.19643875172460112]]]])
5284          self.failUnless(isinstance(res,Data),"wrong type of result.")
5285          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
5286          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5287       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5288       def test_trace_array_rank2_offset0(self):
5289          arg=numarray.array([[0.26555691640939405, -0.18910413427150452, 0.12039085017309703, -0.17574192533077326], [-0.34124380166621093, 0.37425207868597998, -0.60605432527492908, -0.78351999526440919], [-0.008718872902747421, 0.45919281265912248, -0.33985859983016309, 0.29866113913548786], [-0.41729887400737264, -0.28881644097258641, 0.55984121129488917, 0.70121385950894766]])
5290          res=trace(arg,0)
5291          ref=numarray.array(1.0011642547741586)
5292          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5293          self.failUnlessEqual(res.shape,(),"wrong shape of result.")
5294          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5295       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5296       def test_trace_array_rank3_offset0(self):
5297          arg=numarray.array([[[0.98480390026626874, 0.49765498235413208], [-0.29090485844190184, -0.75557539858330203], [-0.24147713943580618, 0.83189520938773742], [-0.39332790736632894, -0.23255430958687073], [0.61469056695908431, -0.54221652099612139], [-0.30688843565214863, 0.38245185105763024]], [[0.39352505237092705, -0.89859538741148248], [-0.19611389561895298, 0.46658392439701291], [-0.58513992115908198, -0.52572413506686666], [0.36528379930027022, 0.35082214206594764], [-0.36197438572003837, -0.58168855905536532], [0.76595064870067198, -0.29898163768408659]], [[-0.21257388708161273, -0.82660354888963417], [-0.95912201085053916, -0.74140025039180379], [0.83542400169616804, 0.71398525032328397], [0.35580921803956844, 0.9910319975254831], [-0.99833758049102572, 0.49906045783260655], [0.46148100303820816, 0.057489858386365444]], [[0.14448723439540556, -0.66497743959494815], [-0.65298722004566812, -0.80946208978135714], [-0.72729541818349297, 0.75942335665704896], [-0.22887401674150798, -0.45740224056161138], [0.32594979393943646, -0.14983354513871983], [-0.88654135390033595, 0.64170560178214209]], [[0.051660095426996566, 0.072646454146782835], [0.80107524461478041, 0.75854236897011562], [-0.84218515265322691, 0.5416362111837385], [0.72274598019809133, -0.1904262266248522], [-0.70527606629361261, 0.71754633833989923], [0.9944261102138261, 0.27642826392584841]], [[-0.71311099419488766, 0.096638813026104442], [-0.5881439560482713, 0.48983822134718635], [-0.36462007898555537, 0.31258183909269088], [-0.25934166771369438, -0.46384813583935425], [-0.40956274472953136, -0.45410860721145374], [-0.63285410497195316, 0.26725460398192613]]])
5298          res=trace(arg,0)
5299          ref=numarray.array([0.057109818336410045, 2.2056228588346429])
5300          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5301          self.failUnlessEqual(res.shape,(2,),"wrong shape of result.")
5302          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5303       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5304       def test_trace_array_rank3_offset1(self):
5305          arg=numarray.array([[[-0.76875725167611453, 0.075414018110247394], [-0.46910058955171152, -0.78870866656070926]], [[0.1763412665571984, -0.38625105646597069], [-0.24103707165873289, 0.90747381262632065]], [[0.092043720781569416, -0.26846050280345235], [-0.7946162528668701, 0.0066516500151119207]], [[0.25018944598669868, -0.051585233002871211], [-0.47027454711245098, -0.25743603279448135]], [[0.89008264050297203, 0.083887666317993048], [0.85233581507994938, 0.2788350650030873]], [[-0.30761996005339931, -0.4926586222583984], [0.69525691978757131, 0.88245916957253989]]])
5306          res=trace(arg,1)
5307          ref=numarray.array([-1.5574659182368238, 1.083815079183519, 0.098695370796681337, -0.0072465868077826734, 1.1689177055060593, 0.57483920951914058])
5308          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5309          self.failUnlessEqual(res.shape,(6,),"wrong shape of result.")
5310          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5311       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5312       def test_trace_array_rank4_offset0(self):
5313          arg=numarray.array([[[[-0.35914276251844779, -0.89177244154479451, 0.75156232311996729, 0.2689197071295113], [0.48550638042599714, 0.37876012371739165, 0.11909831579647689, -0.13698649685115294], [0.66469543775731199, -0.04713994250240372, 0.69016847677268345, 0.43203165345044803]], [[-0.84196908557528283, 0.31114408094237334, 0.97829773043316881, 0.71705939156379173], [-0.59254857582824449, 0.99125198550959226, -0.27824457105332501, 0.95639865727128393], [-0.88869987019695151, 0.71945513418541562, -0.63948935534342555, -0.60595079857487888]], [[0.20060003292491246, -0.51895689477941298, 0.77610596136013754, 0.89846794711535649], [-0.797787885912846, 0.1126603408303033, 0.71040396312258625, -0.58371207496516675], [-0.39629389058593234, -0.224661339329151, -0.4415492883796388, -0.2843763466047633]]], [[[-0.14648357755460073, 0.10563951301739172, 0.074504969752375638, -0.11173828803978103], [-0.54814938162159921, -0.030096820913388944, 0.01245902120734721, -0.93883615158053946], [0.23918339542047629, -0.58141478071359765, -0.47847130713180896, -0.3854827811199637]], [[0.031675817270823137, -0.28496738108976349, 0.75670930591992125, -0.78671398093094447], [0.3632307462902622, 0.086431371878165075, -0.73497382201547867, 0.41464504948755421], [-0.100681389463116, 0.10486835825917429, -0.51283334572425865, -0.10649277312087135]], [[0.64697608810822471, -0.4521370777632252, -0.5134303970348042, 0.87851641270408254], [-0.54474768357062953, 0.62303825302672777, -0.80583800146399409, 0.34594811232501099], [-0.31036396242882325, -0.56242948188853092, -0.22336487915091019, -0.39223978983887853]]], [[[-0.27938145518702884, 0.77804736964504406, -0.011111792974861645, -0.20087387832153847], [-0.31688601479435285, -0.82880241287501444, -0.5794350312586245, -0.92630428602849646], [-0.88496830540835147, -0.083138586748798371, -0.95091261792702308, 0.31621428161145904]], [[0.17190403532611431, -0.55658920241117382, 0.68690100106161078, -0.31096726230017713], [0.70230740428853178, -0.74569911664915844, -0.45156846173579446, -0.12422693360460091], [-0.98904485448914325, 0.57482038825465653, -0.46254001816981405, -0.82707533787151544]], [[0.70924494286527739, 0.050750820630569571, 0.7836413546922556, 0.32035567617899541], [0.76832143595594471, -0.36561424057317549, -0.26942425383212854, 0.8169272968127963], [0.73410520671439561, 0.53990562381492802, -0.75655688584516367, 0.20038872707677813]]]])
5314          res=trace(arg,0)
5315          ref=numarray.array([[0.38177799761765274, -1.1259890020039884, 2.2919129837321441, -0.19743859762243776], [1.617058562672204, 0.099577255022381239, -0.88529976005113031, 1.0945858494491976], [1.2981192550085916, 0.59763403957169858, -0.57922175479673887, 0.5259276074063548]])
5316          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5317          self.failUnlessEqual(res.shape,(3, 4),"wrong shape of result.")
5318          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5319       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5320       def test_trace_array_rank4_offset1(self):
5321          arg=numarray.array([[[[-0.92784167492855762, 0.60248011777483357, 0.031225045884133662, -0.34745967830316826], [0.027129935696126095, 0.48013540111896069, -0.72517396078746899, 0.95371795346554977]], [[-0.72505453089243255, 0.007597625514423223, -0.98625885351348153, 0.1682118209020349], [0.64064186297081394, 0.71427245750801327, 0.92923384113278851, -0.95941382390217966]]], [[[-0.028684917730743331, 0.090779113645879095, 0.63429381954611386, 0.10940719084580586], [-0.067228410948499295, -0.45721418427291693, -0.47873249885715663, 0.21835729813061455]], [[0.51965061080506958, 0.75785664872937386, -0.33550922445148745, 0.66896630346996044], [0.7176636344292453, 0.56712006361198353, -0.0048458303867575658, 0.17607306572513104]]], [[[-0.76702410971539137, -0.14274699317299167, 0.28278039945268163, -0.7080275942808707], [-0.20539126224132875, -0.9172867821862789, -0.49799499531251512, 0.092624073961727005]], [[-0.59138766627665462, -0.46807518914541313, -0.9104444200453814, 0.11708065088439268], [-0.4668904319703393, -0.32397199958420608, 0.059672712734865518, 0.99088767923010379]]]])
5322          res=trace(arg,1)
5323          ref=numarray.array([[-0.28719981195774369, 1.3167525752828468, 0.96045888701692217, -1.3068735022053479], [0.68897871669850197, 0.65789917725786262, 0.62944798915935629, 0.2854802565709369], [-1.2339145416857307, -0.46671899275719775, 0.34245311218754715, 0.28286008494923309]])
5324          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5325          self.failUnlessEqual(res.shape,(3, 4),"wrong shape of result.")
5326          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5327       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5328       def test_trace_array_rank4_offset2(self):
5329          arg=numarray.array([[[[0.13031826439397065, -0.1789298694401773, -0.64989661091089923], [-0.27327904713332241, -0.61679868125863613, 0.18686962619451131], [0.66553888328001665, -0.99338065217851401, 0.70085830978616381]], [[0.41407307674031446, 0.70389105425033516, -0.85751604971482887], [0.60932599055523418, -0.027942855299541769, 0.42976951506702132], [-0.45560078263789872, 0.87711330379085095, 0.35291250996606194]]], [[[0.0085795831135988543, 0.18775995060321127, 0.92382753051777255], [0.2329781632292165, 0.19209684057591137, 0.76180170447446627], [-0.22107729339810578, -0.063955483745411046, -0.4596195798551701]], [[-0.87062584076293215, -0.97712503659797512, -0.36609561443173488], [0.025990661451154473, 0.13804237670844399, -0.3575230803781464], [-0.089217826694265812, 0.33387178666740835, -0.016589404783220019]]], [[[-0.52969301393409496, 0.99628743319515278, -0.68831285828334776], [0.17295713720552652, -0.10633816939243634, -0.75799480026623534], [0.049894479253417279, 0.97106513893516566, 0.19808838402211992]], [[-0.57109506688962441, -0.21527086508290272, -0.81800681445834766], [0.53496737929008442, -0.43086860643255731, -0.93046040310632749], [0.05573925281031844, 0.63980368481088545, -0.10083869982683513]]]])
5330          res=trace(arg,2)
5331          ref=numarray.array([[0.21437789292149834, 0.73904273140683463], [-0.25894315616565988, -0.74917286883770817], [-0.43794279930441138, -1.1028023731490169]])
5332          self.failUnless(isinstance(res,numarray.NumArray),"wrong type of result.")
5333          self.failUnlessEqual(res.shape,(3, 2),"wrong shape of result.")
5334          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5335       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5336       def test_trace_Symbol_rank2_offset0(self):
5337          arg=Symbol(shape=(4, 4))
5338          res=trace(arg,0)
5339          s=numarray.array([[0.53170042435493015, -0.81813085266388819, 0.49776488697815036, -0.59308638942814595], [0.16020418993822272, -0.20879594431552184, -0.40438865299637583, -0.90709844441071552], [0.64375666096961881, -0.27517391230452315, 0.8807123412925002, -0.77747601880843309], [0.81384867834518992, 0.81300711507303358, -0.33478570998135648, -0.42745393629191275]])
5340          sub=res.substitute({arg:s})
5341          ref=numarray.array(0.77616288503999575)
5342          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5343          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5344          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5345       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5346       def test_trace_Symbol_rank3_offset0(self):
5347          arg=Symbol(shape=(6, 6, 2))
5348          res=trace(arg,0)
5349          s=numarray.array([[[-0.89676591931694349, 0.95604978719490608], [-0.82494255250502535, -0.77648887659173571], [0.7124204966499359, -0.47918747979862353], [0.94253036599801887, -0.49525180470205044], [0.24456142502672207, -0.30004097354106674], [0.65768225250028256, 0.00086818156620172005]], [[-0.504909745584186, 0.85097185047497104], [0.81641180829143756, -0.39468331897086184], [-0.70635046887704656, 0.49890292017932292], [-0.92440555351961806, -0.06419549869111596], [-0.39579576071153322, -0.20288275718588511], [-0.77089133943822885, -0.0011741243199028251]], [[0.31645143359889882, 0.54967022870454052], [-0.84917283992702641, -0.22946831794661371], [0.30750555249731204, -0.53374075034351387], [-0.21836207994144496, 0.23970091940304572], [-0.44234380858409805, 0.69989440592744412], [0.41425030688237774, 0.31712081171648743]], [[-0.97517653574764496, 0.67982884392918397], [-0.73930329355781388, -0.36444953847109773], [0.8181436780917517, 0.67303437888161155], [0.77329820758899226, 0.93569742730703287], [-0.060808707180728616, -0.97611897228764177], [-0.65303659315383022, -0.49167562112149721]], [[-0.16892454101192822, 0.38900177003547309], [-0.54962224419488726, 0.60406179433423168], [0.92813587095618688, -0.38698563342530523], [-0.29798525812007171, 0.35475928811273061], [0.50046711017097834, 0.53301179072038263], [0.024397390795399598, 0.80190468820066285]], [[0.10762880008184106, -0.67082393783832939], [0.50591078418917101, 0.9772511084203972], [0.79683226798124229, -0.38827988854229489], [0.64666546087911647, 0.14312023138737207], [0.19844882751956772, -0.4568789350267275], [0.66590612284776474, -0.59174059377329358]]])
5350          sub=res.substitute({arg:s})
5351          ref=numarray.array([2.1668228820795417, 0.90459434213465229])
5352          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5353          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5354          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5355       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5356       def test_trace_Symbol_rank3_offset1(self):
5357          arg=Symbol(shape=(6, 2, 2))
5358          res=trace(arg,1)
5359          s=numarray.array([[[-0.7977094488200962, 0.063978285487136244], [-0.97789454136636134, -0.96688805661820409]], [[0.04895543747537956, -0.063328269776439239], [0.21235577548435702, 0.28138547228954769]], [[0.90551519491645149, -0.42412566434759813], [0.28969999227312093, -0.3663613951232576]], [[0.17193620470155002, 0.41896450861309353], [-0.013424723566530128, -0.74392980520702934]], [[-0.87732745391242406, 0.54830351236065589], [-0.43758121288766083, -0.55971209822943058]], [[0.20614861931150297, 0.94201858882027967], [0.58259554554668425, -0.025276305291194401]]])
5360          sub=res.substitute({arg:s})
5361          ref=numarray.array([-1.7645975054383003, 0.33034090976492725, 0.53915379979319389, -0.57199360050547932, -1.4370395521418546, 0.18087231402030857])
5362          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5363          self.failUnlessEqual(res.getShape(),(6,),"wrong shape of result.")
5364          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5365       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5366       def test_trace_Symbol_rank4_offset0(self):
5367          arg=Symbol(shape=(3, 3, 3, 4))
5368          res=trace(arg,0)
5369          s=numarray.array([[[[-0.80654952480556119, -0.69443824274047494, 0.78496167328791899, -0.42575436767465313], [0.12319287448070959, 0.75938161027494577, -0.4836414442506658, 0.43562960805621453], [0.20634708199571739, -0.70115826289934913, 0.2051734517191024, -0.3747855487381837]], [[0.38156829402705283, -0.73109343527655879, 0.4878500108749706, -0.32586491969049236], [0.089253266683069432, 0.19147413377319422, 0.88062066165505448, -0.15107823177659108], [0.74697716377640733, -0.6515229200918955, -0.3782893155439353, 0.47949490917041504]], [[0.65423612657751273, 0.79741744675367565, 0.55047425317188226, 0.90203544636176347], [-0.13377940079141148, 0.17280231055526629, 0.45003662395977972, 0.067433226867590346], [-0.22246738734039972, 0.38787020561779761, 0.35328502477232915, -0.10075668556673945]]], [[[-0.22329271744241797, -0.2707130236297024, -0.67541180823791946, 0.29445895278940659], [0.03095492342980255, 0.030262307093634977, 0.22659499566711006, 0.13568939898698895], [0.53495887340119186, -0.89494783812407808, 0.72903420908544447, -0.6940338048877337]], [[-0.67969622433272625, 0.045564774685938003, -0.085529480951626269, 0.32350565260596498], [-0.607413340326173, -0.05785501285407979, -0.72320594221116075, -0.48523666261110754], [-0.25900470283804955, 0.4959065468649948, 0.63349492718807388, -0.2017535601635978]], [[0.30350420718603899, 0.59176145201248787, -0.05893817640727006, -0.37431311327659222], [0.93988371599771248, 0.44898229362807229, -0.5009555998961428, -0.50488360148206923], [0.3810666681736814, 0.095905142522387354, -0.34696087767540829, 0.79409668966690927]]], [[[-0.90218333710423271, 0.86062329059996312, 0.1751195479385188, 0.71807543573065469], [-0.80031400477753589, 0.68485605290669604, 0.021018247021905578, 0.4533962598771164], [0.83575260591146128, 0.40206880744947626, -0.17463218432087935, -0.97329531576870409]], [[-0.64046742658297706, 0.57131672632728048, 0.26576340899352013, 0.26536529437565148], [0.5382705073633467, 0.50731197528556748, -0.71216687584177651, 0.9955562159049407], [0.32808570383408009, 0.16778611097035334, -0.10027128196717383, -0.48343905103716267]], [[0.8184542836987525, 0.52730109695941119, -0.88360001933499466, -0.47592646674336758], [0.71390985124247774, 0.051088798569194571, 0.67946117846981746, -0.45808667421780025], [-0.58858643667224553, -0.030929026706359997, -0.27948704074812269, 0.60160600529975539]]]])
5370          sub=res.substitute({arg:s})
5371          ref=numarray.array([[-0.66779146543953494, -0.12157237109512575, -0.18416782699870193, -0.57817518181205574], [0.22968938539701433, 0.75261539599006055, -0.52738620799200908, -0.50769372877269325], [-0.64124405751457769, -0.23618074274071432, 0.55918133815905358, 0.025066896397973881]])
5372          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5373          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5374          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5375       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5376       def test_trace_Symbol_rank4_offset1(self):
5377          arg=Symbol(shape=(3, 2, 2, 4))
5378          res=trace(arg,1)
5379          s=numarray.array([[[[0.67935028030080047, 0.87945762686854323, -0.030928776242075573, -0.12158036010546125], [0.24657234583687049, -0.79132752522266547, -0.40360303645871221, 0.54918832044309918]], [[-0.65986516747351875, 0.96638497681200985, 0.63728797931216952, -0.94035388523784835], [-0.23605266636044298, -0.96159056440728508, 0.92548159892971738, 0.38460211142921508]]], [[[0.0084721881107214791, 0.65963525484863594, 0.83038538937978146, 0.79420214695732749], [-0.60657534901222987, 0.62017585161777133, 0.038076548988372316, 0.45500630846667889]], [[0.35671818765868735, -0.78603103654019124, -0.47333087486303249, -0.689826710860731], [-0.94506875200451246, 0.86200222663885073, 0.69208520709875865, 0.38395127433652121]]], [[[-0.9763113290056924, 0.3429641288733174, -0.71779054851061197, 0.081219493894409966], [-0.2392668059090437, 0.23623854037827141, 0.60690820644969601, -0.90326490974279161]], [[-0.31549704230059428, 0.048655767557006735, -0.22849405041132687, -0.35309647594688798], [0.41606901157939413, -0.2735829973707995, -0.41739605378032718, 0.6066947777863847]]]])
5380          sub=res.substitute({arg:s})
5381          ref=numarray.array([[0.44329761394035749, -0.082132937538741846, 0.8945528226876418, 0.26302175132375383], [-0.93659656389379098, 1.5216374814874867, 1.5224705964785401, 1.1781534212938487], [-0.56024231742629826, 0.069381131502517901, -1.1351866022909392, 0.68791427168079466]])
5382          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5383          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5384          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5385       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5386       def test_trace_Symbol_rank4_offset2(self):
5387          arg=Symbol(shape=(3, 2, 3, 3))
5388          res=trace(arg,2)
5389          s=numarray.array([[[[-0.43379109997130949, -0.67189802508010876, -0.76838375769062317], [0.36956867556439454, 0.15750933013402357, 0.60890180315702702], [0.75504509257177355, 0.00093170425272193214, -0.60057980545979373]], [[0.029638066249704442, 0.98470665559384063, 0.38850159850271604], [-0.057921882937528535, 0.25260595789798157, -0.47461155702456748], [0.3538224192887085, -0.022692086367159137, 0.20841169768838075]]], [[[-0.8827077102270513, -0.2681753397732729, 0.45996386413852175], [0.79094787422332025, -0.77668488346273334, -0.4134155484834694], [0.39816757111729095, 0.67661052433840085, 0.50946905439722934]], [[0.014477455133028228, -0.80240877745916417, -0.42967869209737497], [0.54259276240450438, 0.39540943896966629, -0.92884898819887329], [0.56909547571069008, 0.69849658256509883, 0.35168988071735297]]], [[[0.76703210261643284, 0.56304082158407076, 0.90973794572357214], [-0.99504722326197359, 0.50876850644469274, -0.53578805027456489], [-0.83168706913026602, 0.18635945312951985, 0.15220552320592673]], [[-0.44163594145490803, 0.36619557701582539, -0.61146289808789267], [-0.19419519121700657, -0.47906398330805788, 0.3940088527490806], [0.96446396182503746, -0.50231016580819254, 0.10716862231226565]]]])
5390          sub=res.substitute({arg:s})
5391          ref=numarray.array([[-0.87686157529707964, 0.49065572183606676], [-1.1499235392925553, 0.76157677482004749], [1.4280061322670523, -0.81353130245070027]])
5392          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
5393          self.failUnlessEqual(res.getShape(),(3, 2),"wrong shape of result.")
5394          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5395       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5396       def test_trace_constData_rank2_offset0(self):
5397          arg=Data(numarray.array([[-0.29383963344234121, -0.015014018118957306, 0.99753580206723647, -0.50635236021974106], [-0.37905392076965927, 0.31528456608530631, 0.86721682590868698, 0.51278396705456841], [0.29008438489433841, 0.10101024328890973, 0.66687277847571313, 0.6654399862684186], [-0.5902980567859355, -0.57191420388096859, -0.51058587062074134, 0.93677538124606463]]),self.functionspace)
5398          res=trace(arg,0)
5399          ref=Data(1.6250930923647429,self.functionspace)
5400          self.failUnless(isinstance(res,Data),"wrong type of result.")
5401          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5402          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5403       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5404       def test_trace_constData_rank3_offset0(self):
5405          arg=Data(numarray.array([[[-0.72642799948220493, 0.79232473269996073], [-0.67563422655155247, 0.20011212614972362], [-0.59028571211858649, 0.14506117798083507], [0.47240012720854407, -0.82029555113272101], [-0.58454362400865878, 0.63215213979312868], [-0.35007656466177095, -0.1470415518683037]], [[0.42763460915772211, 0.8357573230966695], [-0.29914137624741732, -0.036306874859310279], [-0.51046716828256211, -0.85831582073872537], [-0.79470878322572314, -0.48987591183092638], [-0.86974326209750896, 0.70916592312129745], [0.83868372787049505, -0.10785599577865157]], [[-0.058672803278049468, -0.14146375774695574], [0.17727056643394556, -0.48058347796639467], [-0.83011490290698431, -0.63504062113632753], [0.086833789382744442, 0.70068497275513919], [0.49044532362179361, 0.40352559278906575], [-0.88547213401229574, 0.87226874572961344]], [[-0.33114461927211525, 0.0027119570097013934], [-0.37590722158855527, 0.2213145859812935], [0.80071873391378312, -0.41643470039851649], [-0.58961378449755419, 0.93123715794003958], [0.02582176095827271, -0.53120064845162362], [-0.38118292706842039, 0.98328185978424587]], [[0.53642120847771513, -0.26939855882552544], [-0.22456707784987806, -0.22452517341877654], [0.89817688350629865, -0.63775048322698091], [-0.76799424555480655, 0.92000058433888654], [0.36620149364765475, 0.34379452633744956], [-0.59690996179249978, -0.59279936908563813]], [[-0.59055334860005648, 0.30644018478641044], [-0.25015804641416217, -0.49250326577772507], [-0.12727433609341832, -0.35398126798225626], [-0.56502814650267053, -0.96640875351734778], [-0.51485842473096888, -0.31753865090662758], [-0.63020882370649534, 0.61645627794582958]]]),self.functionspace)
5406          res=trace(arg,0)
5407          ref=Data(numarray.array([-2.7093053931930013, 2.0124651989276416]),self.functionspace)
5408          self.failUnless(isinstance(res,Data),"wrong type of result.")
5409          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5410          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5411       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5412       def test_trace_constData_rank3_offset1(self):
5413          arg=Data(numarray.array([[[0.27352469692010906, 0.47078446143689212], [0.57479782614850539, -0.0051486191501395329]], [[0.74361396403981384, 0.25515510619301329], [-0.61255554527004286, -0.46948770334026335]], [[-0.028715409681372206, 0.070901178629972694], [-0.47846874064507117, -0.91959320136358702]], [[-0.24835828088751577, 0.23671885472681842], [0.99388364258199013, -0.23721426553099789]], [[0.19787821531251604, -0.77414401933415267], [-0.6848568761717686, -0.22644337787735802]], [[-0.78546754720422962, -0.65168742945227121], [-0.26014163072111196, -0.26194458519933228]]]),self.functionspace)
5414          res=trace(arg,1)
5415          ref=Data(numarray.array([0.26837607776996952, 0.27412626069955048, -0.94830861104495923, -0.48557254641851366, -0.028565162564841984, -1.0474121324035619]),self.functionspace)
5416          self.failUnless(isinstance(res,Data),"wrong type of result.")
5417          self.failUnlessEqual(res.getShape(),(6,),"wrong shape of result.")
5418          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5419       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5420       def test_trace_constData_rank4_offset0(self):
5421          arg=Data(numarray.array([[[[0.67837901384728561, 0.25230684578079843, -0.18006172651018115, -0.18742559018056171], [0.25980554035178893, -0.60710586338433759, 0.18529181621885771, 0.06454562228317684], [-0.89720749423697344, -0.809936419954433, -0.52546885113780628, -0.65826181914830206]], [[0.75126603048955443, 0.41791482287477688, -0.18708594285812397, -0.097592007674713432], [-0.30556054895669615, -0.25367425753154871, -0.65986245393338994, 0.49830950398371265], [-0.74835162221267404, -0.98775159055059558, 0.53343998083071287, 0.58249266652470078]], [[0.72661613097074818, 0.22851198720172761, -0.38897158619501715, 0.15133995066275441], [0.76231929070207505, -0.87183861352936654, -0.9162704267412165, -0.075190375042774704], [-0.99789286156015344, 0.41046263149263118, -0.72945251192102378, -0.59631547494176385]]], [[[-0.27663864530792637, -0.91812683979135334, 0.5568519562913512, -0.31904133788107036], [-0.48634727640176045, 0.87978759058913414, -0.4631455206362578, -0.35771439543824557], [-0.0088863660929114907, 0.67411887052330854, 0.43694758100285558, 0.13263535729230225]], [[-0.047911420964740215, -0.1671659731804469, -0.79106159933094444, -0.60086616171961471], [-0.40660682701782869, -0.65857886957039002, 0.97138661007671434, -0.38521124487194713], [-0.99504601002533355, 0.038715505103106729, 0.27375528366649449, 0.51179190061643776]], [[0.17226508653462647, 0.41821768543572513, 0.99025384379339765, 0.42934653741475604], [0.94505216727849306, -0.90852488045982582, 0.99963241021520122, 0.32009293199423694], [0.64969595277507719, -0.81807980261861268, 0.63135375645829073, 0.31133912070438985]]], [[[-0.81843681081377451, 0.62297813580429251, -0.64834999047301412, 0.31879083594375723], [0.5745557058624462, -0.31209122247715793, -0.91449671557843981, -0.28521064904747151], [-0.11835330152389645, 0.23564571048634719, 0.21055665107048438, -0.84463421709998987]], [[-0.16113935663618451, -0.79196713229468929, -0.51417934429324008, 0.54945395167798505], [0.76643759834273495, -0.47795914006001694, 0.43614611442999918, -0.17337837227416975], [0.50429854624245429, -0.91686495814729718, -0.73068569106157333, 0.70282293932303208]], [[0.24655393516994573, -0.36508446162486963, -0.18165603004763731, -0.60679606785622919], [0.62995050624366744, 0.50604553586174239, 0.2139378361831199, 0.033810482605382219], [-0.21127570703083398, 0.61056026945659569, -0.94937237529332541, -0.64919134337137296]]]]),self.functionspace)
5422          res=trace(arg,0)
5423          ref=Data(numarray.array([[0.87702152805249112, -0.2799435890245181, -1.1527793558887629, -1.3950878197564056], [0.48314921957762769, -0.75963919709298522, 1.3706162624786919, -0.28685513998338807], [-2.1035292112931412, -0.16066064539473057, -1.2010859427646372, -0.79566126190323727]]),self.functionspace)
5424          self.failUnless(isinstance(res,Data),"wrong type of result.")
5425          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5426          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5427       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5428       def test_trace_constData_rank4_offset1(self):
5429          arg=Data(numarray.array([[[[-0.16696076135170923, 0.82974391265868208, -0.078680670490009375, -0.96835524907764126], [0.54969239234040534, 0.17623541766186968, 0.077019704254756016, 0.57636452671928362]], [[-0.4519311176106926, 0.57880525532235882, -0.0015113586612311991, 0.31438699743750309], [-0.46119335345094092, 0.59471868696549524, 0.64818472484469392, -0.7434166956705377]]], [[[-0.3104928944593035, 0.89709092416386893, 0.3374479306116227, -0.56706034715284614], [0.52964596335340208, 0.062265529064360114, -0.66426921214265189, 0.0099179068655548264]], [[0.0042797304397270697, -0.68728374808571213, 0.20538696492502284, -0.82057659071817879], [-0.12466108726578962, 0.052484065740935115, -0.28252863583893451, 0.42076514415105537]]], [[[-0.65642721290351291, 0.72607023613257682, -0.075581205318460798, 0.76265280933396595], [0.9863819936467153, 0.46861308614825292, 0.25011512506209099, -0.088132594048707213]], [[0.12851311890909933, -0.26566989109689865, 0.44009914867510891, -0.30062749250691967], [0.89182785391555042, -0.54420395388411191, -0.9018886462510296, 0.95827128488931823]]]]),self.functionspace)
5430          res=trace(arg,1)
5431          ref=Data(numarray.array([[-0.62815411480265015, 1.4244625996241773, 0.56950405435468454, -1.711771944748179], [-0.43515398172509312, 0.94957498990480405, 0.054919294772688199, -0.14629520300179077], [0.2354006410120375, 0.18186628224846491, -0.9774698515694904, 1.7209240942232842]]),self.functionspace)
5432          self.failUnless(isinstance(res,Data),"wrong type of result.")
5433          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5434          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5435       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5436       def test_trace_constData_rank4_offset2(self):
5437          arg=Data(numarray.array([[[[-0.98482921887938679, -0.2021932043246204, -0.43931510971992593], [0.82500558882646424, -0.94073688978501102, -0.85123670983501043], [0.31094599072729778, 0.12059062935396159, 0.45095349007500651]], [[0.10491489308253454, -0.87224687812665835, 0.85946921554980338], [0.20110899808432126, -0.04819131401865584, -0.65225345772055876], [0.43197594848373377, -0.8665825801549325, 0.68414135494343808]]], [[[0.82421905238462712, 0.05713259985882635, 0.88279598225821787], [-0.2098145249261274, 0.022164492617607445, -0.54619059245669699], [0.0062526761224697136, -0.13250141161679396, 0.85642390101957422]], [[0.88057912670407634, -0.059756350737471209, 0.35828573888292059], [0.49077984989887513, 0.8028691375260737, -0.93700752416276556], [0.030934159674997685, -0.60451701161112292, -0.65521990807624797]]], [[[0.0070660955019832272, 0.87011155990448241, -0.32286449245280857], [-0.24887688324443102, -0.18727119138654746, -0.90048655101564057], [0.30874988433738726, -0.69579883453454605, 0.78507788657918276]], [[0.18716153278559133, 0.20495393697585418, -0.42114034048974114], [-0.72877450302661506, 0.57308411806594006, 0.70745122427680229], [0.13182579049068832, -0.83070067184375551, -0.22593153722147408]]]]),self.functionspace)
5438          res=trace(arg,2)
5439          ref=Data(numarray.array([[-1.4746126185893913, 0.74086493400731679], [1.7028074460218088, 1.0282283561539021], [0.60487279069461852, 0.53431411363005732]]),self.functionspace)
5440          self.failUnless(isinstance(res,Data),"wrong type of result.")
5441          self.failUnlessEqual(res.getShape(),(3, 2),"wrong shape of result.")
5442          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5443       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5444       def test_trace_expandedData_rank2_offset0(self):
5445          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5446          arg=msk_arg*numarray.array([[0.11566446254344553, -0.4745105734645696, -0.87728089123849706, -0.30742134665898813], [0.64561603368593645, -0.16643615643478848, -0.7068536821797744, -0.033045748559738408], [0.32071043030768398, 0.22106761892996096, 0.48388048184729837, 0.74228108665057824], [0.41235289044686274, -0.80515202915608386, -0.50750243672304451, 0.19620812039387592]])+(1.-msk_arg)*numarray.array([[0.6982051620420755, -0.43997510892232849, 0.31785539449789679, 0.77071019636847571], [0.25437948245168607, 0.87309054348917914, 0.40806383784241795, 0.23697269987364522], [0.76503085553268702, 0.54594905359750445, -0.63787892882701391, -0.43923459263360387], [-0.22326896676087116, -0.68233388681771623, 0.44544487240308017, -0.13913483142044614]])
5447          res=trace(arg,0)
5448          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5449          ref=msk_ref*numarray.array(0.62931690834983134)+(1.-msk_ref)*numarray.array(0.79428194528379459)
5450          self.failUnless(isinstance(res,Data),"wrong type of result.")
5451          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
5452          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5453       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5454       def test_trace_expandedData_rank3_offset0(self):
5455          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5456          arg=msk_arg*numarray.array([[[-0.66027506839281647, 0.11166612285841016], [0.42749286897655625, -0.93865817184981437], [0.15068940524255603, 0.52349452094956739], [0.27687559884096458, 0.066986941961115765], [0.93180835331970946, -0.48756585147447229], [0.65280839067465135, -0.71921262071024761]], [[0.11618442368982751, -0.4763658244658322], [-0.50020128416710752, -0.25851957859869312], [0.35878292067616147, -0.38038146181290644], [0.93041110099841817, 0.029846232912715598], [-0.45141831725121584, 0.28948945003451643], [0.32280124045787928, 0.053742832260912587]], [[-0.98592436891189683, 0.71413775868480056], [0.046660357647682282, 0.98162830306990978], [0.58933281142936988, 0.22717987654775929], [0.71293710502335106, 0.73508206251418873], [-0.61306596901927679, -0.63773297908928717], [0.66040111118536293, -0.87407302149827326]], [[-0.67220137400111146, 0.9753868329755222], [0.37836258737909279, -0.76957121571717235], [-0.50213275436171911, -0.070066516163526771], [-0.58706972621765052, 0.77480496092018991], [0.17595133543567765, -0.67397634261638495], [-0.88890284486005799, -0.69276478680832065]], [[0.93447809528654435, 0.21446672025978786], [-0.018401823547098628, -0.31000980913085052], [0.5413158316784219, -0.058395872945901983], [-0.54734531427605515, 0.28202816017233179], [-0.69286581846548523, 0.82432638767569344], [-0.87062165825132021, -0.93175755696284512]], [[-0.65710236849233516, -0.62035012520073329], [-0.50968063974239408, -0.93313959756872777], [-0.35391354855647905, 0.75699472909905396], [0.11178875277715772, 0.072002604708961249], [-0.83779828776596932, -0.90850093178213798], [-0.68468230379800277, -0.99110190358689487]]])+(1.-msk_arg)*numarray.array([[[-0.99848839209688167, -0.644631003682262], [-0.48778615498860289, 0.30351281670072061], [0.35476651624916067, 0.65677420217236393], [0.50513285317507672, 0.38249927932844585], [0.37184137033045817, -0.014062623855171763], [0.20346283701971224, -0.90065418094786609]], [[-0.44711449100012057, 0.06097628012933809], [0.80356090400302205, 0.27132926350242892], [0.98253752709557163, -0.59382185199137427], [-0.25845751522938087, -0.38353350312948487], [-0.33300811027660804, -0.93105133171802001], [-0.26330496922471625, -0.50428263033869603]], [[-0.81751144420930899, -0.30764780803870528], [-0.78647633040943976, -0.91372171625429766], [0.20200739094322584, -0.21172544950311645], [0.9090164133708083, 0.63061458792814884], [-0.95363552021907294, -0.47103249447229723], [0.84223778501992297, 0.86715821546071359]], [[0.15707485130940202, -0.2899064141846559], [-0.84537923972525575, 0.015976015150186429], [0.74386525719705388, 0.12827716540476786], [-0.48285012973111252, 0.66655440178479153], [0.35341753421674826, 0.96292028306601618], [0.90070502993119717, -0.45105023721624105]], [[0.28873136026507829, -0.080104489353869379], [0.063967147741553321, 0.33578030011784255], [0.5987855411248364, 0.71129093318111458], [-0.2770293252781042, -0.69711328956064111], [-0.66489886266023213, -0.64595981816454051], [-0.96026557406741264, -0.78155062841685208]], [[0.55660561073469239, -0.54703296386818789], [0.19275274446148116, 0.29276600726776647], [0.012541645015802017, -0.30750896443491094], [0.18531754942814893, -0.19424254722285217], [0.36728317133983568, -0.86908257258996935], [0.6986276697478373, 0.35789358454072695]]])
5457          res=trace(arg,0)
5458          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5459          ref=msk_ref*numarray.array([-2.5357613896116926, 0.6883558658164648])+(1.-msk_ref)*numarray.array([-0.44204141979414113, -0.20653902152197157])
5460          self.failUnless(isinstance(res,Data),"wrong type of result.")
5461          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
5462          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5463       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5464       def test_trace_expandedData_rank3_offset1(self):
5465          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5466          arg=msk_arg*numarray.array([[[0.54832323387675541, -0.8708353613360531], [-0.61626047688459518, -0.49478488575159019]], [[-0.83629746484611744, 0.47083140193399564], [-0.23408945961247651, 0.039929220485188655]], [[0.75625307461269897, 0.14019030241332509], [-0.27268120332088674, -0.72257006486353137]], [[-0.55826466629659932, 0.73521559094994182], [0.91050139917670103, 0.24001369605640965]], [[0.25393441044315046, -0.90266415386637022], [0.633218691079662, -0.6608559941901635]], [[0.59063791740460214, -0.6151947887528777], [-0.11030206731241865, 0.87604601489174794]]])+(1.-msk_arg)*numarray.array([[[-0.59125906679462714, -0.70711124409167958], [0.27856680992337113, -0.086397184806098037]], [[-0.86220968392839969, 0.26537880004255987], [0.93545519643136954, -0.48749383545450575]], [[0.06022485624330054, -0.15164028816670005], [-0.99602031320916007, -0.96448449281376236]], [[-0.57562468885884877, -0.44453327158851774], [-0.021996078817393627, -0.60252338148303708]], [[-0.043233633786327053, 0.82352268170410592], [0.74140809698310162, 0.89351886922223023]], [[0.5483633681991571, 0.85381405316771697], [-0.85793760080248904, 0.12725561555427167]]])
5467          res=trace(arg,1)
5468          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5469          ref=msk_ref*numarray.array([0.053538348125165225, -0.79636824436092879, 0.033683009749167603, -0.31825097024018967, -0.40692158374701304, 1.4666839322963501])+(1.-msk_ref)*numarray.array([-0.67765625160072518, -1.3497035193829054, -0.90425963657046182, -1.1781480703418858, 0.85028523543590318, 0.67561898375342877])
5470          self.failUnless(isinstance(res,Data),"wrong type of result.")
5471          self.failUnlessEqual(res.getShape(),(6,),"wrong shape of result.")
5472          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5473       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5474       def test_trace_expandedData_rank4_offset0(self):
5475          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5476          arg=msk_arg*numarray.array([[[[0.80505741203337466, -0.80734097237269142, 0.71509731690044021, -0.34102290030005511], [-0.27163627689262082, 0.96803797983982598, 0.39024478352616399, 0.45615965347192255], [-0.2492201152095701, -0.53890105212209205, -0.26097899477118602, 0.098974826517917558]], [[0.4109524481147584, 0.32745334361464762, 0.88135376430664136, -0.88007501076892969], [-0.2546833692939714, -0.62753769519110136, 0.2296060741039474, 0.57476321487434467], [-0.50883771898767782, 0.0015685044689357497, -0.66998456995491273, 0.34968106764759765]], [[-0.64126116758172813, -0.55568939471539136, 0.23227193794020073, 0.7330369779999284], [-0.3126458847194391, 0.94502653499662759, -0.5936869592079892, 0.25705352992342645], [-0.46308398732466771, 0.37874287044184518, -0.030587221468148629, -0.80649056741936587]]], [[[-0.55428203289059597, 0.39384118967627457, 0.21400763473662332, -0.05778739181646686], [0.89572023189653716, 0.64808964944115921, -0.76081286684220872, 0.29643887696780724], [0.92808629225161865, -0.5927287532507779, 0.080932430903517538, 0.6300942109115113]], [[-0.050786057311087207, 0.82696470921887877, -0.52069224695178296, -0.19457105492027638], [0.20464920722411661, -0.5846772435204266, 0.15252929823896588, -0.40702515404436856], [0.30048751596882983, -0.77039288688309648, -0.25964577407800782, -0.92201363813026638]], [[0.30524909950231782, -0.078384011294031719, 0.54945703430160053, -0.79337517722753814], [0.23862358165502573, -0.21132833792836037, 0.67284298273913512, 0.47737327757131043], [-0.57895539269247887, 0.30865689803953855, 0.64471920728490284, 0.56866096983603387]]], [[[0.59411993702838983, -0.55286609932973252, -0.11704951317866552, -0.1799876691786706], [0.7044831381893395, 0.41444296685797211, 0.035873800421900803, -0.3077870122658044], [-0.5537875848354139, -0.09294785912808079, 0.60281458905112695, -0.25586177426534462]], [[0.073972334874764956, -0.17863943805405702, -0.40192876955035106, 0.49779070006291537], [-0.78351344470846263, 0.066371129010451391, -0.68107079280677119, 0.27027467137931782], [-0.08733315269502917, 0.17609544147485212, -0.84985580086147139, -0.57706563708906877]], [[0.80900077345628585, 0.54299611298654993, 0.36197457335708672, 0.78822507164521771], [-0.57823417843160185, 0.24045072531447076, -0.21646907149363126, 0.39109919937326909], [0.86048045599481848, 0.5316575326401245, 0.17357533828519278, -0.035528536537402955]]]])+(1.-msk_arg)*numarray.array([[[[0.70941815199826297, -0.11292617215886147, 0.77501725501558871, 0.55963189951353853], [-0.7796391490563328, -0.73773608726012929, -0.97005387036695923, -0.89110745459054397], [0.61643890466549855, 0.36305011268742771, -0.35899006379107701, -0.89037252955545054]], [[-0.48513893441395584, -0.80463983453322796, -0.26992613069089511, 0.25377671510133326], [0.85296361003701948, -0.088353279464719492, -0.8833491655162129, -0.49061051639006448], [-0.0070639306921898015, -0.91051044523499236, 0.19421401294033869, -0.023694190336753351]], [[0.87600763033159823, -0.12842080556081559, 0.23748702101368124, -0.42712865548684986], [0.12798880486722353, -0.68743327370801688, 0.066429185783382527, 0.89836542344770587], [-0.96008406560328807, 0.69958585815823149, -0.96646148853866998, -0.19840985556590041]]], [[[-0.50676183913854866, -0.95802357084856005, 0.88072647796789671, 0.87404328671267173], [0.91057125659389504, 0.28205294652962043, -0.84518566395353356, 0.43476689284070802], [0.72919748914970839, 0.16300515512838709, 0.69548292805402645, -0.40221177456763235]], [[0.015376288615946532, -0.65336549560515977, -0.013429002513120514, 0.92410715356068551], [0.93234891088019034, -0.25180012657781981, -0.85520698120760597, 0.030845786152130295], [0.2883277702478666, 0.98831889817695329, -0.18710978196618666, 0.63191491053115234]], [[-0.35727830132105409, -0.38880115020070694, -0.41377801087774246, 0.26046673344155802], [0.46430510016515281, -0.37898634296018896, 0.80517984749417848, -0.89342861976109855], [0.39122847915190984, 0.839544668081603, 0.032449290839240641, 0.19743019769729941]]], [[[-0.40460228252750641, 0.48245356602434275, -0.39051899259424205, -0.18353327424101074], [0.97419082853471006, -0.042098069664895599, 0.89968753511941424, -0.42150619030266823], [0.7086498513346402, -0.55571035848915984, 0.5581268170564333, 0.35555965546369439]], [[0.70102153566399905, -0.00085601991690098522, -0.003295266014190501, -0.044650933649731828], [-0.69526860140456903, -0.20761407547243449, 0.93251889119089992, -0.24412708149011197], [0.079410921553375147, -0.74409430021596035, 0.10338967121074294, 0.96093957200944913]], [[-0.2191453313682481, 0.60828504356886492, 0.83999448435024604, -0.28751114677396172], [0.49008990050737888, -0.00067270376026429268, -0.37727354733847673, 0.22111819218371975], [-0.21174513129074191, 0.33959243779929893, 0.73167011601901133, -0.084743053268589774]]]])
5477          res=trace(arg,0)
5478          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5479          ref=msk_ref*numarray.array([[1.5632721281785733, 0.56261984983273727, 0.55637964330574396, 0.25263111642488623], [-0.64522124810010606, 0.62381146163387013, 0.32630501027149861, 0.44023369880082308], [0.91174785675407821, -0.77763640636506404, -0.34704943056400106, -0.85856734814975177]])+(1.-msk_ref)*numarray.array([[0.5056491092459614, -0.15800662419515632, 1.6015827368527142, 1.1962279063002623], [0.64279966233123642, -0.99020891759821339, -2.2025343989130421, -0.63914347625469392], [0.69302154362262325, 1.6909614486636799, 0.18557027026174766, -0.34320067229288798]])
5480          self.failUnless(isinstance(res,Data),"wrong type of result.")
5481          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5482          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5483       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5484       def test_trace_expandedData_rank4_offset1(self):
5485          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5486          arg=msk_arg*numarray.array([[[[0.08984283572763152, 0.55774397308602075, 0.87551033839309578, 0.99597647119622823], [0.42229013451029207, -0.69334370113115673, 0.24000324515885452, 0.42734821657622946]], [[-0.81493193917641937, -0.050594548082001589, 0.0038864544826278102, 0.052096885283608341], [0.90250995205525242, 0.70852431792468717, -0.51329731427030234, -0.35733423128402686]]], [[[0.40608243871683025, -0.23521357565080536, 0.89730267936680086, 0.047309735490747906], [-0.59393261956767396, -0.29550705351553352, 0.30755167993031152, -0.39461060352402422]], [[0.53278112038096181, -0.18809691653542338, 0.31331369186508473, -0.072624780731609606], [0.22822350853600937, -0.77304798948100206, -0.92290799290383396, -0.77844654084572884]]], [[[0.52913787058447759, -0.0060496727934438166, -0.11597929750770342, 0.34450138717310375], [0.022084213363977367, 0.65407578801966126, -0.75425196792782034, -0.75722973429394558]], [[0.98740067425091804, -0.67549616735140949, 0.62950749508587323, -0.88707486447485584], [0.060245192990180829, 0.57744779530191237, 0.37664105332815967, 0.88854593410198413]]]])+(1.-msk_arg)*numarray.array([[[[0.47417067087989362, 0.67736115892005633, -0.47715348159010551, -0.22133534252199838], [-0.65637448271923016, 0.96209293069951607, -0.36528071036921772, -0.48073633550727246]], [[-0.96698553584714331, -0.32663464055897684, -0.82564205136999669, 0.97180689930200814], [0.28291320059607195, -0.88357282368832246, 0.71368496471764575, 0.16389798613013395]]], [[[-0.46081508440668251, 0.37873602667271622, 0.60832335684486516, -0.84502188519038723], [0.19274895184009821, 0.42741773658053939, 0.30785853018719433, 0.99619445060780953]], [[0.74277555386059979, -0.49774986195020943, 0.48334133283298297, 0.75890613926618067], [-0.82416568056271866, 0.36258558577355227, 0.062026544439186537, -0.11407159191585503]]], [[[-0.36297821802040353, -0.65847019250544503, 0.60479755659167767, 0.32850256319429771], [-0.31926573823318805, 0.76520370780791147, 0.23701043523043985, -0.84107360755418736]], [[-0.94264543949346069, -0.91307915369911474, -0.44258244810340419, -0.075654165697478071], [0.089419047834058185, -0.71629556686014295, 0.17553339506971932, 0.57290908432214582]]]])
5487          res=trace(arg,1)
5488          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5489          ref=msk_ref*numarray.array([[0.99235278778288394, 1.2662682910107079, 0.36221302412279344, 0.63864223991220137], [0.63430594725283962, -1.0082615651318074, -0.025605313537033103, -0.73113680535498093], [0.58938306357465842, 0.57139812250846855, 0.26066175582045625, 1.2330473212750879]])+(1.-msk_ref)*numarray.array([[0.75708387147596556, -0.20621166476826613, 0.23653148312754024, -0.057437356391864425], [-1.2849807649694012, 0.74132161244626849, 0.6703499012840517, -0.95909347710624226], [-0.27355917018634535, -1.374765759365588, 0.78033095166139699, 0.90141164751644354]])
5490          self.failUnless(isinstance(res,Data),"wrong type of result.")
5491          self.failUnlessEqual(res.getShape(),(3, 4),"wrong shape of result.")
5492          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
5493       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5494       def test_trace_expandedData_rank4_offset2(self):
5495          msk_arg=whereNegative(self.functionspace.getX()[0]-0.5)
5496          arg=msk_arg*numarray.array([[[[-0.66853129559502222, 0.291820898682152, 0.28763294566928921], [0.90955604295816017, 0.15689918504537581, -0.84974098181736846], [-0.11864531145144963, 0.62639318585116577, 0.28878897761901667]], [[-0.81891488095094211, 0.087816450656737821, -0.61977148230317702], [-0.25672822143041052, 0.850129776941005, 0.88131009407039174], [0.68042928359428401, -0.22600045838684846, 0.29289573548364345]]], [[[0.86947162304463177, 0.83714818463465979, 0.48073227883036274], [0.74537740000749331, -0.724938999271586, -0.24964341400235268], [0.96015316466387812, -0.77803078685663474, -0.40930971981379272]], [[0.50513454444497397, 0.27333552102189596, -0.010414057530881538], [-0.56187171953000825, -0.44137302845768289, -0.29244303378144232], [-0.1881407405943325, 0.4373804442340905, 0.079976247887080687]]], [[[-0.03923293421052132, -0.83834889486007658, -0.25537540031705741], [0.85687986615403067, 0.62632041906338909, -0.28611872462260002], [-0.080621198164744223, 0.92763342316339847, -0.96379876567397837]], [[-0.51229650531528792, 0.61168109929691394, -0.48562540039833846], [0.49244617296496918, -0.34501205541607938, -0.43139933921747198], [0.97335832979343806, 0.90952427744807229, -0.79476366666508969]]]])+(1.-msk_arg)*numarray.array([[[[-0.9049127988617065, -0.77513691833851217, -0.37363048230956908], [-0.19332122397693419, -0.76584280953452466, -0.36465847067381119], [-0.93936927771468182, -0.9052541144775863, -0.44538405341396325]], [[-0.91309628219582017, -0.87504920853740842, -0.6919306085080319], [0.7357120775715762, -0.81739945020223725, -0.2499946214554134], [-0.069828197774766787, 0.97127065995603989, 0.64641336042534037]]], [[[0.98354181283512387, 0.26145468296473728, 0.67122148396418746], [-0.85594120625088976, -0.90242375185857582, 0.96277097499514519], [0.08105375151436145, 0.14214289843261119, -0.18712602171243975]], [[0.5561891002327306, -0.11458725485012078, 0.70506410495446925], [0.17668410374153187, 0.72063557456429894, -0.64688343152063466], [-0.50952512796965399, -0.097278116167972328, 0.41947753973499124]]], [[[0.47279413902758161, 0.81935636228453546, 0.87589001940363165], [0.9561752822027425, -0.6004911198517342, -0.70023577057274666], [0.86945177086287462, 0.53351985326887874, -0.89239035872981298]], [[-0.98966175755131802, -0.19919768852186159, -0.81359664155341171], [-0.28175871977250644, -0.059790145158654218, -0.0089004393110567737], [0.77373148023876048, -0.2581197388152523, 0.89448508702586982]]]])
5497          res=trace(arg,2)
5498          msk_ref=whereNegative(self.functionspace.getX()[0]-0.5)
5499          ref=msk_ref*numarray.array([[-0.22284313293062974, 0.32411063147370633], [-0.26477709604074695, 0.14373776387437176], [-0.37671128082111061, -1.652072227396457]])+(1.-msk_ref)*numarray.array([[-2.1161396618101946, -1.0840823719727171], [-0.10600796073589169, 1.6963022145320208], [-1.0200873395539656, -0.15496681568410242]])
5500          self.failUnless(isinstance(res,Data),"wrong type of result.")
5501          self.failUnlessEqual(res.getShape(),(3, 2),"wrong shape of result.")
5502          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")

Legend:
Removed from v.395  
changed lines
  Added in v.429

  ViewVC Help
Powered by ViewVC 1.1.26