/[escript]/trunk/escript/test/python/test_util_binary_with_tagged_data.py
ViewVC logotype

Diff of /trunk/escript/test/python/test_util_binary_with_tagged_data.py

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

revision 3974 by jfenwick, Thu Jun 14 01:01:03 2012 UTC revision 3975 by caltinay, Thu Sep 20 01:54:06 2012 UTC
# Line 40  from test_util_base import Test_util_bas Line 40  from test_util_base import Test_util_bas
40    
41  class Test_util_binary_with_tagged_data(Test_util_base):  class Test_util_binary_with_tagged_data(Test_util_base):
42     """     """
43     test for the operation add, mult, ..., inner, outer ...  with tagged data     test for the operations inner, outer ...  with tagged data
44     """     """
45     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    def test_add_float_rank0_taggedData_rank0(self):  
       arg0=-3.21996152464  
       arg1=Data(-0.836387503483,self.functionspace)  
       arg1.setTaggedValue(1,-4.09078868929)  
       res=add(arg0,arg1)  
       ref=Data(-4.05634902812,self.functionspace)  
       ref.setTaggedValue(1,-7.31075021393)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_float_rank0_taggedData_rank1(self):  
       arg0=1.15656159703  
       arg1=Data(numpy.array([0.18527300434515226, 3.9028868289395575]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([0.59466181569918319, -0.38092381772792905]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([1.3418346013715423, 5.0594484259659476]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.7512234127255732, 0.77563777929846101]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_float_rank0_taggedData_rank2(self):  
       arg0=-0.690514236544  
       arg1=Data(numpy.array([[-2.8218358388210927, 4.8176895379670288, -4.2099633273291071, 1.3563059106352595, 0.76604386693560755], [-2.3026044808987667, -1.6204565364989243, -1.2996343886727479, -0.43615259042735666, 3.895822349574825], [-1.3131930285570439, 2.3649362363869315, 4.8360456807779624, 0.90923542157638959, -1.617657495028614], [2.9089248915276826, 1.6228637711299898, -1.6752321575832307, -3.4793050558375871, -4.8691003996293514]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-4.0893855027509947, -0.99287206098856995, -2.6516961372545067, -1.3517078906268845, 1.9025988336912256], [4.0107968237347045, 2.2092463574962, -4.8700836684850053, -4.7756867857632859, 3.1844410533592953], [-3.8923228456447423, -4.2639004648442222, -3.4399249584816038, -3.0357632581933602, -1.0829246696317583], [3.6585932377531485, -4.0462832161874367, -4.5920918018930381, 1.1379065223468379, -2.534972298799846]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-3.5123500753648651, 4.1271753014232564, -4.9004775638728795, 0.6657916740914871, 0.075529630391835134], [-2.9931187174425391, -2.3109707730426967, -1.9901486252165204, -1.1266668269711291, 3.2053081130310526], [-2.0037072651008163, 1.6744219998431591, 4.14553144423419, 0.21872118503261717, -2.3081717315723864], [2.2184106549839102, 0.93234953458621739, -2.3657463941270032, -4.1698192923813595, -5.5596146361731238]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-4.7798997392947671, -1.6833862975323424, -3.3422103737982791, -2.0422221271706569, 1.2120845971474532], [3.3202825871909321, 1.5187321209524276, -5.5605979050287777, -5.4662010223070583, 2.4939268168155229], [-4.5828370821885152, -4.9544147013879947, -4.1304391950253763, -3.7262774947371327, -1.7734389061755307], [2.9680790012093761, -4.7367974527312091, -5.2826060384368105, 0.44739228580306545, -3.2254865353436184]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_float_rank0_taggedData_rank3(self):  
       arg0=0.538826586487  
       arg1=Data(numpy.array([[[0.10229158084715273, -3.539621166350424], [4.688454563837988, -2.860078671602877]], [[4.9937556687317226, -3.7803824830957158], [-1.5718366006912454, -4.2284825506377857]], [[4.1839844247235138, -3.3514472641361559], [-2.5079566874347958, -3.2532566747253489]], [[-2.1454427595697156, -3.7979857262399497], [4.7635351726888739, -3.3765157301519788]], [[-3.6427323965965517, -0.97405153762525565], [2.6979687089559103, -3.9454237323992061]], [[3.636292191333137, 4.8502816735345373], [0.46315352656839703, 3.2277066846481066]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-2.6430176060044461, -1.2730264473800235], [-4.0377109578260386, 3.0624818739252841]], [[2.8406726337459336, -2.8958680497298559], [-4.2797277482119505, 1.9797739160251453]], [[0.60289387994801302, 1.5181349592925404], [3.5119603568026605, 2.0243922349255037]], [[-4.3580189015088671, -0.37740452636655153], [3.3861090711918003, -2.1187381543797312]], [[-1.6457795712195433, -3.3103657354589631], [3.7794691813238721, -0.20012305436982558]], [[0.00097938478980541532, 0.55031614564313713], [3.7356758619430526, 4.3034515173641292]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.64111816733409821, -3.0007945798634785], [5.2272811503249335, -2.3212520851159315]], [[5.5325822552186681, -3.2415558966087703], [-1.0330100142042999, -3.6896559641508402]], [[4.7228110112104593, -2.8126206776492104], [-1.9691301009478503, -2.7144300882384034]], [[-1.6066161730827702, -3.2591591397530042], [5.3023617591758194, -2.8376891436650333]], [[-3.1039058101096062, -0.43522495113831017], [3.2367952954428558, -3.4065971459122606]], [[4.1751187778200824, 5.3891082600214828], [1.0019801130553425, 3.7665332711350521]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-2.1041910195175006, -0.73419986089307798], [-3.4988843713390931, 3.6013084604122296]], [[3.3794992202328791, -2.3570414632429104], [-3.740901161725005, 2.5186005025120908]], [[1.1417204664349585, 2.0569615457794859], [4.050786943289606, 2.5632188214124492]], [[-3.8191923150219216, 0.16142206012039395], [3.9249356576787457, -1.5799115678927858]], [[-1.1069529847325978, -2.7715391489720176], [4.3182957678108176, 0.3387035321171199]], [[0.5398059712767509, 1.0891427321300826], [4.274502448429998, 4.8422781038510747]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_float_rank0_taggedData_rank4(self):  
       arg0=-4.88128971513  
       arg1=Data(numpy.array([[[[2.2667674593046874, -0.62122655063804366, 4.7519397261839256, -3.93770325926201], [-3.9070746282739863, -2.2919793670332766, -2.7347707798838119, 2.2929996508442638], [-4.6830046816498294, -1.6419195092718386, 1.4838931112927867, 0.87433410453094318]], [[4.0007251689133447, -0.8264481345990955, -4.6205472435126644, 4.5475412136966895], [0.96436000657562726, 0.37256390400991268, -2.422534259014002, 1.0205716411570007], [4.6651097588524557, 3.2639978574978432, -3.2257393015282343, -0.69281753996628304]]], [[[-4.058411574765791, -3.9973887830330632, -2.6564938136547509, 3.8871015588506435], [-4.4955057997790977, -3.2587178520865843, -1.4910479206680916, 2.3685500168753286], [-1.9005507855166903, 1.2605637372298446, -4.2072768523973902, 2.8897451854929566]], [[1.6580156635139423, 0.58380643845895897, -0.46103464935045579, -0.38759522503992727], [-4.7428904219780668, -1.1591579809708463, 3.1544324389324103, 3.9048799603519537], [0.53317964704695164, -1.7960948009445343, 1.3629240768991835, 4.4924052807010604]]], [[[3.4979372141678517, -0.80511135250176125, -4.6248006384638245, 1.8413435078127787], [-2.0755182918746442, 3.4504016621432108, 3.1719324591145064, -0.33582643260009704], [2.0969168715879549, -1.9828855363622311, 4.9152870988371706, 4.4634058192430164]], [[3.8861788506659405, -3.6072724519859092, 2.8728482942269649, 2.2416244988081431], [4.7515258877861317, 0.5797491463771749, -1.3530923770772016, -1.1566439761544212], [-2.6949272161891047, 1.8880933338836723, -2.0587007357146159, -0.87921408507354393]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-1.2344930948385091, 0.17017888488021526, 2.6567014154811961, 0.99762996132989556], [1.8682674478975558, 1.0658531891226168, 4.2473174219086278, 2.1218354898483751], [-0.5132945802212916, -4.0623066273947428, -4.2009337080632791, -0.34210345447343027]], [[4.6505925952110303, 3.0018090893439506, 4.9819074205234983, -1.3572587177978193], [0.2933436584732485, -3.7001726454634341, 1.8426958182616557, -0.022130626190895342], [0.52075083628183805, -1.4037778798656539, -1.1793764293198006, 0.95310206304411693]]], [[[2.6096280643328473, 2.8097690922797085, -4.0512602552929806, 3.8162232943959751], [4.7101521114993066, -0.26618148813331466, 1.0275776083300459, -3.9165601141722672], [-0.80728246576926566, 0.02246502497535463, 3.9150700596429626, -4.002355972600907]], [[-0.44773478681418588, -2.0605428415407321, 3.1963894767342023, -4.4805171860933326], [1.9558227829885571, -4.8644822412060922, -2.6101327906656824, -2.8520644080521542], [3.1224752007635352, 1.0899479726438734, 1.8666503348107399, -0.62110662317696441]]], [[[2.4695989337875766, 3.2765231407693634, -4.4923109503948089, -3.6368871873510198], [-4.0907638742397747, -0.52311014083535579, 0.29061533264599504, -2.6360135092457817], [-2.1199088819736902, 4.7977141280256479, 3.4896831019891419, -4.5682646575697783]], [[-1.8362919420632484, 0.84764003754354089, 3.3876775936807153, -4.3134458771434474], [2.3441156243718142, -2.3272051633126232, -3.9741650893559202, 0.48839494160245334], [0.35555472813153965, 0.74162950648282955, 4.0347510768449162, -2.6109850093710998]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-2.61452225582872, -5.502516265771451, -0.1293499889494818, -8.8189929743954174], [-8.7883643434073946, -7.1732690821666836, -7.6160604950172193, -2.5882900642891435], [-9.5642943967832359, -6.523209224405246, -3.3973966038406207, -4.0069556106024642]], [[-0.88056454622006264, -5.7077378497325029, -9.5018369586460718, -0.33374850143671786], [-3.9169297085577801, -4.5087258111234947, -7.3038239741474094, -3.8607180739764067], [-0.21617995628095166, -1.6172918576355642, -8.1070290166616417, -5.5741072550996904]]], [[[-8.9397012898991974, -8.8786784981664706, -7.5377835287881583, -0.99418815628276391], [-9.3767955149125051, -8.1400075672199925, -6.3723376358014985, -2.5127396982580787], [-6.7818405006500981, -3.6207259779035628, -9.0885665675307976, -1.9915445296404508]], [[-3.2232740516194651, -4.2974832766744484, -5.3423243644838632, -5.2688849401733346], [-9.6241801371114732, -6.0404476961042537, -1.726857276200997, -0.97640975478145364], [-4.3481100680864557, -6.6773845160779413, -3.5183656382342239, -0.38888443443234699]]], [[[-1.3833525009655556, -5.6864010676351686, -9.5060903535972319, -3.0399462073206287], [-6.9568080070080516, -1.4308880529901966, -1.709357256018901, -5.2171161477335044], [-2.7843728435454524, -6.864175251495638, 0.033997383703763262, -0.41788389589039099]], [[-0.99511086446746688, -8.4885621671193157, -2.0084414209064425, -2.6396652163252643], [-0.12976382734727565, -4.3015405687562325, -6.234382092210609, -6.0379336912878285], [-7.5762169313225121, -2.9931963812497351, -6.9399904508480237, -5.7605038002069513]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-6.1157828099719165, -4.7111108302531921, -2.2245882996522113, -3.8836597538035118], [-3.0130222672358515, -3.8154365260107905, -0.63397229322477955, -2.7594542252850323], [-5.394584295354699, -8.9435963425281493, -9.0822234231966874, -5.2233931696068376]], [[-0.23069711992237707, -1.8794806257894567, 0.10061770539009096, -6.2385484329312266], [-4.5879460566601589, -8.5814623605968414, -3.0385938968717516, -4.9034203413243027], [-4.3605388788515693, -6.2850675949990613, -6.0606661444532079, -3.9281876520892904]]], [[[-2.27166165080056, -2.0715206228536989, -8.932549970426388, -1.0650664207374323], [-0.1711376036341008, -5.147471203266722, -3.8537121068033615, -8.7978498293056742], [-5.688572180902673, -4.8588246901580527, -0.96621965549044475, -8.8836456877343153]], [[-5.3290245019475933, -6.9418325566741395, -1.6849002383992051, -9.3618069012267391], [-2.9254669321448503, -9.7457719563394996, -7.4914225057990897, -7.7333541231855616], [-1.7588145143698721, -3.7913417424895339, -3.0146393803226674, -5.5023963383103718]]], [[[-2.4116907813458308, -1.604766574364044, -9.3736006655282154, -8.5181769024844272], [-8.9720535893731821, -5.4043998559687632, -4.5906743824874123, -7.5173032243791891], [-7.0011985971070976, -0.083575587107759475, -1.3916066131442655, -9.4495543727031865]], [[-6.7175816571966553, -4.0336496775898665, -1.4936121214526921, -9.1947355922768548], [-2.5371740907615932, -7.2084948784460305, -8.8554548044893266, -4.392894773530954], [-4.5257349870018677, -4.1396602086505778, -0.84653863828849119, -7.4922747245045072]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank0_taggedData_rank0(self):  
       arg0=numpy.array(-3.02545917562)  
       arg1=Data(-1.74715736403,self.functionspace)  
       arg1.setTaggedValue(1,4.40061076121)  
       res=add(arg0,arg1)  
       ref=Data(-4.77261653965,self.functionspace)  
       ref.setTaggedValue(1,1.37515158559)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank1_taggedData_rank0(self):  
       arg0=numpy.array([-2.7468377309010705, 3.6312958889465641])  
       arg1=Data(-4.21212371531,self.functionspace)  
       arg1.setTaggedValue(1,-1.74968005109)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-6.9589614462140057, -0.58082782636637109]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([-4.4965177819902671, 1.8816158378573675]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank0_taggedData_rank1(self):  
       arg0=numpy.array(2.9022600989)  
       arg1=Data(numpy.array([0.45470515582677606, -3.6645492380419409]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([3.9619238034117874, -0.15552247169728872]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([3.3569652547295501, -0.76228913913916685]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([6.8641839023145614, 2.7467376272054853]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank2_taggedData_rank0(self):  
       arg0=numpy.array([[0.61477461931422184, 0.00939504653590717, 3.9915497059205478, -4.053223786704887, 3.7600192046371532], [-4.2877676645722707, -2.8240202165839481, -4.5649749236569859, 4.9658807156854508, -1.1034841586106658], [-2.3747633521541567, 2.0787987048246714, 2.361440210165612, 4.2379692241408264, 2.558215693297047], [-4.5634423188095985, 0.99083802885261107, 3.4683891091692356, 2.1498897447707659, 2.9198217634442347]])  
       arg1=Data(1.2501921016,self.functionspace)  
       arg1.setTaggedValue(1,0.380514685285)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[1.8649667209145129, 1.2595871481361982, 5.2417418075208388, -2.803031685104596, 5.0102113062374443], [-3.0375755629719796, -1.573828114983657, -3.3147828220566948, 6.2160728172857418, 0.1467079429896252], [-1.1245712505538656, 3.3289908064249625, 3.611632311765903, 5.4881613257411175, 3.8084077948973381], [-3.3132502172093075, 2.2410301304529021, 4.7185812107695266, 3.4000818463710569, 4.1700138650445258]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[0.99528930459918286, 0.38990973182086819, 4.3720643912055088, -3.672709101419926, 4.1405338899221142], [-3.9072529792873096, -2.4435055312989871, -4.1844602383720249, 5.3463954009704118, -0.72296947332570483], [-1.9942486668691957, 2.4593133901096325, 2.741954895450573, 4.6184839094257875, 2.938730378582008], [-4.1829276335246375, 1.3713527141375721, 3.8489037944541966, 2.5304044300557269, 3.3003364487291957]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank0_taggedData_rank2(self):  
       arg0=numpy.array(-4.63554854827)  
       arg1=Data(numpy.array([[3.4835443729267723, -0.25709056500754635, -4.5653605490887887, -4.3649660740274321, 4.0555812530661601], [0.21915387213931048, 1.6715000774363364, 4.7017929858898171, 3.6973163036735723, 3.9174281916742597], [-2.2166253265695723, 1.7216970257128548, -2.0680537759583806, 4.9617751654429867, 0.25737478341419617], [-4.6669063416983336, 0.98638736404764948, 1.101881011836138, -2.3649130745450986, -3.6529591755883537]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-2.2839111339307028, -2.346661026454929, -0.6584136496621662, -0.67422718619365529, 1.0373440466468082], [-2.8617508566444441, 1.141708988693388, -2.9118319383193514, -0.036809534151384327, -4.0961605305159381], [-0.24086438532861898, -2.7083521379492015, -3.3220506295437326, 3.1002689199247726, -0.93199504166331515], [2.0020426742945379, 2.3457343572469647, 2.0365487012054366, 2.3546947913675478, 2.4524157217902314]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-1.1520041753402044, -4.8926391132745231, -9.2009090973557655, -9.0005146222944088, -0.57996729520081658], [-4.4163946761276662, -2.9640484708306403, 0.06624443762284038, -0.93823224459340437, -0.718120356592717], [-6.8521738748365486, -2.9138515225541219, -6.7036023242253577, 0.32622661717600998, -4.3781737648527805], [-9.3024548899653112, -3.6491611842193272, -3.5336675364308388, -7.0004616228120753, -8.2885077238553304]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-6.9194596821976795, -6.9822095747219057, -5.2939621979291429, -5.309775734460632, -3.5982045016201685], [-7.4972994049114208, -3.4938395595735887, -7.5473804865863281, -4.672358082418361, -8.7317090787829148], [-4.8764129335955957, -7.3439006862161786, -7.9575991778107094, -1.5352796283422041, -5.5675435899302919], [-2.6335058739724388, -2.289814191020012, -2.5989998470615401, -2.2808537568994289, -2.1831328264767453]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank3_taggedData_rank0(self):  
       arg0=numpy.array([[[-4.1802806552250065, -0.44779637302858788], [-3.7092568441696541, 2.3938154133381238]], [[-3.5123488881811413, 0.11052914591672369], [-3.0559788790773537, -3.9674975822679914]], [[-3.7301503412240598, 0.68004895373669605], [2.4775060767112773, 0.42006773655117158]], [[-3.8805869484505062, -0.084868202073838717], [3.1482700164642985, 4.4948735390433967]], [[-4.4144223054898211, 2.1515077963081373], [1.7721184626207007, -0.052738450041757368]], [[0.64249952487400197, 4.9412924211642171], [2.3011933253777705, 2.8690969321054549]]])  
       arg1=Data(4.78439569267,self.functionspace)  
       arg1.setTaggedValue(1,-2.33897134764)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.60411503744394857, 4.3365993196403672], [1.075138848499301, 7.1782111060070788]], [[1.2720468044878137, 4.8949248385856787], [1.7284168135916014, 0.81689811040096361]], [[1.0542453514448953, 5.4644446464056511], [7.2619017693802324, 5.2044634292201266]], [[0.90380874421844881, 4.6995274905951163], [7.9326657091332535, 9.2792692317123517]], [[0.36997338717913397, 6.9359034889770923], [6.5565141552896558, 4.7316572426271977]], [[5.426895217542957, 9.7256881138331721], [7.0855890180467256, 7.6534926247744099]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-6.5192520028648424, -2.7867677206684234], [-6.0482281918094891, 0.054844065698288258]], [[-5.8513202358209764, -2.2284422017231118], [-5.3949502267171887, -6.3064689299078269]], [[-6.0691216888638948, -1.6589223939031394], [0.13853472907144182, -1.9189036110886639]], [[-6.2195582960903417, -2.4238395497136742], [0.809298668824463, 2.1559021914035612]], [[-6.7533936531296561, -0.18746355133169823], [-0.56685288501913478, -2.3917097976815929]], [[-1.6964718227658335, 2.6023210735243816], [-0.037778022262064948, 0.53012558446561941]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank0_taggedData_rank3(self):  
       arg0=numpy.array(-4.11273691225)  
       arg1=Data(numpy.array([[[4.971741787594393, -1.6620293212751203], [4.5816936885800086, 1.1321722412096458]], [[-1.4854989708864941, 0.99330196330135045], [-2.7004386898551958, -4.6179828433663941]], [[-1.6690015542859129, -4.7118074872872908], [2.9275309698406833, -3.2265239730880477]], [[-1.588801146518267, -2.6530014215364215], [2.7392089319139368, 3.4348332223614939]], [[1.6217082264799823, 4.9377630410064803], [2.013719121013489, -4.7928027527479617]], [[3.4908770323562042, 1.4324153344051327], [1.897610522786465, -3.3866742621469772]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[1.7859403456241658, 1.0671919062709678], [0.23079795451018104, 2.8342123561758834]], [[-2.8800068677229884, 2.2766304887231668], [-1.5321734707289236, 4.2551513906575256]], [[3.1584329725774918, -4.1766807751453952], [4.4213231095448542, -4.3165376719421182]], [[-2.9992421564103422, 3.8915414151056336], [3.7935507387299356, -1.222355290997228]], [[-2.1118633138453391, 0.0055379226735494669], [0.41685048167908878, -4.2558045679630299]], [[0.2114358994780865, 2.1393193091159404], [-3.5059435632469804, 1.1894227749498656]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.85900487534662773, -5.774766233522886], [0.46895677633224331, -2.9805646710381195]], [[-5.5982358831342598, -3.1194349489464148], [-6.8131756021029606, -8.7307197556141602]], [[-5.7817384665336782, -8.824544399535057], [-1.185205942407082, -7.339260885335813]], [[-5.7015380587660323, -6.7657383337841868], [-1.3735279803338285, -0.67790368988627137]], [[-2.491028685767783, 0.82502612875871506], [-2.0990177912342762, -8.905539664995727]], [[-0.62185987989156111, -2.6803215778426326], [-2.2151263894613002, -7.4994111743947425]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-2.3267965666235995, -3.0455450059767974], [-3.8819389577375842, -1.2785245560718819]], [[-6.9927437799707537, -1.8361064235245985], [-5.6449103829766889, 0.14241447840976029]], [[-0.95430393967027349, -8.2894176873931613], [0.30858619729708892, -8.4292745841898835]], [[-7.1119790686581075, -0.22119549714213171], [-0.31918617351782963, -5.3350922032449937]], [[-6.2246002260931039, -4.1071989895742158], [-3.6958864305686765, -8.3685414802107942]], [[-3.9013010127696788, -1.9734176031318249], [-7.6186804754947453, -2.9233141372978997]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank4_taggedData_rank0(self):  
       arg0=numpy.array([[[[-0.32477301043838391, -0.45935604683786657, 3.6556397883132021, 0.7543433109706541], [2.9810315003046224, 0.12870527448252744, 1.5483992858237787, 1.0996620456074124], [4.401857532503664, -1.0854828422144545, -0.33948889027947438, -1.4882606749692515]], [[-2.6329358550054316, 2.4784552868322498, 1.8946003204448303, 1.5305272226241549], [1.3455564643518105, -1.254912875532801, 3.4753237014895024, -3.8289586428136992], [-4.9950204616710447, 0.7496726459519385, -0.7107336367283521, 0.83344249460797393]]], [[[4.1443157765022871, 0.037703532768345482, 1.8475919179957643, -1.7302279684184052], [-3.6773790259927983, -4.3943700333066191, -1.7286452464564195, 2.0105286464713323], [-1.5709710189185366, 3.7397516738185832, 4.8520914121081375, 3.8874658363001586]], [[2.9310011049211298, 1.1690810649322749, -3.7185374769482147, -3.9968771484769681], [-3.1964238993711347, 4.7474886763781718, 4.3581078357610217, 2.6386736207579915], [2.2231524926457009, 0.71566529617165919, -2.0084375028978219, 1.1021114004844614]]], [[[0.18852454170218191, 1.899019564487828, -1.6187062794333986, 1.8440979878369221], [2.4547872002539197, -0.95920336118000193, 2.2465635492587408, 0.52954009736703611], [1.3742705957503576, 4.0644920746654716, -1.1534916167482057, 4.8987323648014414]], [[-2.1804614376746088, -3.006486187137388, -1.9833289170508106, -4.104858406934043], [2.497078581481242, 1.9579280636919769, -2.6711464359258685, 3.5114918675660451], [2.7524869935273832, -4.1516805501850502, -3.0556401849775039, -3.9956073716975671]]]])  
       arg1=Data(-3.73860796421,self.functionspace)  
       arg1.setTaggedValue(1,4.44359035889)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-4.0633809746526417, -4.1979640110521244, -0.082968175901055652, -2.9842646532436037], [-0.7575764639096354, -3.6099026897317303, -2.1902086783904791, -2.6389459186068454], [0.66324956828940618, -4.8240908064287122, -4.0780968544937322, -5.2268686391835093]], [[-6.3715438192196894, -1.260152677382008, -1.8440076437694275, -2.2080807415901029], [-2.3930514998624473, -4.9935208397470587, -0.26328426272475536, -7.567566607027957], [-8.7336284258853034, -2.9889353182623193, -4.4493416009426099, -2.9051654696062839]]], [[[0.40570781228802932, -3.7009044314459123, -1.8910160462184935, -5.468835932632663], [-7.4159869902070561, -8.1329779975208769, -5.4672532106706768, -1.7280793177429254], [-5.3095789831327949, 0.0011437096043254158, 1.1134834478938798, 0.14885787208590084]], [[-0.80760685929312803, -2.5695268992819829, -7.4571454411624725, -7.7354851126912259], [-6.935031863585392, 1.0088807121639141, 0.61949987154676389, -1.0999343434562663], [-1.5154554715685569, -3.0229426680425986, -5.7470454671120796, -2.6364965637297963]]], [[[-3.5500834225120759, -1.8395883997264297, -5.3573142436476564, -1.8945099763773356], [-1.2838207639603381, -4.6978113253942597, -1.492044414955517, -3.2090678668472217], [-2.3643373684639002, 0.32588411045121379, -4.8920995809624639, 1.1601244005871836]], [[-5.9190694018888665, -6.7450941513516458, -5.7219368812650684, -7.8434663711483008], [-1.2415293827330158, -1.7806799005222809, -6.4097544001401268, -0.22711609664821264], [-0.98612097068687454, -7.890288514399308, -6.7942481491917617, -7.7342153359118253]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[4.1188173484544448, 3.9842343120549621, 8.0992301472060308, 5.1979336698634828], [7.4246218591974511, 4.5722956333753562, 5.9919896447166074, 5.5432524045002411], [8.8454478913964927, 3.3581075166783743, 4.1041014686133543, 2.9553296839235772]], [[1.8106545038873971, 6.9220456457250785, 6.338190679337659, 5.9741175815169836], [5.7891468232446393, 3.1886774833600278, 7.9189140603823311, 0.61463171607912948], [-0.55143010277821602, 5.1932630048447672, 3.7328567221644766, 5.2770328535008026]]], [[[8.5879061353951158, 4.4812938916611742, 6.291182276888593, 2.7133623904744235], [0.76621133290003041, 0.04922032558620959, 2.7149451124364092, 6.4541190053641611], [2.8726193399742921, 8.1833420327114119, 9.2956817710009663, 8.3310561951929873]], [[7.3745914638139585, 5.6126714238251036, 0.72505288194461404, 0.44671321041586065], [1.247166459521694, 9.1910790352710006, 8.8016981946538504, 7.0822639796508202], [6.6667428515385296, 5.1592556550644879, 2.4351528559950069, 5.5457017593772902]]], [[[4.6321149005950106, 6.3426099233806568, 2.8248840794594301, 6.2876883467297509], [6.8983775591467484, 3.4843869977128268, 6.6901539081515695, 4.9731304562598648], [5.8178609546431863, 8.5080824335583003, 3.2900987421446231, 9.3423227236942701]], [[2.26312892121822, 1.4371041717554407, 2.4602614418420181, 0.33873195195878569], [6.9406689403740707, 6.4015184225848056, 1.7724439229669602, 7.9550822264588739], [7.196077352420212, 0.2919098087077785, 1.3879501739153248, 0.44798298719526164]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank0_taggedData_rank4(self):  
       arg0=numpy.array(-3.52261579226)  
       arg1=Data(numpy.array([[[[-1.4693580049189805, 0.44657149896895643, -2.8731587521063764, -1.552753661390641], [-1.2115246345499751, -2.5513460939911026, 1.4130509905726241, -2.2951240737332643], [-4.6107319443244528, -2.7829537947872787, -2.9516719512550251, -2.427120101388681]], [[-0.054771868085586206, -4.7187910337455357, -3.3437304228814222, -4.4307789120087531], [0.25008438210082495, -0.15501182858587814, 3.9210456865406282, -3.8102664773080441], [3.1432484966154242, -2.0943521075178282, -1.3980668841346553, 0.86722521824905474]]], [[[3.2963079207252566, 1.7955606911440185, -1.2750317886414231, 1.3183935877537953], [1.4352084200595367, -1.9801505414262097, -4.8116134620028124, -1.6609037006019065], [1.1920975427210054, 1.6022203116563638, -1.670693803721762, -2.7017227829497314]], [[-0.37547693843853036, 3.3170345713130338, -3.7730523652692938, 4.2684219788350681], [3.2282818986235142, 2.137792728635576, 0.23874370819584012, 2.5156502500847218], [-1.1644357807078687, -4.3825049259565425, -1.2445050629711965, 4.332115935114782]]], [[[4.7428800767035071, 2.1363427012982248, 3.7938038662716913, 1.2459434509254663], [3.825826511876123, 1.7846842020228504, -3.6740466592590937, -1.3870342950371173], [-4.3937440665351435, 4.987946342912009, -3.2537522687858744, 4.500380485832526]], [[2.8573786000572756, -4.9193309638103111, -1.0064618481679801, -2.7280982089269177], [-2.4613334880864848, 0.89344737302267951, -0.93102461423443827, 3.1774153179315228], [3.9417766597443809, -4.8185522992215919, 0.25731126502183344, -1.8166090281175808]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[2.2945906745911318, 1.426810500798009, -4.2620569513502904, -1.7220197736691722], [1.7592047971298097, -1.5360585313414643, -0.49453909501392079, 2.4862498035011669], [-2.6121068196452568, -0.057447630941439343, 3.2879536138699841, -3.0916678423796906]], [[0.84034539778953921, 2.1585690844562722, 0.58543861707011402, 0.087178793019471179], [0.19174052273795361, 4.001624040509876, -3.1912621373188319, 2.612199967242443], [-2.6885076701503632, -0.11589434178363334, 1.6957828224354765, -4.8768024697233638]]], [[[4.0984847640120563, 1.5131106156017635, 1.4252157734481319, 2.6780286572403442], [2.1227960945084021, -1.1167173964372101, -2.0855203128379585, -1.2959383858162301], [0.85130927490086172, 2.5540520606050201, 0.88707767237987145, 0.86947511717602843]], [[2.4798863637328132, 4.6381817153477414, 2.5990802596325668, 1.9194126280138608], [2.9082891072046948, -2.9810563624530486, 4.0677897000997199, 0.56718148699811621], [1.0173631251897994, -0.029547032164267684, -0.78809687856597677, 1.040307313422673]]], [[[-1.0951141285416144, -1.1422730594613064, -3.7673321622840961, 1.5191682471442958], [4.0343196460476509, 0.51316628739509706, 4.63193062412895, 4.6951136471343453], [1.0091435284075008, -3.2513382067085548, 1.5810082581736893, 4.2347589564570018]], [[-3.5066354653146736, -3.7737392483310614, -4.0229753058999096, -4.7279887500438527], [0.85067490037063642, -1.6867417112235539, 2.9373166771269821, -1.7788822331652208], [-4.2356858019973167, -3.7963600992856206, 0.037921704327496641, 0.12507957165552419]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-4.9919737971761871, -3.0760442932882501, -6.3957745443635829, -5.0753694536478475], [-4.7341404268071816, -6.0739618862483091, -2.1095648016845825, -5.8177398659904709], [-8.1333477365816584, -6.3055695870444852, -6.4742877435122317, -5.9497358936458875]], [[-3.5773876603427928, -8.2414068260027413, -6.8663462151386288, -7.9533947042659596], [-3.2725314101563816, -3.6776276208430847, 0.39842989428342168, -7.3328822695652507], [-0.3793672956417824, -5.6169678997750347, -4.9206826763918619, -2.6553905740081518]]], [[[-0.22630787153194998, -1.7270551011131881, -4.7976475808986301, -2.2042222045034112], [-2.0874073721976698, -5.5027663336834163, -8.3342292542600198, -5.1835194928591131], [-2.3305182495362011, -1.9203954806008428, -5.1933095959789686, -6.2243385752069376]], [[-3.8980927306957369, -0.20558122094417275, -7.2956681575265003, 0.74580618657786157], [-0.29433389363369233, -1.3848230636216305, -3.2838720840613664, -1.0069655421724848], [-4.6870515729650748, -7.9051207182137491, -4.767120855228403, 0.80950014285757543]]], [[[1.2202642844463005, -1.3862730909589818, 0.27118807401448475, -2.2766723413317402], [0.30321071961891644, -1.7379315902343562, -7.1966624515162998, -4.9096500872943238], [-7.91635985879235, 1.4653305506548024, -6.7763680610430814, 0.97776469357531948]], [[-0.66523719219993094, -8.4419467560675177, -4.5290776404251867, -6.2507140011841242], [-5.9839492803436913, -2.629168419234527, -4.4536404064916448, -0.34520047432568379], [0.41916086748717429, -8.3411680914787993, -3.2653045272353731, -5.3392248203747874]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.2280251176660748, -2.0958052914591976, -7.7846727436074969, -5.2446355659263784], [-1.7634109951273969, -5.0586743235986713, -4.0171548872711274, -1.0363659887560397], [-6.1347226119024629, -3.5800634231986459, -0.23466217838722248, -6.6142836346368972]], [[-2.6822703944676674, -1.3640467078009344, -2.9371771751870925, -3.4354369992377354], [-3.3308752695192529, 0.47900824825266941, -6.7138779295760385, -0.91041582501476359], [-6.2111234624075697, -3.6385101340408399, -1.82683296982173, -8.3994182619805713]]], [[[0.57586897175484975, -2.009505176655443, -2.0974000188090747, -0.84458713501686233], [-1.3998196977488044, -4.6393331886944171, -5.6081361050951646, -4.8185541780734367], [-2.6713065173563448, -0.96856373165218645, -2.6355381198773351, -2.6531406750811781]], [[-1.0427294285243933, 1.1155659230905348, -0.92353553262463972, -1.6032031642433457], [-0.61432668505251176, -6.5036721547102552, 0.54517390784251329, -2.9554343052590903], [-2.5052526670674071, -3.5521628244214742, -4.3107126708231833, -2.4823084788345335]]], [[[-4.6177299207988209, -4.664888851718513, -7.2899479545413026, -2.0034475451129108], [0.51170385379044436, -3.0094495048621095, 1.1093148318717434, 1.1724978548771388], [-2.5134722638497058, -6.7739539989657613, -1.9416075340835173, 0.71214316419979529]], [[-7.0292512575718806, -7.296355040588268, -7.5455910981571161, -8.2506045423010583], [-2.6719408918865701, -5.20935750348076, -0.58529911513022448, -5.3014980254224273], [-7.7583015942545233, -7.3189758915428271, -3.4846940879297099, -3.3975362206016824]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank1_taggedData_rank1(self):  
       arg0=numpy.array([-0.86416198034359049, -3.6395979640399334])  
       arg1=Data(numpy.array([0.28999529162821247, -0.72516124112799485]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([3.5658144977073363, 3.3229753845225787]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-0.57416668871537802, -4.3647592051679283]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([2.7016525173637458, -0.31662257951735473]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank2_taggedData_rank1(self):  
       arg0=numpy.array([[0.32384243721844541, -4.4190715959466917], [2.8644515587265174, -4.9083151863487906]])  
       arg1=Data(numpy.array([-0.029594047792061318, -1.5931470907592269]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([4.0327503264498308, -2.4931378063972245]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[0.29424838942638409, -4.4486656437387531], [1.2713044679672905, -6.5014622771080175]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[4.3565927636682762, -0.38632126949686096], [0.37131375232929287, -7.4014529927460151]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank1_taggedData_rank2(self):  
       arg0=numpy.array([-0.77294474508401656, -2.7870284754366805])  
       arg1=Data(numpy.array([[-3.6928361608391036, -0.21940809842415643], [-1.1334923323848631, -4.6668238892961957]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-1.5321287101138124, -4.0656670054741166], [-0.39339852907533146, -2.8582751223293057]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-4.4657809059231202, -0.99235284350817299], [-3.9205208078215437, -7.4538523647328763]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-2.3050734551978289, -4.8386117505581332], [-3.180427004512012, -5.6453035977659862]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank3_taggedData_rank1(self):  
       arg0=numpy.array([[[1.0867720955570608, -3.6268840992512876, 2.983760268835387, -1.0652204067443205, -4.5677615931368596], [-4.8584529198992499, 1.6994201734573284, -0.55262038979140282, -3.7077011243238389, 0.91135137695478985], [-2.1970207530918406, -3.6157172027805018, 0.8262343167228634, 3.6527690796994499, -2.1824640518940477], [-1.0655024568569726, -3.6822242497518487, 1.8690502854597844, -1.4580523458847692, 2.8438225056524757]], [[-2.3242882237756692, 3.0398936026903129, -0.35792746584495561, 2.1736007428841155, -2.0124687416221745], [-2.0263378446083413, -4.3762876065887664, -2.5636092577099201, -3.1080363956584378, -0.63879529705162241], [2.9755151686575054, 3.9130768036306023, 1.8231229068289911, 2.7741756905625312, -4.5133490714144733], [2.7911617149267496, -2.5899763991246028, 3.5012387761682202, -2.8336531074090408, 2.0759317391440781]]])  
       arg1=Data(numpy.array([-1.046700856222651, -4.5511520985301726]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([-0.5142466913203716, -2.333306705157252]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.040071239334409814, -4.6735849554739382, 1.9370594126127361, -2.1119212629669715, -5.614462449359511], [-5.9051537761219013, 0.65271931723467747, -1.5993212460140538, -4.7544019805464899, -0.13534947926786112], [-3.2437216093144916, -4.6624180590031532, -0.22046653949978756, 2.6060682234767989, -3.2291649081166987], [-2.1122033130796236, -4.7289251059744997, 0.82234942923713339, -2.5047532021074201, 1.7971216494298248]], [[-6.8754403223058418, -1.5112584958398596, -4.9090795643751282, -2.377551355646057, -6.563620840152347], [-6.5774899431385139, -8.9274397051189389, -7.1147613562400931, -7.6591884941886104, -5.189947395581795], [-1.5756369298726671, -0.63807529489957027, -2.7280291917011814, -1.7769764079676413, -9.0645011699446449], [-1.759990383603423, -7.1411284976547753, -1.0499133223619523, -7.3848052059392133, -2.4752203593860944]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.57252540423668918, -4.1411307905716592, 2.4695135775150154, -1.5794670980646921, -5.0820082844572312], [-5.3726996112196215, 1.1851734821369568, -1.0668670811117744, -4.2219478156442101, 0.39710468563441825], [-2.7112674444122122, -4.1299638941008734, 0.31198762540249181, 3.1385223883790783, -2.6967107432144193], [-1.5797491481773442, -4.1964709410722207, 1.3548035941394128, -1.9722990372051408, 2.3295758143321041]], [[-4.6575949289329213, 0.70658689753306092, -2.6912341710022076, -0.15970596227313649, -4.3457754467794265], [-4.3596445497655933, -6.7095943117460184, -4.8969159628671726, -5.4413431008156898, -2.9721020022088744], [0.6422084635002534, 1.5797700984733503, -0.51018379832826088, 0.44086898540527919, -6.8466557765717253], [0.45785500976949756, -4.9232831042818548, 1.1679320710109682, -5.1669598125662928, -0.25737496601317389]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank1_taggedData_rank3(self):  
       arg0=numpy.array([-4.0428601540053535, -1.2172047219589013])  
       arg1=Data(numpy.array([[[-1.4436696642641014, -2.7270191053469484, 4.2275443606175322, -2.6175379526692852, -3.757735964499247], [3.7063101708022188, 0.45811885833497801, 2.8879622641642602, -3.0522754718325427, 4.3876800546471024], [4.7916251101399947, -0.4342160584216721, 2.5821512485606561, 0.68175843603652009, 3.4755328544436264], [-0.42461699657212026, -1.6419320983069987, 4.6219820763569821, 3.0845490991742821, 1.6937164289635023]], [[1.2006178485488386, -0.89146338830722271, -4.3995633560106926, -0.66892629054883201, 1.2691755418837154], [0.23531793128540013, 1.708442263009843, -2.7847791685343717, 4.6352004568784224, -3.8143229782309862], [-3.7831621470437584, -1.9553275209751031, -1.2225338987927947, -4.4049389258843821, -4.1953176825614316], [3.9291888675036155, -2.4010446952236753, -1.8764834956035434, -0.32244152156911365, 0.30068985842014051]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[2.337365372482533, 2.8140477736176726, 0.58392731291520938, 0.99757367327327806, -1.947416773737066], [4.7577779324022931, 4.9942860979635082, -1.7699014959502026, -3.6031356539386703, 4.545313862039972], [0.1022523556407009, 3.4835937790735887, -0.21064338658819182, -4.9273066592496999, -2.9711298296648492], [-1.1147123264583536, 4.9601335792933483, -2.1338267260735089, -0.41170503693364147, 2.8446831949580078]], [[-1.5125854204908307, -4.7249465977000984, -4.7718910611992804, 4.649592201260127, 4.8548578053288818], [-1.6721408709397725, -2.7839246468876242, -3.259116508100961, -1.3419197335236657, 4.3557295585477007], [1.1490194255921429, -4.7392181328122609, 0.24395913816364789, 3.0060934604715115, -0.69927031346688207], [1.130013701427024, -4.6399720920293195, -0.59818160910705931, -0.12447708604401519, -1.4098228937923665]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-5.4865298182694549, -6.7698792593523018, 0.18468420661217877, -6.6603981066746387, -7.8005961185046004], [-0.33654998320313467, -3.5847412956703755, -1.1548978898410933, -7.0951356258378961, 0.34481990064174894], [0.74876495613464122, -4.4770762124270256, -1.4607089054446973, -3.3611017179688334, -0.56732729956172712], [-4.4674771505774737, -5.6847922523123522, 0.57912192235162863, -0.95831105483107137, -2.3491437250418512]], [[-0.016586873410062708, -2.108668110266124, -5.6167680779695939, -1.8861310125077333, 0.051970819924814116], [-0.98188679067350115, 0.49123754105094175, -4.001983890493273, 3.4179957349195211, -5.031527700189887], [-5.0003668690026597, -3.1725322429340044, -2.439738620751696, -5.6221436478432834, -5.4125224045203328], [2.7119841455447142, -3.6182494171825765, -3.0936882175624447, -1.5396462435280149, -0.91651486353876077]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-1.7054947815228205, -1.2288123803876809, -3.4589328410901441, -3.0452864807320754, -5.9902769277424195], [0.7149177783969396, 0.95142594395815472, -5.8127616499555561, -7.6459958079440238, 0.50245370803461853], [-3.9406077983646526, -0.55926637493176479, -4.2535035405935453, -8.9701668132550534, -7.0139899836702027], [-5.1575724804637071, 0.91727342528799483, -6.1766868800788624, -4.4545651909389949, -1.1981769590473457]], [[-2.7297901424497319, -5.9421513196589997, -5.9890957831581817, 3.4323874793012257, 3.6376530833699805], [-2.8893455928986738, -4.0011293688465255, -4.4763212300598623, -2.559124455482567, 3.1385248365887994], [-0.068185296366758408, -5.9564228547711622, -0.97324558379525339, 1.7888887385126102, -1.9164750354257833], [-0.087191020531877328, -5.8571768139882208, -1.8153863310659606, -1.3416818080029165, -2.6270276157512678]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank4_taggedData_rank1(self):  
       arg0=numpy.array([[[[1.8782854295841434, 1.9122729423657594], [-0.52913376209955754, 4.5403543836184834]], [[1.6459578015456611, 4.3308588009609519], [0.82761992193999934, -1.4238427489803493]], [[4.6435028765742015, -2.4633346257296704], [3.0784187534800722, -0.26625259322362815]], [[0.2479396012467241, 4.0420894115206476], [0.53453824457457078, -4.5179232345897304]], [[-4.0601124336963501, -2.9600521702586082], [3.1278611538166921, 4.3384484924208184]], [[-4.668371010817908, 3.0956307042304037], [4.3632762698594139, -2.0003779238031227]]], [[[0.9016341174465996, -2.7476660349813455], [1.6111534294450616, 0.39940289552886377]], [[-1.0940750489889774, 1.5581740830337454], [3.737969579035969, -4.4099610539006253]], [[-4.9046746932314642, 1.4328126846721636], [3.1968083011360786, 1.0913227389241751]], [[3.7137721177065117, 4.0500160356713213], [-2.8031499205171064, 2.7618635565545837]], [[4.1840233346881615, 1.8957811817749546], [2.5491018170034359, 0.25946844883800146]], [[-1.426821282114008, -1.8719068661459639], [-3.3038910088157882, -2.1641980363502586]]]])  
       arg1=Data(numpy.array([0.32165222785656944, -0.61401097851239061]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([0.65006548375350093, 4.060359396679555]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[2.1999376574407128, 2.2339251702223288], [-0.2074815342429881, 4.8620066114750529]], [[1.9676100294022305, 4.6525110288175213], [1.1492721497965688, -1.1021905211237799]], [[4.9651551044307709, -2.141682397873101], [3.4000709813366417, 0.055399634632941286]], [[0.56959182910329353, 4.363741639377217], [0.85619047243114021, -4.196271006733161]], [[-3.7384602058397807, -2.6383999424020388], [3.4495133816732615, 4.6601007202773879]], [[-4.3467187829613385, 3.4172829320869731], [4.6849284977159833, -1.6787256959465533]]], [[[0.28762313893420899, -3.3616770134937362], [0.99714245093267095, -0.21460808298352685]], [[-1.7080860275013681, 0.94416310452135477], [3.1239586005235784, -5.0239720324130159]], [[-5.5186856717438548, 0.81880170615977299], [2.582797322623688, 0.47731176041178447]], [[3.0997611391941211, 3.4360050571589307], [-3.417160899029497, 2.1478525780421931]], [[3.5700123561757708, 1.281770203262564], [1.9350908384910452, -0.35454252967438915]], [[-2.0408322606263987, -2.4859178446583545], [-3.9179019873281788, -2.7782090148626493]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[2.5283509133376443, 2.5623384261192603], [0.12093172165394339, 5.1904198673719844]], [[2.296023285299162, 4.9809242847144528], [1.4776854056935003, -0.77377726522684842]], [[5.2935683603277024, -1.8132691419761695], [3.7284842372335731, 0.38381289052987277]], [[0.89800508500022502, 4.6921548952741485], [1.1846037283280717, -3.8678577508362295]], [[-3.4100469499428492, -2.3099866865051073], [3.777926637570193, 4.9885139761743194]], [[-4.018305527064407, 3.7456961879839046], [5.0133417536129148, -1.3503124400496218]]], [[[4.9619935141261546, 1.3126933616982095], [5.6715128261246166, 4.4597622922084188]], [[2.9662843476905776, 5.6185334797133004], [7.7983289757155241, -0.34960165722107028]], [[-0.84431529655190918, 5.4931720813517186], [7.2571676978156336, 5.1516821356037301]], [[7.7741315143860668, 8.1103754323508763], [1.2572094761624486, 6.8222229532341387]], [[8.2443827313677165, 5.9561405784545096], [6.6094612136829909, 4.3198278455175565]], [[2.633538114565547, 2.1884525305335911], [0.7564683878637668, 1.8961613603292964]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank1_taggedData_rank4(self):  
       arg0=numpy.array([3.7321539028181441, 3.5015364854784856])  
       arg1=Data(numpy.array([[[[-4.8678830574336773, -1.7070778352761131], [0.088652590509450846, -3.9644539705012551]], [[3.7939106627774972, -2.6883668310687781], [-2.3780275966964437, 0.61735057210095778]], [[0.60269029667947649, -2.7713738155574754], [4.4862586836376543, 1.1233363027539003]], [[0.0098094658946612512, 3.4373940297292371], [-4.898668894866633, 1.7535551069152184]], [[4.2390821391453422, -2.2043792550299015], [1.9232628916030592, -3.3737579471165366]], [[-2.4470714044782205, 2.9974704628237863], [1.5159899593448545, -4.9491699726058291]]], [[[-2.8903089195760137, -2.7419309037448283], [4.5503005407845478, -2.1954927222058251]], [[1.8503331207949021, -0.15128013394960682], [4.6388678313748635, -4.6159200835346503]], [[3.0735970465806748, 2.2583757861602916], [-2.9916620899853505, 4.2599461679964996]], [[-3.8153885763076123, 4.3046114470132775], [1.2207739477804322, -3.4039880641924669]], [[4.949020365853027, 4.5934860067709291], [2.3127648899274931, 4.4371792200066942]], [[-3.0534508084268763, 4.7796167804037673], [1.6384536044287934, -1.0872651576823564]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[2.7246167174467475, 2.5720419619385479], [-4.6738534626174193, 3.0699808638715744]], [[2.6470134938984984, 1.044200284173006], [4.1524867106352712, 0.028538098126849931]], [[3.3230063469318658, 4.1740766063604031], [4.9436595091700113, -0.23362364676168479]], [[4.9055831120584834, 4.9251327203845143], [3.3133117588699736, 0.88244411344083762]], [[2.4479344248622814, 1.3562864828289323], [2.7949855071055554, -1.002549028046229]], [[0.037729481783298269, -2.4521819811306211], [-1.1822075919351391, -3.2810928625390892]]], [[[4.7136284595984783, 4.4216577166968545], [-1.8662854030515841, -4.2589187286821524]], [[-2.5825603909276129, -1.5624765641400709], [-1.4963705098894331, 1.6801244031387288]], [[-0.94427692272568198, -1.4428226651645035], [1.6485133549001487, -1.4654706787108998]], [[3.1883923648017074, 2.8371237845887602], [2.4382952521084702, -0.76044133125542146]], [[4.0818925033027949, 0.13423960276716684], [0.5019068413245229, -1.291141405670182]], [[3.4466927463461428, 3.8032646678056903], [-3.6526542985632684, -4.5370028617752016]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.1357291546155333, 2.025076067542031], [3.8208064933275949, -0.23230006768311107]], [[7.5260645655956413, 1.043787071749366], [1.3541263061217004, 4.3495044749191019]], [[4.3348441994976206, 0.96078008726066866], [8.2184125864557984, 4.8554902055720444]], [[3.7419633687128053, 7.1695479325473812], [-1.166514992048489, 5.4857090097333625]], [[7.9712360419634862, 1.5277746477882426], [5.6554167944212033, 0.35839595570160743]], [[1.2850824983399236, 6.7296243656419303], [5.2481438621629986, -1.2170160697876851]]], [[[0.61122756590247196, 0.75960558173365733], [8.0518370262630334, 1.3060437632726605]], [[5.3518696062733877, 3.3502563515288788], [8.1404043168533491, -1.1143835980561647]], [[6.5751335320591604, 5.7599122716387772], [0.50987439549313507, 7.7614826534749852]], [[-0.31385209082912668, 7.8061479324917631], [4.7223104332589179, 0.097548421286018705]], [[8.4505568513315126, 8.0950224922494147], [5.8143013754059787, 7.9387157054851798]], [[0.44808567705160929, 8.2811532658822529], [5.139990089907279, 2.4142713277961292]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[6.4567706202648916, 6.304195864756692], [-0.94169955979927522, 6.8021347666897185]], [[6.3791673967166425, 4.7763541869911501], [7.8846406134534153, 3.760692000944994]], [[7.0551602497500099, 7.9062305091785472], [8.6758134119881554, 3.4985302560564593]], [[8.6377370148766275, 8.6572866232026584], [7.0454656616881177, 4.6145980162589817]], [[6.1800883276804255, 5.0884403856470763], [6.5271394099236995, 2.729604874771915]], [[3.7698833846014423, 1.2799719216875229], [2.5499463108830049, 0.45106104027905491]]], [[[8.2151649450769639, 7.9231942021753401], [1.6352510824269015, -0.75738224320366676]], [[0.9189760945508727, 1.9390599213384148], [2.0051659755890525, 5.1816608886172144]], [[2.5572595627528036, 2.0587138203139821], [5.1500498403786343, 2.0360658067675859]], [[6.689928850280193, 6.3386602700672459], [5.9398317375869558, 2.7410951542230642]], [[7.5834289887812805, 3.6357760882456525], [4.0034433268030085, 2.2103950798083036]], [[6.9482292318246284, 7.3048011532841759], [-0.15111781308478278, -1.035466376296716]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank2_taggedData_rank2(self):  
       arg0=numpy.array([[-2.3069817298091699, 4.6217436467753519, 0.32507631508170931, -4.7890011982450842, 3.3580751243828093], [0.46484257056641987, -1.5319140199752623, 3.367646841462081, -2.4623168914718621, 3.5795511259901129], [-4.8002792699852916, -1.8785130078953136, -3.9103408620480886, 1.361549969599344, 2.7441504213901737], [0.30901805744327859, -4.4126429217183247, 2.930670800498917, -1.2883050721412914, -4.8650319022340618]])  
       arg1=Data(numpy.array([[4.0105116180592919, -2.0999714028832948, -4.6255221366419219, 3.36698651035403, 2.5221846125663063], [3.6586614682925536, 2.8962279287679422, -4.6916775523264267, -3.1275122928172703, -4.7470303882675458], [3.3628746149641131, -2.6719954111186794, 2.0717388628951667, 3.0719677995266714, -1.9835514559602077], [0.94080136672669479, 2.9891868275841009, 0.98856676906754437, -0.11551629185748524, 2.0992578202722454]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-3.3933644384737285, -0.14950410250314494, -0.44725642778950192, 2.6684502022545491, 1.9189910333287123], [2.8455942106231644, -2.154026719030353, -1.7820624512420515, 4.6536384621439577, -0.67929430382429778], [-2.2160872742451208, -2.0620387786446037, -1.9754124715721364, 3.5363994259524585, 2.5295246723032001], [-2.0787048443591249, -3.8214673357386331, 3.7968144284876768, -2.0061144678787048, 4.8018118836473338]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[1.703529888250122, 2.5217722438920571, -4.3004458215602126, -1.4220146878910542, 5.8802597369491156], [4.1235040388589734, 1.3643139087926799, -1.3240307108643457, -5.5898291842891323, -1.1674792622774328], [-1.4374046550211785, -4.5505084190139931, -1.8386019991529219, 4.4335177691260155, 0.76059896542996608], [1.2498194241699734, -1.4234560941342238, 3.9192375695664614, -1.4038213639987767, -2.7657740819618164]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-5.7003461682828984, 4.4722395442722069, -0.12218011270779261, -2.1205509959905351, 5.2770661577115217], [3.3104367811895843, -3.6859407390056154, 1.5855843902200295, 2.1913215706720957, 2.9002568221658152], [-7.0163665442304124, -3.9405517865399173, -5.885753333620225, 4.8979493955518025, 5.2736750936933738], [-1.7696867869158464, -8.2341102574569582, 6.7274852289865938, -3.2944195400199963, -0.063220018586727988]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank3_taggedData_rank2(self):  
       arg0=numpy.array([[[-4.1742606942599565, 0.12961116591664101], [-2.894902610033574, -0.52598293358015447], [-2.676910070171691, 1.6602874661574516], [-2.5953350423840349, -1.7993964096773682], [1.6048869866895723, -3.5824622193258246]], [[3.1893676794188881, 0.86052651378713652], [1.6499270035004789, -1.4293449319283646], [-1.1964688303814208, -1.2713437815274862], [1.9468098836075276, 1.3925251219579913], [-2.9370210743693335, -2.7154506126745694]], [[-0.46752082370082881, 1.7935238695569673], [3.5387918730338761, 0.11930582211950558], [-0.33056586769676422, -0.99397911940304429], [0.57743687943897015, 2.6479114691754013], [-3.4876914475973351, 1.0864042907861347]], [[-1.4114945125266631, 2.3255896234033768], [3.8745868785492181, 3.6960441063954086], [-0.78257013319079061, -4.7752862926631572], [-3.9762548404597875, 4.0248360888540997], [0.59435224667026532, -3.2824658105872428]]])  
       arg1=Data(numpy.array([[4.5053546146437231, 4.8175716195397982, 1.5441554550268712, 4.705699878196782, -3.9822226004202408], [2.7844395524704471, -1.2962088135146708, 4.3914507252778492, 4.565826298100955, 0.21314206298310268], [-1.3705253660042604, -4.9612258583684614, 0.058345736160961614, 4.2683506928561137, 0.61217859290137699], [-1.8206855631841181, -0.37384490914061175, 3.5452834370362289, -0.59706734735245348, 3.4984596015846723]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-3.4930730125555987, 1.3536691387378941, 3.1058656476081925, 0.96733364550260781, 4.8906952633512795], [3.5582343271961872, 0.79929132661888413, 0.78233289084741742, -2.1404231088268433, -1.0162816103444205], [1.9355707715844872, 4.2723089167951986, 2.0604959889174834, -2.816235956854519, -1.1252495220593008], [3.7748075394044509, -4.2634838219648463, 2.0633758624021183, 4.9365232015467946, 2.0561440909268764]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.33109392038376662, 4.6349657805603641], [1.9226690095062242, 4.2915886859596437], [-1.1327546151448198, 3.2044429211843228], [2.1103648358127471, 2.9063034685194138], [-2.3773356137306685, -7.5646848197460654]], [[5.9738072318893352, 3.6449660662575836], [0.35371818998580817, -2.7255537454430354], [3.1949818948964284, 3.120106943750363], [6.5126361817084826, 5.9583514200589462], [-2.7238790113862308, -2.5023085496914668]], [[-1.8380461897050893, 0.42299850355270685], [-1.4224339853345853, -4.8419200362489558], [-0.2722201315358026, -0.93563338324208267], [4.8457875722950838, 6.916262162031515], [-2.8755128546959581, 1.6985828836875116]], [[-3.2321800757107813, 0.50490406021925871], [3.5007419694086064, 3.3221991972547968], [2.7627133038454383, -1.2300028556269282], [-4.5733221878122414, 3.4277687415016462], [4.0928118482549376, 0.21599379099742944]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-7.6673337068155547, -3.3634618466389576], [-1.5412334712956799, 0.82768620515773961], [0.42895557743650148, 4.7661531137656441], [-1.6280013968814271, -0.83206276417476044], [6.4955822500408518, 1.3082330440254548]], [[6.7476020066150753, 4.4187608409833237], [2.4492183301193631, -0.63005360530948051], [-0.41413593953400341, -0.48901089068006875], [-0.19361322521931568, -0.747897986868852], [-3.953302684713754, -3.73173222301899]], [[1.4680499478836584, 3.7290946411414545], [7.8111007898290747, 4.3916147389147042], [1.7299301212207192, 1.0665168695144391], [-2.2387990774155488, -0.16832448767911767], [-4.6129409696566359, -0.038845231273166192]], [[2.3633130268777878, 6.1003971628078277], [-0.38889694341562819, -0.56743971556943773], [1.2808057292113277, -2.7119104302610388], [0.96026836108700708, 8.9613592904008943], [2.6504963375971418, -1.2263217196603664]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank2_taggedData_rank3(self):  
       arg0=numpy.array([[-3.1918411005746483, -2.7089091376148975, 3.6327946287877726, 2.6858625645521128, -2.7904001351178866], [0.5028059076436211, -1.4460089387577812, 3.2370916694792307, -2.9978876323763815, 4.8544773074213481], [-3.6483629349201676, -3.5793083241090553, 1.889853558130671, -2.7958107526870837, -1.8683253834495641], [-3.2659008553576152, 2.7540911767819622, 0.54591948570196536, -4.8786802663294582, -0.040856036676966134]])  
       arg1=Data(numpy.array([[[-2.9967842273163448, -2.8726382631364498], [4.4906851982007492, 3.8532113509875359], [-0.1528409515943796, 0.54330507485558588], [1.7246130397340007, 3.8059732727726381], [-4.0132260337048358, 4.9217581271882995]], [[-2.2666487686874071, -2.2442709824438523], [-4.3709882142358545, 3.1085011795027526], [-4.1990677420278359, 4.3578130502191001], [-2.6311258804278426, -1.0459129557491789], [-1.6128730595199614, 4.1302614429032332]], [[-2.532173945751218, -2.0891361160479005], [-2.8651090722651515, -4.6137937135914182], [-2.4818909529815194, -4.7647938013282598], [-4.8299217789160052, -1.5423438162206771], [2.8291327048079342, 2.4980865208757947]], [[2.3195263419171912, 4.0636269817149859], [2.9079772170856959, -3.5294586544498738], [3.3832364185984538, 2.7910057889271647], [2.2586540141985161, -0.28221153439288216], [1.7015224330577059, 1.597741365463726]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[3.0342958071399995, -3.8847138969004913], [4.2840478312754353, 0.31881117211819987], [2.7416352291890336, -3.4626882573051168], [0.5411792706671239, -0.30413924608212994], [4.3123559606974347, -3.6366490589184961]], [[0.9628414621716388, 3.7936427247996001], [1.6127283154257608, -1.7086847721121479], [2.8009632081344025, 3.6217498096021057], [1.5938857078091937, -3.1111104581367877], [-1.5497281661518905, -3.0855412052648901]], [[1.9426082210737459, 1.770434255136724], [-2.3025128786552509, 2.8780906099305925], [3.6828478540701362, -0.32058722558221575], [-1.2465444365362535, -1.5594012323099484], [1.0574563932105905, -0.062429473536499636]], [[-2.6232121773685888, -2.5645929821356548], [-1.7960554031161324, -0.37921226446731549], [4.8877841332036631, -2.2624227063779143], [-3.7760022634984738, -1.8209103066411014], [2.9392124409318354, 3.3153978708291643]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-6.1886253278909926, -6.0644793637110981], [1.7817760605858517, 1.1443022133726384], [3.479953677193393, 4.1760997036433585], [4.4104756042861135, 6.4918358373247509], [-6.8036261688227224, 2.1313579920704129]], [[-1.763842861043786, -1.7414650748002312], [-5.8169971529936362, 1.6624922407449714], [-0.96197607254860529, 7.5949047196983308], [-5.6290135128042245, -4.0438005881255599], [3.2416042479013867, 8.9847387503245812]], [[-6.1805368806713856, -5.7374990509680686], [-6.4444173963742069, -8.1931020377004735], [-0.59203739485084839, -2.8749402431975888], [-7.6257325316030888, -4.3381545689077612], [0.9608073213583701, 0.62976113742623063]], [[-0.946374513440424, 0.79772612635737072], [5.6620683938676581, -0.77536747766791159], [3.9291559043004192, 3.33692527462913], [-2.6200262521309421, -5.1608918007223403], [1.6606663963807398, 1.5568853287867599]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-0.15754529343464885, -7.0765549974751396], [1.5751386936605378, -2.3900979654966976], [6.3744298579768062, 0.17010637148265584], [3.2270418352192367, 2.3817233184699829], [1.521955825579548, -6.4270491940363828]], [[1.4656473698152599, 4.2964486324432212], [0.16671937666797954, -3.1546937108699291], [6.0380548776136331, 6.8588414790813363], [-1.4040019245671878, -6.1089980905131691], [3.3047491412694576, 1.768936102156458]], [[-1.7057547138464217, -1.8779286797834436], [-5.8818212027643062, -0.70121771417846279], [5.5727014122008072, 1.5692663325484553], [-4.0423551892233371, -4.3552119849970321], [-0.81086899023897363, -1.9307548569860637]], [[-5.889113032726204, -5.83049383749327], [0.95803577366582982, 2.3748789123146468], [5.4337036189056285, -1.716503220675949], [-8.654682529827932, -6.6995905729705596], [2.8983564042548693, 3.2745418341521981]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank4_taggedData_rank2(self):  
       arg0=numpy.array([[[[4.0511281139758761, 2.8970866902877193, 0.91227830462358828, 2.6358742202010612, 4.1472905289868578], [1.1356751679894703, -4.2878147253206746, -1.4205515976865426, 0.95967035446961546, -4.1920506630124041], [0.17945980231448821, 3.729718547847348, 4.0992068486987527, -2.8630707577013892, -0.36591052715805183], [-2.9875056041278345, 0.6423516109037184, -1.5650360359130087, -3.8161897492613583, -4.6562695910560166]], [[2.3233063041602744, -2.0809586699584157, -4.166439998901299, -0.60148632314251049, -2.2112269020939745], [2.3785624750797671, -1.1152107752993876, 1.3067503560223273, 2.7462509810023494, 3.4356697184863876], [-1.491376395488051, -0.44112320580083608, -2.3248535406601691, 1.7581019052928237, 3.3257657904455797], [2.4827486059415325, -1.9955623731345042, 1.1830307174611647, -1.1273074153815843, -0.61457016806989984]], [[2.1688682065631948, 3.3416614825642856, -2.0340546495661824, -2.9599017651676829, -4.6935679681211067], [-2.6214820057809929, 1.0458567712823399, 2.6739479709299445, 1.5441994487109252, -4.1013032739987407], [1.0411251535779247, 3.0497752704266112, 2.0811850464663637, 2.5446903260381522, -2.9731426568157882], [-4.8468853968350452, -1.434062511727614, -0.56195658005930937, -3.5965632871403344, -3.0530409801087921]], [[-2.459478929014379, -1.2083010253473714, 3.4533270368054971, -1.9790446238529436, 1.6493362429530904], [-1.5972837348419331, 3.3293334420886431, -1.0583281977034495, 0.33631782544508493, -3.4969829818616791], [-4.8789250540399776, -0.51842734211532537, -0.62616943376204581, -4.8942729087185821, -1.4613192480324311], [-4.7221480090099259, 3.6146780953237183, 0.67580506014403241, -2.9355636433931931, 4.752307635540765]], [[-2.1293212937003925, -1.2957885397259892, 1.6004498079574381, -2.7321973082695852, -1.9128518159607797], [3.6891701310600471, 1.6259866740051621, -0.46568003643204658, 2.7159375141231337, -2.2410267013078542], [-1.3684848024964258, -2.5953155578986031, 3.2689263408958382, 0.68120037911801301, -3.2389493561041762], [2.1120633756794422, -4.2258775094066214, -4.6603647493478331, 1.6728679645115951, 1.5434629298289337]]], [[[1.9791973373773963, 3.6907614208375445, -1.0488049580942183, 4.1587901642924763, -2.1814139694275347], [-2.3569502515583807, -1.5942796394571825, -3.8311271349079004, -4.5244714548708744, -0.83474745433689357], [-1.4711288252830634, 4.758838061653103, 4.0014018337207418, -3.9179452819943283, -3.6726833405473505], [3.9245936415605591, 2.6707402974932934, 1.1403077901845391, -0.3632900381207822, -2.5425119425350262]], [[-4.6341758951136338, -4.051012506229891, -4.7380553350345966, 1.0476228794711133, -2.3666514583028886], [-2.7252204499313661, 4.9647810165123172, -2.5466733755969129, 3.3974882499798813, 4.073245735800711], [2.2435988961267661, 0.76205462904154064, 1.4259937763919828, -3.4039124611590186, -3.7718376778027762], [-0.71051107880353737, -3.0986673323644021, 2.5243262788713299, -0.77799556131358294, -3.5565372490578961]], [[3.536801848920053, 1.2988372231283041, 2.0923447537803401, -4.0226733091373115, -2.3680926317853048], [-4.1835996737353014, -1.671505623419538, 0.50018014228277785, 3.5746222301434099, 1.1605577217263052], [-0.24089034502282836, -2.7060819803133072, 2.8946572256287375, 3.8702112714879213, 3.0675511521970229], [3.7106614669800475, -1.6064574288601587, 2.1559753037746301, 0.49803094937780656, -1.8874654054401443]], [[-2.3872345029857467, -0.83934357958740691, 0.063947550585805146, -4.2904832695729489, 1.823952952874059], [2.477393578538555, 0.16272911223995212, 0.051476169126212667, -3.2961352894031992, -2.2400782381532256], [4.9146375495545662, 1.7928910189269667, -1.6327184188432406, 2.9695800270304442, -2.4737348857898702], [0.15889206044776216, 3.5065353083605171, 3.5049093609165904, 4.0628260052854639, -1.0553311354332449]], [[3.0577195343737866, -2.5492855846075257, 0.70094848284702849, 3.8983047208136252, 3.870232741134501], [-2.686319547308984, 0.87364641957251266, 1.7258442877599407, 0.37381195234632347, 3.5714070144831283], [-4.283146552499665, -0.32859560235849461, -2.4481198806510429, -1.8411254618640949, -2.4014896822620537], [-3.0779338907409381, 4.4932583832599278, 2.5234350568613531, -3.9363373548174097, 0.07851112661445292]]], [[[-2.9371502832389074, -0.80229626094547424, 2.0788511369507576, -0.031847876477854697, -1.7104179927414123], [-3.5113865380744516, 0.19170926413386269, -4.8381887436108038, 0.51274030309364171, 2.7858444174822736], [4.510371901265728, 0.44261963155078377, -4.4442244904387582, -4.2197081090984803, 0.19257052260515106], [-2.0524616719038482, 4.9645750840976977, -1.5922192819412739, 2.8759120806113181, 2.5189573778249308]], [[4.0566918368203524, 1.4836396555509985, -2.734436328205553, -4.5179283592332267, -1.9694684524396866], [0.079313106255927579, 1.3225818095124788, 1.5899182857089773, 4.3228129088781237, 2.5135716195992233], [-4.70185665921049, 1.1797669708585889, -0.31726757518521254, 3.2528970032274902, 3.1267020714928169], [-1.681498168118889, 3.5072142247173925, 1.2990489826193796, -0.27125798278698632, 4.424777705393355]], [[-2.156237195375029, 3.207776299634304, 3.8780566420915701, -3.0473039647741498, -4.6570260706609865], [1.0570127724814826, -4.581922843963623, -4.0346596771742229, 0.029498790792615637, 3.9159837701733835], [-1.377888552312533, -1.0442086390709893, 1.6927194592265149, 2.6603957210501061, -1.3702050160368282], [-1.0255167232621689, -1.0755176758220344, 0.28436525041118976, 4.3547541053560561, 0.46776672529708918]], [[2.1894568463624715, 1.0073960496939547, -3.4413586643980389, -2.0441560374699588, 2.2518353306149113], [-3.749361978402983, -0.60213681442404265, 1.6258721055301253, 1.3629856968979119, 4.5642976987707566], [0.39333436841418035, -2.7354894396658325, -2.5874221067240164, -3.1180457197102216, -4.2515798642510116], [-2.292668841378763, -3.489240365660724, 0.16483521691324299, 3.002251346640346, -3.8809823378613473]], [[-3.0842655955549017, -1.874227660405495, -4.9715595507015022, 2.3541379296997622, -3.4139990818841626], [2.1601805580922262, 0.38312184973256169, -0.055292066119799976, -2.5775862725808709, -2.1333446621574561], [-3.6894133635385851, -1.1572885731820737, 2.1436727451865432, 1.6132925743553113, 4.6835140650842249], [-4.0548668693231962, -2.8033349599587289, 3.8541903497160792, -0.64409897689095974, 3.7598758313764531]]], [[[4.4041610104571323, 4.5628303224246078, -0.57508188772959024, -0.030351437531020764, -1.1901457115924607], [-1.3535402320966949, 2.2438099018402831, 4.0896335944735718, -1.3939675282417427, 4.1613657115410359], [1.474219982609136, -2.5099236444344077, -2.1978830501412352, 2.6282750035117841, 3.2983913123934983], [4.8168455952019791, -2.6164188712681993, -1.7696481550375296, 0.39191378392091192, -1.9971285648277948]], [[-3.6023877345456743, 4.4760416959803813, 2.9029076282596229, -0.1209243476272821, 1.4575230769185339], [-3.1355769858885942, 4.9956979783841433, 3.0384271945963466, 0.25251835153010749, 4.4902177983234353], [3.1634203753707997, 0.50636058345930479, -0.58668321589471262, -1.5317785898647687, -3.2188623724544794], [-2.9414851152315458, 0.066759319685881557, 4.901305715284666, -4.2074717982649652, 2.3317784688968306]], [[-1.5955682326700291, -1.5395191749365713, 2.3293560077707181, 0.44072642190684341, -2.0886771186026634], [-4.4195115131116713, -2.0515707331989841, 4.0220790837929226, -1.4227222426586641, 1.6701891300235019], [-0.38337375411355268, 2.9071279866200417, -0.72658427676848714, 3.7442373891371652, 0.25559753844969713], [-3.1220393300087923, -3.0621616600163284, 2.3121518242572119, 4.4070349570510956, 3.3050419601687189]], [[-0.55275328345025088, -3.6990834341339274, 1.8674858102888496, -1.8310937307891884, -2.5955485085344918], [-1.4753287672558821, -2.5804771572632959, 2.9282333678654195, 0.33105362577678932, -3.9114172405167382], [1.3555181479136369, 2.9907795691611652, 4.329410551638734, 2.017789880649774, -2.8084506305566306], [-3.5253117090738604, -3.9672454846164138, 4.660017423521575, 1.7025820846423478, 2.8250849281887334]], [[1.2206323572410849, -1.1465066404978108, 3.0903846644594477, 4.4512762478785195, -2.1192845589816778], [-0.27015122578311335, -0.93152929929670591, -4.6210835816524902, 0.97792728560501985, -3.5038912843418304], [1.4455929908759471, -1.5942543322940947, -0.033556687716711053, -3.7006125168172477, 2.3640035466173064], [4.2086813138197599, -4.8008013998319061, -1.1405642432510343, -4.6771184894424875, -1.8711851608185448]]]])  
       arg1=Data(numpy.array([[-0.41082782644343929, -3.3906088821403415, 2.2856132464695724, -4.4115722849884644, 2.2555032000733855], [0.20304296835779923, 1.5035762451740347, -1.8464848699048773, 4.7342899169081818, -3.7124408329380341], [2.2263396276711376, 0.93414725758222428, -4.1637704482231088, 1.3600794236224791, 4.4349306052194351], [-2.6596881551756733, 0.33204070667916241, 4.5730866246251782, -0.81437877768349409, -0.53459434311258214]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-2.8175536781763197, 1.2974953127255686, -1.909402825973836, 3.3776564293757616, -3.3791102043599821], [2.1532543354418712, 2.1844691755173198, 3.3181276149316918, -3.7290741920876922, -2.9416244873175943], [1.4485095932067633, -1.7558874425780138, -1.0144414096339838, -2.7686879876130508, -4.2471824440084482], [-0.62876336731602844, 0.64817215994301325, 1.4237953781926613, 0.006163041803940672, 0.97603045516193099]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[3.6403002875324368, 2.48625886384428, 0.50145047818014898, 2.2250463937576219, 3.7364627025434185], [0.72484734154603103, -4.6986425517641139, -1.8313794241299819, 0.54884252802617617, -4.6028784894558434], [-0.23136802412895108, 3.3188907214039087, 3.6883790222553134, -3.2738985841448285, -0.77673835360149113], [-3.3983334305712738, 0.2315237844602791, -1.975863862356448, -4.2270175757047976, -5.0670974174994559]], [[-1.0673025779800671, -5.4715675520987572, -7.5570488810416405, -3.992095205282852, -5.6018357842343161], [-1.0120464070605744, -4.5058196574397291, -2.0838585261180143, -0.64435790113799207, 0.045060836346046074], [-4.8819852776283925, -3.8317320879411776, -5.7154624228005106, -1.6325069768475178, -0.064843091694761767], [-0.90786027619880905, -5.3861712552748457, -2.2075781646791768, -4.5179162975219258, -4.0051790502102413]], [[4.4544814530327672, 5.6272747290338581, 0.25155859690339, -0.67428851869811046, -2.4079547216515342], [-0.33586875931142046, 3.3314700177519123, 4.9595612173995169, 3.8298126951804976, -1.8156900275291683], [3.3267384000474971, 5.3353885168961837, 4.3667982929359361, 4.8303035725077246, -0.68752941034621573], [-2.5612721503654727, 0.85155073474195841, 1.723656666410263, -1.3109500406707619, -0.76742773363921968]], [[-6.8710512140028435, -5.6198733103358354, -0.9582452481829673, -6.390616908841408, -2.762236042035374], [-6.0088560198303975, -1.0822388428998213, -5.469900482691914, -4.0752544595433795, -7.9085552668501435], [-9.2904973390284411, -4.9299996271037898, -5.0377417187505102, -9.3058451937070465, -5.8728915330208959], [-9.1337202939983904, -0.79689418966474612, -3.735767224844432, -7.3471359283816575, 0.34073535055230053]], [[0.12618190637299298, 0.95971466034739628, 3.8559530080308235, -0.47669410819619973, 0.34265138411260576], [5.9446733311334325, 3.8814898740785475, 1.7898231636413389, 4.9714407141965191, 0.014476498765531254], [0.88701839757695966, -0.33981235782521768, 5.5244295409692237, 2.9367035791913985, -0.98344615603079077], [4.3675665757528277, -1.970374309333236, -2.4048615492744476, 3.9283711645849806, 3.7989661299023192]]], [[[2.1822403057351956, 3.8938043891953438, -0.84576198973641903, 4.3618331326502755, -1.9783710010697355], [-2.1539072832005814, -1.3912366710993833, -3.6280841665501011, -4.3214284865130752, -0.63170448597909434], [-1.2680858569252642, 4.9618810300109022, 4.204444802078541, -3.7149023136365291, -3.4696403721895512], [4.1276366099183583, 2.8737832658510927, 1.3433507585423383, -0.16024706976298297, -2.339468974177227]], [[-3.1305996499395992, -2.5474362610558563, -3.234479089860562, 2.551199124645148, -0.86307521312885394], [-1.2216442047573315, 6.4683572616863518, -1.0430971304228782, 4.901064495153916, 5.5768219809747457], [3.7471751413008008, 2.2656308742155753, 2.9295700215660174, -1.9003362159849839, -2.2682614326287416], [0.79306516637049729, -1.5950910871903674, 4.0279025240453645, 0.72558068386045171, -2.0529610038838615]], [[1.6903169790151757, -0.54764764677657318, 0.24585988387546287, -5.8691581790421887, -4.2145775016901821], [-6.0300845436401787, -3.5179904933244153, -1.3463047276220994, 1.7281373602385326, -0.68592714817857203], [-2.0873752149277056, -4.5525668502181844, 1.0481723557238602, 2.0237264015830441, 1.2210662822921456], [1.8641765970751702, -3.452942298765036, 0.30949043386975283, -1.3484539205270707, -3.7339502753450216]], [[2.3470554139224351, 3.8949463373207749, 4.7982374674939869, 0.4438066473352329, 6.5582428697822408], [7.2116834954467368, 4.8970190291481339, 4.7857660860343945, 1.4381546275049826, 2.4942116787549562], [9.648927466462748, 6.5271809358351485, 3.1015714980649411, 7.703869943938626, 2.2605550311183116], [4.893181977355944, 8.2408252252686989, 8.2391992778247722, 8.7971159221936457, 3.6789587814749369]], [[-0.65472129856424743, -6.2617264175455603, -3.0114923500910056, 0.18586388787559116, 0.15779190819646693], [-6.3987603802470181, -2.8387944133655214, -1.9865965451780934, -3.3386288805917106, -0.14103381845490581], [-7.9955873854376991, -4.0410364352965287, -6.160560713589077, -5.5535662948021294, -6.1139305152000878], [-6.7903747236789727, 0.78081755032189371, -1.189005776076681, -7.6487781877554433, -3.6339297063235811]]], [[[-0.71081065556776979, 1.4240433667256633, 4.3051907646218952, 2.1944917511932829, 0.51592163492972531], [-1.285046910403314, 2.4180488918050003, -2.6118491159396662, 2.7390799307647793, 5.0121840451534112], [6.7367115289368655, 2.6689592592219213, -2.2178848627676206, -1.9933684814273427, 2.4189101502762886], [0.17387795576728937, 7.1909147117688352, 0.63412034572986364, 5.1022517082824557, 4.7452970054960684]], [[4.9908390944025767, 2.4177869131332228, -1.8002890706233288, -3.5837811016510024, -1.0353211948574623], [1.0134603638381519, 2.2567290670947031, 2.5240655432912016, 5.256960166460348, 3.4477188771814475], [-3.7677094016282657, 2.1139142284408132, 0.61687968239701174, 4.1870442608097145, 4.0608493290750411], [-0.74735091053666469, 4.4413614822996168, 2.2331962402016039, 0.66288927479523796, 5.3589249629755793]], [[-6.3200076435981378, -0.95599414858880483, -0.28571380613153874, -7.2110744129972586, -8.8207965188840944], [-3.1067576757416262, -8.7456932921867327, -8.1984301253973317, -4.1342716574304932, -0.24778667804972532], [-5.5416590005356419, -5.2079790872940981, -2.4710509889965939, -1.5033747271730027, -5.533975464259937], [-5.1892871714852777, -5.2392881240451432, -3.8794051978119191, 0.19098365713294729, -3.6960037229260196]], [[3.5495362699849506, 2.3674754733164338, -2.0812792407755598, -0.68407661384747964, 3.6119147542373904], [-2.3892825547805039, 0.75794260919843648, 2.9859515291526044, 2.7230651205203911, 5.9243771223932358], [1.7534137920366595, -1.3754100160433533, -1.2273426831015373, -1.7579662960877425, -2.8915004406285325], [-0.9325894177562839, -2.1291609420382449, 1.5249146405357221, 4.3623307702628251, -2.5209029142388681]], [[1.3506650096645334, 2.56070294481394, -0.53662894548206719, 6.7890685349191973, 1.0209315233352725], [6.5951111633116613, 4.8180524549519967, 4.3796385390996351, 1.8573443326385641, 2.3015859430619789], [0.74551724168084998, 3.2776420320373614, 6.5786033504059782, 6.0482231795747463, 9.1184446703036599], [0.38006373589623887, 1.6315956452607061, 8.2891209549355143, 3.7908316283284753, 8.1948064365958881]]], [[[1.744472855281459, 1.9031421672489346, -3.2347700429052635, -2.690039592706694, -3.849833866768134], [-4.0132283872723686, -0.41587825333539019, 1.4299454392978985, -4.053655683417416, 1.5016775563653626], [-1.1854681725665372, -5.169611799610081, -4.8575712053169084, -0.031413151663889138, 0.638703157217825], [2.1571574400263058, -5.2761070264438725, -4.4293363102132028, -2.2677743712547613, -4.6568167200034676]], [[-3.2703470278665119, 4.8080824026595437, 3.2349483349387853, 0.21111635905188031, 1.7895637835976963], [-2.8035362792094318, 5.3277386850633057, 3.370467901275509, 0.5845590582092699, 4.8222585050025977], [3.4954610820499621, 0.8384012901384672, -0.25464250921555021, -1.1997378831856063, -2.886821665775317], [-2.6094444085523834, 0.39880002636504397, 5.2333464219638284, -3.8754310915858028, 2.663819175575993]], [[2.9775183919551491, 3.0335674496886069, 6.9024426323958963, 5.0138130465320216, 2.4844095060225149], [0.15357511151350689, 2.5215158914261941, 8.5951657084181008, 3.1503643819665141, 6.2432757546486801], [4.1897128705116256, 7.4802146112452199, 3.8465023478566911, 8.3173240137623434, 4.8286841630748754], [1.4510472946163859, 1.5109249646088498, 6.8852384488823901, 8.9801215816762738, 7.8781285847938971]], [[-1.367132061133745, -4.513462211817421, 1.0531070326053555, -2.6454725084726824, -3.4099272862179859], [-2.2897075449393762, -3.3948559349467899, 2.1138545901819255, -0.48332515190670478, -4.7257960182002323], [0.5411393702301428, 2.1764007914776711, 3.5150317739552399, 1.20341110296628, -3.6228294082401247], [-4.3396904867573545, -4.7816242622999079, 3.8456386458380809, 0.88820330695885374, 2.0107061505052393]], [[0.68603801412850274, -1.681100983610393, 2.5557903213468656, 3.9166819047659374, -2.6538789020942599], [-0.80474556889569548, -1.4661236424092881, -5.1556779247650724, 0.44333294249243771, -4.0384856274544125], [0.91099864776336492, -2.1288486754066769, -0.56815103082929319, -4.2352068599298303, 1.8294092035047242], [3.6740869707071777, -5.3353957429444883, -1.6751585863636165, -5.2117128325550697, -2.4057795039311269]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[1.2335744357995564, 0.079533012111399515, -1.9052753735527315, -0.18167945797525853, 1.3297368508105381], [-1.6818785101868494, -7.1053684034969944, -4.2381052758628623, -1.8578833237067043, -7.0096043411887239], [-2.6380938758618315, 0.91216486967102828, 1.281653170522433, -5.6806244358777089, -3.1834642053343716], [-5.8050592823041542, -2.1752020672726013, -4.3825897140893284, -6.6337434274376781, -7.4738232692323363]], [[3.620801616885843, -0.7834633572328471, -2.8689446861757304, 0.69600898958305812, -0.91373158936840593], [3.6760577878053358, 0.182284537426181, 2.6042456687478959, 4.0437462937279181, 4.7331650312119562], [-0.19388108276248239, 0.85637210692473253, -1.0273582279346005, 3.0555972180183923, 4.6232611031711484], [3.7802439186671011, -0.69806706040893562, 2.4805260301867333, 0.17018789734398432, 0.68292514465566878]], [[0.25946538058935875, 1.4322586565904496, -3.9434574755400185, -4.8693045911415194, -6.6029707940949427], [-4.5308848317548289, -0.86354605469149615, 0.76454514495610848, -0.36520337726291086, -6.0107060999725768], [-0.86827767239591136, 1.1403724444527752, 0.17178222049252767, 0.63528750006431611, -4.8825454827896237], [-6.7562882228088812, -3.34346533770145, -2.4713594060331454, -5.5059661131141704, -4.9624438060826286]], [[0.91817750036138257, 2.1693554040283902, 6.8309834661812587, 1.3986118055228181, 5.0269926723288521], [1.7803726945338285, 6.7069898714644047, 2.3193282316723121, 3.7139742548208465, -0.1193265524859175], [-1.501268624664216, 2.8592290872604362, 2.7514869956137158, -1.5166164793428205, 1.9163371813433305], [-1.3444915796341643, 6.9923345246994799, 4.053461489519794, 0.44209278598256851, 8.1299640649165266]], [[-5.508431498060375, -4.6748987440859713, -1.778660396402544, -6.1113075126295673, -5.2919620203207618], [0.31005992670006499, -1.75312353035482, -3.8447902407920287, -0.66317269023684844, -5.6201369056678363], [-4.7475950068564075, -5.9744257622585852, -0.11018386346414388, -2.6979098252419691, -6.6180595604641583], [-1.2670468286805399, -7.6049877137666035, -8.0394749537078152, -1.706242239848387, -1.8356472745310484]]], [[[4.1324516728192675, 5.8440157562794157, 1.1044493773476529, 6.3120444997343474, -0.028159633985663568], [-0.2036959161165095, 0.55897469598468863, -1.6778727994660292, -2.3712171194290033, 1.3185068811049776], [0.68212551015880774, 6.9120923970949741, 6.1546561691626129, -1.7646909465524572, -1.5194290051054793], [6.0778479770024303, 4.8239946329351646, 3.2935621256264103, 1.789964297321089, -0.38925760709315504]], [[-2.449706719596314, -1.8665433307125712, -2.5535861595172769, 3.2320920549884331, -0.18218228278556881], [-0.54075127441404636, 7.149250192029637, -0.36220420007959309, 5.5819574254972011, 6.2577149113180308], [4.4280680716440859, 2.9465238045588604, 3.6104629519093026, -1.2194432856416988, -1.5873685022854565], [1.4739580967137824, -0.91419815684708228, 4.7087954543886497, 1.4064736142037368, -1.3720680735405764]], [[6.8549294638517448, 4.6169648380599959, 5.410472368712032, -0.70454569420561963, 0.95003498314638701], [-0.86547205880360956, 1.6466219915121538, 3.8183077572144697, 6.8927498450751017, 4.4786853366579971], [3.0772372699088635, 0.61204563461838468, 6.2127848405604293, 7.1883388864196132, 6.3856787671287147], [7.0287890819117393, 1.7116701860715331, 5.4741029187063219, 3.8161585643094984, 1.4306622094915475]], [[-6.1163086950734389, -4.5684177716750991, -3.6651266415018871, -8.0195574616606411, -1.9051212392136332], [-1.2516806135491372, -3.5663450798477401, -3.6775980229614795, -7.0252094814908919, -5.9691524302409178], [1.185563357466874, -1.9361831731607255, -5.3617926109309328, -0.75949416505724798, -6.2028090778775624], [-3.57018213163993, -0.22253888372717512, -0.22416483117110175, 0.3337518131977717, -4.7844053275209371]], [[0.11609504705619234, -5.4909100719251196, -2.2406760044705658, 0.95668023349603093, 0.9286082538169067], [-5.6279440346265783, -2.0679780677450816, -1.2157801995576536, -2.5678125349712708, 0.62978252716553396], [-7.2247710398172593, -3.2702200896760889, -5.3897443679686372, -4.7827499491816887, -5.343114169579648], [-6.019558378058532, 1.5516338959423335, -0.41818943045624124, -6.8779618421350044, -2.8631133607031414]]], [[[-1.4886406900321441, 0.64621333226128908, 3.5273607301575209, 1.4166617167289086, -0.26190839953464895], [-2.0628769448676882, 1.640218857340626, -3.3896791504040404, 1.961249896300405, 4.2343540106890369], [5.9588814944724913, 1.8911292247575471, -2.9957148972319949, -2.771198515891717, 1.6410801158119144], [-0.60395207869708489, 6.413084677304461, -0.14370968873451062, 4.3244216738180814, 3.9674669710316941]], [[2.3008043942423386, -0.27224778702701524, -4.4903237707835668, -6.2738158018112404, -3.7253558950177004], [-1.6765743363220862, -0.43330563306553493, -0.16596915686903646, 2.56692546630011, 0.75768417702120949], [-6.4577441017885038, -0.57612047171942482, -2.0731550177632263, 1.4970095606494764, 1.3708146289148031], [-3.4373856106969027, 1.7513267821393788, -0.45683845995863415, -2.0271454253650001, 2.6688902628153413]], [[-3.1706786050090128, 2.1933348900003202, 2.8636152324575863, -4.0617453744081331, -5.6714674802949698], [0.04257136284749885, -5.5963642535976064, -5.0491010868082071, -0.98494261884136813, 2.9015423605393997], [-2.3923299619465168, -2.058650048704973, 0.67827804959253113, 1.6459543114161224, -2.384646425670812], [-2.0399581328961527, -2.0899590854560182, -0.73007615922279401, 3.3403126957220723, -0.54667468433689459]], [[-0.57923114125057928, -1.7612919379190961, -6.2100466520110897, -4.8128440250830096, -0.51685265699813954], [-6.5180499660160338, -3.3708248020370934, -1.1428158820829255, -1.4057022907151389, 1.7956097111577058], [-2.3753536191988704, -5.5041774272788828, -5.3561100943370672, -5.8867337073232724, -7.0202678518640624], [-5.0613568289918138, -6.2579283532737744, -2.6038527706998078, 0.23356335902729519, -6.6496703254743981]], [[-7.3314480395633499, -6.1214101044139433, -9.2187419947099514, -1.893044514308686, -7.6611815258926104], [-2.087001885916222, -3.8640605942758866, -4.3024745101282482, -6.8247687165893192, -6.3805271061659043], [-7.9365958075470333, -5.4044710171905219, -2.1035096988219051, -2.633889869653137, 0.43633162107577661], [-8.3020493133316435, -7.0505174039671772, -0.39299209429236903, -4.891281420899408, -0.48730661263199515]]], [[[3.7753976431411038, 3.9340669551085794, -1.2038452550456187, -0.65911480484704921, -1.8189090789084892], [-1.9823035994127234, 1.6150465345242546, 3.4608702271575433, -2.0227308955577712, 3.5326023442250074], [0.84545661529310756, -3.1386870117504362, -2.8266464174572636, 1.9995116361957557, 2.6696279450774698], [4.1880822278859506, -3.2451822385842277, -2.398411522353558, -0.23684958339511653, -2.6258919321438232]], [[-2.954215574602661, 5.1242138559233945, 3.5510797882026361, 0.52724781231573115, 2.1056952368615471], [-2.487404825945581, 5.6438701383271566, 3.6865993545393598, 0.90069051147312074, 5.1383899582664485], [3.8115925353138129, 1.154532743402318, 0.061488944048300631, -0.88360642992175542, -2.5706902125114661], [-2.2933129552885325, 0.71493147962889481, 5.5494778752276792, -3.559299638321952, 2.9799506288398439]], [[-0.17177285447736779, -0.11572379674390998, 3.7531513859633794, 1.8645218000995047, -0.66488174041000203], [-2.99571613491901, -0.62777535500632276, 5.4458744619855839, 0.0010731355339972382, 3.0939845082161632], [1.0404216240791087, 4.330923364812703, 0.6972111014241742, 5.1680327673298265, 1.6793929166423585], [-1.698243951816131, -1.6383662818236671, 3.7359472024498732, 5.8308303352437569, 4.7288373383613802]], [[-0.5465902416463102, -3.6929203923299867, 1.8736488520927903, -1.8249306889852477, -2.5893854667305511], [-1.4691657254519415, -2.5743141154593552, 2.9343964096693602, 0.33721666758072999, -3.9052541987127976], [1.3616811897175776, 2.9969426109651058, 4.3355735934426747, 2.0239529224537147, -2.8022875887526899], [-3.5191486672699197, -3.9610824428124731, 4.6661804653255157, 1.7087451264462885, 2.831247969992674]], [[2.1966628124030159, -0.17047618533587983, 4.0664151196213787, 5.4273067030404505, -1.1432541038197468], [0.70587922937881764, 0.044501155865225073, -3.6450531264905592, 1.9539577407669508, -2.5278608291798994], [2.421623446037878, -0.61822387713216376, 0.94247376744521993, -2.7245820616553167, 3.3400340017792374], [5.1847117689816908, -3.8247709446699751, -0.16453378808910335, -3.7010880342805565, -0.89515470565661381]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank2_taggedData_rank4(self):  
       arg0=numpy.array([[-3.9323695232637479, -0.95961319577228466, -2.7781690040918616, 3.0369101182701392, 3.5809510288305475], [2.9759913328669469, 1.0582117128990918, -3.6941966163211792, 1.3638357886102002, 0.54351204990735624], [-1.5008384053073254, 2.8817736407306178, -0.19289795875099269, -4.7855395414655106, 2.79881282909039], [-1.4462044061404811, -3.2567673971422719, 4.9877841900910163, 3.3171835388948452, 3.4927547459240333]])  
       arg1=Data(numpy.array([[[[2.1671909454590637, -3.7360005970640797, -4.993450622787253, 1.9095990213593836, -2.3113919699603414], [-0.98247905574313599, 4.5866112248589666, -0.01659223028464929, -3.3403111835897068, -3.9519053264075845], [-0.45431113761694419, -1.3677293781587805, -3.6726111924510105, 2.0707686833465866, -1.1532022182880821], [-4.4948692584153358, 2.8143060630929888, -1.4249271864528632, 4.0848902653465178, -4.5222014353358606]], [[-2.4602032497793358, -0.26219271397308308, -2.2300847715133063, 4.4643951420520924, 2.6304626619519915], [2.8329415764646591, -0.061497754479572286, -2.2467929791506647, -2.2138780812627656, 1.6242680730744175], [-3.3791957722625887, 3.0161369491623784, -3.6894194365999553, -2.818281614633479, -3.2483714675612796], [4.5677024359185481, 3.3747938169321614, 1.1813334391774157, 3.4550719050036456, 0.0050150377852942185]], [[2.4594802810935317, -4.0977042082986559, 2.741325468407517, 1.6168936400195779, 0.33104642602430445], [2.7261219114259418, -4.7952070204385304, -3.6689995240521989, 2.5216198382093378, -1.2030496470965923], [0.19368147474661068, 0.56900152355689659, 1.6475369173076784, -0.52092703226386128, 4.6382644010197414], [3.2523446034702062, -4.4009703112546639, -1.8663933523405243, 3.748445885138441, 3.7037878676028519]], [[4.7696130839634119, -2.1709519795092214, 3.7018556971311476, -3.8861554159802547, -4.6331346193655509], [3.4629975331874654, 2.3375574862652249, 0.87515238910752391, 2.7884552857788822, 4.1012755279412474], [-3.8109707922019509, 3.8370015349745525, 3.0775887082556874, 2.2181473928018303, -3.9633376876559501], [-3.4692125103419071, -4.5609953224657698, -2.6801376311386296, 1.1978423278828938, -4.9909344174356454]], [[3.0402775206203838, -2.1139170380898475, 4.1783095605413259, 1.8579744880086295, -4.5768279954279931], [3.8293049860348809, 0.60683145427610086, 2.2914946027679504, -3.7687405310245881, -2.2030634151703312], [1.0282258595582414, -1.517702368321161, -4.7564097867290753, -3.9186965529304905, -3.576526464354961], [-3.2595403698789536, 3.8856364044619447, 0.67313921054095172, 0.79882976924150739, 1.2108365032603805]]], [[[4.4975425291093245, -0.3040496014099503, -4.4491585075366871, 1.009269053799752, 3.2779059461901241], [-4.6877739971522203, -2.997565448341085, -2.2694805260871984, 2.8700602088780878, -1.5937226489313394], [-3.0376985085242314, 3.7869423411194401, 2.7180451531093954, 2.9451956394815593, 3.0804160555731919], [2.6725953969230245, 4.1547187499673086, 0.031465676944262277, 0.16532128500853993, 4.3401590256020874]], [[-4.8390827028273442, 2.2627330316874348, -2.603565500529105, -4.1655919386545222, -2.5411091984722765], [0.2596300244539318, 4.623014683864211, 4.9966416779959761, 0.052934716811158466, 0.38238365768734095], [1.9777134223569748, -0.1713839728163169, -2.7564320445348711, -4.6637569541696644, -4.4177137586959994], [4.9615193292567081, -4.536421178169908, 4.7093386039340359, 4.9942528004160618, 4.6668386216586129]], [[2.3498261216687748, 2.8895607523575428, -1.9520301449389854, -1.0952200899599553, 3.3282494465147732], [0.82094179009544455, 2.850540035373311, -0.25939684205972924, 0.89344483020536103, 1.8619579755333406], [-1.7894292722310268, 1.6549497330997678, -0.46059638069686848, -2.783610373158055, 0.52457260072816059], [4.1869278468270448, 1.8025830521225377, 4.559309932689203, 0.05560942170740546, -4.1809234274438234]], [[-4.237183571595164, 3.9490461702237933, 3.3763501799861722, 1.334470974823275, 0.42779834462839084], [-3.5504606831497743, -3.043431306144063, -4.8375042940143818, 3.5194587584439336, -3.4962720763203592], [-0.13839533087094047, -3.1231973004665878, 0.69687461206811108, 0.95349113773835903, 2.6805584567964313], [-0.82340558902813044, 0.72291730800365706, 4.8557856096376373, 2.8810522968274928, 2.4892611140636767]], [[3.8813256615543388, 3.9990287318668614, -0.72024242600098987, 4.1490232247430896, -4.3878847961698488], [2.3833038117903644, -3.2538284612131041, 3.0968289200511343, -4.8186274940823992, -2.2274701367709415], [-3.1664152746101992, 3.1545585554671849, -2.0594513961960867, -2.3468227379091222, -4.3353947169259097], [3.3854985801582629, 3.4698652772962717, -0.22888994646708305, -0.75002332024098539, -2.9490788642588681]]], [[[3.1407692276371453, 1.0224592026977417, 0.025965102854264899, -4.6017792843865184, 4.7568159456617138], [3.5576705981499188, 1.174223590840402, -1.2432075124189188, 3.5711433464321676, 2.0888236403113609], [-2.1161005452167436, -4.0800897473114066, -1.5695271910806996, -4.8335347519350069, -2.0762320147257141], [-2.2574709662925443, -4.3023451098595711, 3.5849962936102369, 3.8069791535120974, -3.6636776152085746]], [[4.7926834543187393, -3.176906128586352, 3.0150212806479946, 0.080901509650589176, 4.189447614145946], [1.8500289813731774, 3.1104810603226323, -1.0039097612946546, -2.6361940617235193, -3.139921559101797], [-0.98761853755017448, -0.34849574193834698, 0.099186485367459554, -2.4559881717916552, -0.50902137418809001], [2.8832304105820308, 1.1320224429799675, 0.33845701195402533, 4.0708420488738835, 4.1503923511613454]], [[4.8095408945535549, -4.1492803622333909, -2.6435389256775488, 3.0099869652710716, -0.97760175965639018], [1.1144676075978763, 0.35719978444254963, -1.8763820085378269, 0.98221333105529673, -1.898359735219576], [4.142583297160142, -1.5410297598676537, -4.9773315910168563, -0.9373999224412719, 0.088654935143463121], [4.6040500201899164, 0.44853264406384241, -1.5183969810178635, -4.1999043213805738, 4.5072148716634928]], [[-2.6000987400723941, 2.409190373164364, 1.3171317147149884, 4.4608504492607484, -4.4112036546146536], [4.1658915026325634, -1.1626980285469868, -2.9486574616527141, -3.4668163403975836, -0.90944593655916606], [3.0374730476961691, 4.4886137354694071, 1.5618842709375027, -0.84848681668584014, -1.500106720124732], [-4.712830496559949, 2.9317859839587044, 1.2557585449092343, 0.69618606561691632, 3.4538238594206678]], [[-4.276184257586455, -2.5446322966780044, -4.1815591121044235, 2.8654037142757769, -4.2302714936313288], [-3.7292312021020511, -0.13394977245729578, 2.5843491687469093, 4.3392088687592238, 3.729839959459234], [2.2360277530311699, 3.9838553621837285, 1.9494631782250247, -0.50369858351405838, 0.72866616071760149], [-2.354352962633933, 4.4481086056785522, 3.6855516405036077, 0.19135460787897252, 3.3203737758077949]]], [[[2.1519553942123828, -1.9629922532149759, 1.334188976415664, 0.96623372063132518, -3.1949780832570629], [-1.9593366331284034, 0.29240763493305799, -0.044865022721273462, -4.9820717929922207, 4.5330093517247612], [-1.2945235168819771, 2.5832451638085345, -2.7110031158902395, 1.4518578204525188, -2.8201002142885723], [3.1720775984079665, -0.84171385320894743, -0.15314386709679528, -4.953383796941476, 2.5820377724797137]], [[4.6113646873280771, -3.8175864078416422, -0.058017808133618232, 0.76971568650861943, -0.99089775977718553], [4.9436845450470752, -2.2983837281067587, -0.98286435468490652, -2.6743187705739491, -4.9453753832205951], [-1.2440968838351774, -4.6044694916161699, 2.6931139636498189, 2.9644304848525982, 4.4329762226082536], [-3.4951872260880155, 4.757347487948989, 0.66163192138411464, -1.1840136659187972, 4.3941064121688882]], [[4.7673856406120318, -0.13978788777366358, 1.5513106185178982, -2.1403664117242114, -0.47584235551148168], [2.0924901332720038, 3.4174406323804831, -0.71965625715873927, 2.9048913306805293, 1.920371689393213], [-0.67521405720206484, -3.5785333161942514, -1.6347393896543529, 0.49511088203595843, 1.5248122552841101], [-2.4866035524861809, 3.864841893439765, 0.96172377169985346, 0.9163480282171852, -0.17820342836112602]], [[-4.8920582942989164, -4.4413901288855326, -0.027121810986571404, -4.1215484597677783, -0.055173772926734088], [-2.3248982326507219, -1.8768344562422001, -0.090896475828500911, 1.1303267025327015, -4.1811918837981841], [0.51306986799104237, -3.4179054295436142, -0.13901753409787965, 0.91073827525769602, 1.2086549589034554], [3.4678360308892309, -4.7867186805224122, 1.5373606711954801, 2.7690277186691672, 2.817211297461605]], [[3.6458887565205913, -1.2362624262935071, -2.2900988916716356, 2.760516017541649, 4.1102497573663843], [1.6508533781873203, 4.1178580059859069, 0.545790384312415, 0.90756564134706075, 3.0520324735120781], [-1.6956702765680065, 4.8249282143195718, 2.727198404961209, 4.0784189993983446, -1.1762523448843587], [2.3851762081198675, -1.9328641034519887, 0.45291222558186828, 1.6822405253906494, -1.458269705749716]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[1.835419570832487, -4.4975679740276373, -2.9341686886965626, 4.478190894877299, 2.6804638887714045], [1.0730519871558055, 3.0333022412270942, 4.9905923937684697, 3.4991610930353261, -0.43468966684441668], [-1.205029374358928, 4.7766434456813318, -3.1708327233790268, -3.7699081419960279, -2.8844523768028072], [4.5585696749275275, 4.3704106431530505, 3.9325657312560587, -0.69586342705963222, -2.7201863918833]], [[3.9651566812895958, 4.5058263428485148, 0.91004647483100953, -3.4115524322276105, 2.6994815559165142], [2.0374915714882071, 2.0769899999363499, -1.7256535001664473, -2.1242940004916178, 3.5400474428696374], [1.041639381072839, -3.4331149167505148, 1.8566017812397213, -4.953161591294581, 3.6770337627733465], [1.1327113009463572, -4.8657901981609619, 0.97914663241158451, -1.781804341046854, 0.099105163570088806]], [[0.57480970601898296, 3.8156487904941869, -3.1104229297739217, -2.4833928635745792, 0.73710862287514622], [4.7085923231397402, 3.1398495714269785, 4.8097357356848462, -4.8413653273599175, -4.8104865333333375], [-0.53686021261636885, 3.047643264811887, 2.7598061745440514, -0.67017389589371223, 1.6714873071994196], [-3.5528487286482124, 2.5683517284060713, -3.8338900515837948, 2.026010164755073, -4.1708495602971274]], [[1.826701530904872, 3.5583295587748847, 3.572713094610652, 4.2200530615385183, 3.6891440256500925], [1.9368653510402947, -1.1414142419923801, -0.077188855284379798, 0.23600518071875776, 1.5507064609198364], [-0.96140081324359361, 0.26344893674065872, -3.9112802077108846, -4.3916287640727161, 2.8487751734439275], [-1.592316301375166, 3.3867950509786375, 4.9956689031095571, 1.8204006486276825, -3.8681986916571787]], [[-1.5686863864815326, 0.36439394842184925, 2.6072889324384061, -4.2455832917998029, 2.4167590783701778], [1.5635901862893196, -0.086443202856726131, -0.38560394209789539, -4.8025500242271271, -1.8114121874578437], [1.7055549706188087, 4.9217478020399366, -2.0432316361390068, -4.2149164076914616, -1.3724693999324291], [1.9945478144552382, -1.4709426839138926, 3.9306818981165339, -3.5597499033221469, 4.0069724486214131]]], [[[-1.655028227201254, -4.1003414203009294, -0.37593339279426186, -4.4088005684245513, 2.3032842468208559], [0.055035825220310031, 2.4777976943977942, 3.4803186289118528, -3.5785079000645559, 2.3411075795268825], [-4.9434897099050081, -3.9775650375793137, 0.460023312065303, -0.41647433035493187, 0.073435392059807647], [-4.3235233474964208, -1.586440322252638, 3.2242694022472573, -1.0245613628697878, -3.3049718083087076]], [[-3.2182899615092886, 3.5028604765907509, 3.5657526462482529, 0.55023412904362878, -0.71049460245353302], [4.4281366040808585, -1.7897131229727989, -1.9585623790914566, 0.069528416542958382, 4.1562765423738099], [3.8440028347027173, 4.1736798394245103, 0.43224307021978348, 3.6844837394210046, -3.5425605361664116], [-3.7000758980220838, 4.4607032095654837, 3.9158915675216335, 2.8438004040035345, 4.2913962236084267]], [[3.5750742597156648, -0.67864558425537158, 3.4161000528603207, 0.38390725241488965, -0.34822892982460463], [4.6925557080155418, -1.8140858743262145, 1.3000193552192494, 0.24548714982358089, 2.0956240572494025], [-2.7391386382111014, -4.0866217925725401, 1.6940308698560704, 0.029220876960437181, -3.0771931419500911], [2.1648381188519439, -4.1911626601124796, -2.4033966075893787, -2.9826903154113307, 0.55401000842626935]], [[-0.43821641770726227, -3.1220107464427329, 1.8737041592143857, 3.7801613390176563, 0.94161991477250151], [0.43430097349295593, -4.195708454021668, -1.7759681330714852, -0.94916875113040611, 3.3661441490005259], [-1.2493490644764105, -0.053919028866825869, 2.4587283407797687, 4.5135742361147422, -1.1110039929667637], [4.0801175401236307, 4.7169615700845551, -2.4584139720307139, -4.8842671848668111, -4.7020947161176698]], [[-3.6015431755345517, -1.8835761359789407, -0.98947775286645268, 2.1542759742876463, 0.41687429249177566], [4.1068354583870388, 0.28960187298978735, 2.0348942263289471, -2.2362391185596997, -3.8835765062320915], [0.13104609694219249, 1.4288093066721483, 4.2122728255957238, 1.5566977568614089, 4.0744448087720748], [3.1798989106900457, -4.8528312558257172, 3.9891543893948942, -4.2612522985740817, -4.8024745709282248]]], [[[-1.8008646362885172, 1.5005568885213316, -2.4422295452936216, 2.7612407379871158, 0.80715008027553203], [-2.3739127557294246, -2.0557511015645225, 4.7981514631995896, -2.0552032471170056, -2.5242805745634103], [-0.16036375190051988, 1.5174313104046746, -1.9861805677358579, -4.957436054286438, 1.886873029528302], [-1.3687846074533794, 4.7581140087873539, 2.3051747762027377, -2.3587386795712728, -0.10825545537821668]], [[1.2046279956277299, -0.94713860356706281, -4.7094339136870964, -0.57434720664289696, -4.2826221570100076], [-0.064511788396347747, 2.1949556463024589, -2.0221716193808592, -1.6656166309979694, -4.2394066061857485], [-2.9642551416528518, -0.0071852938930678789, 3.1559683856421898, -2.4695843842038148, 1.6504417031596565], [-1.1294575570453755, 0.90560418648667795, 4.8940441595108428, -0.93757281510585067, -0.37500678703998602]], [[4.6309006087500997, -2.7617979223387956, 4.2601058405382304, -3.225569980152212, -3.6719163249804687], [-4.6983418973887945, -2.9744165963506033, -2.8542763155000141, 2.0877093051775866, -4.1664044912480467], [0.11213439161591232, -3.0979645013070076, -2.7241228414658201, 4.5589194925017011, -4.016507063553874], [1.2781531902404932, -4.424528990145129, 3.3110787341177979, 3.6484096799607517, 0.63922466497793273]], [[-3.7834048300137892, -4.3177859859449432, -1.8767058450794538, 2.575897326882993, 3.0122231084622282], [4.8754972572740183, 0.83006671259593112, -3.0805204672276956, -4.4386309045634977, 4.9325858418229789], [-4.4567256571089864, 3.8757811355627023, 4.3678418585996575, -3.8984014784180179, 4.5066242275335391], [1.3356887182927419, -2.0608669855246333, 2.6984103790046223, 3.6254413115591362, -1.7704545440961263]], [[0.16270979296752941, -2.1975314745216146, 1.1452846300214237, 0.30394139643252682, 0.5751901478538386], [-2.9541384286079007, -2.1270562900280399, 4.0602387561289515, -4.7795658601810862, 0.59673134243278891], [-1.3894009367776139, 2.7361147380472399, -3.8772483613434727, -0.42313351910684105, -3.2429629619181366], [-2.5203212105654762, 1.5257673809478067, 1.27545881324275, -2.7012056273138874, -4.3757879072867736]]], [[[-0.42013303256058343, -3.7129130738801286, 2.8176350490706703, 4.558529874030059, 4.2535503157997656], [-3.3826956848519565, -4.9235820746519154, 4.3701277423716824, -1.8992934468711455, 0.94463775743360223], [-1.6290931752514446, 3.7106200282298705, -1.2525907458587682, -1.4781054638813353, -3.2635774348517876], [-0.73966033783647589, -4.2018900004869995, -2.1193125864252549, -2.6999997246946474, 0.17356867792924913]], [[-1.5678002502336472, -0.074012169473839151, 1.4552501569536593, 4.5630505924784686, 0.87757825454365612], [3.5407810099419486, 1.0519556288339409, -3.0308361387172211, -0.45740840405773042, 0.10730718412380291], [-0.0086535943394778769, -1.4859050923123398, 3.6954714246179172, 1.4752506723448411, 1.7746903128839513], [3.2491986249118323, 3.600392837575475, 3.2355885669098008, 4.8801598556962205, -0.97607367871556416]], [[-3.7633405602915939, -2.1961765728164773, -4.0868853641664504, -0.6259538466699146, 2.3069142679323882], [-3.3832276095931588, -3.1217057891062971, -1.948023871125705, 0.35391227355496824, 3.2435412243905546], [-3.9002148326800121, 1.8522931419052071, -0.68818185464761594, 0.85899956986072201, -1.7546095992769017], [-3.8503240602710385, -3.1715600523893492, 1.2243039408447167, -1.5022331554918553, 0.19652789548374461]], [[-4.8020906949906719, 3.7405502813930287, 4.8646015176325239, 4.9154749039222772, -0.86851400253570965], [-2.0691595394239091, -2.4678866124736212, -0.036940165512971745, 2.222710112307106, -2.1334572901822457], [1.3413443340303663, -0.49444780407157296, -0.17262825462461784, -3.6500518949398177, 4.5497002301497389], [-2.0990829963411906, 2.5380183832997112, -1.420345296546631, 1.8408223745068319, -2.1026014359756671]], [[-4.8660193701583285, -4.2443047725700387, -1.7672827843815253, -4.1420577939324188, 4.640228587002408], [-4.2128926956085042, -0.38413286992569518, -3.4658864175381909, -3.1242811351015609, 1.0661697377124391], [0.3892207047089391, 3.4708561298290608, 4.1309786998198721, -4.8135605138066229, -1.6766764837220793], [3.5557116238806117, -2.2847985883399624, -0.19624808101371016, -3.0127640923754653, 1.9455274478358087]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.7651785778046842, -7.6683701203278272, -8.9258201460510005, -2.0227705019043642, -6.2437614932240892], [-4.9148485790068843, 0.65424170159521866, -3.9489617535483972, -7.2726807068534551, -7.884274849671332], [-4.3866806608806925, -5.3000989014225279, -7.604980715714758, -1.8616008399171613, -5.0855717415518296], [-8.4272387816790832, -1.1180634601707591, -5.3572967097166106, 0.15252074208276989, -8.4545709585996089]], [[-3.4198164455516205, -1.2218059097453677, -3.189697967285591, 3.5047819462798078, 1.6708494661797069], [1.8733283806923744, -1.0211109502518569, -3.2064061749229493, -3.1734912770350503, 0.6646548773021328], [-4.3388089680348738, 2.0565237533900937, -4.64903263237224, -3.7778948104057637, -4.2079846633335638], [3.6080892401462634, 2.4151806211598768, 0.22172024340513108, 2.4954587092313609, -0.95459815798699044]], [[-0.31868872299832995, -6.875873212390518, -0.036843535684344619, -1.1612753640722837, -2.4471225780675572], [-0.052047092665919781, -7.5733760245303916, -6.4471685281440605, -0.25654916588252386, -3.981218651188454], [-2.5844875293452509, -2.209167480534965, -1.1306320867841833, -3.2990960363557229, 1.8600953969278797], [0.47417559937834453, -7.1791393153465251, -4.6445623564323864, 0.97027688104657939, 0.92561886351099032]], [[7.8065232022335511, 0.86595813876091787, 6.7387658154012868, -0.84924529771011548, -1.5962245010954117], [6.4999076514576046, 5.3744676045353641, 3.9120625073776631, 5.8253654040490215, 7.1381856462113866], [-0.77406067393181166, 6.8739116532446918, 6.1144988265258267, 5.2550575110719695, -0.92642756938581083], [-0.4323023920717679, -1.5240852041956305, 0.35677248713150966, 4.234752446153033, -1.9540242991655061]], [[6.6212285494509313, 1.4670339907407, 7.7592605893718734, 5.438925516839177, -0.99587696659744562], [7.4102560148654284, 4.1877824831066484, 5.8724456315984979, -0.18778950219404056, 1.3778876136602163], [4.6091768883887889, 2.0632486605093865, -1.1754587578985278, -0.33774552409994296, 0.0044245644755864788], [0.32141065895159393, 7.4665874332924922, 4.2540902393714992, 4.3797807980720549, 4.791787532090928]]], [[[7.4735338619762715, 2.6719417314569966, -1.4731671746697401, 3.9852603866666989, 6.253897279057071], [-1.7117826642852734, -0.021574115474138011, 0.70651080677974853, 5.8460515417450347, 1.3822686839356075], [-0.061707175657284452, 6.762933673986387, 5.6940364859763424, 5.9211869723485062, 6.0564073884401388], [5.6485867297899715, 7.1307100828342556, 3.0074570098112092, 3.1413126178754869, 7.3161503584690344]], [[-3.7808709899282524, 3.3209447445865266, -1.5453537876300132, -3.1073802257554304, -1.4828974855731847], [1.3178417373530236, 5.6812263967633028, 6.0548533908950679, 1.1111464297102502, 1.4405953705864327], [3.0359251352560666, 0.88682774008277487, -1.6982203316357793, -3.6055452412705726, -3.3595020457969076], [6.0197310421557999, -3.4782094652708162, 5.7675503168331277, 6.0524645133151536, 5.7250503345577046]], [[-1.3443704946524044, -0.8046358639636364, -5.6462267612601647, -4.7894167062811341, -0.36594716980640607], [-2.8732548262257347, -0.84365658094786822, -3.9535934583809085, -2.8007517861158182, -1.8322386407878386], [-5.483625888552206, -2.0392468832214115, -4.1547929970180473, -6.4778069894792338, -3.1696240155930187], [0.49273123050586554, -1.8916135641986416, 0.8651133163680238, -3.6385871946137738, -7.8751200437650031]], [[-2.8733477829849638, 5.3128819588339935, 4.7401859685963723, 2.6983067634334752, 1.791634133238591], [-2.1866248945395741, -1.6795955175338628, -3.4736685054041816, 4.8832945470541338, -2.132436287710159], [1.2254404577392597, -1.7593615118563877, 2.0607104006783112, 2.3173269263485592, 4.0443942454066315], [0.54043019958206973, 2.0867530966138572, 6.2196213982478374, 4.2448880854376929, 3.8530969026738768]], [[4.424837711461695, 4.5425407817742176, -0.17673037609363362, 4.6925352746504458, -3.8443727462624926], [2.9268158616977207, -2.7103164113057479, 3.6403409699584905, -4.275115444175043, -1.6839580868635853], [-2.622903224702843, 3.6980706053745411, -1.5159393462887305, -1.803310688001766, -3.7918826670185535], [3.9290106300656191, 4.0133773272036279, 0.31462210344027319, -0.20651127033362915, -2.4055668143515119]]], [[[1.6399308223298199, -0.47837920260958366, -1.4748733024530605, -6.1026176896938438, 3.2559775403543885], [2.0568321928425934, -0.32661481446692342, -2.7440459177262442, 2.0703049411248422, 0.58798523500403554], [-3.616938950524069, -5.580928152618732, -3.070365596388025, -6.3343731572423323, -3.5770704200330394], [-3.7583093715998697, -5.8031835151668965, 2.0841578883029115, 2.306140748204772, -5.1645160205159]], [[7.6744570950493571, -0.2951324878557342, 5.8967949213786124, 2.962675150381207, 7.0712212548765638], [4.7318026221037952, 5.9922547010532501, 1.8778638794359632, 0.24557957900709848, -0.25814791837117923], [1.8941551031804433, 2.5332778987922708, 2.9809601260980774, 0.42578546893896263, 2.3727522665425278], [5.7650040513126486, 4.0137960837105853, 3.2202306526846431, 6.9526156896045013, 7.0321659918919632]], [[4.6166429358025622, -4.3421783209843836, -2.8364368844285415, 2.8170890065200789, -1.1704997184073829], [0.92156964884688364, 0.16430182569155694, -2.0692799672888196, 0.78931537230430404, -2.0912576939705687], [3.9496853384091493, -1.7339277186186464, -5.170229549767849, -1.1302978811922646, -0.10424302360752957], [4.4111520614389237, 0.25563468531284972, -1.7112949397688562, -4.3928022801315665, 4.3143169129125001]], [[-7.3856382815379042, -2.3763491683011466, -3.4684078267505223, -0.32468909220476228, -9.1967431960801633], [-0.61964803883294728, -5.9482375700124974, -7.7341970031182248, -8.2523558818630942, -5.6949854780246767], [-1.7480664937693415, -0.29692580599610352, -3.2236552705280079, -5.6340263581513508, -6.2856462615902426], [-9.4983700380254596, -1.8537535575068063, -3.5297809965562763, -4.0893534758485943, -1.3317156820448428]], [[-1.4773714284960651, 0.25418053241238558, -1.3827462830140336, 5.6642165433661669, -1.4314586645409388], [-0.93041837301166108, 2.6648630566330942, 5.3831619978372993, 7.1380216978496138, 6.5286527885496239], [5.0348405821215598, 6.7826681912741185, 4.7482760073154147, 2.2951142455763316, 3.5274789898079915], [0.44445986645645696, 7.2469214347689421, 6.4843644695939977, 2.9901674369693625, 6.1191866048981849]]], [[[0.70575098807190173, -3.409196659355457, -0.11201542972481704, -0.47997068550915589, -4.6411824893975435], [-3.4055410392688845, -1.1537967712074231, -1.4910694288617545, -6.4282761991327018, 3.0868049455842801], [-2.7407279230224582, 1.1370407576680535, -4.1572075220307205, 0.0056534143120376967, -4.2663046204290538], [1.7258731922674855, -2.2879182593494285, -1.5993482732372764, -6.3995882030819571, 1.1358333663392326]], [[1.3545972901858052, -7.0743538049839145, -3.3147852052758902, -2.4870517106336525, -4.2476651569194575], [1.6869171479048033, -5.5551511252490311, -4.2396317518271784, -5.931086167716221, -8.2021427803628661], [-4.5008642809774493, -7.8612368887584418, -0.563653433492453, -0.29233691228967373, 1.1762088254659817], [-6.7519546232302874, 1.5005800908067171, -2.5951354757581573, -4.4407810630610687, 1.1373390150266163]], [[9.7551698307030481, 4.8479963023173527, 6.5390948086089145, 2.8474177783668049, 4.5119418345795346], [7.0802743233630201, 8.4052248224714994, 4.268127932932277, 7.8926755207715455, 6.9081558794842293], [4.3125701328889514, 1.4092508738967648, 3.3530448004366633, 5.4828950721269747, 6.5125964453751264], [2.5011806376048353, 8.8526260835307813, 5.9495079617908697, 5.9041322183082015, 4.8095807617298902]], [[-1.5748747554040712, -1.1242065899906875, 3.2900617279082738, -0.8043649208729331, 3.2620097659681111], [0.99228530624412326, 1.4403490826526451, 3.2262870630663443, 4.4475102414275467, -0.86400834490333889], [3.8302534068858876, -0.10072189064876902, 3.1781660047969655, 4.2279218141525412, 4.5258384977983006], [6.7850195697840761, -1.469535141627567, 4.8545442100903253, 6.0862112575640124, 6.1343948363564502]], [[7.1386435024446246, 2.2564923196305262, 1.2026558542523977, 6.2532707634656823, 7.6030045032904177], [5.1436081241113536, 7.6106127519099402, 4.0385451302364483, 4.4003203872710941, 6.5447872194361114], [1.7970844693560268, 8.3176829602436051, 6.2199531508852424, 7.571173745322378, 2.3165024010396746], [5.8779309540439009, 1.5598906424720447, 3.9456669715059016, 5.1749952713146827, 2.0344850401743173]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.0969499524312609, -8.4299374972913856, -6.8665382119603109, 0.54582137161355115, -1.2519056344923434], [-2.8593175361079424, -0.89906728203665365, 1.0582228705047219, -0.43320843022842181, -4.367059190108165], [-5.1373988976226759, 0.84427392241758392, -7.1032022466427751, -7.7022776652597758, -6.8168219000665555], [0.62620015166377963, 0.43804111988930261, 0.00019620799231079289, -4.6282329503233797, -6.6525559151470475]], [[3.0055434855173111, 3.5462131470762301, -0.049566720941275122, -4.3711656279998952, 1.7398683601442295], [1.0778783757159225, 1.1173768041640653, -2.6852666959387319, -3.0839071962639024, 2.5804342470973527], [0.082026185300554388, -4.3927281125227999, 0.89698858546743665, -5.9127747870668657, 2.7174205670010618], [0.17309810517407254, -5.8254033939332466, 0.01953343663929985, -2.7414175368191387, -0.86050803220219585]], [[-2.2033592980728787, 1.0374797864023253, -5.8885919338657828, -5.2615618676664404, -2.0410603812167154], [1.9304233190478786, 0.36168056733511689, 2.0315667315929846, -7.6195343314517796, -7.5886555374251987], [-3.3150292167082305, 0.26947426072002534, -0.018362829547810211, -3.4483428999855739, -1.106681696892442], [-6.3310177327400741, -0.20981727568579034, -6.6120590556756564, -0.75215883933678862, -6.9490185643889895]], [[4.8636116491750112, 6.5952396770450239, 6.6096232128807912, 7.2569631798086576, 6.7260541439202317], [4.9737754693104339, 1.8954958762777592, 2.9597212629857594, 3.272915298988897, 4.5876165791899757], [2.0755093050265456, 3.300359055010798, -0.87437008944074535, -1.3547186458025768, 5.8856852917140667], [1.4445938168949732, 6.4237051692487768, 8.0325790213796964, 4.8573107668978217, -0.83128857338703943]], [[2.0122646423490149, 3.9453449772523967, 6.1882399612689536, -0.66463226296925537, 5.9977101072007253], [5.1445412151198671, 3.4945078259738214, 3.1953470867326521, -1.2215989953965796, 1.7695388413727038], [5.2865059994493562, 8.5026988308704841, 1.5377193926915407, -0.63396537886091409, 2.2084816288981184], [5.5754988432857857, 2.1100083449166549, 7.5116329269470814, 0.021201125508400587, 7.5879234774519606]]], [[[1.320963105665693, -1.1243500874339825, 2.6000579400726851, -1.4328092355576043, 5.2792755796878028], [3.031027158087257, 5.4537890272647411, 6.4563099617787998, -0.60251656719760893, 5.3170989123938295], [-1.9674983770380612, -1.0015737047123667, 3.43601464493225, 2.5595170025120151, 3.0494267249267546], [-1.3475320146294738, 1.389551010614309, 6.2002607351142043, 1.9514299699971591, -0.32898047544176068]], [[-2.1600782486101968, 4.5610721894898427, 4.6239643591473447, 1.6084458419427206, 0.34771711044555875], [5.4863483169799503, -0.73150141007370717, -0.90035066619236481, 1.1277401294420502, 5.2144882552729017], [4.9022145476018091, 5.231891552323602, 1.4904547831188752, 4.7426954523200964, -2.4843488232673199], [-2.641864185122992, 5.5189149224645755, 4.9741032804207252, 3.9020121169026263, 5.3496079365075184]], [[-0.1191223566055144, -4.3728422005765513, -0.27809656346085854, -3.3102893639062896, -4.0424255461457843], [0.99835909169436254, -5.5082824906473942, -2.3941772611019299, -3.4487094664975984, -1.5985725590717768], [-6.4333352545322811, -7.7808184088937189, -2.0001657464651088, -3.6649757393607421, -6.7713897582712708], [-1.5293584974692354, -7.8853592764336593, -6.0975932239105575, -6.6768869317325095, -3.1401866078949099]], [[0.92561937090293789, -1.7581749578325327, 3.2375399478245859, 5.1439971276278564, 2.3054557033827017], [1.7981367621031561, -2.8318726654114679, -0.41213234446128499, 0.41466703747979405, 4.7299799376107261], [0.11448672413378969, 1.3099167597433743, 3.8225641293899688, 5.8774100247249423, 0.2528317956434365], [5.4439533287338309, 6.0807973586947552, -1.0945781834205137, -3.5204313962566109, -3.3382589275074697]], [[-3.0580311256271955, -1.3400640860715844, -0.44596570295909643, 2.6977880241950025, 0.9603863423991319], [4.650347508294395, 0.83311392289714359, 2.5784062762363034, -1.6927270686523435, -3.3400644563247353], [0.67455814684954873, 1.9723213565795046, 4.75578487550308, 2.1002098067687651, 4.6179568586794311], [3.723410960597402, -4.3093192059183609, 4.5326664393022504, -3.7177402486667255, -4.2589625210208686]]], [[[-3.3017030415958426, -0.00028151678599375174, -3.9430679506009469, 1.2604023326797904, -0.69368832503179334], [-3.87475116103675, -3.5565895068718478, 3.2973130578922643, -3.556041652424331, -4.0251189798707356], [-1.6612021572078453, 0.016592905097349231, -3.4870189730431833, -6.4582744595937633, 0.38603462422097667], [-2.8696230127607047, 3.2572756034800285, 0.80433637089541232, -3.8595770848785982, -1.6090938606855421]], [[4.0864016363583477, 1.934635037163555, -1.8276602729564786, 2.3074264340877209, -1.4008485162793898], [2.8172618523342701, 5.0767292870330767, 0.8596020213497586, 1.2161570097326484, -1.3576329654551307], [-0.082481500922233941, 2.8745883468375499, 6.0377420263728077, 0.41218925652680305, 4.5322153438902744], [1.7523160836852423, 3.7873778272172958, 7.7758178002414606, 1.9442008256247671, 2.5067668536906318]], [[4.438002649999107, -2.9546958810897883, 4.0672078817872377, -3.4184679389032047, -3.8648142837314614], [-4.8912398561397872, -3.167314555101596, -3.0471742742510068, 1.8948113464265939, -4.3593024499990394], [-0.080763567135080372, -3.2908624600580003, -2.9170208002168128, 4.3660215337507084, -4.2094050223048667], [1.0852552314895005, -4.6174269488961217, 3.1181807753668052, 3.455511721209759, 0.44632670622694004]], [[-8.5689443714793008, -9.1033255274104548, -6.6622453865449645, -2.2096422145825176, -1.7733164330032825], [0.089957715808507643, -3.9554728288695795, -7.8660600086932062, -9.2241704460290084, 0.14704630035746824], [-9.242265198574497, -0.90975840590280832, -0.41769768286585318, -8.6839410198835285, -0.27891531393197155], [-3.4498508231727687, -6.846406526990144, -2.0871291624608883, -1.1600982299063745, -6.555994085561637]], [[2.9615226220579194, 0.60128135456877541, 3.9440974591118136, 3.1027542255229168, 3.3740029769442286], [-0.15532559951751068, 0.67175653906235011, 6.8590515852193414, -1.9807530310906962, 3.3955441715231789], [1.4094118923127761, 5.5349275671376299, -1.0784355322530828, 2.3756793099835489, -0.44415013282774662], [0.27849161852491378, 4.3245802100381967, 4.07427164233314, 0.097607201776502617, -1.5769750781963836]]], [[[-1.8663374387010645, -5.1591174800206101, 1.3714306429301892, 3.112325467889578, 2.8073459096592845], [-4.8289000909924376, -6.3697864807923965, 2.9239233362312014, -3.3454978530116266, -0.50156664870687884], [-3.0752975813919257, 2.2644156220893894, -2.6987951519992492, -2.9243098700218164, -4.7097818409922692], [-2.185864743976957, -5.6480944066274805, -3.565516992565736, -4.1462041308351285, -1.2726357282112319]], [[-4.8245676473759191, -3.3307795666161111, -1.8015172401886126, 1.3062831953361966, -2.3791891425986158], [0.28401361279967663, -2.204811768308331, -6.2876035358594926, -3.7141758012000023, -3.149460213018469], [-3.2654209914817498, -4.7426724894546117, 0.4387040274756453, -1.7815167247974308, -1.4820770842583206], [-0.0075687722304396132, 0.34362544043320309, -0.021178830232471135, 1.6233924585539485, -4.2328410758578361]], [[1.2244436297994223, 2.791607617274539, 0.90089882592456583, 4.3618303434211017, 7.2946984580234044], [1.6045565804978574, 1.8660784009847191, 3.0397603189653113, 5.3416964636459845, 8.2313254144815708], [1.0875693574110041, 6.8400773319962234, 4.2996023354434003, 5.8467837599517383, 3.2331745908141145], [1.1374601298199778, 1.816224137701667, 6.212088130935733, 3.4855510345991609, 5.1843120855747609]], [[-1.4849071560958267, 7.0577338202878739, 8.1817850565273691, 8.2326584428171223, 2.4486695363591355], [1.2480239994709361, 0.84929692642122401, 3.2802433733818734, 5.5398936512019512, 1.1837262487125995], [4.6585278729252115, 2.8227357348232722, 3.1445552842702273, -0.33286835604497256, 7.8668837690445841], [1.2181005425536546, 5.8552019221945564, 1.8968382423482142, 5.1580059134016771, 1.2145821029191781]], [[-1.3732646242342952, -0.75155002664600534, 1.725471961542508, -0.64930304800838545, 8.1329833329264414], [-0.72013794968447087, 3.1086218759983382, 0.02686832838584241, 0.36847361082247243, 4.5589244836364724], [3.8819754506329724, 6.9636108757530941, 7.6237334457439054, -1.3208057678825895, 1.816078262201954], [7.048466369804645, 1.2079561575840709, 3.2965066649103232, 0.47999065354856807, 5.438282193759842]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank3_taggedData_rank3(self):  
       arg0=numpy.array([[[3.8014991694780491, 1.9047355495915834], [0.50878093527946255, 0.59530999631326775]], [[-1.0922502638311982, -4.6048680013813348], [3.2857784716624963, 1.8686889321559192]], [[-4.1977544427811893, 3.4438780507453011], [0.94185157251033491, 2.9855589335754038]], [[1.6906893499940647, -1.5983353331373462], [-2.6444275312637266, -4.4635662057540735]], [[3.7799995162749909, 4.996403668737095], [3.5122717205376617, 4.8169728553232396]], [[-3.9765957086143624, 4.1052880076826668], [2.4911725094646906, -0.2246509047284988]]])  
       arg1=Data(numpy.array([[[0.04824833111465221, -3.9035983829348062], [2.8367236288796436, 3.7078070674805677]], [[-3.4498443322602688, 1.2841031652497206], [0.93459628380156978, 1.9798802157471194]], [[3.8449001927149453, 1.6056816265848415], [4.2944466366532215, 1.7599525965296259]], [[-3.0342290666359375, 0.36158731345755157], [-2.8482370544972913, -1.4827235846649343]], [[-1.838180789504392, -0.53403152940911269], [2.7368180882315372, 4.4053442835018188]], [[0.79644483184244752, -3.7078679250044844], [-1.9695971868074169, -0.91133259354052676]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[1.0127214343375215, -1.5313829851022351], [-3.811905340946049, 1.3828752242101565]], [[3.8521220688721041, -3.1875047749098808], [1.2020973021144066, -2.5878686177469525]], [[-4.9290740727908178, -2.2005546501352971], [-4.0442864831797021, -3.5434405250337555]], [[1.1809813321322737, 1.2339248438108417], [-3.1651793160088659, -2.4810117631162631]], [[-4.8452928056586639, 2.9490116425036392], [-2.0412038653662004, 0.76054965605451574]], [[3.3152439214138916, -3.9935666620153576], [4.8650999835042921, 1.9035499517716943]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[3.8497475005927013, -1.9988628333432228], [3.3455045641591061, 4.3031170637938354]], [[-4.5420945960914665, -3.3207648361316142], [4.220374755464066, 3.8485691479030386]], [[-0.35285425006624394, 5.0495596773301425], [5.2362982091635564, 4.7455115301050297]], [[-1.3435397166418728, -1.2367480196797946], [-5.4926645857610179, -5.9462897904190077]], [[1.9418187267705989, 4.4623721393279823], [6.2490898087691988, 9.2223171388250584]], [[-3.1801508767719149, 0.39742008267818241], [0.52157532265727369, -1.1359834982690256]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[4.8142206038155706, 0.37335256448934828], [-3.3031244056665865, 1.9781852205234243]], [[2.7598718050409059, -7.7923727762912156], [4.4878757737769028, -0.71917968559103329]], [[-9.1268285155720079, 1.243323400610004], [-3.1024349106693672, -0.5578815914583517]], [[2.8716706821263385, -0.36441048932650455], [-5.8096068472725921, -6.9445779688703366]], [[-1.0652932893836731, 7.9454153112407342], [1.4710678551714613, 5.5775225113777553]], [[-0.66135178720047083, 0.11172134566730918], [7.3562724929689827, 1.6788990470431955]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank4_taggedData_rank3(self):  
       arg0=numpy.array([[[[2.3889887315423239, 0.2115698311606149], [-0.46164535340618684, 1.4969242157634763]], [[-2.3768664433227293, -0.15600629731280957], [1.5052416896657475, 3.4443218385611054]]], [[[-2.8913988038077076, -4.5535533594647308], [4.9895915446155463, -1.9870723864671582]], [[2.7975873993494007, -2.1688535164368137], [-3.8867710718775141, 2.9842402306841231]]], [[[-1.1176279076247644, -0.96729081497607083], [-1.1805359677635465, 2.2970333290934093]], [[-1.7338546623106668, -1.8880766135741744], [2.0193525984150549, -0.96300362915677162]]], [[[1.6529667149495459, -2.1076025522302655], [3.772577865871046, 1.6191074914435664]], [[-2.0883823416005329, 3.6435164491568468], [1.0657710540540357, -4.2522339449291131]]], [[[3.5963952801676715, -2.3301412099909657], [4.024492319960375, -2.3365071398990023]], [[1.2101611343490291, -4.7131184087733233], [-3.1609359369032921, -4.6042816730953682]]], [[[4.3224093061607292, 2.4399788716060646], [-2.6631935281469019, -1.6708154225061609]], [[-0.70539065154334502, 4.5306016436188834], [-0.76867485315577611, 1.3706521408554062]]]])  
       arg1=Data(numpy.array([[[2.3710237658135203, -1.0007493072689688], [-1.785222739990302, -3.0832036207266467]], [[3.5581751032036362, 1.7633341586466322], [2.0424533058421055, 1.0293490008188666]], [[-1.6898554173045022, 4.6821523595543635], [-4.1496224879334331, 1.9418850149260223]], [[-2.8848179481701308, 3.0196628542131059], [-3.831397274697105, 1.3833431990830949]], [[3.7695604340750322, -2.8575096982769388], [2.1793434493536719, -3.2100071978845843]], [[3.8779736027056622, -0.64554027422048499], [0.67001378555134661, -4.6081193390528643]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-0.9041415124580503, 1.3281716116348541], [1.9962132383444775, -0.89488591930428019]], [[-4.8652913289149584, -3.4909423877880164], [4.301585844536552, -4.1258230778414582]], [[0.40065222990806593, 0.45409396015860359], [-3.4790391510791485, -1.92967412454913]], [[2.30146286056873, -4.9687339956248477], [-1.2975585131338327, -2.723317221518192]], [[0.21082116168920439, -3.2978974264477601], [-1.8610695148228018, 1.1706371585512896]], [[-4.4983231327015165, 2.5349406093373519], [-4.5128599601415722, -3.1943178592462318]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[4.7600124973558442, 2.5825935969741352], [-1.4623946606751557, 0.49617490849450752]], [[-4.1620891833130313, -1.9412290373031116], [-1.5779619310608992, 0.36111821783445874]]], [[[0.66677629939592853, -0.99537825626109466], [6.7529257032621786, -0.22373822782052599]], [[4.8400407051915062, -0.12640021059470818], [-2.8574220710586475, 4.0135892315029897]]], [[[-2.8074833249292666, -2.657146232280573], [3.501616391790817, 6.9791856886477728]], [[-5.8834771502440999, -6.0376991015076076], [3.9612376133410772, 0.97888138576925066]]], [[[-1.2318512332205849, -4.9924205004003959], [6.7922407200841519, 4.6387703456566722]], [[-5.9197796162976379, -0.1878808255402582], [2.4491142531371306, -2.8688907458460182]]], [[[7.3659557142427037, 1.4394192240840664], [1.1669826216834362, -5.1940168381759406]], [[3.3895045837027009, -2.5337749594196515], [-6.3709431347878764, -7.8142888709799525]]], [[[8.2003829088663913, 6.3179524743117268], [-3.3087338023673869, -2.3163556967266459]], [[-0.035376865991998407, 5.20061542917023], [-5.3767941922086404, -3.2374671981974581]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[1.4848472190842736, -0.6925716812974354], [0.86652625822866725, 2.8250958273983304]], [[-0.38065320497825184, 1.8402069410316679], [0.61035577036146726, 2.5494359192568252]]], [[[-7.7566901327226656, -9.4188446883796892], [1.49864915682753, -5.4780147742551746]], [[7.0991732438859527, 2.1327323280997383], [-8.0125941497189714, -1.141582847157335]]], [[[-0.71697567771669846, -0.56663858506800491], [-0.72644200760494293, 2.7511272892520129]], [[-5.2128938133898153, -5.367115764653323], [0.089678473865924868, -2.8926777537059016]]], [[[3.9544295755182759, 0.19386030833846446], [-1.1961561297538017, -3.3496265041812814]], [[-3.3859408547343657, 2.3459579360230141], [-1.6575461674641563, -6.9755511664473051]]], [[[3.8072164418568759, -2.1193200483017614], [0.72659489351261497, -5.6344045663467623]], [[-0.65090838047377275, -6.5741879235961251], [-1.9902987783520025, -3.4336445145440786]]], [[[-0.17591382654078735, -2.0583442610954519], [-0.12825291880955003, 0.86412518683119099]], [[-5.2182506116849172, 0.017741683477311199], [-3.9629927124020079, -1.8236657183908256]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank3_taggedData_rank4(self):  
       arg0=numpy.array([[[4.1557851253231686, 1.5040199940582966], [-0.47945607446254535, 4.8890687290691108]], [[-2.9581569353918189, -0.28463157068210521], [2.5636178530987284, -0.43201865237394266]], [[-2.7311650012966462, 4.6777634638845846], [3.8860331222027522, -1.1655378407051686]], [[-2.3685721521584338, -4.2827737456084627], [-2.294880513620182, -0.062325709327486933]], [[-3.7670001419592278, -0.94544532877193799], [-4.6920266409004805, -0.48266246491904585]], [[-1.1832421556401416, -3.8707504628153124], [-4.0790965248914954, 0.45978873427189981]]])  
       arg1=Data(numpy.array([[[[4.9381488324200991, 3.2312429038898127], [1.0529890904856831, -2.2495912854329836]], [[-4.9616976602614304, 2.9118972734876607], [2.3747018079850788, -2.6048972747085486]]], [[[3.4372954049640079, 3.6595404968933103], [2.9643613865924126, 3.8660192374542959]], [[1.698889430941108, 1.7491722250692012], [-0.96901506283606409, 3.4733739604292264]]], [[[-1.1364718180689968, -3.759489149701174], [-4.6330011288233619, -1.3443912568534988]], [[-2.2013414203057655, -4.5965871429554364], [2.9269388245733285, 3.6460026493951041]]], [[[-0.58943011877202522, 0.91717426303042249], [2.4338231312603966, 0.13998465908812019]], [[-0.56505471198343127, -3.1993391018440462], [-4.771675744066167, -1.7744461281550583]]], [[[3.4295049961600945, -2.5497206730363233], [3.4310769197157374, 3.6577801098601306]], [[4.4061386026477738, 4.0825288260923145], [4.736663582135991, -0.17202945826374627]]], [[[2.5388214015702566, 4.7388915727711698], [1.5780466746640496, 0.2533871568832966]], [[-2.5766739953170803, -1.7094881304681553], [-1.4363327719873, -3.7249677689543415]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-2.8994022297061326, -3.8730574684177546], [-1.5377853052811687, -4.102022633734367]], [[-3.7387774970712884, 1.4731309102760548], [-1.5723058380075328, 4.5512406900889033]]], [[[-3.4820184897611628, -2.510811190040064], [-2.0859441018775726, -0.18332259289469466]], [[-4.2274530650187581, 3.8042891546594966], [-4.5654689364944403, 4.6364120846746761]]], [[[4.5456477770866055, -4.9592254730551009], [-0.034259642138271929, 1.3001370894963298]], [[0.54147555407733616, -4.0856103957559897], [0.23693819689669748, -2.8767825530946709]]], [[[-2.2790897028025228, 1.2703831377173644], [-2.828257456469804, 4.9193695857010571]], [[-1.9741448033952738, 2.9647458077628883], [-2.4330964959645227, 2.411722906227455]]], [[[4.0821247023574649, -2.4226559688167102], [2.9248958395061901, -3.0687007442111005]], [[0.23955708955545063, 0.016237064765485698], [-2.156848110438756, -2.5281445142647985]]], [[[-2.6841980073637495, 2.5739510332664768], [-4.031775265136015, -1.1078843008374903]], [[-3.1354086924339999, 1.6742516566939667], [2.4472802204372872, 3.0301203023846845]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[9.0939339577432676, 7.3870280292129813], [2.5570090845439797, -0.74557129137468703]], [[-5.4411537347239758, 2.4324411990251154], [7.2637705370541896, 2.2841714543605622]]], [[[0.47913846957218897, 0.70138356150149139], [2.6797298159103073, 3.5813876667721907]], [[4.2625072840398364, 4.3127900781679296], [-1.4010337152100067, 3.0413553080552838]]], [[[-3.867636819365643, -6.4906541509978197], [0.044762335061222736, 3.3333722070310858]], [[1.6846917018969867, -0.71055402075268415], [1.7614009838681599, 2.4804648086899355]]], [[[-2.958002270930459, -1.4513978891280113], [-1.8489506143480661, -4.1427890865203425]], [[-2.8599352256036132, -5.4942196154642282], [-4.8340014533936539, -1.8367718374825452]]], [[[-0.33749514579913331, -6.3167208149955512], [2.4856315909437994, 2.7123347810881926]], [[-0.2858880382527067, -0.60949781480816601], [4.2540011172169452, -0.65469192318279212]]], [[[1.355579245930115, 3.5556494171310282], [-2.2927037881512629, -3.6173633059320158]], [[-6.6557705202085753, -5.7885846553596512], [-0.97654403771540021, -3.2651790346824416]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[1.256382895617036, 0.28272765690541402], [-0.033765311222872185, -2.5980026396760705]], [[-4.2182335715338333, 0.99367483581350946], [3.3167628910615781, 9.4403094191580141]]], [[[-6.4401754251529812, -5.4689681254318829], [-2.3705756725596778, -0.46795416357679986]], [[-1.6638352119200297, 6.3679070077582249], [-4.997487588868383, 4.2043934323007335]]], [[[1.8144827757899593, -7.6903904743517471], [4.6435038217463127, 5.9779005533809144]], [[4.4275086762800884, -0.19957727355323751], [-0.92859964380847115, -4.0423203937998391]]], [[[-4.6476618549609565, -1.0981890144410693], [-7.1110312020782667, 0.6365958400925944]], [[-4.2690253170154557, 0.66986529414270635], [-2.4954222052920096, 2.3493971968999681]]], [[[0.31512456039823711, -6.189656110775938], [1.9794505107342522, -4.0141460729830385]], [[-4.4524695513450299, -4.6757895761349948], [-2.6395105753578019, -3.0108069791838443]]], [[[-3.867440163003891, 1.3907088776263352], [-7.9025257279513275, -4.9786347636528028]], [[-7.2145052173254953, -2.4048448681975287], [2.907068954709187, 3.4899090366565844]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_array_rank4_taggedData_rank4(self):  
       arg0=numpy.array([[[[4.2300310959904426, 2.3403394740251713, -0.57588183142689875, 1.132956506309486], [-0.024318557385480055, 4.2582577204725762, -0.68174866041932791, 0.90214573470422632], [-4.6429654632651314, -3.8134094077734817, 4.0504006430990636, 3.9888515371628479]], [[-0.52268518425313548, 2.5181924262375786, 4.6221149432315549, -0.23655247966239301], [-4.5192239147008522, 3.5379112529886481, 0.39297628303554255, -1.1423298907215216], [-3.089201925220161, -0.74951788682246523, -0.069712057259316396, -3.4015395530146399]]], [[[-3.1949161053543316, 1.4439352808644026, 0.60932433213109949, 3.0901589396120084], [2.9983794977831959, 1.146396263474041, -4.0294281532842868, -3.5616554579142843], [2.9129632357920299, -0.73831748656361551, 3.0945878023651154, -1.2430576699319804]], [[-0.027040575083048246, -4.2951482472831231, -0.92798671066324268, -1.2507315370399743], [-3.269693895416681, -0.31496398462093378, 3.3154838530233715, -0.96216692230472223], [0.15178448521206356, 3.7747410104632113, 3.1549353355581946, -1.7663683264172283]]], [[[3.340771444024945, 1.7863896844400742, 4.5535001643212425, -1.1184036688708865], [-4.6913185924762573, 2.5025229013911439, -0.0065143407613890147, 2.4333780896721171], [-0.95841276661510744, 1.9337296661709358, -2.2281860942048306, 3.6627209855573568]], [[-0.59791933671424857, -0.12871015348007919, -1.6656518033391956, -4.7290342656701343], [-4.2023486954511302, 1.2868484074101891, 2.0745580625546847, 0.40170286011578593], [2.3314430344482506, -0.30218646640395086, -4.7496433926866031, 3.0932020230328625]]]])  
       arg1=Data(numpy.array([[[[2.667601026607537, 2.3541961725569172, 4.5193094353837768, 3.3212431694086142], [-4.91030129957608, 0.51067014012840239, -0.68957498932563777, 3.618712091179523], [1.8125318137023783, -2.4009019244173393, -1.7232761116454531, -1.4954433583006512]], [[-4.0409821941208115, -4.4994373985602287, 3.3850283470230877, -4.1734254456177391], [3.9067857756489985, 0.4995057123297153, -4.1037274764747185, -4.8097633206617205], [2.2944949114838025, 3.8562817445969877, -1.992638186317508, 0.28500299131528717]]], [[[4.1511124295757433, -2.32842344861522, -1.9207290786565681, 2.6764260919439273], [-0.11909803631920379, 1.3794652974730406, 2.8600180190020144, 2.462540432532407], [-2.7115159318191937, 4.4467114145392888, -3.8423155790375874, -4.5418497363232815]], [[-0.69186196934314825, -0.81750091896459676, 4.8907971030316624, -2.0096696578629745], [2.6519680397286702, 3.4957710387220811, 2.6163987963416382, 3.99286256557569], [-3.4335034199468706, -4.1837736504352012, 1.3358207148528498, -1.6220368206641735]]], [[[4.4153202826056468, 1.8539972598268388, 3.2585330164507216, 4.3290828851208776], [-0.44298560972283241, -0.10826614374732646, 0.74508780583886924, -4.0796445775019219], [-0.90925681522202062, -2.5654255128841275, -0.38814171749153115, -4.4129141306134834]], [[2.9095533951538268, 3.6124082061640976, 3.1099457858125987, -0.43614153283972534], [2.716168629225395, -2.7230675857264308, -1.7905656774230483, 2.0195135523723673], [0.92539831223950397, -3.4786065379659092, 3.1461064536191738, 1.9989406241156242]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[3.9716786125939976, -0.9187009684658678, 0.72966592619911275, 3.6710936202773592], [0.37183214934349085, -1.1905551152747194, -3.0742242498944758, -3.6546897579999871], [-1.9360613735556544, 2.728162999353211, -3.091784365907456, 4.9593406222139418]], [[-0.61793487120247104, 4.8246390769035372, 4.0721186281530652, 1.5948440312048797], [0.88316938731155314, -0.9942373149981778, -0.071301503993376869, 2.9733024562957926], [4.1890303773312922, -4.0089699545689115, -2.2946207367843474, -0.92994275109054136]]], [[[-0.52297524352013181, -1.7024891984746748, 3.1207413257292664, 1.8273985707904536], [-0.52370084348653734, -2.3224727806120415, 2.7299952805570307, 0.49182160212942705], [-3.1711201620903964, -0.76921728835585146, 0.23205460951176615, -3.7788598210955149]], [[1.1259152322312547, 4.0389454087324808, 1.5847133652905878, 2.3296547423269782], [2.9302342100410916, 4.2972493714472453, -0.8291734027082942, -1.6210738617020359], [-3.8471718390980927, -2.7457696301239611, -3.5689991989890437, 4.8423131228679139]]], [[[-1.1462853953646137, -1.3834887831812068, -4.4703561550630067, -0.73174196432398375], [-2.0471487567958424, 1.4322202646756708, 4.0296613921083555, -1.4803644615311216], [4.6185532684519597, 2.9983422829855346, -2.919333179045156, -3.1140930209383533]], [[-2.1678948466661616, -2.1430213285654665, 3.4152397975967972, -0.10608983729643562], [-0.30256176562133508, 2.7992235385220896, 0.73075366463058433, 2.9858260737797497], [2.8686210695118231, 0.40561564628117086, -3.9058807594497669, 0.79768765352087811]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[6.8976321225979795, 4.6945356465820884, 3.9434276039568781, 4.4541996757181002], [-4.93461985696156, 4.7689278606009786, -1.3713236497449657, 4.5208578258837493], [-2.8304336495627531, -6.214311332190821, 2.3271245314536104, 2.4934081788621967]], [[-4.563667378373947, -1.9812449723226502, 8.0071432902546427, -4.4099779252801321], [-0.61243813905185363, 4.0374169653183634, -3.7107511934391759, -5.9520932113832421], [-0.79470701373635855, 3.1067638577745225, -2.0623502435768244, -3.1165365616993528]]], [[[0.95619632422141176, -0.8844881677508174, -1.3114047465254686, 5.7665850315559357], [2.8792814614639921, 2.5258615609470816, -1.1694101342822725, -1.0991150253818773], [0.20144730397283617, 3.7083939279756732, -0.74772777667247192, -5.7849074062552619]], [[-0.7189025444261965, -5.1126491662477198, 3.9628103923684197, -3.2604011949029488], [-0.61772585568801075, 3.1808070541011473, 5.9318826493650096, 3.0306956432709677], [-3.281718934734807, -0.40903263997198991, 4.4907560504110444, -3.3884051470814018]]], [[[7.7560917266305918, 3.640386944266913, 7.8120331807719641, 3.2106792162499911], [-5.1343042021990897, 2.3942567576438174, 0.73857346507748023, -1.6462664878298048], [-1.8676695818371281, -0.63169584671319168, -2.6163278116963617, -0.75019314505612655]], [[2.3116340584395783, 3.4836980526840184, 1.4442939824734031, -5.1651757985098596], [-1.4861800662257352, -1.4362191783162417, 0.28399238513163638, 2.4212164124881532], [3.2568413466877546, -3.7807930043698601, -1.6035369390674292, 5.0921426471484867]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[8.2017097085844402, 1.4216385055593035, 0.153784094772214, 4.8040501265868452], [0.34751359195801079, 3.0677026051978569, -3.7559729103138038, -2.7525440232957608], [-6.5790268368207858, -1.0852464084202706, 0.95861627719160758, 8.9481921593767897]], [[-1.1406200554556065, 7.3428315031411158, 8.6942335713846202, 1.3582915515424867], [-3.636054527389299, 2.5436739379904703, 0.32167477904216568, 1.830972565574271], [1.0998284521111312, -4.7584878413913767, -2.3643327940436638, -4.3314823041051813]]], [[[-3.7178913488744634, -0.25855391761027224, 3.7300656578603659, 4.917557510402462], [2.4746786542966586, -1.1760765171380005, -1.2994328727272562, -3.0698338557848572], [-0.25815692629836651, -1.507534774919467, 3.3266424118768816, -5.0219174910274953]], [[1.0988746571482064, -0.2562028385506423, 0.65672665462734514, 1.0789232052870039], [-0.33945968537558935, 3.9822853868263115, 2.4863104503150772, -2.5832407840067582], [-3.6953873538860291, 1.0289713803392502, -0.41406386343084911, 3.0759447964506856]]], [[[2.1944860486603313, 0.40290090125886735, 0.08314400925823584, -1.8501456331948702], [-6.7384673492720992, 3.9347431660668146, 4.0231470513469665, 0.95301362814099555], [3.6601405018368522, 4.9320719491564704, -5.147519273249987, 0.54862796461900354]], [[-2.7658141833804102, -2.2717314820455456, 1.7495879942576016, -4.8351241029665699], [-4.5049104610724653, 4.0860719459322787, 2.805311727185269, 3.3875289338955357], [5.2000641039600737, 0.10342917987722, -8.6555241521363691, 3.8908896765537406]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank0_taggedData_rank0(self):  
       arg0=Data(-4.53091025097,self.functionspace)  
       arg1=Data(-2.60945877813,self.functionspace)  
       arg1.setTaggedValue(1,-2.0098161396)  
       res=add(arg0,arg1)  
       ref=Data(-7.1403690291,self.functionspace)  
       ref.setTaggedValue(1,-6.54072639057)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank1_taggedData_rank0(self):  
       arg0=Data(numpy.array([-0.26173876275878882, -2.235237173421031]),self.functionspace)  
       arg1=Data(-1.81759747756,self.functionspace)  
       arg1.setTaggedValue(1,1.48070161342)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-2.0793362403224349, -4.0528346509846767]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.2189628506583849, -0.75453556000385724]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank0_taggedData_rank1(self):  
       arg0=Data(-2.68337774648,self.functionspace)  
       arg1=Data(numpy.array([0.72211398255562997, 4.691164253429271]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([-4.4172389291656975, -3.5605018497661565]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-1.961263763922465, 2.007786506951176]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([-7.1006166756437921, -6.2438795962442519]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank2_taggedData_rank0(self):  
       arg0=Data(numpy.array([[-2.0834738787404672, 2.579703861304953, -2.6856831623433095, 2.2876945809672966, 4.4289018633997195], [1.8627778220669544, -4.6356564347856004, 0.22585626327205066, -2.6498438922570022, 4.7192040500711165], [-1.874507480717428, -1.6375843859876413, 3.9484577825499727, 1.9822677901119325, 1.648818351221828], [-4.4890550629897668, 2.0772282451785369, -1.1218404924864323, -1.8579573486518353, 2.1364220574503534]]),self.functionspace)  
       arg1=Data(2.38523058734,self.functionspace)  
       arg1.setTaggedValue(1,4.94062752592)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[0.30175670859807147, 4.9649344486434916, -0.30045257500477085, 4.6729251683058353, 6.8141324507382581], [4.2480084094054931, -2.2504258474470618, 2.6110868506105893, -0.26461330491846358, 7.1044346374096552], [0.51072310662111065, 0.74764620135089732, 6.3336883698885114, 4.3674983774504712, 4.0340489385603666], [-2.1038244756512281, 4.4624588325170755, 1.2633900948521064, 0.52727323868670339, 4.5216526447888921]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[2.8571536471783285, 7.5203313872237487, 2.2549443635754862, 7.2283221068860923, 9.3695293893185152], [6.8034053479857501, 0.30497109113319532, 5.1664837891908464, 2.2907836336617935, 9.6598315759899123], [3.0661200452013677, 3.3030431399311544, 8.8890853084687684, 6.9228953160307283, 6.5894458771406237], [0.45157246292902897, 7.0178557710973326, 3.8187870334323635, 3.0826701772669605, 7.0770495833691491]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank0_taggedData_rank2(self):  
       arg0=Data(-1.31689252429,self.functionspace)  
       arg1=Data(numpy.array([[-2.0381096625300321, 0.16084514729226917, 2.9435323557730495, -3.4142543484882983, 4.3052183710614944], [4.9973418084229202, 4.0462934054523494, -2.7504823781379404, 4.8988587006093756, -2.6570886665330096], [-2.7089474095472599, 3.839866292443741, -1.1094716861294129, 2.3786251760339301, 1.5711760450385839], [-3.3717417800674667, 4.9655794119148382, 0.88864432258773629, -1.2997947515171395, -0.41924033820105233]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[3.2376501121735686, -0.22413757535267642, 4.6850509823444355, -1.3554149566737541, 0.51687462500529868], [4.7627817364324354, -4.739038633468839, -3.9045599217266904, -0.84600334428217128, 0.91107680800926349], [-4.9554026687884853, 4.8872089230378393, 3.6975250252532117, 4.5918627197626165, -4.4137320150324193], [3.8387810141910368, -1.8746941712160958, -1.7565846703482046, -4.0772740461173314, -3.0867696077390372]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-3.3550021868171487, -1.1560473769948474, 1.6266398314859329, -4.7311468727754153, 2.9883258467743778], [3.6804492841358036, 2.7294008811652328, -4.0673749024250565, 3.581966176322259, -3.9739811908201261], [-4.0258399338343764, 2.5229737681566244, -2.4263642104165295, 1.0617326517468135, 0.25428352075146732], [-4.6886343043545828, 3.6486868876277216, -0.42824820169938027, -2.6166872758042561, -1.7361328624881689]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[1.920757587886452, -1.541030099639793, 3.3681584580573189, -2.6723074809608707, -0.80001789928181788], [3.4458892121453188, -6.0559311577559551, -5.2214524460138065, -2.1628958685692878, -0.40581571627785307], [-6.2722951930756015, 3.5703163987507227, 2.3806325009660951, 3.2749701954754999, -5.7306245393195354], [2.5218884899039202, -3.1915866955032124, -3.0734771946353212, -5.3941665704044475, -4.4036621320261542]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank3_taggedData_rank0(self):  
       arg0=Data(numpy.array([[[0.6920610251076873, 0.83981362177302543], [-1.0018414184432265, 1.4459883807677958]], [[-1.7689670699798157, -3.0826197607822547], [-4.3347224329221232, 4.3665249521776097]], [[0.51151363974775776, 2.6094640632110195], [-1.6720822741943953, -1.2812304032761626]], [[-0.014588401300738241, 0.51375922510466854], [1.9401990346498623, -3.1865406433120338]], [[-4.2263256229464128, 3.5966170361790404], [-3.5029804335897854, 0.28453138849232218]], [[0.6045276591995794, 0.3478692566720607], [-2.5478634521764287, -0.86049679360179177]]]),self.functionspace)  
       arg1=Data(3.05119727333,self.functionspace)  
       arg1.setTaggedValue(1,4.26142681838)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[3.7432582984370946, 3.8910108951024327], [2.0493558548861808, 4.4971856540972031]], [[1.2822302033495916, -0.031422487452847481], [-1.283525159592716, 7.417722225507017]], [[3.562710913077165, 5.6606613365404268], [1.379114999135012, 1.7699668700532447]], [[3.036608872028669, 3.5649564984340758], [4.9913963079792696, -0.13534336998262653]], [[-1.1751283496170055, 6.6478143095084476], [-0.45178316026037812, 3.3357286618217294]], [[3.6557249325289867, 3.399066530001468], [0.50333382115297853, 2.1907004797276155]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[4.9534878434883982, 5.1012404401537363], [3.2595853999374844, 5.7074151991485067]], [[2.4924597484008952, 1.1788070575984562], [-0.073295614541412313, 8.6279517705583206]], [[4.7729404581284687, 6.8708908815917304], [2.5893445441863157, 2.9801964151045484]], [[4.2468384170799727, 4.7751860434853795], [6.2016258530305732, 1.0748861750686771]], [[0.035101195434298127, 7.8580438545597513], [0.75844638479092552, 4.5459582068730331]], [[4.8659544775802903, 4.6092960750527716], [1.7135633662042822, 3.4009300247789191]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank0_taggedData_rank3(self):  
       arg0=Data(2.3002023117,self.functionspace)  
       arg1=Data(numpy.array([[[-3.7189830328587115, 4.6318592582979115], [-2.9494047385820563, -3.2860124885039941]], [[-1.6755121446074117, 2.1935243261112554], [3.1626168408188526, 2.7762806019517692]], [[3.7940606120885612, -1.5607271185389204], [3.7925152132529707, 0.009467975024258557]], [[-2.6671604926533545, -0.44592020707189572], [-4.8872869345410033, 1.7609489199425568]], [[-1.4128717104373711, 1.6670242098759855], [-1.4823490258411964, 4.8977716398647573]], [[2.313701456291505, -1.9732144774869553], [2.8788408064770206, 3.9482139279263091]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-3.9886764377886053, 3.136327859234596], [1.0208068713899987, 3.3462699842422126]], [[-0.80269158808114049, 3.3223337521710743], [-3.357479356671341, 1.6576888754496721]], [[3.8803666695773948, -2.1760275428656084], [1.0607089480659591, -4.3123958291860029]], [[2.7388593138255022, -1.131565467318473], [1.6215316815359841, 1.9556785464410726]], [[0.55822946744414637, 4.8009584912785233], [-3.1479452896073257, -0.87958560646944317]], [[4.6816205001924054, -2.3052443457788288], [-1.0552076548602662, -4.1765266220974615]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-1.4187807211625514, 6.9320615699940715], [-0.64920242688589624, -0.985810176807834]], [[0.62469016708874836, 4.4937266378074154], [5.4628191525150127, 5.0764829136479293]], [[6.0942629237847212, 0.73947519315723964], [6.0927175249491308, 2.3096702867204186]], [[-0.36695818095719446, 1.8542821046242643], [-2.5870846228448432, 4.0611512316387168]], [[0.88733060125878893, 3.9672265215721456], [0.81785328585496364, 7.1979739515609173]], [[4.6139037679876651, 0.32698783420920474], [5.1790431181731806, 6.2484162396224692]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-1.6884741260924452, 5.4365301709307561], [3.3210091830861588, 5.6464722959383726]], [[1.4975107236150196, 5.6225360638672344], [-1.0572770449751809, 3.9578911871458322]], [[6.1805689812735549, 0.12417476883055167], [3.3609112597621191, -2.0121935174898429]], [[5.0390616255216623, 1.1686368443776871], [3.9217339932321442, 4.2558808581372327]], [[2.8584317791403064, 7.1011608029746833], [-0.8477429779111656, 1.4206167052267169]], [[6.9818228118885655, -0.0050420340826686783], [1.2449946568358938, -1.8763243104013014]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank4_taggedData_rank0(self):  
       arg0=Data(numpy.array([[[[-0.47810642413538318, -3.6178370461653286, -0.029803433487467501, -2.8541941472435495], [0.47508352467724002, 0.74000365665849532, -4.2540900405447823, -3.6774595929889733], [-2.2195617962248351, -0.13276775296306642, -3.6389977939519538, 1.6888334673125991]], [[-3.0884887231866198, 4.0174208927813666, -2.6200751219065053, 3.7865116279624829], [4.6657198670885709, -4.7796741104454483, 4.0623200699508875, -2.6175591136178014], [2.3242147314439556, 4.4828148516259567, -4.0008806690327035, 0.86545503984470784]]], [[[1.0439463206447783, 1.4579342062881375, 3.4505560111971008, -1.452414508740377], [-4.7130405871687229, -4.9560751128077953, -2.2062399910344466, 1.7217476972940862], [0.65141325270948069, -1.1634983249401252, 3.3991319635806025, -2.0812724510180214]], [[-0.47848075039220195, -1.915544854576571, 0.8042310924659688, -4.2055276387767133], [4.2220360831861043, -4.1549003280728938, 4.4969776838029816, -2.9161450371211863], [-0.80314651875140175, 0.6551142989740919, -1.3078248871329565, -1.7638291558769592]]], [[[-4.372912943766738, -0.61245799610322393, 3.5271013462289886, 1.9744760726216004], [0.8510616571355083, 3.8183488875030918, -4.8837734622560749, 0.7622371824701899], [0.35573560676218197, -3.2101911151888674, -3.7850510833789022, 3.748905486715703]], [[-0.20796722870252893, 1.7675371210736026, -2.1197170503259644, 2.8661849551728125], [2.2399227121934455, -4.2621299374754145, -0.94921516259520544, 1.6510648599183835], [-0.5315871319053036, 4.7877711435735275, 2.8267346829553297, -1.43487706888655]]]]),self.functionspace)  
       arg1=Data(-2.72840979581,self.functionspace)  
       arg1.setTaggedValue(1,-1.96105267532)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.206516219948365, -6.34624684197831, -2.7582132293004493, -5.5826039430565313], [-2.2533262711357418, -1.9884061391544865, -6.9824998363577642, -6.4058693888019551], [-4.9479715920378169, -2.8611775487760482, -6.3674075897649356, -1.0395763285003827]], [[-5.8168985189996016, 1.2890110969683848, -5.3484849177194871, 1.058101832149501], [1.9373100712755891, -7.5080839062584301, 1.3339102741379056, -5.3459689094307832], [-0.40419506436902619, 1.7544050558129749, -6.7292904648456853, -1.862954755968274]]], [[[-1.6844634751682035, -1.2704755895248443, 0.72214621538411894, -4.1808243045533589], [-7.4414503829817047, -7.6844849086207772, -4.9346497868474284, -1.0066620985188957], [-2.0769965431035011, -3.891908120753107, 0.67072216776762072, -4.8096822468310032]], [[-3.2068905462051838, -4.6439546503895528, -1.924178703347013, -6.9339374345896951], [1.4936262873731225, -6.8833101238858756, 1.7685678879899998, -5.6445548329341682], [-3.5315563145643836, -2.0732954968388899, -4.0362346829459383, -4.4922389516899415]]], [[[-7.1013227395797198, -3.3408677919162058, 0.79869155041600681, -0.75393372319138141], [-1.8773481386774735, 1.0899390916901099, -7.6121832580690567, -1.9661726133427919], [-2.3726741890507999, -5.9386009110018492, -6.513460879191884, 1.0204956909027212]], [[-2.9363770245155107, -0.96087267473937921, -4.8481268461389462, 0.13777515935983065], [-0.4884870836195363, -6.9905397332883963, -3.6776249584081873, -1.0773449358945983], [-3.2599969277182854, 2.0593613477605457, 0.098324887142347883, -4.1632868646995318]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.4391590994566563, -5.5788897214866022, -1.9908561088087406, -4.8152468225648226], [-1.4859691506440331, -1.2210490186627778, -6.2151427158660555, -5.6385122683102464], [-4.1806144715461082, -2.0938204282843396, -5.6000504692732269, -0.27221920800867405]], [[-5.049541398507893, 2.0563682174600935, -4.5811277972277784, 1.8254589526412097], [2.7046671917672978, -6.7407267857667215, 2.1012673946296143, -4.5786117889390745], [0.36316205612268249, 2.5217621763046836, -5.9619333443539766, -1.0955976354765653]]], [[[-0.91710635467649482, -0.50311846903313562, 1.4895033358758276, -3.4134671840616502], [-6.674093262489996, -6.9171277881290685, -4.1672926663557197, -0.23930497802718698], [-1.3096394226117924, -3.1245510002613983, 1.4380792882593294, -4.0423251263392945]], [[-2.4395334257134751, -3.8765975298978441, -1.1568215828553043, -6.1665803140979865], [2.2609834078648312, -6.1159530033941669, 2.5359250084817084, -4.8771977124424595], [-2.7641991940726749, -1.3059383763471812, -3.2688775624542297, -3.7248818311982324]]], [[[-6.3339656190880111, -2.5735106714244971, 1.5660486709077155, 0.013423397300327267], [-1.1099910181857648, 1.8572962121818186, -6.844826137577348, -1.1988154928510832], [-1.6053170685590912, -5.1712437905101405, -5.7461037587001753, 1.7878528113944299]], [[-2.1690199040238021, -0.19351555424767053, -4.0807697256472375, 0.90513227985153932], [0.27887003687217238, -6.2231826127966876, -2.9102678379164786, -0.30998781540288967], [-2.4926398072265767, 2.8267184682522544, 0.86568200763405656, -3.3959297442078231]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank0_taggedData_rank4(self):  
       arg0=Data(-2.8517120835,self.functionspace)  
       arg1=Data(numpy.array([[[[-3.7916745867667578, 0.7091899476729191, -1.2169733278766328, 0.34756415649216166], [-2.6140462820974895, -1.6679802033819269, -1.7667627126140006, -0.86530009946958408], [-3.5962651963084715, 3.0411301546538869, 3.1675004456622098, 3.8689507979814923]], [[3.8805267670776029, -2.4268351676109035, 0.27629024033974403, 0.33710943054566567], [0.30695727270133943, 0.46355404373694586, 2.6473873224793341, 4.3234622967717886], [1.8931684240870013, 1.6844344395801496, -3.6854678627042703, 2.9802753119704759]]], [[[2.3911853668842022, 0.51230452558074813, 0.62165135563870244, -3.4891115483213864], [0.56148204032798521, 4.4074366310310058, 4.5645511927655296, -3.1653338442741852], [1.0862049073551212, -0.44620012499866668, 0.65091780838294699, 2.4579482186059742]], [[-4.5692348413329054, 3.3283455598557605, 4.2532979577065877, -1.4332736229122833], [0.75550074286637869, -4.91666685260713, -3.9035916804390611, -0.48796156461561857], [0.94811755565038425, 1.731550361836125, 0.59512217701052439, -3.4556739209358431]]], [[[2.3695852339461343, -4.3199475898901429, -2.053186291844856, -0.76075536452206105], [4.5635693597632248, 4.4851131713339445, 4.8812930642307162, -0.74057702434296768], [-4.6037640990782291, 0.53123952797669549, 1.085616374546392, -4.2796704903761862]], [[3.5436565746245865, 2.3901333297324614, -1.4240118321135475, 4.2184948533154145], [-0.35812065560476114, -4.1225187719110998, 2.3022492822579457, 3.7937777732614961], [0.8395055531207305, -3.3971101084007413, -2.0011396532418866, -1.8452918047408771]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-0.59220766878872588, -4.7420799071766853, 3.9261957531645955, -1.4808010472393249], [4.2159532264397743, -3.703250243185825, 0.2142688040316667, -4.4653337867991709], [1.107626541406745, 0.26714382172852069, 0.02827082450521079, -4.3433379347529852]], [[1.803810815750059, -1.6488670039549023, -0.7525947699935891, -1.6345880470622109], [-0.16747400381339617, 3.3956632029311216, -4.0251050836897377, -2.0251858747118434], [1.9579188631593976, 4.8522033402750324, -4.0301513542243308, 1.4045033284231518]]], [[[-1.3965164923436979, -4.1862988652756545, 3.1392630086507118, 4.2976245582297423], [0.71241267760353022, -4.7503123012192425, -3.4930169911373978, 2.5305183597438248], [2.2587455090248536, 0.81512707745261004, -0.97731041601383328, 2.240195601968936]], [[1.7002187968452631, 1.688229799988771, -0.31341454372971533, 3.6787367625331822], [3.9595638240099422, 1.4496272135893982, -4.1595948065190083, -4.9868029169712731], [-3.4960016518630388, 2.0027539776240992, -4.4339774999172921, 4.2383216011534817]]], [[[-4.2430437558146998, -3.2280147185116306, 0.82866482707494438, -1.9963903932882365], [-2.3894812303015134, 3.4480495484283775, 1.1178365850783836, -0.39327987756264537], [-1.9295894773181077, -1.7887375976012909, 3.0018085776842813, 2.2740024859449317]], [[2.8291594520766603, 1.9006138993348332, 4.0151794308486703, 3.104219746724354], [2.3836952029782088, -4.0220077277196475, -3.9106154687880998, -3.2524312977630485], [-0.4800647245816787, 1.5791979833419711, 3.7271399031298351, -2.6338386406984471]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-6.6433866702702531, -2.1425221358305766, -4.0686854113801285, -2.504147927011334], [-5.4657583656009852, -4.519692286885423, -4.6184747961174963, -3.7170121829730798], [-6.4479772798119672, 0.18941807115039122, 0.31578836215871409, 1.0172387144779966]], [[1.0288146835741072, -5.2785472511143992, -2.5754218431637517, -2.51460265295783], [-2.5447548108021563, -2.3881580397665498, -0.20432476102416164, 1.4717502132682929], [-0.95854365941649444, -1.1672776439233461, -6.5371799462077664, 0.12856322846698021]]], [[[-0.46052671661929345, -2.3394075579227476, -2.2300607278647933, -6.3408236318248825], [-2.2902300431755105, 1.5557245475275101, 1.7128391092620339, -6.0170459277776809], [-1.7655071761483745, -3.2979122085021624, -2.2007942751205487, -0.39376386489752147]], [[-7.4209469248364011, 0.47663347635226483, 1.401585874203092, -4.284985706415779], [-2.096211340637117, -7.7683789361106257, -6.7553037639425568, -3.3396736481191143], [-1.9035945278531115, -1.1201617216673707, -2.2565899064929713, -6.3073860044393388]]], [[[-0.4821268495573614, -7.1716596733936386, -4.9048983753483517, -3.6124674480255567], [1.7118572762597291, 1.6334010878304488, 2.0295809807272205, -3.5922891078464634], [-7.4554761825817248, -2.3204725555268002, -1.7660957089571037, -7.1313825738796819]], [[0.6919444911210908, -0.4615787537710343, -4.2757239156170428, 1.3667827698119188], [-3.2098327391082568, -6.9742308554145955, -0.54946280124555003, 0.94206568975800042], [-2.0122065303827652, -6.248822191904237, -4.8528517367453823, -4.6970038882443728]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-3.4439197522922216, -7.593791990680181, 1.0744836696610998, -4.3325131307428206], [1.3642411429362786, -6.5549623266893207, -2.637443279471829, -7.3170458703026666], [-1.7440855420967507, -2.584568261774975, -2.8234412589982849, -7.1950500182564809]], [[-1.0479012677534367, -4.500579087458398, -3.6043068534970848, -4.4863001305657066], [-3.0191860873168919, 0.54395111942762586, -6.8768171671932334, -4.8768979582153396], [-0.89379322034409814, 2.0004912567715367, -6.8818634377278265, -1.4472087550803439]]], [[[-4.2482285758471932, -7.0380109487791502, 0.28755092514721614, 1.4459124747262466], [-2.1392994058999655, -7.6020243847227382, -6.3447290746408935, -0.32119372375967092], [-0.59296657447864209, -2.0365850060508857, -3.829022499517329, -0.61151648153455973]], [[-1.1514932866582326, -1.1634822835147247, -3.165126627233211, 0.82702467902968646], [1.1078517405064465, -1.4020848699140975, -7.011306890022504, -7.8385150004747688], [-6.3477137353665345, -0.84895810587939646, -7.2856895834207878, 1.386609517649986]]], [[[-7.0947558393181955, -6.0797268020151263, -2.0230472564285513, -4.8481024767917322], [-5.2411933138050095, 0.59633746492488182, -1.7338754984251121, -3.2449919610661411], [-4.7813015608216034, -4.6404496811047871, 0.15009649418078563, -0.57770959755856399]], [[-0.02255263142683539, -0.95109818416866254, 1.1634673473451747, 0.25250766322085827], [-0.46801688052528689, -6.8737198112231432, -6.7623275522915955, -6.1041433812665442], [-3.3317768080851744, -1.2725141001615246, 0.87542781962633942, -5.4855507242019428]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank1_taggedData_rank1(self):  
       arg0=Data(numpy.array([-2.0223836840764076, -1.6719046294964981]),self.functionspace)  
       arg1=Data(numpy.array([-1.6738611130801209, 4.7839562614291111]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([0.12607116416688946, 2.156085281903465]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-3.6962447971565284, 3.112051631932613]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([-1.8963125199095181, 0.48418065240696695]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank2_taggedData_rank1(self):  
       arg0=Data(numpy.array([[-3.5148553509170344, -4.0338895493869646], [-4.7508074952741808, -4.5314431706734002]]),self.functionspace)  
       arg1=Data(numpy.array([-3.2823030650168237, -4.0005411488098606]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([3.9013829915624356, 2.1015066406995819]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-6.7971584159338576, -7.3161926144037883], [-8.7513486440840413, -8.5319843194832607]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[0.38652764064540124, -0.13250655782452903], [-2.6493008545745989, -2.4299365299738183]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank1_taggedData_rank2(self):  
       arg0=Data(numpy.array([-1.369205666267689, 3.3971203964828476]),self.functionspace)  
       arg1=Data(numpy.array([[1.6482124243816596, 4.524601278700068], [-3.4548339933369352, -1.7475037226165901]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[2.6494063817457461, -4.6560060685557767], [4.1662935474576628, -4.1330224864465981]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[0.27900675811397058, 3.155395612432379], [-0.057713596854087612, 1.6496166738662574]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[1.280200715478057, -6.0252117348234657], [7.5634139439405104, -0.73590208996375051]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank3_taggedData_rank1(self):  
       arg0=Data(numpy.array([[[-0.26151491108895897, -4.8755361021971826, -3.7965471655241476, 4.6063020341962542, -0.69612751405780404], [3.2976989143718534, 0.27384403334535623, 3.8086737553040937, 2.5009066679103276, -3.3097750951127916], [2.9352342335442767, 2.8376216328934731, -3.232068679091249, 4.8325179692788662, -1.9630168114599522], [-4.1492334699116959, -0.65724624044643765, 3.6680741940008108, -4.5074202792244842, -0.1698385615857898]], [[1.7938446283397553, 0.77146107733212155, -1.4278268554051388, 1.7432020634247234, 1.1698148023122474], [1.4344897467119369, 4.5433717855420657, 4.5476019663661109, 3.2212177749051882, -3.1846800772888093], [-0.27696721194001128, 2.7442932455948572, -0.39358589128685395, 3.5549615039317253, -1.7555796897521612], [0.59454676333843892, -2.5389235283546476, -1.0191805718582514, -0.28464969618009661, -0.47803178488264653]]]),self.functionspace)  
       arg1=Data(numpy.array([-1.032632984949664, 1.3033778953216713]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([-0.43985766860995845, 2.1986156524158211]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-1.294147896038623, -5.9081690871468471, -4.8291801504738121, 3.5736690492465901, -1.7287604990074681], [2.2650659294221893, -0.75878895160430782, 2.7760407703544296, 1.4682736829606635, -4.3424080800624552], [1.9026012485946127, 1.8049886479438091, -4.2647016640409134, 3.7998849843292022, -2.9956497964096163], [-5.1818664548613604, -1.6898792253961017, 2.6354412090511468, -5.5400532641741478, -1.2024715465354539]], [[3.0972225236614266, 2.0748389726537928, -0.12444896008346751, 3.0465799587463946, 2.4731926976339187], [2.7378676420336081, 5.8467496808637369, 5.8509798616877822, 4.5245956702268595, -1.8813021819671381], [1.02641068338166, 4.0476711409165285, 0.9097920040348173, 4.8583393992533965, -0.45220179443048991], [1.8979246586601102, -1.2355456330329764, 0.28419732346341986, 1.0187281991415746, 0.82534611043902473]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-0.70137257969891742, -5.315393770807141, -4.2364048341341061, 4.1664443655862957, -1.1359851826677625], [2.8578412457618949, -0.16601363526460222, 3.3688160866941352, 2.0610489993003691, -3.74963276372275], [2.4953765649343183, 2.3977639642835147, -3.6719263477012074, 4.3926603006689078, -2.4028744800699107], [-4.5890911385216544, -1.0971039090563961, 3.2282165253908524, -4.9472779478344426, -0.60969623019574826]], [[3.9924602807555765, 2.9700767297479427, 0.77078879701068237, 3.9418177158405445, 3.3684304547280686], [3.633105399127758, 6.7419874379578868, 6.746217618781932, 5.4198334273210094, -0.98606442487298818], [1.9216484404758098, 4.9429088980106783, 1.8050297611289672, 5.7535771563475464, 0.44303596266365997], [2.7931624157542601, -0.3403078759388265, 1.1794350805575697, 1.9139659562357245, 1.7205838675331746]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank1_taggedData_rank3(self):  
       arg0=Data(numpy.array([1.334316001968487, -1.7446668422086709]),self.functionspace)  
       arg1=Data(numpy.array([[[2.8360285420840592, 0.95385664938580828, -3.0519196586948172, 1.2170468163847827, 2.8785778043414592], [-2.617682731187092, 0.72142243260900152, 0.026075757356542439, 4.7707618306908515, 4.2708582479052488], [1.1260877319993403, -1.0224551730066445, -2.3926393284456915, 4.9297027010484147, 0.95591405244213234], [-2.7527383663826166, 3.1224396069504969, 4.4497899621566219, -3.8065409168654685, 3.0131744722677674]], [[-3.4203061852720449, 4.3689522258809728, 3.7711446247611491, -1.5228407844078653, -1.804331024958544], [3.6316894123101502, 1.4302227750821093, -3.3202142064705487, -1.8976216355760158, -2.6175990560969087], [-0.99914778861289655, 3.0017278052942267, -1.0159845930757894, 4.9242558099992877, 0.94556247174204078], [-2.6881065513560429, 4.4571730973974475, -3.8822999086269316, 2.815473323928952, -3.3847485520809517]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-0.61775024323800487, -0.60767645980685536, 4.5973647445912071, -3.6574893507761308, 0.75296029478055715], [-4.8522042937625818, 3.1328118230096837, 1.3779080546663334, -3.8808476207087637, 2.8099271995397483], [-1.1694317351559205, -0.6704056500511415, -4.2687216094986802, -3.3703966587823384, -4.4073443001056276], [0.87241667049490701, -4.9488464699059467, -2.8678522510451243, 0.70627407957805843, -3.9900872939432706]], [[0.73348889724328536, -2.0648025160838177, 0.25889625085299173, 3.6208065957745958, 3.4643921007305387], [-3.4239599792020234, -1.9157424927826261, -0.84499690056537879, -3.6978690027910508, 2.3308256440443262], [-3.9597996048969728, 2.7747840968773385, -1.8003411569979311, -3.9519507244940453, -4.6709602364002745], [-3.743404254308885, 4.2692793456925529, -3.4945440636609906, -1.7193700588877903, -3.5053056047589646]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[4.1703445440525462, 2.2881726513542953, -1.7176036567263302, 2.5513628183532697, 4.2128938063099461], [-1.2833667292186051, 2.0557384345774885, 1.3603917593250294, 6.1050778326593385, 5.6051742498737358], [2.4604037339678273, 0.31186082896184253, -1.0583233264772045, 6.2640187030169017, 2.2902300544106193], [-1.4184223644141296, 4.4567556089189839, 5.7841059641251089, -2.4722249148969815, 4.3474904742362543]], [[-5.1649730274807162, 2.6242853836723019, 2.0264777825524782, -3.2675076266165362, -3.5489978671672149], [1.8870225701014793, -0.31444406712656159, -5.0648810486792195, -3.6422884777846867, -4.36226589830558], [-2.7438146308215674, 1.2570609630855558, -2.7606514352844602, 3.1795889677906168, -0.79910437046663008], [-4.4327733935647142, 2.7125062551887766, -5.6269667508356029, 1.0708064817202811, -5.129415394289623]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.71656575873048212, 0.72663954216163162, 5.9316807465596941, -2.3231733488076438, 2.0872762967490441], [-3.5178882917940948, 4.4671278249781707, 2.7122240566348204, -2.5465316187402767, 4.1442432015082353], [0.16488426681256652, 0.66391035191734549, -2.9344056075301932, -2.0360806568138514, -3.0730282981371406], [2.206732672463394, -3.6145304679374597, -1.5335362490766373, 2.0405900815465454, -2.6557712919747836]], [[-1.0111779449653855, -3.8094693582924886, -1.4857705913556791, 1.876139753565925, 1.7197252585218679], [-5.1686268214106939, -3.6604093349912969, -2.5896637427740496, -5.4425358449997212, 0.58615880183565539], [-5.7044664471056432, 1.0301172546686677, -3.5450079992066019, -5.6966175667027166, -6.4156270786089458], [-5.4880710965175563, 2.524612503483882, -5.2392109058696619, -3.4640369010964611, -5.2499724469676359]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank4_taggedData_rank1(self):  
       arg0=Data(numpy.array([[[[-4.9137492003196481, -1.9286613640979313], [2.383447296831303, -2.2963255597726731]], [[-2.8802274254813041, 2.5900368105250715], [-4.1647901860154821, -2.0284401461993093]], [[-1.3976552361392889, -1.6042960995425801], [-4.5841710469190016, 1.715741851805511]], [[3.1847961217566976, 1.7195758036190698], [-3.0242302453156924, -2.7386593424485142]], [[0.8329289439775085, 1.9769681637186256], [4.9465073992969089, 2.957643195613584]], [[3.9241371807809866, -0.022746725447451155], [3.0578011726445862, 4.3790558337407628]]], [[[1.812894760391309, -2.1350232029188012], [-2.5671811021718458, 0.078867633595355535]], [[-1.1356587376635563, -1.5079311220046918], [-0.65064306350501067, 3.4249261278144907]], [[-3.5250656464039567, 2.2552453164343031], [1.4569889333269295, -0.50713869400534151]], [[-3.9657012279740114, 2.9083064582416558], [-0.87595414497813184, -3.1409810439200236]], [[-0.18015955294274022, 0.56046731654514304], [4.6769131242157602, 1.6589591659895264]], [[4.0905510685282067, -2.5969604929686199], [4.1789835068941912, -1.2437658080874234]]]]),self.functionspace)  
       arg1=Data(numpy.array([3.9001090710184929, -0.7900370979668967]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([-3.2829144751697283, -4.7629261523768136]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.0136401293011552, 1.9714477069205616], [6.2835563678497959, 1.6037835112458199]], [[1.0198816455371889, 6.4901458815435644], [-0.26468111499698921, 1.8716689248191836]], [[2.502453834879204, 2.2958129714759128], [-0.68406197590050866, 5.6158509228240039]], [[7.0849051927751905, 5.6196848746375627], [0.87587882570280051, 1.1614497285699787]], [[4.7330380149960014, 5.8770772347371185], [8.8466164703154018, 6.8577522666320769]], [[7.8242462517994795, 3.8773623455710418], [6.9579102436630791, 8.2791649047592557]]], [[[1.0228576624244123, -2.9250603008856979], [-3.3572182001387425, -0.71116946437154116]], [[-1.925695835630453, -2.2979682199715885], [-1.4406801614719074, 2.634889029847594]], [[-4.3151027443708534, 1.4652082184674065], [0.66695183536003277, -1.2971757919722382]], [[-4.7557383259409081, 2.1182693602747591], [-1.6659912429450285, -3.9310181418869203]], [[-0.97019665090963692, -0.22956978142175366], [3.8868760262488635, 0.86892206802262972]], [[3.30051397056131, -3.3869975909355166], [3.3889464089272945, -2.0338029060543201]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-8.1966636754893756, -5.2115758392676597], [-0.89946717833842538, -5.5792400349424014]], [[-6.1631419006510324, -0.69287766464465683], [-7.4477046611852105, -5.3113546213690377]], [[-4.6805697113090172, -4.8872105747123085], [-7.8670855220887299, -1.5671726233642174]], [[-0.098118353413030768, -1.5633386715506585], [-6.3071447204854207, -6.0215738176182425]], [[-2.4499855311922198, -1.3059463114511027], [1.6635929241271805, -0.32527127955614432]], [[0.64122270561125827, -3.3056612006171795], [-0.22511330252514217, 1.0961413585710345]]], [[[-2.9500313919855046, -6.8979493552956148], [-7.3301072545486594, -4.6840585187814581]], [[-5.8985848900403699, -6.2708572743815054], [-5.4135692158818243, -1.3380000245623229]], [[-8.2879917987807694, -2.5076808359425105], [-3.3059372190498841, -5.2700648463821551]], [[-8.7286273803508259, -1.8546196941351578], [-5.6388802973549454, -7.9039071962968368]], [[-4.9430857053195538, -4.2024588358316706], [-0.086013028161053384, -3.1039669863872872]], [[-0.67237508384860689, -7.3598866453454335], [-0.58394264548262242, -6.006691960464237]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank1_taggedData_rank4(self):  
       arg0=Data(numpy.array([3.796485495649387, -0.15189645497017157]),self.functionspace)  
       arg1=Data(numpy.array([[[[1.0058713861164836, -3.5929254956640113], [-2.3158016727291821, 1.7463487513793883]], [[4.6440612156982493, -1.2319387004497537], [4.8820029403267284, 3.8609887631130704]], [[-2.93631096584551, 0.092684697844809705], [-1.7034691854288608, 4.2173128047379898]], [[0.55764067355288294, 4.8725550149988877], [-3.4975066009410352, -2.4184447692176181]], [[-2.771078871094578, 4.8140805821686961], [1.9483639157462962, 4.5512435752780913]], [[0.64573741867317036, -0.044744762852540809], [3.1359115759360296, -4.2235501449373283]]], [[[-1.9429939359168369, -3.2576820598306266], [-4.1173285595348341, 0.12617335578969247]], [[-1.9839780426802331, 4.8122369613038991], [-2.8186875849213355, -4.2241632804266827]], [[3.7548029892566213, 3.4851570300576569], [3.591591817762227, -3.6178356955377087]], [[1.4831623672164493, 3.8703319007378596], [1.3847582429171688, -3.0114162967087941]], [[-4.9852457134700456, -2.1135305359831436], [1.7827190874328664, -4.3855183135385669]], [[3.9723536704893299, -1.5827843746654424], [-2.6404055244199967, 0.37798483635506219]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[4.8334215722397982, 3.3241749041225006], [-2.2647857986676923, 0.60902164960667715]], [[-1.1012437951926604, 4.1505549744202721], [-1.8395765999139977, -4.3813219980489801]], [[1.8537170550859816, -0.42303039196420222], [-2.8969529813075767, 1.7511208463863746]], [[-1.864088529394988, 4.3511563375650297], [1.1181326303696268, 0.15995361227344773]], [[2.875261214155195, 1.0601777769356353], [-0.42804968648619912, -2.1649190365904047]], [[-3.9683855205380612, -3.3464009325260688], [-1.2482221902859489, -0.11486698526274708]]], [[[-2.9254921522306199, -1.2748355842124881], [-2.2142126624399272, -1.2293508057179006]], [[-1.0452490627391287, 4.627807033972946], [-4.1220568794079142, -1.4252658441968502]], [[-2.4387689045940553, -0.023386053426905917], [-1.6325067400028379, -1.0866892507524808]], [[0.17265101847481823, -4.0667592738369134], [1.9063307805794771, 1.0945598320770422]], [[-4.8231242959953891, 0.94178928363737757], [-4.2914567081502328, -2.2630922286785857]], [[3.1653716890636243, -1.0210316131007522], [-3.8787206588718703, -2.8297021745906594]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[4.8023568817658706, 0.20355999998537566], [1.4806838229202048, 5.5428342470287753]], [[8.4405467113476362, 2.5645467951996332], [8.6784884359761154, 7.6574742587624574]], [[0.86017452980387699, 3.8891701934941967], [2.0930163102205261, 8.0137983003873767]], [[4.3541261692022699, 8.6690405106482746], [0.29897889470835182, 1.3780407264317689]], [[1.025406624554809, 8.610566077818083], [5.7448494113956832, 8.3477290709274783]], [[4.4422229143225573, 3.7517407327968462], [6.9323970715854166, -0.4270646492879413]]], [[[-2.0948903908870085, -3.4095785148007982], [-4.2692250145050057, -0.025723099180479103]], [[-2.1358744976504047, 4.6603405063337275], [-2.9705840398915071, -4.3760597353968542]], [[3.6029065342864497, 3.3332605750874853], [3.4396953627920555, -3.7697321505078802]], [[1.3312659122462778, 3.718435445767688], [1.2328617879469972, -3.1633127516789656]], [[-5.1371421684402172, -2.2654269909533151], [1.6308226324626949, -4.5374147685087385]], [[3.8204572155191583, -1.734680829635614], [-2.7923019793901682, 0.22608838138489062]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[8.6299070678891852, 7.1206603997718876], [1.5316996969816947, 4.4055071452560641]], [[2.6952417004567266, 7.9470404700696591], [1.9569088957353893, -0.58483650239959317]], [[5.6502025507353686, 3.3734551036851848], [0.89953251434181025, 5.5476063420357615]], [[1.9323969662543989, 8.1476418332144167], [4.9146181260190138, 3.9564391079228347]], [[6.671746709804582, 4.8566632725850223], [3.3684358091631879, 1.6315664590589822]], [[-0.17190002488867417, 0.45008456312331813], [2.548263305363438, 3.6816185103866399]]], [[[-3.0773886072007914, -1.4267320391826597], [-2.3661091174100988, -1.3812472606880721]], [[-1.1971455177093002, 4.4759105790027744], [-4.2739533343780858, -1.5771622991670218]], [[-2.5906653595642268, -0.17528250839707749], [-1.7844031949730095, -1.2385857057226524]], [[0.020754563504646661, -4.2186557288070849], [1.7544343256093056, 0.94266337710687065]], [[-4.9750207509655606, 0.789892828667206], [-4.4433531631204044, -2.4149886836487573]], [[3.0134752340934527, -1.1729280680709238], [-4.0306171138420419, -2.981598629560831]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank2_taggedData_rank2(self):  
       arg0=Data(numpy.array([[-0.19239724345886522, -3.0687537033637655, -0.11094302622273311, -0.87991416877328277, -1.6127919013620104], [3.4651004095276452, 0.44754116125855603, 3.0942549722935482, 1.8965643840350443, 1.4725364157172125], [-2.7966699199077905, -2.2719665801993272, -0.29102886071228706, 2.7808289224765295, -2.0497019123508853], [1.1879733723203545, 0.44489661589734997, -3.4968433211494143, -2.8100464773985956, 1.3494673694439605]]),self.functionspace)  
       arg1=Data(numpy.array([[-2.3902853452658599, -1.9697374841376405, 3.3528481728863628, -1.0595802502626794, 1.4713201629564177], [-0.40119629491014219, -1.3450520193677096, -3.6499925224591347, 3.2594890981887357, 0.43980145373091251], [4.9388826493187903, 4.8637504320254354, 3.7241043482795355, 3.1866366448440111, 2.8026091079935576], [3.3274494101069561, -4.8539846479511066, 1.6933254899802161, -3.1217834673525449, -1.5941185865374621]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-4.2090482805927341, 3.2360476653622801, -0.47653352080371025, -2.0326976845045408, 0.45580781772363377], [0.47096832986798365, 4.2558072304420982, -4.5025352470079172, 3.0748579569661096, -4.8933202464471979], [4.8078604418454631, 0.059838581597032814, 1.1842093004979777, -0.42241889778464348, -0.38977521397301018], [4.4877025884873802, -2.9066361396345739, -3.8083204740983922, -1.9115255796054322, 4.4078865281107404]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-2.5826825887247251, -5.038491187501406, 3.2419051466636297, -1.9394944190359622, -0.1414717384055928], [3.063904114617503, -0.89751085810915354, -0.55573755016558657, 5.15605348222378, 1.912337869448125], [2.1422127294109998, 2.5917838518261083, 3.4330754875672485, 5.9674655673205406, 0.75290719564267228], [4.5154227824273105, -4.4090880320537567, -1.8035178311691982, -5.93182994475114, -0.24465121709350157]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-4.4014455240515993, 0.16729396199851454, -0.58747654702644336, -2.9126118532778236, -1.1569840836383767], [3.9360687393956288, 4.7033483917006542, -1.408280274714369, 4.971422341001154, -3.4207838307299854], [2.0111905219376727, -2.2121279986022944, 0.89318043978569062, 2.358410024691886, -2.4394771263238955], [5.6756759608077347, -2.4617395237372239, -7.3051637952478066, -4.7215720570040283, 5.7573538975547009]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank3_taggedData_rank2(self):  
       arg0=Data(numpy.array([[[0.58049544728312608, -2.7475320066413755], [1.3008481713993678, -2.0038444136565436], [-0.3822308566856929, -4.7093874388065151], [-0.12371019379507509, 0.66248362505753633], [1.0117085411025943, -0.22827492166753416]], [[4.5947843780846895, -2.5311588711479969], [1.1072092421583966, -4.663808815584348], [3.4008178687833777, -1.4558100507578575], [4.4034289311849193, -3.9293910890364736], [-0.45998272273681096, 4.3495422390678282]], [[0.027847714704241078, -1.1273332218578402], [3.9358793364671456, 2.058045278267663], [-2.7667735156601503, 0.48101853699414665], [-3.1156027727223967, -2.9234274490581749], [1.5243328600752477, 2.1387039012217013]], [[3.6643878102763665, 0.043107634382018034], [-2.3603599533503914, 2.6635631732612284], [-3.1044730579137125, 3.2049256026372728], [3.937943144332829, -3.4498983999145825], [-3.3452425863734625, -4.3678108075073698]]]),self.functionspace)  
       arg1=Data(numpy.array([[-3.2537849558548371, 0.91281218640918915, -4.9572995755443063, 3.3783923340775068, 2.8342714167773728], [-3.8361724575732401, 1.600660422686353, 2.3065896802458763, 4.4553256893823807, 0.96980817273371933], [-4.8667008176461266, -1.0262471682617891, -3.7389289498829372, 3.9208545045044225, -3.5999996199951867], [4.888426829607436, 0.10639176301504349, -2.889193070803624, 4.0601765662419105, -0.37439260895139181]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[0.41258236799111536, 0.073387946375973456, -3.2135015683221968, -1.7288287019216697, 4.2531668474941178], [0.45675769078966066, -4.5492522642305211, 1.9292979783796902, 0.2225054532600037, -2.3382954678666277], [4.1546307219931951, 2.9561355879326001, 2.7979996672886545, 3.3393751510275074, 0.75897879376176114], [-3.0486212866869478, -4.6084562365173243, -1.4006548464280288, 4.160508578011493, 3.8751194687414188]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-2.673289508571711, -6.0013169624962126], [2.213660357808557, -1.0910322272473545], [-5.3395304322299992, -9.6666870143508206], [3.2546821402824317, 4.0408759591350432], [3.8459799578799672, 2.6059964951098387]], [[0.75861192051144943, -6.367331328721237], [2.7078696648447496, -3.063148392897995], [5.707407549029254, 0.85077962948801877], [8.8587546205673, 0.52593460034590711], [0.50982544999690838, 5.3193504118015476]], [[-4.8388531029418855, -5.9940340395039673], [2.9096321682053565, 1.031798110005874], [-6.505702465543088, -3.2579104128887906], [0.8052517317820258, 0.99742705544624766], [-2.075666759919939, -1.4612957187734854]], [[8.5528146398838025, 4.9315344639894541], [-2.2539681903353479, 2.7699549362762719], [-5.9936661287173365, 0.3157325318336488], [7.9981197105747395, 0.61027816632732801], [-3.7196351953248543, -4.7422034164587616]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.99307781527424144, -2.3349496386502602], [1.3742361177753413, -1.9304564672805702], [-3.5957324250078897, -7.9228890071287115], [-1.8525388957167448, -1.0663450768641334], [5.2648753885967121, 4.0248919258265836]], [[5.0515420688743502, -2.0744011803583362], [-3.4420430220721245, -9.2130610798148691], [5.3301158471630679, 0.47348792762183267], [4.625934384444923, -3.7068856357764699], [-2.7982781906034386, 2.0112467712012005]], [[4.1824784366974361, 3.0272975001353548], [6.8920149243997457, 5.0141808662002632], [0.031226151628504173, 3.2790182042828011], [0.22377237830511065, 0.41594770196933251], [2.2833116538370088, 2.8976826949834624]], [[0.61576652358941875, -3.0055136523049297], [-6.9688161898677157, -1.9448930632560959], [-4.5051279043417409, 1.8042707562092439], [8.098451722344322, 0.71061017809691052], [0.52987688236795627, -0.49269133876595106]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank2_taggedData_rank3(self):  
       arg0=Data(numpy.array([[-1.0962147803128341, 0.7879022728652405, 1.2282042796648245, 0.65402511052413459, 0.69720333362548992], [-3.5469925867574883, -2.7549069988147599, 1.1911675555491001, -1.1881033073652292, 4.8768250024993893], [-2.850160048303704, -3.5477613830545462, 1.4652301960114134, -3.772129949798062, -2.4249608349385019], [3.8203341799696453, 2.4161348184970253, -2.0238739077340959, -2.737965389718874, -1.5959790647416314]]),self.functionspace)  
       arg1=Data(numpy.array([[[-3.0505747292409224, -0.4922726612959325], [0.56803402261019897, -0.26302474860449809], [-2.0294217404576775, -2.3928065832825309], [-2.9286590003714732, -4.2297624244596888], [3.5674885537107635, -0.41062704281923779]], [[1.6553269194732874, -3.7680983393598986], [-3.8739772203437184, 4.7397852394032398], [4.5962364628811105, 0.42163027486877702], [-4.6406933410124438, -3.525641906288679], [-1.5718805364739117, 4.6064658037911315]], [[-1.167175497064826, 0.15033934880882072], [0.08406084797527491, 1.8280694562545827], [0.46489245437723703, 1.9435257146810176], [3.783059865686436, -0.1404538001646074], [3.0706035957892706, 3.191112853613955]], [[1.7304714007230917, 1.6176833931262289], [-4.9673042888836889, -0.51226191336078308], [-0.46620520961431211, 0.34018130999883844], [-3.0149849491539027, -1.9536050236080515], [1.3259572298575781, 3.7706570504130834]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-2.0630931296021524, -2.5516338424297613], [3.649633220441256, 4.5027002015909208], [2.9226377161580093, 0.13469833379571128], [-4.2979835446607133, -3.2111425842094796], [2.7690848463465105, 1.3200032070644259]], [[0.70802878224856158, -1.5924084108606342], [0.45806545177935565, -4.8069700709458836], [-4.7028606165394571, -1.9345745369673906], [1.8106561480033037, -3.5273063216549616], [2.8010026488241211, -1.4232264965204333]], [[0.73335366595634177, -2.4489058186840151], [-0.25466872217541425, -1.0622390063426632], [0.40406484686028854, 0.62299705460628108], [-3.3830778142098792, -0.41156499031866556], [-4.7761714358807792, 3.6340801006696459]], [[0.51998175624209608, 4.0301062138303116], [0.50485588380795843, 1.7645763094544513], [-4.220996153564708, -3.0462100158487306], [-0.55817721058263903, -3.7886323807282429], [-4.6277952487762004, 3.1441095259688083]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-4.1467895095537566, -1.5884874416087666], [1.3559362954754395, 0.52487752426074241], [-0.80121746079285305, -1.1646023036177064], [-2.2746338898473386, -3.5757373139355542], [4.2646918873362534, 0.28657629080625213]], [[-1.8916656672842009, -7.3150909261173869], [-6.6288842191584783, 1.9848782405884799], [5.7874040184302107, 1.6127978304178772], [-5.828796648377673, -4.7137452136539082], [3.3049444660254776, 9.4832908062905208]], [[-4.01733554536853, -2.6998206994948832], [-3.4637005350792713, -1.7196919267999635], [1.9301226503886504, 3.408755910692431], [0.010929915888373998, -3.9125837499626694], [0.64564276085076866, 0.76615201867545313]], [[5.550805580692737, 5.4380175730958742], [-2.5511694703866636, 1.9038729051362422], [-2.490079117348408, -1.6836925977352575], [-5.7529503388727772, -4.6915704133269251], [-0.27002183488405329, 2.174677985671452]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-3.1593079099149866, -3.6478486227425955], [4.4375354933064965, 5.2906024744561613], [4.1508419958228338, 1.3629026134605358], [-3.6439584341365787, -2.557117473685345], [3.4662881799720004, 2.0172065406899158]], [[-2.8389638045089267, -5.1394009976181225], [-2.2968415470354042, -7.5618770697606434], [-3.5116930609903569, -0.74340698141829042], [0.62255284063807448, -4.7154096290201908], [7.6778276513235104, 3.453598505978956]], [[-2.1168063823473622, -5.2990658669877195], [-3.8024301052299605, -4.610000389397209], [1.8692950428717019, 2.0882272506176944], [-7.1552077640079412, -4.1836949401167276], [-7.2011322708192811, 1.209119265731144]], [[4.3403159362117414, 7.850440393799957], [2.9209907023049837, 4.1807111279514766], [-6.244870061298804, -5.0700839235828266], [-3.2961426003015131, -6.5265977704471165], [-6.2237743135178318, 1.5481304612271769]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank4_taggedData_rank2(self):  
       arg0=Data(numpy.array([[[[2.8660760132853991, 2.8115647335730252, 2.9622390468450401, -1.3037762913403839, 3.0683951266526179], [-0.80535605277901734, -4.9815980970648095, -3.9308936172202369, 0.023829813279726331, 2.2424151630975553], [-1.3551984491338134, -4.2793682020411206, 1.2593522975586797, -3.7012966065771211, 4.9832699012049471], [-0.4144725905385318, 4.5873722823712058, 0.85707393396549758, 0.0031119024151236019, -3.7287826776232968]], [[-0.82286875040323526, 1.1547059533755366, -4.739985976243676, -4.1634766713096596, 2.633782925029756], [1.5721689107259609, -2.082834886274163, 3.5875244599629603, 1.8784646752111396, -1.9017467173072724], [-3.6999599660192706, 3.7552250486216447, -1.0527577865630287, -3.3503870836553942, 4.9582264589231801], [3.74386398196717, 0.1685594036171878, -0.5494484999119873, -4.2044938381100252, -2.6855773108747218]], [[1.4212566404380809, -0.31878212696634467, -0.62641934697000146, -4.5709648761470367, 4.1802085500002271], [-2.6735809792402785, 0.25406591587961902, -2.0800255213950622, 0.66007330130564057, -1.5031744598245811], [4.2915082496980368, 4.1300840482032104, -3.1517355100440825, 4.5559807478918319, -0.607253982441053], [-3.5527769417789354, -4.5713979118571775, -3.7801243268555207, 1.5215640109815425, -3.0807210350842604]], [[-0.40042923017398646, 0.11896458844353308, 0.48669536085011877, 1.6572282834009506, 0.56181063271375731], [3.4017890443707071, 2.1136512582580291, -3.4726812627321513, -3.887750104054235, -3.5135705700194464], [4.5548966384210381, -3.811130363252957, 0.87735190431617305, -0.89901456243948097, -3.0104566675674893], [2.4974723457327395, -0.14704692743949366, 3.2166193684246061, 1.2427891675562996, 2.5255916122826783]], [[0.56155627609567471, 3.456948900024436, 0.82922652656557982, 4.3495379714947653, -4.3646674929963307], [-2.4246557932331534, 3.6836846956422207, -2.7644850983761593, 3.3951165122326827, 0.039928649070652078], [-0.86709908455588991, 2.3359636428425041, 1.0222642118557621, -1.0500889841083252, 4.5289989347067312], [3.2119640806934378, -4.0922391186252494, 2.0475930407285912, -0.71568207599571831, -0.73093728854964368]]], [[[1.4131538254675817, 2.2389423255640164, -2.9837299944984386, -3.9104393781387667, 1.7316460953078803], [4.1246461820766633, -2.0559934340019104, -0.59828876010980103, 4.7696006966666502, 0.32637030836361269], [-4.6585741454485339, 3.4667577961428879, 3.6990756911296092, -0.98352174741181209, -2.9946114899029208], [-4.5552918106536877, 4.060142784301453, 4.6505895726264281, -0.87397078599894318, -1.5172840249659703]], [[-4.2662401383711099, 4.749379767606337, 2.605172713872479, -1.0284928906732418, 1.9662114898356196], [1.9572507315198546, -4.376035790641188, 2.6454909742926782, -4.4975207813161591, 1.4761784577106196], [-2.2393302043215266, -1.4637992723321567, -0.44235472749824556, 1.7059813262607513, -2.3256238375892204], [3.0769944434749714, 3.7827659655827333, 3.7167254799621929, 2.550132100794845, 2.6734790631195153]], [[1.5722944822733869, 4.2358411228279298, 2.2996333618570732, -4.5749395505541903, -3.7060932500196087], [-2.0920437417286744, -1.1625211971814462, 4.5533763911993059, -3.0816837602668299, 1.0829848898118568], [0.24604666609636006, 1.6992012826200629, -4.9134013541763686, 4.4408879724377179, -2.4535343693684455], [0.11636417207954519, -3.4365497013306898, 4.3983150418490595, 0.19121474366061175, 3.2287744469345885]], [[-3.7552713411704119, 3.0187382173859607, -4.936129119220773, -3.3605234685103467, 3.9565589405640047], [3.9993848080947831, 3.894291616817311, 4.0067811679021119, -3.6078514253453866, -2.9243365555153202], [0.96678752523269651, 2.7292944597750681, 2.9490367888688516, 0.55077468774455696, 0.29376430154325028], [3.9841793557016079, -0.2379183379841372, 2.8179719170235469, 3.5990953315857617, 3.4037637499361857]], [[4.2589953901503286, 1.7543637908183047, -4.4128678344111814, -0.63518025372605713, -4.2570773643322211], [-4.5529054164073628, -3.2368520250401387, -1.7940988658898127, 4.8218096052011745, 4.7499179270253151], [-0.035228040479243994, 2.5554337417354436, -4.6356799743546704, -1.7863048947744806, 3.3551000157202395], [-4.062147074701449, -3.6786683168808851, -1.4764555296540038, 4.0888550299393724, 3.6266207728749329]]], [[[0.86967098937714926, -2.4757220929498871, 0.14326415542552873, -0.75471476924835024, -2.6712438091916346], [0.67810748120928821, -3.57523147778429, -0.10902853956679337, 1.6394395980368941, -2.5657166022498448], [-2.2464723345835322, 2.5098036882828652, -4.7298790782158324, 1.7293915789467729, 0.62884389941253449], [-3.5706235261338568, -0.25712612934900569, 3.8371027389629617, 2.1323533281956681, 1.5311642799184666]], [[4.3405961954898249, -1.8948085835994366, -3.0147032126818551, -2.7712705207970432, 3.0423082298755055], [-0.88358874184494418, -0.34757798457499511, 4.0655538476258499, 2.0125332304821413, -0.89338222153924463], [4.7121281778770037, -0.21437195179796653, -0.54520991161199017, -4.0456748956889266, -3.345652754204461], [4.3643047629615879, -0.033626018023350746, 3.7744852880446267, 3.0717495502427035, 0.69582867894149825]], [[2.4274984674099462, -0.13684809653866115, 4.7451111816013043, 2.4747979142819254, 3.7991161476593831], [4.9681617073950761, -0.84784255094981642, 0.065706070364949909, -1.1810440079681461, 2.6666393027442856], [2.1889275191611617, 2.9305288934335199, 2.2635291963158295, -3.1559400447777408, 4.437870068828655], [-4.6377586987608668, 3.2110145781273314, -2.1942480419177137, -4.9071239274615222, -1.1150627011083181]], [[-3.1082807229716227, 0.21701560618518734, 2.6915300720242827, -2.2260355909585652, 0.69346551611740281], [-2.7115422489226293, -2.8963567188284745, -4.8787166863646672, -1.4909988340180016, -0.059058133524274581], [-1.1523301491339719, -1.8582750053550723, 3.558747425802995, -0.93857713018082123, 3.9247045295527094], [-0.36303910968891451, -4.6687134503612491, 1.9970636091059166, 4.689155874786751, -3.1714074584340981]], [[1.5878565641115463, -2.7108191792389191, -0.52348232064949229, 2.7968727867540384, 1.9970881359510662], [1.8237401354470109, 1.7780197885063318, -3.1115402802270422, -4.1567862226517782, -4.0252071211977123], [-2.2021001056456968, 1.6681205826608112, 1.3490607946927309, -3.3558123881535784, -1.7706422302505542], [-1.6033820654172128, 4.144402934317549, -2.9516558887507682, 4.3912105604576475, 2.0311204069833346]]], [[[0.73152625014997064, -0.075744200700357922, 2.9790036894924601, 1.3403896202150136, -1.480945879712503], [-1.0764028750028318, -4.8346262961810824, 4.6620723966864155, 4.8991458824342509, -4.5339311279011438], [2.641645366177638, 1.3690611404031365, -4.672578548173778, -4.6327006578097034, 1.2348096139903451], [-1.7456176676271209, -4.627781606950327, 4.3489865208543712, -2.3780562477850085, -3.6895753364647508]], [[3.5362787095045913, 3.0197715549492194, -0.70341129255478219, -2.9717131985330236, 2.7564140956216843], [2.0528925518629739, 0.86143998969622437, 2.497917804701987, 3.4500143370214644, -4.0108444684733424], [-1.1332602861247021, 4.3480440321077971, 0.4614812551128713, 2.509056441317207, 4.2851854603395445], [4.9080444177634224, 4.1598871728421276, 1.5284992919986014, -1.5589864632890849, 4.2778394599151923]], [[4.8238414067976922, -1.5695865258512565, 3.1126777930908052, 2.5639679918049332, 0.26225170049974444], [-1.8114880770349839, -3.3603533296760526, -1.0926912082681328, 4.3929142178290412, 0.97373572001832187], [-1.8349921759276908, -0.44968017786039205, 4.8637276962473717, -0.39259463650773085, 3.9147712376151276], [0.14694629441260609, -0.18361015546422532, -0.2675261795600159, 2.5500373921937545, -3.8420622643016022]], [[-0.27311306325427243, -0.66658164881454418, 0.18267644129395944, 0.40929144317823862, 0.24941455865279849], [2.6133346279432859, -1.5324600771388273, -4.7461199547085364, 2.5192924390221538, 1.9096282671558829], [1.0881851128003683, -4.8542510146016209, 4.3066382360791966, -1.7945439816033861, -4.5835496280416335], [-0.62200399371699966, -2.2984508163826023, -2.5545241496751325, 3.7254828569861225, -1.3907792200801969]], [[3.6341785172601035, 3.3783999571260619, -4.9246236506168977, -1.9489393813359279, 2.6871352642763657], [3.9391085541449709, 0.6373231613205288, -4.9351942482025501, -3.9790977510558956, -2.0558152974717325], [-0.68922948979287657, -1.5698172171654057, 1.7543978971892091, 2.076072957565688, 1.8832399394122739], [-2.0973666194903915, 0.87099606307400457, -2.5159816258697298, 0.64300850147923061, -1.8155601178821179]]]]),self.functionspace)  
       arg1=Data(numpy.array([[-3.2014142799308853, -4.1430514490869008, 0.92946665745575974, 3.2841791581705095, -2.0454424713761696], [1.4435658436720944, 3.5803688457745437, -2.1921662716273382, -3.9911749637129534, 2.0388355970047956], [-1.6234420536608694, -0.46184082177867847, 3.2628947538543791, -3.5056309920565978, -3.60226419420836], [-2.6628713234664581, 3.9800917538248211, -2.2151188033749101, -3.420288442086914, -4.1393064612579433]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-4.1315798551794281, 2.4729385200765508, 2.9394599553821621, -3.1722466740615207, -2.2107204154362869], [-1.2999386460636297, 1.4999933567948851, 2.6871766384964193, 2.477201274758035, 3.5173857533111796], [-1.5030093041445349, -1.3194416484138172, -0.98802257441955632, -0.66646660881808728, 1.7268120090689383], [-3.1742173071594939, 4.3840802800454099, -4.3965641330995826, 2.6641177719172591, -0.79039438476979207]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.33533826664548627, -0.38984954635786018, -0.23917523308584521, -4.5051905712712692, -0.13301915327826741], [-4.0067703327099027, -8.1830123769956948, -7.1323078971511222, -3.177584466651159, -0.95899911683333006], [-4.5566127290646987, -7.4807824819720059, -1.9420619823722056, -6.9027108865080065, 1.7818556212740617], [-3.6158868704694171, 1.3859580024403204, -2.3443403459653878, -3.1983023775157617, -6.9301969575541822]], [[-4.9659201994901361, -2.9883454957113642, -8.8830374253305777, -8.3065281203965604, -1.5092685240571448], [-2.5708825383609399, -6.2258863353610643, -0.5555269891239405, -2.2645867738757612, -6.0447981663941732], [-7.8430114151061714, -0.38782640046525607, -5.1958092356499295, -7.493438532742295, 0.81517500983627933], [-0.39918746711973085, -3.974492045469713, -4.6924999489988881, -8.347545287196926, -6.8286287599616227]], [[2.3507232978938406, 0.61068453048941507, 0.30304731048575828, -3.641498218691277, 5.1096752074559868], [-1.7441143217845188, 1.1835325733353788, -1.1505588639393025, 1.5895399587614003, -0.57370780236882135], [5.2209749071537965, 5.0595507056589701, -2.2222688525883227, 5.4854474053475917, 0.32221267501470674], [-2.6233102843231757, -3.6419312544014177, -2.850657669399761, 2.4510306684373022, -2.1512543776285007]], [[2.8837499279965231, 3.4031437466140426, 3.7708745190206283, 4.9414074415714602, 3.8459897908842668], [6.6859682025412166, 5.3978304164285387, -0.18850210456164174, -0.60357094588372551, -0.22939141184893685], [7.8390757965915476, -0.52695120508244742, 4.1615310624866826, 2.3851645957310286, 0.27372249060302023], [5.781651503903249, 3.1371322307310159, 6.5007985265951156, 4.5269683257268092, 5.8097707704531878]], [[-1.4838861952804949, 1.4115064286482664, -1.2162159448105898, 2.3040955001185957, -6.4101099643725004], [-4.470098264609323, 1.638242224266051, -4.8099275697523289, 1.3496740408565131, -2.0055138223055176], [-2.9125415559320595, 0.29052117146633449, -1.0231782595204075, -3.0955314554844948, 2.4835564633305616], [1.1665216093172681, -6.137681590001419, 0.0021505693524215275, -2.7611245473718879, -2.7763797599258133]]], [[[2.8567196691396761, 3.6825081692361108, -1.5401641508263442, -2.4668735344666723, 3.1752119389799747], [5.5682120257487577, -0.61242759032981597, 0.84527708356229336, 6.2131665403387446, 1.7699361520357071], [-3.2150083017764395, 4.9103236398149823, 5.1426415348017036, 0.46004409626028231, -1.5510456462308264], [-3.1117259669815933, 5.5037086279735474, 6.0941554162985225, 0.56959505767315122, -0.073718181293875862]], [[-0.68587129259656621, 8.3297486133808807, 6.1855415596470227, 2.5518759551013019, 5.5465803356101633], [5.5376195772943984, -0.79566694486664424, 6.2258598200672219, -0.91715193554161534, 5.0565473034851633], [1.3410386414530171, 2.1165695734423871, 3.1380141182762982, 5.286350172035295, 1.2547450081853233], [6.6573632892495151, 7.363134811357277, 7.2970943257367367, 6.1305009465693887, 6.2538479088940591]], [[-0.61987178935395137, 2.0436748512005916, 0.107467090229735, -6.767105822181529, -5.8982595216469473], [-4.284210013356013, -3.3546874688087844, 2.3612101195719677, -5.2738500318941686, -1.1091813818154814], [-1.9461196055309782, -0.49296498900727537, -7.1055676258037064, 2.2487217008103797, -4.6457006409957842], [-2.075802099547793, -5.6287159729580285, 2.2061487702217213, -2.0009515279667265, 1.0366081753072502]], [[-7.7464463048833654, -0.97243674632699273, -8.9273040829337269, -7.3516984322232997, -0.034616023148948738], [0.0082098443818297007, -0.096883346895642486, 0.015606204189158479, -7.5990263890583396, -6.9155115192282732], [-3.0243874384802569, -1.2618805039378853, -1.0421381748441019, -3.4404002759683965, -3.6974106621697032], [-0.0069956080113455776, -4.2290933016970911, -1.1732030466894066, -0.39207963212719177, -0.58741121377676775]], [[6.2978309871551241, 3.7931993878231003, -2.3740322374063858, 1.4036553432787384, -2.2182417673274255], [-2.5140698194025672, -1.1980164280353431, 0.24473673111498284, 6.8606452022059701, 6.7887535240301107], [2.0036075565255516, 4.5942693387402391, -2.5968443773498748, 0.25253070223031493, 5.3939356127250351], [-2.0233114776966534, -1.6398327198760896, 0.56238006735079171, 6.127690626944168, 5.6654563698797284]]], [[[-0.75377106428372009, -4.0991641466107565, -1.4801778982353406, -2.3781568229092196, -4.2946858628525035], [-0.94533457245158115, -5.1986735314451593, -1.7324705932276627, 0.015997544376024742, -4.1891586559107141], [-3.8699143882444016, 0.8863616346219958, -6.3533211318767018, 0.10594952528590351, -0.99459815424833486], [-5.1940655797947262, -1.880568183009875, 2.2136606853020924, 0.50891127453479879, -0.092277773742402758]], [[3.8787553737111464, -2.3566494053781151, -3.4765440344605336, -3.2331113425757216, 2.5804674080968271], [-1.3454295636236226, -0.80941880635367358, 3.6037130258471715, 1.5506924087034628, -1.3552230433179231], [4.2502873560983252, -0.676212773576645, -1.0070507333906686, -4.507515717467605, -3.8074935759831394], [3.9024639411829094, -0.49546683980202921, 3.3126444662659482, 2.609908728464025, 0.23398785716281978]], [[5.6903932212643253, 3.126046657315718, 8.0080059354556834, 5.7376926681363045, 7.0620109015137622], [8.2310564612494552, 2.4150522029045627, 3.328600824219329, 2.081850745886233, 5.9295340565986647], [5.4518222730155408, 6.193423647287899, 5.5264239501702086, 0.10695470907663829, 7.7007648226830341], [-1.3748639449064877, 6.4739093319817105, 1.0686467119366654, -1.644229173607143, 2.147832052746061]], [[-6.6139117150282205, -3.2886153858714104, -0.81410092003231505, -5.731666583015163, -2.812165475939195], [-6.2171732409792266, -6.4019877108850718, -8.384347678421264, -4.9966298260745994, -3.5646891255808724], [-4.6579611411905697, -5.3639059974116705, 0.053116433746397185, -4.444208122237419, 0.41907353749611165], [-3.8686701017455123, -8.1743444424178477, -1.5085673829506812, 1.1835248827301532, -6.6770384504906959]], [[-2.0144076300968137, -6.3130833734472791, -4.1257465148578518, -0.80539140745432158, -1.6051760582572938], [-1.7785240587613491, -1.8242444057020282, -6.7138044744354026, -7.7590504168601377, -7.6274713154060727], [-5.8043642998540568, -1.9341436115475488, -2.2532033995156291, -6.9580765823619384, -5.3729064244589146], [-5.2056462596255724, 0.54213874010918905, -6.5539200829591282, 0.78894636624928749, -1.5711437872250253]]], [[[-1.9313450733164874, -2.738615524166816, 0.31613236602600203, -1.3224817032514444, -4.1438172031789611], [-3.7392741984692899, -7.4974976196475405, 1.9992010732199574, 2.2362745589677928, -7.1968024513676019], [-0.021225957288820041, -1.2938101830633215, -7.3354498716402361, -7.2955719812761615, -1.428061709476113], [-4.4084889910935789, -7.2906529304167851, 1.6861151973879132, -5.0409275712514665, -6.3524466599312088]], [[7.5163704633294124, 6.9998633087740405, 3.2766804612700389, 1.0083785552917974, 6.7365058494465053], [6.032984305687795, 4.8415317435210454, 6.478009558526808, 7.4301060908462855, -0.030752714648521362], [2.846831467700119, 8.3281357859326182, 4.4415730089376924, 6.489148195142028, 8.2652772141643656], [8.8881361715882434, 8.1399789266669487, 5.5085910458234224, 2.4211052905357362, 8.2579312137400134]], [[2.6087226034227822, -3.7847053292261665, 0.89755898971589509, 0.3488491884300231, -1.9528671028751656], [-4.0266068804098936, -5.5754721330509627, -3.3078100116430429, 2.1777954144541312, -1.2413830833565882], [-4.0501109793026009, -2.6647989812353021, 2.6486088928724616, -2.6077134398826409, 1.6996524342402175], [-2.068172508962304, -2.3987289588391354, -2.482644982934926, 0.3349185888188444, -6.0571810676765123]], [[-3.6934015053411864, -4.0868700909014581, -3.2376120007929545, -3.0109969989086753, -3.1708738834341155], [-0.8069538141436281, -4.9527485192257412, -8.1664083967954504, -0.90099600306476013, -1.5106601749310311], [-2.3321033292865456, -8.2745394566885349, 0.88634979399228264, -5.2148324236903001, -8.0038380701285483], [-4.0422924358039136, -5.7187392584695163, -5.9748125917620465, 0.30519441489920851, -4.8110676621671109]], [[-0.50512794399783978, -0.76090650413188143, -9.063930111874841, -6.0882458425938708, -1.4521711969815776], [-0.20019790711297247, -3.5019832999374145, -9.0745007094604944, -8.1184042123138394, -6.1951217587296759], [-4.8285359510508199, -5.7091236784233494, -2.3849085640687342, -2.0632335036922553, -2.2560665218456695], [-6.2366730807483348, -3.2683103981839388, -6.6552880871276727, -3.4962979597787127, -5.9548665791400612]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.265503841894029, -1.3200151216064029, -1.1693408083343879, -5.4353561465198119, -1.0631847285268101], [-4.9369359079584454, -9.1131779522442375, -8.0624734723996649, -4.1077500418997017, -1.8891646920818728], [-5.4867783043132414, -8.4109480572205477, -2.8722275576207483, -7.8328764617565492, 0.85169004602551901], [-4.5460524457179599, 0.4557924271917777, -3.2745059212139305, -4.1284679527643044, -7.8603625328027249]], [[1.6500697696733155, 3.6276444734520874, -2.2670474561671252, -1.6905381512331088, 5.1067214451063068], [4.0451074308025117, 0.39010363380238777, 6.0604629800395111, 4.3514031952876904, 0.57119180276927839], [-1.2270214459427198, 6.2281635686981955, 1.4201807335135221, -0.87744856357884338, 7.4311649789997309], [6.2168025020437208, 2.6414979236937386, 1.9234900201645635, -1.7315553180334744, -0.21263879079817105]], [[4.360716595820243, 2.6206778284158174, 2.3130406084121606, -1.6315049207648746, 7.1196685053823892], [0.26587897614188361, 3.1935258712617811, 0.85943443398709984, 3.5995332566878027, 1.436285495557581], [7.2309682050801989, 7.0695440035853725, -0.21227555466192038, 7.495440703273994, 2.3322059729411091], [-0.61331698639677334, -1.6319379564750154, -0.8406643714733586, 4.4610239663637046, -0.14126107970209834]], [[-3.5726759042355072, -3.0532820856179876, -2.6855513132114019, -1.5150183906605701, -2.6104360413477634], [0.22954237030918634, -1.0585954158034916, -6.644927936793672, -7.0599967781157558, -6.6858172440809671], [1.3826499643595174, -6.9833770373144777, -2.2948947697453477, -4.0712612365010017, -6.1827033416290096], [-0.67477432832878126, -3.3192936015010144, 0.04437269436308533, -1.9294575065052211, -0.64665506177884247]], [[-1.6491641393406122, 1.2462284845881491, -1.3814938888707071, 2.1388175560584783, -6.5753879084326172], [-4.6353762086694399, 1.4729642802059337, -4.9752055138124458, 1.1843960967963958, -2.1707917663656349], [-3.0778194999921769, 0.12524322740621718, -1.1884562035805248, -3.2608093995446121, 2.3182785192704443], [1.0012436652571508, -6.3029595340615359, -0.16312737470769578, -2.9264024914320053, -2.9416577039859306]]], [[[0.11321517940395198, 0.93900367950038666, -4.2836686405620679, -5.2103780242023969, 0.43170744924425053], [2.8247075360130336, -3.3559320800655401, -1.8982274061734308, 3.4696620506030205, -0.97356833770001705], [-5.9585127915121632, 2.1668191500792582, 2.3991370450659795, -2.2834603934754418, -4.294550135966551], [-5.855230456717317, 2.7602041382378233, 3.3506509265627984, -2.1739094320625729, -2.8172226710296]], [[-2.7662467815762248, 6.2493731244012221, 4.1051660706673641, 0.47150046612164331, 3.4662048466305047], [3.4572440883147397, -2.8760424338463029, 4.1454843310875633, -2.997527424521274, 2.9761718145055047], [-0.73933684752664153, 0.036194084462728426, 1.0576386292966395, 3.2059746830556364, -0.82563048079433532], [4.5769878002698565, 5.2827593223776184, 5.216718836757078, 4.0501254575897301, 4.1734724199144004]], [[4.2594711207698062, 6.9230177613243491, 4.9868100003534925, -1.887762912057771, -1.0189166115231894], [0.59513289676774495, 1.5246554413149731, 7.2405530296957252, -0.39450712177041058, 3.7701615283082761], [2.9332233045927794, 4.3863779211164822, -2.2262247156799493, 7.1280646109341372, 0.23364226912797381], [2.8035408105759645, -0.74937306283427052, 7.0854916803454788, 2.8783913821570311, 5.9159510854310078]], [[-1.278070066412377, 5.4959394921439957, -2.458927844462738, -0.88332219375231169, 6.4337602153220397], [6.4765860828528181, 6.3714928915753459, 6.4839824426601469, -1.1306501505873516, -0.44713528075728526], [3.4439887999907315, 5.2064957345331031, 5.4262380636268865, 3.0279759625025919, 2.7709655763012853], [6.4613806304596428, 2.2392829367738978, 5.2951731917815819, 6.0762966063437966, 5.8809650246942207]], [[7.7763811434615082, 5.2717495441294844, -0.89548208110000171, 2.8822054995851225, -0.73969161102104142], [-1.0355196630961832, 0.28053372827104095, 1.7232868874213669, 8.3391953585123542, 8.2673036803364948], [3.4821577128319356, 6.0728194950466232, -1.1182942210434907, 1.731080858536699, 6.8724857690314192], [-0.54476132139026934, -0.16128256356970549, 2.0409302236571758, 7.6062407832505521, 7.1440065261861125]]], [[[-0.63333831476738567, -3.978731397094422, -1.3597451487190062, -2.2577240733928852, -4.1742531133361691], [-0.82490182293524672, -5.0782407819288249, -1.6120378437113283, 0.13643029389235917, -4.0687259063943797], [-3.7494816387280672, 1.0067943841383302, -6.2328883823603674, 0.22638227480223794, -0.87416540473200044], [-5.0736328302783917, -1.7601354334935406, 2.3340934348184268, 0.62934402405113321, 0.028154975773931668]], [[3.0211545470760077, -3.2142502320132538, -4.3341448610956723, -4.0907121692108603, 1.7228665814616884], [-2.2030303902587614, -1.6670196329888123, 2.7461121992120328, 0.69309158206832411, -2.2128238699530618], [3.3926865294631865, -1.5338136002117837, -1.8646515600258073, -5.3651165441027437, -4.6650944026182781], [3.0448631145477707, -1.3530676664371679, 2.4550436396308095, 1.7523079018288863, -0.62361296947231892]], [[1.4394758929903899, -1.1248706709582175, 3.757088607181748, 1.4867753398623691, 2.8110935732398268], [3.9801391329755198, -1.8358651253693727, -0.92231650405460641, -2.1690665823877024, 1.6786167283247293], [1.2009049447416054, 1.9425063190139635, 1.2755066218962732, -4.1439626191972971, 3.4498474944090987], [-5.6257812731804231, 2.2229920037077751, -3.18227061633727, -5.8951465018810785, -2.1030852755278744]], [[-3.77474733178971, -0.44945100263289994, 2.0250634632061955, -2.8925021997766525, 0.026998907299315533], [-3.3780088577407166, -3.5628233276465617, -5.5451832951827544, -2.1574654428360889, -0.72552474234236186], [-1.8187967579520592, -2.5247416141731596, 2.8922808169849077, -1.6050437389989085, 3.2582379207346222], [-1.0295057185070018, -5.3351800591793364, 1.3305970002878293, 4.0226892659686637, -3.8378740672521854]], [[3.3146685731804846, -0.98400717016998085, 1.203329688419446, 4.5236847958229767, 3.7239001450200044], [3.5505521445159491, 3.5048317975752701, -1.3847282711581039, -2.4299742135828399, -2.298395112128774], [-0.47528809657675852, 3.3949325917297495, 3.0758728037616692, -1.6290003790846401, -0.043830221181615947], [0.12342994365172544, 5.8712149433864873, -1.22484387968183, 6.1180225695265857, 3.7579324160522729]]], [[[-2.4426910570095233, -3.2499615078598518, -0.19521361766703382, -1.8338276869444803, -4.6551631868719969], [-4.2506201821623257, -8.0088436033405763, 1.4878550895269216, 1.724928575274757, -7.7081484350606377], [-0.5325719409818559, -1.8051561667563574, -7.846795855333272, -7.8069179649691973, -1.9394076931691488], [-4.9198349747866148, -7.8019989141098209, 1.1747692136948773, -5.5522735549445024, -6.8637926436242447]], [[7.9203589895500013, 7.4038518349946294, 3.6806689874906278, 1.4123670815123863, 7.1404943756670942], [6.4369728319083839, 5.2455202697416343, 6.8819980847473969, 7.8340946170668744, 0.37323581157206753], [3.2508199939207079, 8.7321243121532071, 4.8455615351582813, 6.8931367213626169, 8.6692657403849545], [9.2921246978088323, 8.5439674528875376, 5.9125795720440113, 2.8250938167563251, 8.6619197399606023]], [[0.42727727369810964, -5.9661506589508395, -1.2838863400087774, -1.8325961412946494, -4.1343124325998382], [-6.2080522101345661, -7.7569174627756352, -5.4892553413677154, -0.0036499152705413707, -3.4228284130812607], [-6.2315563090272734, -4.8462443109599747, 0.46716356314778906, -4.7891587696073135, -0.48179289548445503], [-4.2496178386869765, -4.5801742885638079, -4.6640903126595985, -1.8465267409058281, -8.238626397401184]], [[2.3910047086629866, 1.9975361231027149, 2.8467942132112185, 3.0734092150954977, 2.9135323305700576], [5.2774523998605449, 1.1316576947784318, -2.0820021827912774, 5.1834102109394129, 4.5737460390731419], [3.7523028847176274, -2.1901332426843618, 6.9707560079964557, 0.86957379031387294, -1.9194318561243744], [2.0421137782002594, 0.36566695553465678, 0.10959362224212654, 6.3896006289033815, 1.2733385518370621]], [[2.8437841324903115, 2.5880055723562698, -5.7150180353866897, -2.73933376610572, 1.8967408795065737], [3.1487141693751788, -0.15307122344926327, -5.7255886329723422, -4.7694921358256881, -2.8462096822415246], [-1.4796238745626686, -2.3602116019351977, 0.96400351241941706, 1.2856785727958959, 1.0928455546424818], [-2.8877610042601836, 0.080601678304212498, -3.3063760106395219, -0.14738588329056146, -2.60595450265191]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank2_taggedData_rank4(self):  
       arg0=Data(numpy.array([[-4.1170527988686239, 1.9967796879733681, 3.2486763208939422, 2.6949780521663493, -0.33980436933585167], [1.1071858651071507, 3.3186062733037414, -1.1477001712259707, 4.9314771337467711, -0.66081097971954428], [2.403983366974999, -2.3498984745127216, -3.2911870532594021, -1.5091191149552485, 2.0110946900035032], [-4.8861701390543981, -0.74574788812384885, -2.6008387342567785, -2.8489217339344242, 4.9326718201954005]]),self.functionspace)  
       arg1=Data(numpy.array([[[[-0.10599510514208266, 1.8218244623251181, 0.82884093772074152, 0.40144203632159314, 4.49590316704138], [2.1952548905215625, -3.4940368928329582, 3.8186114629808738, -3.1147008868757373, 2.5423684395819146], [2.939915685245154, -1.2314758284479419, -4.5557211520905909, -2.8538919786441963, 1.224658256565915], [-4.9607181542755585, -0.064925853974985515, -0.61930993858387051, 3.1346775559734059, -2.4180155156813021]], [[0.47594753012769164, -3.27342040142792, 1.3566005698360808, -3.6470131778015427, -3.840394443159898], [1.2508635220636162, 1.6171690924944286, 0.13359212568262535, 1.3838387089795523, 0.11985749066610474], [1.937221324539208, 0.0093804257916509926, 3.2046504999875953, 2.1131736203408069, 3.0950485528053147], [4.6126997724027223, -0.31475063207559018, -4.5834345158845125, 0.20267958748362869, -0.9466563645399777]], [[-4.5033427697429618, -1.7519023417617676, 2.1045994125480094, 2.3718398624449213, -2.1220528609455744], [2.8932176847703115, 1.0081544265095861, 4.2559860414468726, 2.6368045610825881, 3.4932318943044862], [0.21727906283061849, 3.2919837224616604, -0.84032986343163962, 0.30350512222656523, 2.1315083509815551], [-3.4789039149726184, 3.6859097691551224, -0.76311131111439412, -0.51274117941572506, 0.98089250257531102]], [[-0.51266756597536833, 2.5320496399514214, 4.1193475579907926, 3.7693002564655451, -2.3685121452259885], [-3.3692875885367513, 2.6787939600212329, 4.0267075516421702, -3.466338330022011, 2.1951924354622845], [0.62914446143341074, 1.8236148797695577, -1.5656606312458745, -0.28034173308550159, 0.60975894978911072], [1.0719950584977536, 0.37615320192096746, -4.2311425422274773, -3.6332609753946499, 3.1052623908272352]], [[-0.1259668840050443, -1.9722734605734793, -3.8151017746527249, 0.02530357886598722, 2.3205921479171678], [-0.60176536946862225, 4.5454482923325692, -2.2562304720267279, -4.7806905118649752, 4.9089561229330485], [2.7659340578173985, 3.1118551358296624, -4.0037840277854775, -4.9925327140997853, 3.1898517636107169], [-4.1003250100844957, 3.8556017061933634, -2.525953557151539, 1.5074678628919704, -0.53042816009556937]]], [[[0.83565706719576482, -1.988227878388813, 2.1845564310844736, 2.8880712089514882, 4.5189547554538656], [2.8163255646812733, -2.3221538864131377, 3.8300236957163794, 4.6154280786520321, -0.75692550137338621], [-0.56667546249685419, -3.3923134800709498, 3.7382151684720952, 3.5503893398439672, -4.6517388827241968], [1.808224452736936, -0.42954742436092097, 1.3034389322609101, 1.5520580857310105, -3.7709931504396033]], [[-4.4423727142468579, 3.2392440769323283, -2.1925152672656845, 3.7531458314695811, 2.7559987844115375], [-1.9240111553633064, 0.19660550997759341, 0.89743357982386218, -3.9039609929231767, 3.1131882698266597], [3.9393344112744462, -0.99408994707251175, 3.7168507531070123, 3.5618077415953557, -4.8845329692636321], [-4.4654607270271995, 1.4085198346030934, -0.030038323460535032, -0.22433642894583361, -3.5849993074832156]], [[-0.027689945178238418, 0.86276215975307302, 3.4063284307464752, 3.5536009265873538, 0.66615856821789521], [2.2430570529430804, 3.1849663092237392, 2.6056230624691263, 2.2806264638017417, 0.30104409895503803], [-4.1848251828725944, 1.968054458064862, -0.46418949240032337, -2.8873338168623186, 4.3514207197922641], [-1.5030412783268829, -2.030774522833009, 1.0539491589824559, -4.1493592076707086, -0.35639453962036516]], [[3.8875553391931135, -1.2778992905908915, 2.0782550689986081, -4.085869397808743, -2.9237793956744818], [1.8888164630019215, 0.96582028581726753, 2.2142215668263585, -2.2350212475521971, -4.0185883937260307], [-1.337692649493023, 3.5422206642286564, 0.31602948002417541, -0.17348224663139344, 0.72006134215564987], [-0.052082091461139512, 4.5189595970712872, 1.2510966714943228, -2.3314698361282038, 3.6972489216759126]], [[-2.98713367369001, 1.620841567781337, 0.82330982657034646, 0.066176105616795766, -0.66411100911493115], [-4.3901728932613544, -2.3173999268134682, 1.4724738200242351, -3.3271992386843285, 1.526409439115529], [-2.4436462301545459, 2.9211576300859177, 1.6646478947918162, -0.29597830121177093, -3.4871132252693759], [-3.5581144331798753, -2.4506228248612336, -2.5009945692406319, 0.46249095785646865, 3.1972048864498142]]], [[[1.832962641597585, 1.6792420430111585, 3.2057169959669434, 4.67412187367729, 1.0415924062855], [-1.048881421975981, -2.4512658183809077, -2.6857837124375052, 0.6150839371038952, 1.0054446516086513], [3.8899747699125982, 0.60830588154809995, -2.8219871381355843, 0.84119988233659093, -1.8395066489613408], [-2.3605086172671665, 1.5185440943552519, -1.3395503303410949, 2.2830492815950443, 1.4902692323458924]], [[-0.53116499907347592, -2.4406124122641346, -0.71756223282478437, 2.1388908567608631, -3.0536466163990026], [0.43595157665080997, -2.7500430969304235, -4.7630410804881436, -2.6497911304079191, -0.28456193998592028], [-0.20720480482116077, 2.1528802042804349, -1.4838436255005494, -0.75664355625624147, 3.2784517342262873], [2.0085874089368705, 4.009422246384645, -3.9556036781468462, 2.6631975690636995, -4.7522489097269567]], [[-3.8599418821365061, -4.2068515221955591, 1.6301315819334663, -0.084148817735204773, 2.106004247099821], [-0.48434276026461731, -4.4727258494150055, -1.3123469018750256, -1.160447434802613, -0.81371945448866789], [-2.782542271255235, -4.5002308052084485, -0.0020678738538295605, -3.7004953288504683, 2.5420989525672342], [1.718677697289217, 0.28467561993268031, 4.5514829100196366, 4.6854878595100384, 1.6402814226932625]], [[-3.4245677531879259, -2.1381010266899314, 3.0365302217392003, 4.9149946887584779, 2.1849336830615034], [2.4316239415051566, 0.59469866032902718, -4.6629586098080527, 3.6244680268962668, -1.2750686781992804], [0.58186215689854492, -0.96027736533243413, 3.7059455330046571, -3.6985252668783977, -4.916222420794262], [-4.1535662851990187, -4.891958861551494, 2.3655074045979134, -4.9315788457616625, 4.3941122561333437]], [[1.9463013323466676, 2.3624221514473662, 1.7926118039915382, 4.1338015836165152, -0.20494308991836085], [-3.1567433769550526, 1.0162500204019729, -1.118985015124514, -3.5780765155302383, -3.2039773470314961], [-4.9472045223128971, 3.1816536239312825, -2.1580406392600429, -1.6175431741125426, -1.1235559900920853], [0.74990740915422371, 3.0083304269514688, 3.8799444021811418, 4.8603276071021142, -4.9869927709310247]]], [[[-1.8042505445082355, 4.7742733350800233, 1.38282959627234, 0.8155058623913094, 3.4309706188831637], [-0.94990282823708494, -3.8672058294747327, 3.0449632723581281, -3.503008215922808, 3.6194833933378092], [2.7576930642800797, -0.49787109227435167, 3.8948273446641348, -2.6109782918431623, 0.49248076799461593], [2.4469445597088226, -0.28429780869581123, -2.3383246376785816, -1.4634668698873377, 1.6144897833389109]], [[-3.5787149980746333, -3.2183606783728025, 3.2241044874069331, -1.139804319641804, 2.4934316245559129], [-0.076481665210841321, 2.1808233666828238, 0.18324481470307141, 3.7722161141080885, 0.66349088076940177], [-1.2555895292872288, -0.80502239653325258, 1.0900620571929265, -3.5725559119615644, -3.41386694438512], [-3.5381746362480513, 4.5171603707496093, -0.85346947726541611, 2.1703942513033381, -1.4926848641312485]], [[2.2608830403239235, -0.72665884835671513, -4.1811820781552385, -3.4384372658842457, -1.3889217611513596], [4.2445703418302774, -1.8660159241017915, 3.5942042569259236, 0.71844117780714534, 0.29399438994131355], [-3.6200722596218227, 0.19365827804858515, -0.21449229098215206, -1.9137508402943828, -3.3007666855206121], [-4.0426789698423438, 1.5052055100254993, 4.2055032489675384, -4.9491985469536193, 2.4586983030277452]], [[1.4285829477650456, -3.9853643914616468, 4.3375499425310196, -1.984741394864038, 3.9131331109216507], [4.8551252238972591, 2.7942083125141473, -4.2761694874392351, 3.5313023602136226, -1.7272114146440343], [0.8680587964041484, 2.9363846337448596, 3.513992567045122, -3.0503957696467565, 3.4637444421850105], [-2.7969461737325352, 0.092852390447218269, 1.2827598840119716, -0.68750874168019482, 3.1693855216111899]], [[4.3446462028869988, 0.36988584189969842, -1.9115745077175275, 0.020067508495584363, 0.73959281983769998], [1.7100299755196247, 2.2862226423165888, 1.136922444675843, 1.7559466654592191, -3.5732287077916327], [0.8879735478003381, 1.4190435604723568, 3.7042763103301724, -2.3588590433643208, 1.3583151383052092], [1.2321861492869965, -2.1052783637119346, -1.0673568847072934, 3.681470298320086, -0.5235754080592141]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-3.9849711121087017, 2.4406755838606999, -1.6359036222194598, -1.1235220517221665, -3.0435445937225749], [3.6220408248673301, 4.1884956049400834, -1.1104729606820571, 3.1636113015309526, -3.8205105156145391], [-1.4093940013400443, -2.883221188868502, -2.5839835997091187, -4.0610984089655133, -2.1667333532158475], [-3.8554978128240225, 1.5092411068756038, 3.2911946336180229, -0.57287991053862708, 3.0260588251801117]], [[-2.8292651065531302, -0.86289089348784298, -2.0688237454618976, -4.1906113731047858, 2.3659570617314944], [1.7422477888075374, -2.2183985814655793, -4.7132791119200803, -2.6102756542572934, 2.0184190155022685], [-3.3018706247316154, 2.9942415630021513, 1.8462108983961159, 0.91960917281522558, 4.1836909811137506], [3.2577741280467638, 4.7775574386857791, 2.8748203387156126, 2.2477660471218517, -3.0221417972413942]], [[-0.64866326453344314, -1.4722105515709059, -0.54542171821700514, 1.5906463153756043, -1.9915765983659006], [2.6493385150345041, -1.6635202065551171, -4.5348376259821279, 2.5759553596572173, -1.1461348752607794], [1.5649403872259073, 3.1860998378481753, 0.9784865783149721, 3.1843385428832711, 4.4212500602112694], [-0.70837216323981078, 1.5975531939542122, 2.9875277514599796, -0.55344202400443798, 1.4174553860336285]], [[1.8901253654210448, 1.6517149136893741, -2.311764484576492, 0.8810374852935805, 0.47024811801523825], [-2.5995430439880596, 1.2517284045266583, 0.69633779166494669, -3.5317092405307227, -3.7045449617149728], [-1.8560009085446505, 0.16088799074973714, 1.3405169675646231, -1.9455988671511437, -0.41466178409722421], [-0.14719856278050436, 4.771475014251223, 2.3494309796372379, 0.68199811556982404, -4.8336972981405646]], [[4.6076859484129997, 4.7072890884358838, -4.9225447114447052, -3.6066434517193824, -2.8085480219817427], [-4.9738876185212044, 4.2341727832025136, -0.24450826797811587, -4.5612302119106598, -2.2834539495851613], [0.24700111292539884, 4.502632134593533, 0.010585591288849727, 3.0432083732655997, 4.673067078190865], [0.27783343701569585, -1.7461576864260042, 1.7799006507575879, 1.1234085648971117, 4.1474709291002334]]], [[[4.3642647472495746, -0.21040894253576781, 3.0333050435014997, -1.508426464372945, 2.8766966062026391], [2.0189352675382395, 1.6519308995296971, -1.1884538090733763, 2.875110440176055, 1.2335071569034861], [1.8178451362303347, 4.9013611673004345, -0.20341722450638322, 3.245520748630117, -4.4532925468923912], [-2.3060479049422602, 3.0729792747462916, 2.7163876190314902, 0.37766850972681709, -1.9794906807865189]], [[-2.4945589327259965, 2.2512656037641046, -3.0472480751332354, -0.34175525591232514, -2.4995166732616703], [0.13048849961676368, 3.2905336918649795, -0.83732139948257434, -2.8255082637601814, 0.61911550524460246], [-4.0660980846044295, -3.8412756689040304, 0.78955828564595976, -1.0576918549430148, 3.3941595685276571], [-1.8848770622304167, 4.1276016209606148, -0.028076344582663282, 0.26702566803266059, 1.4973604241638387]], [[0.63525326274621641, 0.26936139213093391, -4.0938279660835173, -2.1245362126919742, -3.5282152467405203], [-2.5580405733613132, 1.0190955471951844, -0.42403542247678061, -1.3598728903497923, -0.18789236968436018], [-4.0606963592465553, -4.7633831369305835, 0.45923686462006685, 0.52673196997117699, 4.583343559621424], [-3.834248606303813, 2.1950070322165889, 4.4384759235505626, 3.8125466385188069, -0.27826091032077027]], [[3.2993418534275882, 3.2771808623318464, 0.32140768642332507, -0.21964022601030209, 2.0744723754514274], [2.1204967541979149, 0.21818802359697553, -4.4270891203298932, -3.8681810429340038, -4.9814783861671286], [3.885225153375595, 0.98586989920847401, 4.1674913192888177, 4.7422244246155483, 4.0911690068352744], [-3.7401617868266133, -1.8166310277323938, -4.8715249616896621, -2.2215393829669106, 3.6418330168604953]], [[0.5584718164806759, 3.6993499252202717, -4.4188137749205536, -4.1307539406256391, 2.3435732100065447], [3.8334436045964573, 1.2791226145492196, 4.7417272013290983, -1.1456463244627657, 0.23568559756203289], [2.3318489219013347, -1.6807806336483342, 0.88798162660691649, -3.4516383971642686, -3.119495495867576], [-2.8709909848304882, -1.517519748101158, 0.27058623840634155, 1.0642497292311495, 0.52394579829227617]]], [[[2.3030001889668474, -2.8146055663017053, -2.815329577446307, 3.1178837346735317, -0.13334349872202012], [2.3782895959337438, 0.52589763628478803, -0.42035581221348206, 0.88044437399153441, -4.1674838797297253], [0.46590802429517275, 3.6923620185949524, -3.7893084180653966, -0.38362206061190474, -3.6168377788023856], [4.4707711038979898, -0.90974914490833303, -3.4708552402304385, -0.87736672317464759, -0.79001601663031629]], [[2.209672463266271, -1.846210833533366, -1.3148093598451083, 3.3341542648251412, 4.2491003737405215], [2.6338204473791604, 1.3605849692598779, 1.5677912930605462, 2.9662081024780083, 4.9977156733226131], [-1.3061041180965804, -2.2395643594755175, 1.0720858986005011, 2.7452344348936251, 4.1792751075553838], [-0.077116279497286833, 3.8908961203569596, -1.0119477660675704, 1.9706161716765589, -3.6914491000560448]], [[-4.7997667309306182, 1.0609778262729979, -0.88741141694344705, 2.6917213316361916, 0.63804121983428796], [3.3956268941897285, 1.3894627825249204, 0.60687810264689634, 3.596875193136027, 1.9307926080858522], [-1.4822342986643045, -3.1295438006754539, -0.1823624137757367, -3.0365892357662796, 0.26621616284564453], [2.5385306365984386, -2.6983761763881731, -4.4143406142678652, 3.7379787779054574, -0.40948285065557677]], [[1.4263288414439899, -3.7656692752235257, -4.8107157573662249, 4.055793849356192, 1.1665404570136477], [-4.5622766907345893, -3.3928235525572257, -0.14647289022010135, 4.1909396083087653, -4.5129708144537348], [4.8055619183519589, 1.7500814410679713, -2.9154473290937002, -0.95592312764670773, 1.3669325237678276], [-2.1734924489126675, 3.2479999732385405, -1.6014811328201564, 0.32192540494883293, 2.8181289756074346]], [[0.095334567609829612, 1.410934622343083, -1.064445140411614, 4.6651347659267799, 1.1472721885831341], [-0.8458263574234941, -1.7828349918697937, 3.428279074247996, -2.2057266799860251, -3.8598644065228651], [3.1431056111666997, -2.4702861832667464, 0.4883365806272657, 4.2516081402318626, -2.9963762585379037], [2.6936153171625321, -2.615229809625641, 3.6917456776825563, -0.68775081932653936, 0.62186305675045883]]], [[[-1.8593341324682768, 3.4373524418572678, 0.82150872673218434, 3.794866883083321, -1.3084428334867648], [3.182501583782452, 0.011709749842584216, 3.4399738877779491, 1.5585583048625304, 4.5473052254668147], [-3.0407085743526316, -0.19100302591353557, -0.93805184966716659, -4.0183174152087817, 4.7748306109204659], [1.1075647936853761, 3.2280576103296195, -4.6118888728489509, -0.60970254310626437, -1.0115502311107996]], [[-4.1689742146758091, -1.2470567192679227, 2.3077323063344926, 2.7512690823118833, -0.70395722748863054], [4.0102678791465998, -1.8711570636857031, 4.1553797284626874, -2.0725129259331432, -4.2355973598555803], [1.5534363884674161, -3.0202580504286667, 4.122704784472905, 0.085425127523387268, 3.1047248849165836], [-4.8324029134680488, 2.7122678513909859, -2.7186486261785268, 0.46933003986658139, 3.0273428010235559]], [[2.8643040443912593, 2.0683216155420014, -1.237509008611287, -1.9822742239555557, -2.8506716279025146], [0.95936921219722393, 2.5532069519373843, -3.6961306077898382, -2.1978403055201601, 0.58267809991349928], [4.1150586852707551, -4.6597339980837571, 3.9190811048292726, 4.2382371102485692, 2.5971174291244399], [-3.5594379363656161, 4.0482376986893236, -0.87619637022019337, -2.5123540205772965, -1.3300072048499043]], [[1.2547943566832114, 1.2529416875366053, -2.7094257674510516, 0.44243044523877373, -0.7595209169099304], [3.0682940281068962, 1.5309086676213743, 4.6454386558606799, 3.3343240339753102, 1.8176553999349636], [1.1160814430315238, 0.54749707409384651, -3.7073775472895907, 3.1051171627493837, -2.7538307592836642], [4.2456726415295503, 3.5314387246766206, -4.930409887906773, 1.2745994104074363, 0.69591128735026597]], [[-0.54449632055690866, -1.729440264954818, 4.3079359207126995, -1.2463632887227929, -0.077198243292704305], [3.0947105182850692, -2.9155304341986445, -2.7510415383912132, 1.2780594216822747, -4.168141973973329], [1.8692771948206746, -3.8849967262105469, -3.2672299919239944, 1.0453236724095998, -3.9692742079655541], [-1.6210348470110567, -0.50747023351314269, 4.6814514919760803, -4.4818541593217027, 2.929775529745843]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-4.2230479040107065, -2.2952283365435058, -3.2882118611478823, -3.7156107625470307, 0.37885036817275619], [-1.9217979083470613, -7.611089691701582, -0.29844133588775001, -7.2317536857443612, -1.5746843592867092], [-1.1771371136234698, -5.3485286273165658, -8.6727739509592148, -6.9709447775128197, -2.8923945423027089], [-9.0777709531441815, -4.1819786528436094, -4.7363627374524944, -0.98237524289521794, -6.5350683145499264]], [[2.4727272181010598, -1.2766407134545519, 3.3533802578094489, -1.6502334898281745, -1.8436147551865298], [3.2476432100369843, 3.6139487804677968, 2.1303718136559935, 3.3806183969529204, 2.1166371786394729], [3.9340010125125762, 2.0061601137650191, 5.2014301879609635, 4.109953308314175, 5.0918282407786828], [6.6094794603760905, 1.682029055897778, -2.5866548279111443, 2.1994592754569968, 1.0501233234333904]], [[-1.2546664488490196, 1.4967739791321746, 5.3532757334419516, 5.6205161833388635, 1.1266234599483678], [6.1418940056642537, 4.2568307474035283, 7.5046623623408149, 5.8854808819765303, 6.7419082151984284], [3.4659553837245607, 6.5406600433556026, 2.4083464574623026, 3.5521814431205074, 5.3801846718754973], [-0.23022759407867621, 6.9345860900490646, 2.4855650097795481, 2.7359351414782171, 4.2295688234692532]], [[2.182310486190981, 5.2270276921177707, 6.8143256101571419, 6.4642783086318945, 0.32646590694036082], [-0.67430953637040192, 5.3737720121875823, 6.7216856038085195, -0.77136027785566164, 4.8901704876286338], [3.3241225135997601, 4.5185929319359071, 1.1293174209204748, 2.4146363190808477, 3.3047370019554601], [3.7669731106641029, 3.0711312540873168, -1.536164490061128, -0.93828292322830054, 5.8002404429935845]], [[-0.46577125334089597, -2.312077829909331, -4.1549061439885762, -0.31450079046986446, 1.9807877785813162], [-0.94156973880447392, 4.2056439229967175, -2.5960348413625796, -5.1204948812008269, 4.5691517535971968], [2.4261296884815469, 2.7720507664938108, -4.3435883971213292, -5.3323370834356369, 2.8500473942748652], [-4.4401293794203474, 3.5157973368575117, -2.8657579264873907, 1.1676634935561188, -0.87023252943142104]]], [[[1.9428429323029155, -0.88104201328166232, 3.2917422961916243, 3.9952570740586388, 5.6261406205610163], [3.9235114297884239, -1.214968021305987, 4.93720956082353, 5.7226139437591828, 0.35026036373376446], [0.54051040261029648, -2.2851276149637991, 4.8454010335792459, 4.6575752049511179, -3.5445530176170461], [2.9154103178440867, 0.6776384407462297, 2.4106247973680608, 2.6592439508381611, -2.6638072853324526]], [[-1.1237664409431165, 6.5578503502360697, 1.1260910060380569, 7.0717521047733225, 6.0746050577152788], [1.394595117940435, 3.5152117832813348, 4.2160398531276035, -0.5853547196194353, 6.4317945431304011], [7.2579406845781875, 2.3245163262312296, 7.0354570264107537, 6.8804140148990971, -1.5659266959598908], [-1.1468544537234582, 4.7271261079068347, 3.2885679498432063, 3.0942698443579078, -0.26639303417947424]], [[-1.1753901164042091, -0.28493801147289766, 2.2586282595205045, 2.4059007553613831, -0.48154160300807547], [1.0953568817171098, 2.0372661379977686, 1.4579228912431557, 1.132926292575771, -0.84665607227093265], [-5.3325253540985651, 0.82035428683889133, -1.611889663626294, -4.0350339880882888, 3.2037205485662934], [-2.6507414495528536, -3.1784746940589796, -0.093751012243514786, -5.2970593788966793, -1.5040947108463358]], [[8.8190324729398846, 3.6535778431558796, 7.0097322027453792, 0.84560773593802807, 2.0076977380722894], [6.8202935967486926, 5.8972974195640386, 7.1456987005731296, 2.696455886194574, 0.91288874002074039], [3.5937844842537481, 8.4736977979754275, 5.2475066137709465, 4.7579948871153777, 5.651538475902421], [4.8793950422856316, 9.4504367308180584, 6.1825738052410939, 2.6000072976185673, 8.6287260554226837]], [[-3.6479446534095543, 0.96003058806179276, 0.16249884685080218, -0.59463487410274851, -1.3249219888344754], [-5.0509838729808987, -2.9782109065330125, 0.81166284030469082, -3.9880102184038728, 0.86559845939598468], [-3.1044572098740901, 2.2603466503663734, 1.0038369150722719, -0.95678928093131521, -4.1479242049889198], [-4.21892541289942, -3.1114338045807779, -3.1618055489601762, -0.19832002186307562, 2.5363939067302699]]], [[[4.2369460085725841, 4.0832254099861576, 5.6097003629419424, 7.0781052406522891, 3.445575773260499], [1.355101944999018, -0.047282451405908699, -0.28180034546250621, 3.0190673040788942, 3.4094280185836503], [6.2939581368875972, 3.012289248523099, -0.41800377116058529, 3.24518324931159, 0.56447671801365829], [0.043474749707832494, 3.922527461330251, 1.0644330366339041, 4.6870326485700433, 3.8942525993208914]], [[-2.8810634735861975, -4.7905108867768558, -3.067460707337506, -0.2110076177518585, -5.4035450909117237], [-1.9139468978619116, -5.0999415714431446, -7.1129395550008656, -4.9996896049206407, -2.6344604144986419], [-2.5571032793338824, -0.19701827023228669, -3.833742100013271, -3.1065420307689631, 0.92855325971356573], [-0.34131106557585111, 1.6595237718719233, -6.3055021526595674, 0.31329909455097793, -7.1021473842396787]], [[-7.1511289353959082, -7.4980385754549612, -1.6610554713259358, -3.3753358709946069, -1.185182806159581], [-3.7755298135240194, -7.7639129026744076, -4.6035339551344272, -4.4516344880620151, -4.10490650774807], [-6.0737293245146375, -7.7914178584678506, -3.2932549271132316, -6.9916823821098699, -0.74908810069216791], [-1.572509355970185, -3.0065114333267218, 1.2602958567602345, 1.3943008062506363, -1.6509056305661396]], [[-4.9336868681431749, -3.6472201416451799, 1.5274111067839518, 3.4058755738032294, 0.67581456810625484], [0.92250482654990806, -0.91442045462622135, -6.1720777247633016, 2.1153489119410183, -2.7841877931545289], [-0.92725695805670361, -2.4693964802876827, 2.1968264180494086, -5.2076443818336458, -6.4253415357495101], [-5.6626854001542668, -6.4010779765067429, 0.85638828964266489, -6.4406979607169106, 2.8849931411780951]], [[3.9573960223501707, 4.3735168414508694, 3.8037064939950413, 6.1448962736200183, 1.8061516000851423], [-1.1456486869515494, 3.027344710405476, 0.89210967487898918, -1.5669818255267352, -1.1928826570279929], [-2.9361098323093939, 5.1927483139347856, -0.1469459492565397, 0.3935515158909606, 0.88753869991141787], [2.7610020991577269, 5.019425116954972, 5.8910390921846449, 6.8714222971056174, -2.9758980809275215]]], [[[-6.6904206835626336, -0.11189680397437485, -3.5033405427820581, -4.0706642766630887, -1.4551995201712344], [-5.8360729672914831, -8.7533759685291308, -1.84120686669627, -8.3891783549772061, -1.2666867457165889], [-2.1284770747743185, -5.3840412313287498, -0.99134279439026329, -7.4971484308975604, -4.3936893710597822], [-2.4392255793455755, -5.1704679477502093, -7.2244947767329801, -6.3496370089417358, -3.2716803557154872]], [[-4.3244628861984822, -3.9641085664966513, 2.4783565992830843, -1.8855522077656528, 1.7476837364320641], [-0.82222955333469017, 1.435075478558975, -0.56250307342077743, 3.0264682259842397, -0.082257007354447076], [-2.0013374174110776, -1.5507702846571014, 0.34431416906907764, -4.3183038000854133, -4.1596148325089688], [-4.2839225243719001, 3.7714124826257605, -1.599217365389265, 1.4246463631794892, -2.2384327522550973]], [[-0.33995569393285496, -3.3274975826134936, -6.7820208124120169, -6.0392760001410242, -3.989760495408138], [1.6437316075734989, -4.46685465835857, 0.99336552266914513, -1.8823975564496331, -2.3068443443154649], [-6.2209109938786007, -2.4071804562081933, -2.8153310252389305, -4.5145895745511613, -5.9016054197773906], [-6.6435177040991222, -1.0956332242312792, 1.6046645147107599, -7.5500372812103977, -0.1421404312290333]], [[-1.4203387861693786, -6.8342861253960709, 1.4886282085965954, -4.8336631287984622, 1.0642113769872266], [2.0062034899628349, -0.054713421420276909, -7.1250912213736592, 0.68238062627919849, -4.5761331485784584], [-1.9808629375302758, 0.087462899810435424, 0.66507083311069781, -5.8993175035811802, 0.61482270825058638], [-5.6458679076669593, -2.7560693434872059, -1.5661618499224526, -3.536430475614619, 0.32046378767676575]], [[9.2773180230823993, 5.3025576620950989, 3.0210973124778731, 4.9527393286909849, 5.6722646400331005], [6.6427017957150252, 7.2188944625119893, 6.0695942648712435, 6.6886184856546196, 1.3594431124037678], [5.8206453679957386, 6.3517153806677573, 8.6369481305255729, 2.5738127768310797, 6.2909869585006097], [6.1648579694823971, 2.827393456483466, 3.8653149354881071, 8.6141421185154865, 4.4090964121361864]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-8.1020239109773264, -1.6763772150079239, -5.7529564210880837, -5.2405748505907903, -7.1605973925911988], [-0.49501197400129371, 0.071442806071459586, -5.227525759550681, -0.95344149733767125, -7.937563314483163], [-5.5264468002086682, -7.0002739877371258, -6.7010363985777426, -8.1781512078341372, -6.2837861520844713], [-7.9725506116926468, -2.6078116919930201, -0.82585816525060096, -4.6899327094072509, -1.0909939736885121]], [[-0.8324854185797621, 1.1338887944855252, -0.072044057488529489, -2.1938316851314177, 4.3627367497048626], [3.7390274767809055, -0.2216188934922112, -2.7164994239467122, -0.61349596628392522, 4.0151987034756367], [-1.3050909367582473, 4.9910212509755194, 3.842990586369484, 2.9163888607885937, 6.1804706690871187], [5.2545538160201319, 6.7743371266591472, 4.8716000266889807, 4.2445457350952198, -1.0253621092680261]], [[2.6000130563604991, 1.7764657693230363, 2.7032546026769371, 4.8393226362695465, 1.2570997225280416], [5.8980148359284463, 1.5851561143388251, -1.2861613050881857, 5.8246316805511595, 2.1025414456331628], [4.8136167081198495, 6.4347761587421175, 4.2271628992089143, 6.4330148637772133, 7.6699263811052116], [2.5403041576541314, 4.8462295148481545, 6.2362040723539218, 2.6952342968895042, 4.6661317069275707]], [[4.5851034175873941, 4.3466929658557234, 0.38321356758985736, 3.5760155374599298, 3.1652261701815876], [0.09543500817828976, 3.9467064566930077, 3.391315843831296, -0.83673118836437332, -1.0095669095486235], [0.83897714362169884, 2.8558660429160865, 4.0354950197309725, 0.74937918501520562, 2.2803162680691251], [2.547779489385845, 7.4664530664175723, 5.0444090318035872, 3.3769761677361734, -2.1387192459742153]], [[4.267881579077148, 4.3674847191000321, -5.2623490807805569, -3.9464478210552341, -3.1483523913175944], [-5.3136919878570561, 3.8943684138666619, -0.58431263731396754, -4.9010345812465115, -2.623258318921013], [-0.092803256410452839, 4.1628277652576813, -0.32921877804700195, 2.703404003929748, 4.3332627088550133], [-0.061970932320155825, -2.0859620557618559, 1.4400962814217362, 0.78360419556126004, 3.8076665597643817]]], [[[5.4714506123567253, 0.89677692257138286, 4.1404909086086503, -0.40124059926579436, 3.9838824713097898], [3.1261211326453902, 2.7591167646368477, -0.081267943966225609, 3.9822963052832057, 2.3406930220106368], [2.9250310013374854, 6.0085470324075851, 0.90376864060076745, 4.3527066137372676, -3.3461066817852405], [-1.1988620398351095, 4.1801651398534423, 3.8235734841386408, 1.4848543748339678, -0.87230481567936824]], [[0.82404734057774487, 5.5698718770678459, 0.27135819817050599, 2.9768510173914162, 0.8190896000420711], [3.449094772920505, 6.6091399651687208, 2.481284873821167, 0.49309800954355998, 3.9377217785483438], [-0.74749181130068809, -0.52266939560028902, 4.1081645589497011, 2.2609144183607266, 6.7127658418313985], [1.4337292110733246, 7.4462078942643561, 3.2905299287210781, 3.585631941336402, 4.8159666974675801]], [[-0.51244690847975427, -0.87833877909503677, -5.241528137309488, -3.2722363839179449, -4.6759154179664915], [-3.7057407445872839, -0.12860462403078632, -1.5717355937027513, -2.507573061575763, -1.3355925409103309], [-5.2083965304725259, -5.9110833081565541, -0.68846330660590382, -0.62096820125479368, 3.4356433883954534], [-4.9819487775297837, 1.0473068609906182, 3.290775752324592, 2.6648464672928363, -1.4259610815467409]], [[8.2308189871743593, 8.2086579960786175, 5.2528848201700962, 4.711836907736469, 7.0059495091981985], [7.051973887944686, 5.1496651573437466, 0.50438801341687789, 1.0632960908127673, -0.050001252420357467], [8.8167022871223661, 5.9173470329552451, 9.0989684530355888, 9.6737015583623194, 9.0226461405820455], [1.1913153469201578, 3.1148461060143773, 0.05995217205710901, 2.7099377507798605, 8.5733101506072664]], [[-0.10233916323886838, 3.0385389455007275, -5.0796247546400979, -4.7915649203451833, 1.6827622302870004], [3.172632624876913, 0.61831163482967533, 4.080916221609554, -1.80645730418231, -0.42512538215751139], [1.6710379421817905, -2.3415916133678785, 0.22717064688737221, -4.1124493768838128, -3.7803064755871203], [-3.5318019645500325, -2.1783307278207023, -0.39022474131320273, 0.40343874951160519, -0.13686518142726811]]], [[[4.7069835559418465, -0.41062219932670629, -0.41134621047130793, 5.5218671016485308, 2.2706398682529789], [4.7822729629087428, 2.9298810032597871, 1.983627554761517, 3.2844277409665334, -1.7635005127547263], [2.8698913912701718, 6.0963453855699514, -1.3853250510903976, 2.0203613063630943, -1.2128544118273865], [6.8747544708729889, 1.494234222066666, -1.0668718732554394, 1.5266166438003514, 1.6139673503446827]], [[-0.14022601124645062, -4.1961093080460881, -3.6647078343578299, 0.98425579031241961, 1.8992018992277999], [0.28392197286643883, -0.98931350525284367, -0.78210718145217539, 0.61630962796528665, 2.6478171988098915], [-3.656002592609302, -4.5894628339882395, -1.2778125759122205, 0.39533596038090346, 1.8293766330426622], [-2.4270147540100084, 1.540997645844238, -3.361846240580292, -0.37928230283616271, -6.0413475745687659]], [[-8.0909537841900203, -2.2302092269864042, -4.1785984702028491, -0.59946572162321043, -2.6531458334251141], [0.10443984093032643, -1.9017242707344817, -2.6843089506125057, 0.30568813987662491, -1.3603944451735499], [-4.773421351923707, -6.420730853934856, -3.4735494670351388, -6.3277762890256817, -3.0249708904137576], [-0.7526564166609635, -5.9895632296475751, -7.7055276675272673, 0.44679172464605532, -3.7006699039149789]], [[-0.082790273511258672, -5.2747883901787738, -6.3198348723214739, 2.5466747344009435, -0.34257865794160081], [-6.0713958056898374, -4.9019426675124738, -1.6555920051753499, 2.6818204933535168, -6.0220899294089829], [3.2964428033967104, 0.24096232611272272, -4.4245664440489492, -2.4650422426019563, -0.14218659118742094], [-3.682611563867916, 1.738880858283292, -3.1106002477754049, -1.1871937100064156, 1.3090098606521861]], [[2.1064292576133328, 3.4220293123465861, 0.94664954959188918, 6.6762294559302831, 3.1583668785866372], [1.1652683325800091, 0.2282596981337095, 5.4393737642514992, -0.19463198998252196, -1.8487697165193619], [5.1542003011702029, -0.45919149326324327, 2.4994312706307689, 6.2627028302353658, -0.98528156853440052], [4.7047100071660353, -0.60413511962213784, 5.7028403676860595, 1.3233438706769638, 2.632957746753962]]], [[[-6.745504271522675, -1.4488176971971303, -4.0646614123222138, -1.0913032559710771, -6.1946129725411634], [-1.7036685552719462, -4.8744603892118139, -1.446196251276449, -3.3276118341918677, -0.33886491358758342], [-7.9268787134070298, -5.0771731649679337, -5.8242219887215647, -8.9044875542631807, -0.11133952813393222], [-3.778605345369022, -1.6581125287247787, -9.498059011903349, -5.4958726821606625, -5.8977203701651977]], [[-4.9147221027996579, -1.9928046073917716, 1.5619844182106437, 2.0055211941880344, -1.4497051156124794], [3.2645199910227509, -2.616904951809552, 3.4096318403388386, -2.818260814056992, -4.9813452479794291], [0.80768850034356721, -3.7660059385525155, 3.3769568963490562, -0.66032276060046158, 2.3589769967927348], [-5.5781508015918977, 1.9665199632671371, -3.4643965143023756, -0.27641784825726745, 2.2815949128997071]], [[0.26346531013448082, -0.53251711871477703, -3.8383477428680655, -4.5831129582123342, -5.4515103621592935], [-1.6414695220595545, -0.047631782319394134, -6.2969693420466166, -4.798679039776939, -2.0181606343432792], [1.5142199510139767, -7.2605727323405356, 1.3182423705724942, 1.6373983759917907, -0.0037213051323385926], [-6.1602766706223946, 1.4473989644325451, -3.4770351044769718, -5.113192754834075, -3.9308459391066828]], [[-1.5941273772512128, -1.5959800463978189, -5.5583475013854757, -2.4064912886956504, -3.6084426508443546], [0.21937229417247206, -1.3180130663130498, 1.7965169219262558, 0.48540230004088603, -1.0312663339994605], [-1.7328402909029004, -2.3014246598405776, -6.5562992812240148, 0.25619542881495949, -5.6027524932180883], [1.3967509075951261, 0.68251699074219641, -7.7793316218411972, -1.5743223235269879, -2.1530104465841582]], [[4.3881754996384918, 3.2032315552405826, 9.2406077409081, 3.6863085314726076, 4.8554735769026962], [8.0273823384804697, 2.017141385996756, 2.1816302818041873, 6.2107312418776752, 0.76452984622207154], [6.8019490150160751, 1.0476750939848536, 1.6654418282714061, 5.9779954926050003, 0.96339761222984643], [3.3116369731843438, 4.4252015866822578, 9.6141233121714809, 0.45081766087369779, 7.8624473499412435]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank3_taggedData_rank3(self):  
       arg0=Data(numpy.array([[[-4.2754257044988027, -0.65463933943651131], [-2.6758619102549597, 2.27009359257233]], [[-4.3187445983438018, -3.0406557716750782], [3.0641404785510051, -4.3383999175676369]], [[2.7637048172590042, -0.79872822168148705], [1.6030197340693233, 3.3586384750822234]], [[-1.9080055254425643, -2.2270665517987664], [1.8614180974064745, -4.2140979496192532]], [[-3.4636313968691637, -1.2631441457576686], [1.9824368811258584, -4.4170393284087703]], [[3.7173406375145479, 2.6873789487128716], [-1.2439768437956156, 0.91446610342019596]]]),self.functionspace)  
       arg1=Data(numpy.array([[[-0.76542789840552761, -2.1966729766273629], [-2.9926290943306255, -4.7682535020046446]], [[-4.5090217967492663, -0.012097449631598423], [1.3750083491311402, -0.77308098169683781]], [[0.49012526682113844, -2.6216671862413388], [1.8839856895461899, -2.5194118874327556]], [[-3.1891199835373585, -4.3789499129820664], [2.1414960355726897, 2.512688170445136]], [[-0.49713238979407937, 4.8412854123154307], [-3.5575119047050743, -0.6010988562353381]], [[3.7104865043424198, 3.046221616421235], [-1.992630424196824, 4.2107229141033891]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[3.3588134144682176, 3.3729456449480679], [2.0895931308958824, 2.8493015590922202]], [[1.6571573253024949, -4.7146917691085655], [3.6653378119071842, -2.297258590167055]], [[2.0064673264522987, 1.2047382465178327], [1.8135047810930462, 4.3707832421256203]], [[-4.1824472827212524, 1.2331622384262539], [3.251538450764162, 0.83467491517918191]], [[4.3186996760360277, -1.1408939010525652], [-4.8517218769413484, -2.3987898748248524]], [[4.3196145364185909, -4.1750881293716224], [-0.92909836607602436, 2.3804249764845586]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-5.0408536029043303, -2.8513123160638743], [-5.6684910045855847, -2.4981599094323146]], [[-8.827766395093068, -3.0527532213066766], [4.4391488276821454, -5.1114808992644747]], [[3.2538300840801426, -3.4203954079228258], [3.4870054236155132, 0.83922658764946778]], [[-5.0971255089799232, -6.6060164647808328], [4.0029141329791642, -1.7014097791741172]], [[-3.960763786663243, 3.5781412665577621], [-1.5750750235792159, -5.0181381846441084]], [[7.4278271418569677, 5.7336005651341067], [-3.2366072679924396, 5.125189017523585]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-0.91661229003058509, 2.7183063055115566], [-0.58626877935907729, 5.1193951516645502]], [[-2.6615872730413068, -7.7553475407836441], [6.7294782904581893, -6.6356585077346919]], [[4.7701721437113029, 0.40601002483634563], [3.4165245151623695, 7.7294217172078437]], [[-6.0904528081638167, -0.9939043133725125], [5.1129565481706365, -3.3794230344400713]], [[0.85506827916686401, -2.4040380468102338], [-2.86928499581549, -6.8158292032336227]], [[8.0369551739331389, -1.4877091806587508], [-2.1730752098716399, 3.2948910799047546]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank4_taggedData_rank3(self):  
       arg0=Data(numpy.array([[[[-4.5589211020919072, -1.5581077043424374], [-2.7825142074848106, 1.9715436693150004]], [[-1.3182353793147406, -0.0922054282850997], [-2.0906396832465379, 4.83192722403993]]], [[[-1.705498864001973, -2.1838531210901668], [1.5483763884516213, 1.1372339494680572]], [[2.6134311500431471, -3.1985743019919868], [2.7573232298777226, 2.1334244374634945]]], [[[-3.9202269971324064, -0.68672592148127176], [-2.4125487771622112, -2.3923504378073277]], [[2.3716169728831016, 0.13475456618763371], [3.6701648446306852, 1.7352525295138213]]], [[[-0.6689267218267485, 2.3650350025933129], [2.0047111829092543, 0.93565726756204093]], [[0.68772492099595084, 2.7726488555611901], [-3.1334629740417386, 4.8648867191533913]]], [[[-4.4363387173302247, 0.76645606513067754], [2.8749309881883693, -1.8969285224496124]], [[-0.52147152612340797, -0.13781935139889612], [0.45102971307794082, 0.012652640266805903]]], [[[4.6316048963064933, -3.6393294212945024], [-4.7356149466101343, 4.8039131455367858]], [[-2.0926813748388096, 4.1925488314369961], [0.089758759795167897, 1.3378288919800223]]]]),self.functionspace)  
       arg1=Data(numpy.array([[[2.930514964528566, -1.7452982004271766], [2.7972685091227643, -1.5271179037896152]], [[-1.8351829881336079, -2.7603281827415929], [3.924208830871077, 4.8039260471841594]], [[0.4428046732723061, 1.0088249687199866], [0.64613673664219462, 4.7948378951888806]], [[4.7075915466257943, -3.7427169625008094], [0.50494061557396019, -1.4982156341365185]], [[-4.1653237767831932, 1.2195082665106032], [-2.3056167536684113, 4.177465488447119]], [[-0.51395444866864537, 1.8755115118428787], [-1.9810321781054183, 3.79163514119446]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[3.3698978675934477, -3.9714256408919257], [-4.4489727149228955, -2.9842204610491208]], [[-2.2605610142840615, 0.83308706980661196], [-0.35942147015796344, 0.52384301161249347]], [[-0.84631063044320332, 1.4692077310925882], [-3.6120198778884758, 3.9754259102979699]], [[-2.0117286688483169, -2.9755364587473898], [-1.237529244848071, 2.4695839884134871]], [[1.5323222893735791, 0.70115317459460336], [-3.7962353426138229, -4.9042100281135017]], [[-2.7123015822616923, 4.5444542615341224], [-0.84287517218828079, -1.5865951677787415]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.6284061375633412, 1.3724072601861286], [-4.5278124079119877, 0.22624546888782371]], [[1.4790331298080237, 2.7050630808376646], [-3.6177575870361531, 3.3048093202503148]]], [[[-3.540681852135581, -4.0190361092237747], [-1.2119517942899716, -1.6230942332735356]], [[6.537639980914224, 0.72563452887909019], [7.561249277061882, 6.9373504846476539]]], [[[-3.4774223238601003, -0.24392124820896566], [-1.4037238084422246, -1.3835254690873411]], [[3.0177537095252962, 0.78089130282982833], [8.4650027398195657, 6.5300904247027018]]], [[[4.0386648247990458, 7.0726265492191072], [-1.7380057795915551, -2.8070596949387685]], [[1.192665536569911, 3.2775894711351503], [-4.6316786081782571, 3.3666710850168728]]], [[[-8.6016624941134179, -3.3988677116525157], [4.0944392546989725, -0.67742025593900923]], [[-2.8270882797918193, -2.4434361050673075], [4.6284952015250598, 4.1901181287139249]]], [[[4.1176504476378479, -4.1532838699631478], [-2.8601034347672556, 6.6794246573796645]], [[-4.0737135529442279, 2.2115166533315778], [3.8813939009896279, 5.1294640331744823]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.1890232344984595, 1.8117901632510103], [-6.7539398483767368, -1.9998819715769254]], [[-5.7672080942376365, -4.5411781432079952], [-5.0748601442956591, 1.8477067629908093]]], [[[-3.9660598782860346, -4.4444141353742284], [2.3814634582582332, 1.9703210192746692]], [[2.2540096798851836, -3.5579957721499502], [3.2811662414902161, 2.657267449075988]]], [[[-4.7665376275756097, -1.5330365519244751], [-0.94334104606962299, -0.92314270671473952]], [[-1.2404029050053742, -3.4772653117008421], [7.645590754928655, 5.7106784398117911]]], [[[-2.6806553906750654, 0.35330633374499598], [-0.97082527583813549, -2.0398791911853489]], [[-0.54980432385212019, 1.5351196107131191], [-0.66387898562825143, 7.3344707075668785]]], [[[-2.9040164279566456, 2.2987783545042566], [3.5760841627829727, -1.1957753478550091]], [[-4.3177068687372309, -3.934054694012719], [-4.4531803150355609, -4.8915573878466958]]], [[[1.919303314044801, -6.3516310035561947], [-0.19116068507601192, 9.3483674070709082]], [[-2.9355565470270903, 3.3496736592487153], [-1.4968364079835736, -0.24876627579871924]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank3_taggedData_rank4(self):  
       arg0=Data(numpy.array([[[2.2680911991864727, -3.3131167536169501], [3.5698910313427294, 4.13860181404117]], [[-1.9773336419756404, -2.387077123022995], [-2.2550473607030552, -1.1462491313086676]], [[4.5203340074576452, 1.2681885103014698], [-3.1693840788832395, 3.2197042725847282]], [[-4.6825759154848683, 0.37256237609823994], [-2.7489809517539419, -4.4897872789276461]], [[-0.040678626065496992, 1.490489228098868], [-2.8805813277925685, -1.8754114542160929]], [[0.48667367250316929, -2.7322338237952639], [-2.2343635904163826, -0.4125519799871018]]]),self.functionspace)  
       arg1=Data(numpy.array([[[[-2.5629776246900224, 3.7640507338485563], [-1.2379735799126457, -3.3720472351285355]], [[2.5106580255252506, 1.3881528536044119], [4.183958385551799, -4.4474834428834784]]], [[[4.1430012554850553, -0.825810162004875], [-3.9180859096046139, -1.7811533908871349]], [[2.8095203268704267, -4.1357018379015464], [4.1370866566410101, -1.0675897420662261]]], [[[2.2643940243406639, 1.3726927076353448], [1.7149503227438867, 3.3693702797363958]], [[1.9667034846202238, 2.673986538724499], [-3.7178180783962631, 0.59661763212688435]]], [[[-3.959988849536197, -0.3913926456053094], [-0.9874601512066814, 1.8725812198526501]], [[-0.53640160707280238, 0.95851263719753721], [3.7646085342126057, 4.2363846718975733]]], [[[4.425591192921086, -1.5332029530264348], [3.7242491724078111, -2.9059333590583436]], [[2.2784637219458181, 3.8992259528271855], [-4.829487534865943, 2.0943637768710968]]], [[[-4.0657883147948262, 0.96030234040728146], [-2.8958920852705772, 0.052957091683700774]], [[2.7528929692711381, -4.0615190862136439], [1.1925270237856136, 2.47977799039435]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-4.3087831093441125, 3.9371955972576025], [4.4821751722553298, -4.6097720589009317]], [[-2.6179916610690688, 1.2044070077711266], [2.3252905113096318, -2.1101487479994754]]], [[[-2.0486290785742911, 4.2819902823090743], [-4.9050323182024345, -1.6259114211335612]], [[-0.74572646296816458, 3.0524876006148602], [1.9064962667208487, -3.0524912895992538]]], [[[1.3979549709765093, -0.06405995363772643], [2.2303976910493422, -4.8563443793489309]], [[3.4779033521228193, 1.3340860715732976], [3.679454996986447, 1.7747954757654458]]], [[[-2.5621096270005292, -1.5899996561147534], [-3.7506427378586524, 1.4034425576127942]], [[4.1039636917898008, -2.7986759326318311], [-0.58262645637690014, 1.4845262975502402]]], [[[3.2897950798295241, 2.8390892663784104], [2.286821098468435, -0.24195080758778875]], [[4.8307104288916047, -2.3330806137088036], [-1.0551834800127602, 2.9529496438443825]]], [[[-0.48292460097189238, -1.8569333523213691], [4.2800278697326437, -1.780292520335113]], [[-3.6295518356734959, -4.4957461336612852], [0.68759499636988508, 0.2344053272508182]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.29488642550354971, 6.032141933035029], [-4.5510903335295954, -6.6851639887454857]], [[6.0805490568679801, 4.9580438849471413], [8.322560199592969, -0.30888162884230841]]], [[[2.1656676135094148, -2.8031438039805154], [-6.3051630326276094, -4.1682305139101299]], [[0.55447296616737152, -6.3907491986046017], [2.9908375253323425, -2.2138388733748937]]], [[[6.7847280317983092, 5.89302671509299], [2.9831388330453565, 4.6375587900378656]], [[-1.2026805942630157, -0.49539754015874049], [-0.49811380581153486, 3.8163219047116126]]], [[[-8.6425647650210653, -5.0739685610901777], [-0.61489777510844146, 2.2451435959508901]], [[-3.2853825588267442, -1.7904683145564046], [-0.7251787447150404, -0.25340260703007278]]], [[[4.3849125668555891, -1.5738815790919318], [5.214738400506679, -1.4154441309594756]], [[-0.60211760584675034, 1.0186446250346171], [-6.7048989890820359, 0.21895232265500386]]], [[[-3.5791146422916569, 1.4469760129104507], [-5.6281259090658411, -2.6792767321115631]], [[0.51852937885475558, -6.2958826766300264], [0.77997504379851179, 2.0672260104072482]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.0406919101576397, 6.2052867964440752], [1.1690584186383797, -7.9228888125178818]], [[0.95189937027366067, 4.7742980391138561], [6.4638923253508018, 2.0284530660416946]]], [[[-4.0259627205499315, 2.3046566403334339], [-7.2921094412254295, -4.0129885441565563]], [[-3.0007738236712198, 0.79744023991180502], [0.76024713541218114, -4.1987404209079209]]], [[[5.9182889784341546, 4.4562740538199188], [3.498586201350812, -3.5881558690474611]], [[0.30851927323957984, -1.8352980073099419], [6.8991592695711752, 4.9944997483501741]]], [[[-7.2446855424853975, -6.2725755715996216], [-3.3780803617604125, 1.7760049337110342]], [[1.3549827400358589, -5.5476568843857734], [-5.0724137353045462, -3.0052609813774058]]], [[[3.2491164537640271, 2.7984106403129134], [3.7773103265673029, 1.2485384205110792]], [[1.9501291010990363, -5.2136619415013721], [-2.9305949342288531, 1.0775381896282896]]], [[[0.0037490715312769041, -1.3702596798181998], [1.5477940459373798, -4.5125263441303769]], [[-5.8639154260898785, -6.7301097240776677], [0.27504301638278328, -0.17814665273628361]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_constData_rank4_taggedData_rank4(self):  
       arg0=Data(numpy.array([[[[1.4822463613961006, 0.12207195129100068, -0.70717171642758014, -4.8375167040886033], [-2.857819633280223, -2.2005261156524059, 0.037031305587431618, 2.4532088949401221], [-4.5993955499322308, -2.3019995523555217, -4.2400081720390368, 3.1254627769764785]], [[0.87175629675574307, -0.44552393575348148, -0.097363039815741459, -0.24983640433779097], [-0.62361314929033007, 1.0935667367413346, 2.5766738120743504, -2.124299913733422], [-1.6355526513091014, 0.56312348796118261, 2.9316351261997706, 0.14809289685005211]]], [[[-3.8774314715600635, -3.171931222100385, 4.9733771107807829, -0.85214207777436002], [0.028139759956209431, -0.85466678581206246, 3.8623623589236047, 0.45206487011229868], [-4.0247819271404666, -3.7152864820539202, -0.33505234885989843, -3.7898400244386279]], [[-3.4995897066532966, -4.5781892829604942, 0.71727643462013635, 2.2576855531337685], [3.8589889142099949, 2.5019050634060527, -1.1129511524282263, -0.99285034059921617], [2.973958385971434, 2.05549672362931, -3.1480944513177644, 1.173083536056712]]], [[[-2.1679759999482684, 3.7163024078802493, 4.7465333366767268, -1.883451613962992], [-2.968924008612003, -3.8547679826603476, 0.68518395634896301, 1.1398620458027606], [1.7309050526940597, -4.9420704847959041, -2.8790368773383843, 2.1662890526546486]], [[-1.2073822289605562, -4.990808706617833, 0.68927256673160908, -2.3894761858872702], [-0.90054069084004063, 2.9215953304192519, 2.5704916957159272, 0.39530693651620741], [3.2991270590301625, -3.8781992018192737, -1.6340924849196758, -2.4103180463634821]]]]),self.functionspace)  
       arg1=Data(numpy.array([[[[-4.9029824009931691, -0.882310868738859, 2.4932848678928092, -3.9921211708603108], [0.68979544026008099, -4.4180214632021979, -1.14060906753528, 1.8301532149110695], [3.8608924356371759, -1.3809382339380383, 4.9591556804842476, 0.96524768384265247]], [[4.5059654354623433, -3.5044449946991572, -4.1964457607267844, 1.1169005823875322], [-1.2416154450825525, -0.43106836899662326, 1.8089511803275347, -4.3557621933247948], [4.4795841342784399, 2.4867633490616603, 2.3197995495561496, 2.3675470423079208]]], [[[3.6201779725943535, -1.5779589017436821, 3.8613230375264038, -2.9864001942255349], [2.9913233428274086, -3.69883048320954, -4.3793898636992887, 2.628522486301998], [0.19460249857441347, -3.1416705343987417, 0.38376064038768121, 1.0500976713019394]], [[4.6301979367991137, -2.0567460692007913, -0.39725854143643513, -2.9591822573363977], [1.1663878765358113, -4.3256876021830015, -1.4706858418970326, -0.19801130146456014], [3.3929386838412867, -2.9140906132761, -1.3051729046307816, -1.7081518819891341]]], [[[-4.7639397617293655, -1.8730261930499905, 3.7450799888609136, -3.1484592710114621], [-3.4422650438251279, -4.1309300815479677, 3.9272393777418042, 1.1797561348472119], [2.6222189596026748, -1.0716456065247568, -2.5346034969842313, -2.3698219700703627]], [[-2.3262957840772422, 2.942131935461787, 4.1081113383911081, 0.30150450363298198], [1.3465485932876797, 3.3228886787969412, -0.76653174318244499, -1.4475416816203368], [0.8150870343536365, -3.1647811269243964, -2.2673631036618316, 3.6115873216559002]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-2.3024909490244916, -3.8902461325392954, 0.10334966222882436, -2.8890226178226932], [1.4598306059955926, 0.11347290916193131, -4.6467090922396226, -4.1745116501677506], [-2.2701078956139167, 2.800226653208334, -4.7801775571880265, 4.6177216172874225]], [[4.0162568625344583, -0.062391721889550666, 2.4022838157655615, 2.6599706431716195], [0.08555537065513974, 2.5951863342485906, -1.332082041651943, 1.1322937364076422], [-4.8919203162689033, -2.8943099197323754, -2.7421032633913143, -2.2069838267981732]]], [[[4.0979615361209891, 0.86502895476119246, -4.7355582828172089, 4.6043047186826911], [-1.8881208251078352, 2.3414960518026771, -0.76685446369066845, 1.6753843187686819], [1.1235995197295434, -2.4687994796490207, -0.39003673167993558, -4.7386320578503041]], [[-1.5710412233607873, -2.0280876783570125, -3.1242799243330599, 3.2276178156752131], [4.2974980620210239, -1.3908805169474006, 2.0502913661679711, -0.45323676391468748], [4.0923984328759371, -0.97937739826827297, -3.0648025183722858, -2.2557227242114752]]], [[[-4.9678194446752055, -3.3031829691822012, -3.2973257071604536, 0.93639594568085194], [4.7146327145791247, 0.36535734880803439, -4.1847000277335447, 0.66864670215610822], [2.4003521393395975, -2.1674916394687607, -2.6812446155771719, -0.52516334551379185]], [[2.9344618195800898, 0.7058739763862345, 3.0669884219854779, 0.59470213282316564], [3.4535864128315055, 4.4506599934024056, -1.1067627377643205, -4.355715932452533], [-3.8851069996808265, -0.0095917769746183268, -0.99182983159848526, 1.4635315540733851]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.4207360395970685, -0.76023891744785832, 1.7861131514652291, -8.8296378749489151], [-2.168024193020142, -6.6185475788546038, -1.1035777619478484, 4.2833621098511916], [-0.73850311429505489, -3.6829377862935599, 0.7191475084452108, 4.0907104608191309]], [[5.3777217322180864, -3.9499689304526386, -4.2938088005425259, 0.86706417804974123], [-1.8652285943728826, 0.66249836774471138, 4.3856249924018851, -6.4800621070582167], [2.8440314829693385, 3.0498868370228429, 5.2514346757559203, 2.5156399391579729]]], [[[-0.25725349896571004, -4.7498901238440672, 8.8347001483071868, -3.838542271999895], [3.0194631027836181, -4.5534972690216025, -0.51702750477568404, 3.0805873564142967], [-3.8301794285660531, -6.8569570164526619, 0.048708291527782777, -2.7397423531366885]], [[1.1306082301458171, -6.6349353521612855, 0.32001789318370122, -0.70149670420262922], [5.0253767907458062, -1.8237825387769488, -2.5836369943252588, -1.1908616420637763], [6.3668970698127207, -0.85859388964678995, -4.4532673559485456, -0.53506834593242214]]], [[[-6.9319157616776339, 1.8432762148302588, 8.4916133255376405, -5.0319108849744545], [-6.4111890524371304, -7.9856980642083153, 4.6124233340907672, 2.3196181806499725], [4.3531240122967345, -6.0137160913206609, -5.4136403743226156, -0.20353291741571411]], [[-3.5336780130377985, -2.0486767711560461, 4.7973839051227172, -2.0879716822542882], [0.4460079024476391, 6.2444840092161931, 1.8039599525334822, -1.0522347451041294], [4.114214093383799, -7.0429803287436705, -3.9014555885815074, 1.2012692752924181]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-0.82024458762839103, -3.7681741812482947, -0.60382205419875579, -7.7265393219112966], [-1.3979890272846305, -2.0870532064904745, -4.609677786652191, -1.7213027552276285], [-6.8695034455461474, 0.4982271008528123, -9.0201857292270624, 7.7431843942639009]], [[4.8880131592902014, -0.50791565764303215, 2.30492077594982, 2.4101342388338285], [-0.53805777863519033, 3.6887530709899252, 1.2445917704224074, -0.99200617732577978], [-6.5274729675780048, -2.3311864317711928, 0.18953186280845635, -2.0588909299481211]]], [[[0.22053006456092561, -2.3069022673391926, 0.23781882796357401, 3.7521626409083311], [-1.8599810651516258, 1.4868292659906146, 3.0955078952329362, 2.1274491888809806], [-2.9011824074109231, -6.1840859617029409, -0.72508908053983401, -8.5284720822889319]], [[-5.0706309300140839, -6.6062769613175067, -2.4070034897129235, 5.4853033688089816], [8.1564869762310188, 1.1110245464586521, 0.93734021373974485, -1.4460871045139037], [7.0663568188473711, 1.076119325361037, -6.2128969696900498, -1.0826391881547632]]], [[[-7.1357954446234739, 0.41311943869804812, 1.4492076295162732, -0.94705566828214005], [1.7457087059671217, -3.4894106338523132, -3.4995160713845817, 1.8085087479588688], [4.1312571920336572, -7.1095621242646647, -5.5602814929155562, 1.6411257071408567]], [[1.7270795906195335, -4.2849347302315985, 3.756260988717087, -1.7947740530641045], [2.5530457219914648, 7.3722553238216575, 1.4637289579516066, -3.9604089959363256], [-0.58597994065066406, -3.887790978793892, -2.6259223165181611, -0.94678649229009704]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_float_rank0(self):  
       arg0=Data(0.947639610355,self.functionspace)  
       arg0.setTaggedValue(1,-1.61586443923)  
       arg1=-3.44238501675  
       res=add(arg0,arg1)  
       ref=Data(-2.49474540639,self.functionspace)  
       ref.setTaggedValue(1,-5.05824945598)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_float_rank0(self):  
       arg0=Data(numpy.array([2.6036628979343091, 0.62702101888498252]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([1.495429331646597, 4.455504823844759]))  
       arg1=0.0555899960011  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([2.659252893935383, 0.68261101488605647]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.5510193276476709, 4.5110948198458329]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_float_rank0(self):  
       arg0=Data(numpy.array([[-1.5994253392211908, 3.6846291663408426, -3.3218671572933332, -2.2776074993662521, 0.76333658854429842], [0.49566509304950834, -0.60439617671997503, -0.5253992544496473, -0.047494991627123007, 0.72303814173550585], [-2.1840298753900553, 0.99465661100980363, 1.1885353232450049, -4.5347444376401427, 2.6942087420829122], [-3.5235335138427901, 1.9610789087886262, -0.24507282507760042, -1.9579355480139613, 0.37784651878724684]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-0.23606090032217342, 3.5252363850600261, 3.2588788378924001, -0.53761394984740818, -1.6108779159499251], [4.103577969573406, -3.6194424018402294, -1.927398394385631, 1.38062524784735, 2.0703687858122519], [-2.4938574019734694, 0.61787752150165876, 1.2798016266850265, 1.1745494813911765, 2.8021462691083396], [-3.2478963192856201, -1.1643942934480478, 0.70603203281913807, 4.5582966325516008, -3.1122794151643185]]))  
       arg1=2.3317763135  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[0.73235097427903728, 6.0164054798410707, -0.99009084379310508, 0.054168814133976007, 3.0951129020445265], [2.8274414065497364, 1.727380136780253, 1.8063770590505808, 2.2842813218731051, 3.0548144552357339], [0.14774643811017274, 3.3264329245100317, 3.520311636745233, -2.2029681241399146, 5.0259850555831402], [-1.1917572003425621, 4.2928552222888543, 2.0867034884226277, 0.37384076548626677, 2.7096228322874749]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[2.0957154131780547, 5.8570126985602542, 5.5906551513926281, 1.7941623636528199, 0.72089839755030294], [6.4353542830736341, -1.2876660883400013, 0.40437791911459708, 3.712401561347578, 4.40214509931248], [-0.16208108847324132, 2.9496538350018868, 3.6115779401852546, 3.5063257948914046, 5.1339225826085677], [-0.91612000578539199, 1.1673820200521803, 3.0378083463193661, 6.8900729460518289, -0.78050310166409043]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_float_rank0(self):  
       arg0=Data(numpy.array([[[3.1585847430558527, -2.8016595194070373], [1.3477106863793509, 4.5447881446575842]], [[-0.56332733773502763, 4.8723133908921294], [1.1090081161188756, -1.5659462489649858]], [[-0.31862197417635496, 0.66680448351409005], [-1.4014020719522682, 2.3865192978717076]], [[-3.7779818719225644, 4.3756846690784741], [0.06349100295348542, -3.7315154732097175]], [[-0.79551098710488599, 0.99491608534783005], [2.3273411479423043, 0.077435486727107872]], [[-0.59562838044658584, 4.8283314293784692], [2.5844052885875328, 3.7722409643190318]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[0.95925053953059702, -0.40953913035827583], [2.8538007545821777, -4.9142675953797719]], [[1.5397294165616513, 4.0544745678548004], [3.1205363622291156, -1.5005249694612943]], [[3.8454569017972311, -2.5784180063389828], [-3.4305991821850199, -3.3565765765997235]], [[-1.5270464911963311, 4.3252866694791798], [2.0846703823845445, 0.81953942075278796]], [[0.19721771080812722, -2.6129087689252573], [-1.7694278790855145, -3.6130048061715767]], [[-4.8631591643505887, -1.7967660179094236], [4.2504585521039502, 4.9799959788865173]]]))  
       arg1=4.28550349756  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[7.4440882406150113, 1.4838439781521213], [5.6332141839385095, 8.8302916422167428]], [[3.722176159824131, 9.1578168884512881], [5.3945116136780342, 2.7195572485941728]], [[3.9668815233828036, 4.9523079810732487], [2.8841014256068904, 6.6720227954308662]], [[0.5075216256365942, 8.6611881666376327], [4.348994500512644, 0.55398802434944105]], [[3.4899925104542726, 5.2804195829069887], [6.6128446455014629, 4.3629389842862665]], [[3.6898751171125728, 9.1138349269376278], [6.8699087861466914, 8.0577444618781904]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[5.2447540370897556, 3.8759643672008828], [7.1393042521413363, -0.62876409782061327]], [[5.8252329141208099, 8.339978065413959], [7.4060398597882742, 2.7849785280978643]], [[8.1309603993563897, 1.7070854912201758], [0.85490431537413869, 0.92892692095943508]], [[2.7584570063628275, 8.6107901670383384], [6.3701738799437031, 5.1050429183119466]], [[4.4827212083672858, 1.6725947286339014], [2.5160756184736441, 0.67249869138758189]], [[-0.5776556667914301, 2.488737479649735], [8.5359620496631088, 9.265499476445676]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_float_rank0(self):  
       arg0=Data(numpy.array([[[[1.0424022680083063, -0.77857238206629198, -3.2078977052527802, 0.61342358476592906], [2.9785274211194155, 4.9086699857481673, -0.62259947883116418, -3.7279019118216516], [-2.9042768241445573, 0.36365762349396746, -1.9924036508224221, 0.70959908457934517]], [[0.73012289567171429, 2.7815272195425544, 0.92708774458523813, 2.0553442527476999], [-0.57968224104020383, -3.4639320663269837, 3.0444127917283446, 4.3746573798031836], [-3.6047238390481882, 1.967128596605531, 2.1139495740953738, 3.4591199489248261]]], [[[-0.9678500897492448, 0.1790217919152326, 2.3393952758432581, -0.064971346261680551], [4.141541673158013, 0.20645701833163699, 2.838557460069465, 0.30073103736946027], [4.1393818333868939, -0.18133533437190685, 3.7504859318718147, 3.0224364570481228]], [[0.58847648523127827, 3.1507917354933888, -4.6786772632162261, 3.9949240275013995], [-1.0403070040023321, 4.63613783793636, -4.5619054609819312, -1.5058711858289953], [1.4078755942761507, -2.8864934926923302, -0.22264246745144689, 3.7879811407955533]]], [[[0.18279684232915905, 0.22094661427644802, 4.8246341345389272, 4.8443162038928378], [-2.5853405605881132, 3.7956684713289874, 1.8978626465694877, -0.25206312881033277], [-4.5609486763330516, -3.0217666776884702, -1.9827789233059123, 0.50942986319093553]], [[-2.6123556539803925, -2.880826643614026, 1.7042397781548226, 2.610092603305989], [-0.30979716811479996, 2.0131330482762611, -1.3172275727685987, 2.3386141278184605], [4.19798481298246, -4.0572506000037798, -2.0625942185413759, 1.9340598730172731]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-2.4345837057401685, 4.4064765825153867, -2.7068605110142272, -2.9785243914349593], [4.9757868159939207, -2.9253689675057712, 0.11497209940073994, 3.0967165063807922], [1.6225330813051029, 1.0050867657555349, -3.0371184025882449, 3.381998838211393]], [[-4.2510334557522365, 4.1741513760271047, -1.2461165660475881, -1.325514766188296], [3.9010125920040668, -3.5225898507147093, -1.692276665104131, -0.98384516617155615], [3.3440332503754764, 4.480917168751656, 1.5703163964934399, 1.9741705208658278]]], [[[-4.6116845586140975, -3.317603159027962, 3.4340459711928197, -4.9727446745884762], [-2.9572486195724612, 2.4402679611290692, 3.1790856356685016, 4.1557198799978448], [1.8698198793552612, 2.9491197212763174, -2.7943071801646866, -0.91130794642917046]], [[3.8830960847362377, 4.7877838086544475, 3.6132298160195067, 4.7267486711093998], [-2.5247980915925816, -3.8197122984471168, 4.0083255370597328, 2.0735049693931629], [-2.7317862887900404, 1.0059908512266507, -3.6508131544880706, 4.1198207344368658]]], [[[-2.7622567068209527, 3.8876554888412862, 0.077159721183298835, 1.9684089931717903], [2.7792275208121584, -2.9792874168684467, 0.64802966919030869, -3.9989387607496782], [-0.11281095081205539, -4.1575167485592699, -1.6699107185754523, 4.9146275674406148]], [[4.5416849691128895, -1.7532291040547996, 3.961916708333808, 2.8402804017837173], [-3.1428499838041968, -3.383326524384076, 1.4178313753169069, -0.048039050289321317], [0.73798101400164295, 4.5149726109638273, 1.1218341448806353, -0.79324835772070124]]]]))  
       arg1=0.406114695582  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[1.4485169635905288, -0.37245768648406941, -2.8017830096705576, 1.0195382803481516], [3.3846421167016381, 5.3147846813303898, -0.2164847832489416, -3.3217872162394291], [-2.4981621285623348, 0.76977231907619004, -1.5862889552401995, 1.1157137801615677]], [[1.1362375912539369, 3.187641915124777, 1.3332024401674607, 2.4614589483299225], [-0.17356754545798125, -3.0578173707447611, 3.4505274873105671, 4.7807720753854062], [-3.1986091434659656, 2.3732432921877535, 2.5200642696775963, 3.8652346445070487]]], [[[-0.56173539416702223, 0.58513648749745517, 2.7455099714254807, 0.34114334932054202], [4.5476563687402356, 0.61257171391385956, 3.2446721556516875, 0.70684573295168285], [4.5454965289691165, 0.22477936121031572, 4.1566006274540372, 3.4285511526303454]], [[0.99459118081350084, 3.5569064310756113, -4.2725625676340035, 4.4010387230836221], [-0.63419230842010954, 5.0422525335185826, -4.1557907653997086, -1.0997564902467727], [1.8139902898583733, -2.4803787971101077, 0.18347222813077568, 4.1940958363777758]]], [[[0.58891153791138162, 0.62706130985867059, 5.2307488301211498, 5.2504308994750604], [-2.1792258650058907, 4.20178316691121, 2.3039773421517102, 0.1540515667718898], [-4.154833980750829, -2.6156519821062476, -1.5766642277236897, 0.9155445587731581]], [[-2.2062409583981699, -2.4747119480318034, 2.1103544737370452, 3.0162072988882116], [0.096317527467422615, 2.4192477438584836, -0.91111287718637612, 2.744728823400683], [4.6040995085646825, -3.6511359044215572, -1.6564795229591533, 2.3401745685994957]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.0284690101579459, 4.8125912780976092, -2.3007458154320046, -2.5724096958527367], [5.3819015115761433, -2.5192542719235487, 0.52108679498296251, 3.5028312019630148], [2.0286477768873254, 1.4112014613377575, -2.6310037070060224, 3.7881135337936156]], [[-3.8449187601700139, 4.5802660716093273, -0.84000187046536556, -0.91940007060607343], [4.3071272875862894, -3.1164751551324867, -1.2861619695219084, -0.57773047058933358], [3.750147945957699, 4.8870318643338786, 1.9764310920756625, 2.3802852164480504]]], [[[-4.205569863031875, -2.9114884634457394, 3.8401606667750423, -4.5666299790062537], [-2.5511339239902386, 2.8463826567112918, 3.5852003312507241, 4.5618345755800673], [2.2759345749374837, 3.35523441685854, -2.388192484582464, -0.50519325084694788]], [[4.2892107803184603, 5.1938985042366701, 4.0193445116017292, 5.1328633666916224], [-2.118683396010359, -3.4135976028648942, 4.4144402326419554, 2.4796196649753854], [-2.3256715932078178, 1.4121055468088732, -3.2446984589058481, 4.5259354300190884]]], [[[-2.3561420112387301, 4.2937701844235088, 0.48327441676552141, 2.3745236887540129], [3.185342216394381, -2.5731727212862241, 1.0541443647725313, -3.5928240651674557], [0.29330374477016719, -3.7514020529770473, -1.2637960229932297, 5.3207422630228374]], [[4.9477996646951121, -1.347114408472577, 4.3680314039160306, 3.2463950973659399], [-2.7367352882219742, -2.9772118288018534, 1.8239460708991295, 0.35807564529290126], [1.1440957095838655, 4.9210873065460499, 1.5279488404628578, -0.38713366213847866]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_array_rank0(self):  
       arg0=Data(-3.32541188903,self.functionspace)  
       arg0.setTaggedValue(1,-4.19764213252)  
       arg1=numpy.array(0.147891605631)  
       res=add(arg0,arg1)  
       ref=Data(-3.1775202834,self.functionspace)  
       ref.setTaggedValue(1,-4.04975052688)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_array_rank0(self):  
       arg0=Data(numpy.array([1.8187778540941739, -4.3918242816195798]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-2.6984275225163943, -3.4171348158796047]))  
       arg1=numpy.array(4.48662779608)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([6.3054056501748974, 0.094803514461143656]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.7882002735643292, 1.0694929802011188]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_array_rank1(self):  
       arg0=Data(-2.02663859056,self.functionspace)  
       arg0.setTaggedValue(1,0.257630503084)  
       arg1=numpy.array([-1.6344849439377054, 3.2922665945281171])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-3.661123534500768, 1.2656280039650545]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([-1.3768544408533394, 3.5498970976124831]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_array_rank0(self):  
       arg0=Data(numpy.array([[-3.3444219930158581, -0.43852790832322164, -2.3284564986570877, -0.33703558790907007, 2.865401735738784], [-3.043073448173895, 3.6684034633650473, -1.4505137843771134, -1.8242356994647748, 4.0712759913635743], [4.5197195147090632, 3.255668432105459, 3.7799117669584277, 3.0271485280397972, 1.3759886880132841], [-3.2599870640762374, -1.6327782058985996, 3.6587199230341874, 3.7812939098118967, 3.2499284384509561]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[4.4399717545060486, -3.014082606423012, -4.8706152831389744, -1.1865745914004568, 1.7122873821029341], [1.8415578066428937, -4.5100224561863076, -4.1286868063903457, 4.0517563205206049, -0.18960523436852839], [-3.0416450917431206, 1.088959081025016, -1.5025891311160153, -4.3461456238060814, 0.25892126402747451], [-0.04816121865266787, -0.093986266315733147, 3.9403740272425214, -4.760026073137765, -1.6717561697885595]]))  
       arg1=numpy.array(-4.27303981821)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-7.6174618112239063, -4.7115677265312694, -6.6014963168651359, -4.6100754061171179, -1.4076380824692638], [-7.3161132663819428, -0.60463635484300049, -5.7235536025851612, -6.0972755176728226, -0.20176382684447347], [0.2466796965010154, -1.0173713861025888, -0.49312805124962011, -1.2458912901682506, -2.8970511301947637], [-7.5330268822842852, -5.9058180241066474, -0.61431989517386043, -0.49174590839615107, -1.0231113797570917]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[0.16693193629800085, -7.2871224246310593, -9.1436551013470222, -5.4596144096085046, -2.5607524361051137], [-2.4314820115651541, -8.7830622743943554, -8.4017266245983926, -0.22128349768744293, -4.4626450525765762], [-7.3146849099511684, -3.1840807371830318, -5.7756289493240631, -8.6191854420141283, -4.0141185541805733], [-4.3212010368607157, -4.3670260845237809, -0.3326657909655264, -9.0330658913458137, -5.9447959879966072]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_array_rank2(self):  
       arg0=Data(3.63984499785,self.functionspace)  
       arg0.setTaggedValue(1,4.52023193204)  
       arg1=numpy.array([[-0.48891618295744443, 4.9719976583026, 3.6067736371222257, 0.58561899981393495, -1.7429288731426871], [-3.4784028923806831, 2.2847224733452842, 0.39649913942840431, -4.1640873385135251, -2.0330062701158536], [0.59713739164075896, 4.1953336134277066, 2.8404924058202052, -2.46950056953116, -1.6786362153327596], [-1.7812888157483684, 4.8290567345588222, -3.3694131344468392, 0.34337035762318369, 0.47673901146278475]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[3.1509288148942876, 8.611842656154332, 7.2466186349739576, 4.2254639976656669, 1.8969161247090449], [0.16144210547104887, 5.9245674711970162, 4.0363441372801363, -0.52424234066179309, 1.6068387277358784], [4.236982389492491, 7.8351786112794386, 6.4803374036719372, 1.170344428320572, 1.9612087825189723], [1.8585561821033636, 8.4689017324105542, 0.27043186340489278, 3.9832153554749157, 4.1165840093145167]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[4.0313157490791838, 9.4922295903392282, 8.1270055691588539, 5.1058509318505632, 2.7773030588939411], [1.0418290396559451, 6.8049544053819124, 4.9167310714650325, 0.35614459352310313, 2.4872256619207747], [5.1173693236773872, 8.7155655454643348, 7.3607243378568334, 2.0507313625054682, 2.8415957167038686], [2.7389431162882598, 9.3492886665954504, 1.150818797589789, 4.8636022896598119, 4.996970943499413]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_array_rank0(self):  
       arg0=Data(numpy.array([[[1.1832202612167659, 0.61211696015369998], [-3.3971715737264416, 1.6601021711176998]], [[3.2400117267981727, -0.32465839211367697], [-0.62856918834965025, -3.3348596058843283]], [[3.3212771000686594, -0.646818949663583], [4.3870704694310021, 2.0415596316353817]], [[-4.0397679677370117, -0.27988290309825992], [-2.9051145892698784, 2.0270131316445852]], [[1.9023862007427086, 3.1104897903525277], [-4.1548489488891063, -1.4496212107793092]], [[-2.9497181552460141, 2.1443412239713053], [3.5637271479939443, -2.5969952928923865]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-1.560265610576681, -2.8431614634926614], [-2.59714640537827, -0.39780365867885248]], [[-3.5786745252821706, -0.45836760672625942], [3.8427621349539915, -2.809329190600228]], [[-1.1953957193258322, 2.0960565035537062], [3.0040975550428897, -4.1982256675532037]], [[-4.5447124684921079, -4.0515729621461061], [4.9908398735491666, 1.9933793118246514]], [[3.5935510202468688, -1.8918891582822916], [2.5799158393988826, -4.859596349247532]], [[2.81692347641164, -3.2967345713963345], [4.0135334253788724, 0.78377368237410749]]]))  
       arg1=numpy.array(1.15796302606)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[2.3411832872785849, 1.770079986215519], [-2.2392085476646226, 2.8180651971795188]], [[4.3979747528599917, 0.83330463394814203], [0.52939383771216875, -2.1768965798225093]], [[4.4792401261304784, 0.511144076398236], [5.5450334954928211, 3.1995226576972007]], [[-2.8818049416751927, 0.87808012296355908], [-1.7471515632080594, 3.1849761577064042]], [[3.0603492268045276, 4.2684528164143467], [-2.9968859228272873, -0.29165818471749017]], [[-1.7917551291841951, 3.3023042500331243], [4.7216901740557633, -1.4390322668305675]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-0.402302584514862, -1.6851984374308424], [-1.439183379316451, 0.76015936738296652]], [[-2.4207114992203516, 0.69959541933555958], [5.0007251610158105, -1.651366164538409]], [[-0.037432693264013217, 3.2540195296155252], [4.1620605811047087, -3.0402626414913847]], [[-3.3867494424302889, -2.8936099360842871], [6.1488028996109856, 3.1513423378864704]], [[4.7515140463086878, -0.73392613222047265], [3.7378788654607016, -3.701633323185713]], [[3.974886502473459, -2.1387715453345155], [5.1714964514406914, 1.9417367084359265]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_array_rank3(self):  
       arg0=Data(1.02827405304,self.functionspace)  
       arg0.setTaggedValue(1,-0.807878022362)  
       arg1=numpy.array([[[1.714894236622527, -3.9783714555655489], [4.4767055680658157, -4.7908481831193477]], [[3.1947708464351141, -3.6358559617130846], [4.2621512219941913, 4.869729336521921]], [[-3.9651009180426646, 2.717972326707593], [0.81767493756570708, 3.9533693153138429]], [[0.66582759634722688, -3.2835662177294109], [-2.2142718715832164, -1.1711412305768389]], [[4.4942466456039902, 1.1058107526891821], [-2.4728402706692068, -0.86730427836249735]], [[3.253756162138874, 4.7908994819491415], [4.8259823072822954, 2.8399569037427499]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[2.7431682896601837, -2.9500974025278923], [5.5049796211034723, -3.7625741300816911]], [[4.2230448994727707, -2.6075819086754279], [5.2904252750318479, 5.8980033895595776]], [[-2.936826865005008, 3.7462463797452497], [1.8459489906033637, 4.9816433683514996]], [[1.6941016493848835, -2.2552921646917543], [-1.1859978185455597, -0.14286717753918232]], [[5.5225206986416469, 2.1340848057268387], [-1.4445662176315501, 0.16096977467515927]], [[4.2820302151765306, 5.8191735349867981], [5.854256360319952, 3.8682309567804065]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.90701621426068613, -4.7862494779273899], [3.6688275457039747, -5.5987262054811886]], [[2.3868928240732732, -4.4437339840749255], [3.4542731996323504, 4.0618513141600801]], [[-4.7729789404045055, 1.9100943043457521], [0.0097969152038661633, 3.145491292952002]], [[-0.14205042601461404, -4.0914442400912518], [-3.0221498939450573, -1.9790192529386799]], [[3.6863686232421493, 0.29793273032734113], [-3.2807182930310477, -1.6751823007243383]], [[2.4458781397770331, 3.9830214595873006], [4.0181042849204545, 2.032078881380909]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_array_rank0(self):  
       arg0=Data(numpy.array([[[[1.7136196810562438, -0.50708615272237889, 1.0089120911301386, 1.719537084606154], [1.7844058863353194, 0.41756056692196974, -2.369288666081617, -4.4950151140006742], [2.7989582940343505, 2.4129992769484758, -4.1277438298196945, 4.9052815951207123]], [[0.90202940321890601, 4.8803790208032876, 3.078276686631888, 2.5220858381276434], [-4.626145813247728, 4.1000488148918741, 0.033381433345183176, 2.9745335153219097], [0.022557994100978362, -1.3152280067134137, -3.0295729970257534, 1.4905525240820525]]], [[[-1.1377183940181901, -2.6770487770295901, 3.4547977649713317, -2.1444416092184557], [3.8421574149661506, 4.3176593673247297, -1.2187290211370194, 3.0948728519970103], [2.9398044703881689, -1.8843400996786919, 2.1814561556865044, -1.1235057344086261]], [[-3.7722985156009567, 0.040332467256677162, 3.424026687556692, 2.3879599822334381], [2.8145063308629243, 0.45227528434609532, -1.0037927075273743, 1.8954833503026292], [-4.2368997986406951, 1.4340199008493881, 4.5367616561687143, -4.9514788712097619]]], [[[4.4632994356279543, 4.1978553482103855, -3.8580088329411986, -0.95595310573848202], [-1.8864201182400162, 2.5959058676950155, 2.9124358039866527, 1.9512830923896409], [1.8514642778228545, 3.2762817048089694, 1.4269407666128711, 3.0082364433749387]], [[-1.5560671884911215, -1.9597021225944475, -4.904940853791099, -2.8716561380124164], [1.5881593314361853, 3.8561504081039182, -3.3292792642072309, -0.50402678029179615], [-3.8441328337351366, 1.269252707932738, -1.5029776643390349, -2.7214948817872142]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-0.71928609331473758, -3.7686744351298298, 4.3317661386762669, 2.3286643384860817], [-2.6842474722283702, 2.7707646860353936, 3.4153990244575105, 3.0161057940876947], [-1.3878430156653367, 0.12481385838016923, -2.3167003113120668, 4.5614944981966445]], [[2.8977979569462962, 2.2935460620895149, -0.64437985523665287, 2.4528709816869547], [4.3335399609885066, -4.3953240836280205, -4.9202010817837651, 0.83586104323689181], [-0.4525245977615322, 0.42268554907504985, 1.814149928442351, -4.0668900047086209]]], [[[1.3418304982998688, -0.95103251102788633, 0.84917710741993879, 3.740532474458746], [-1.5773403068879146, -1.2793326461452184, -0.75377803944544386, -1.2389732725179781], [-3.5787450898368514, -0.62639505150428132, 1.7637564750443948, 4.482117894518991]], [[-4.6208950427681295, 4.316176860889394, 2.1535151522679907, 2.1971103770758287], [-3.8802643961546135, 4.7064542938302836, -3.6034266997713607, 4.9004631696451124], [0.092675619812270682, 1.6613260527247364, 1.3045174259268935, 4.1020473845546199]]], [[[4.3057363188546312, 1.9606779483732319, 1.9925081959556152, -4.5054823577452261], [-3.472677049332431, -4.9416660118755527, 0.29714067126157406, 3.9112476113345345], [-3.1380472429802508, 1.683262271366238, 1.0859897215252934, -1.2603827096916453]], [[-2.044323591276461, -1.9231928995058878, 2.4859063439440785, -0.062934633537833129], [-1.3341378405709667, 4.7531150295984101, -0.50435911593045191, 3.4344523433428193], [2.196929065272256, -4.2807655488170688, 2.8932278904994577, -4.7517050705453947]]]]))  
       arg1=numpy.array(-2.20127845314)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.48765877208541575, -2.7083646058640385, -1.192366362011521, -0.48174136853550564], [-0.41687256680634022, -1.7837178862196899, -4.5705671192232771, -6.6962935671423338], [0.59767984089269088, 0.21172082380681623, -6.3290222829613541, 2.7040031419790527]], [[-1.2992490499227536, 2.679100567661628, 0.87699823349022843, 0.32080738498598382], [-6.8274242663893876, 1.8987703617502145, -2.1678970197964764, 0.77325506218025009], [-2.1787204590406812, -3.5165064598550733, -5.230851450167413, -0.71072592905960708]]], [[[-3.3389968471598497, -4.8783272301712497, 1.2535193118296721, -4.3457200623601153], [1.640878961824491, 2.1163809141830701, -3.420007474278679, 0.89359439885535075], [0.73852601724650935, -4.0856185528203515, -0.01982229745515518, -3.3247841875502857]], [[-5.9735769687426163, -2.1609459858849824, 1.2227482344150324, 0.18668152909177849], [0.61322787772126475, -1.7490031687955643, -3.2050711606690339, -0.30579510283903044], [-6.4381782517823547, -0.76725855229227147, 2.3354832030270547, -7.1527573243514215]]], [[[2.2620209824862947, 1.9965768950687259, -6.0592872860828582, -3.1572315588801416], [-4.0876985713816758, 0.39462741455335593, 0.7111573508449931, -0.24999536075201867], [-0.3498141753188051, 1.0750032516673098, -0.77433768652878854, 0.80695799023327908]], [[-3.7573456416327811, -4.1609805757361071, -7.1062193069327586, -5.072934591154076], [-0.61311912170547433, 1.6548719549622586, -5.5305577173488905, -2.7053052334334557], [-6.0454112868767957, -0.93202574520892156, -3.7042561174806945, -4.9227733349288734]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.9205645464563972, -5.9699528882714894, 2.1304876855346073, 0.12738588534442208], [-4.8855259253700298, 0.56948623289373401, 1.2141205713158509, 0.81482734094603515], [-3.5891214688069963, -2.0764645947614904, -4.5179787644537264, 2.3602160450549849]], [[0.69651950380463656, 0.092267608947855351, -2.8456583083783125, 0.25159252854529512], [2.132261507846847, -6.5966025367696801, -7.1214795349254247, -1.3654174099047678], [-2.6538030509031918, -1.7785929040666097, -0.38712852469930858, -6.2681684578502805]]], [[[-0.85944795484179082, -3.1523109641695459, -1.3521013457217208, 1.5392540213170864], [-3.7786187600295742, -3.480611099286878, -2.9550564925871035, -3.4402517256596377], [-5.780023542978511, -2.8276735046459409, -0.43752197809726479, 2.2808394413773314]], [[-6.8221734959097891, 2.1148984077477344, -0.047763300873668868, -0.0041680760658309168], [-6.0815428492962731, 2.505175840688624, -5.8047051529130202, 2.6991847165034528], [-2.1086028333293889, -0.53995240041692316, -0.89676102721476614, 1.9007689314129603]]], [[[2.1044578657129716, -0.24060050476842765, -0.20877025718604436, -6.7067608108868857], [-5.6739555024740902, -7.1429444650172123, -1.9041377818800855, 1.7099691581928749], [-5.3393256961219109, -0.51801618177542164, -1.1152887316163662, -3.4616611628333049]], [[-4.2456020444181206, -4.1244713526475474, 0.2846278908024189, -2.2642130866794927], [-3.5354162937126263, 2.5518365764567505, -2.7056375690721115, 1.2331738902011598], [-0.0043493878694036425, -6.4820440019587284, 0.69194943735779812, -6.9529835236870543]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_array_rank4(self):  
       arg0=Data(4.66207215855,self.functionspace)  
       arg0.setTaggedValue(1,-2.23494498334)  
       arg1=numpy.array([[[[-3.5500505476503843, -1.797682483323114, 0.16747403131747163, -3.0585696013392849], [4.4138547796409, 3.8980037551610991, -2.5468717685935371, -1.3782820503428139], [-3.8193028937676532, 1.7356704554298172, -0.10794078511274119, -1.1363872001686737]], [[-1.4303418277196056, -4.9812274510356662, -3.8468390304387468, 4.1600426073082044], [3.5734213370184786, -3.3414533799358717, 0.72464680620546584, -0.75857573170298753], [3.647540129767517, -2.8522426229470064, 3.0664513972643253, 1.3150100596124927]]], [[[-4.7615999280598063, 3.0789728435335171, 3.2070668006749745, 3.5578378813743754], [0.77607289724099893, 3.8611439925279161, -3.2345985176058321, 4.1854258840779561], [-0.62536624926030449, 0.62480057051578353, 0.85196359594150728, -3.8748237169947233]], [[4.3785268035284712, -1.618733132041561, 4.3209104278840389, 1.3463899820220355], [2.6260840438271114, -0.43593546062496547, -4.5174807635060654, 1.153368450139225], [-2.8692106112277682, -0.36800880742280206, 3.1227005344347187, -4.3826062484898127]]], [[[-4.4379148928622412, -3.165874740901824, 2.6379533744118513, -4.4869567180633005], [-3.6175516960864949, -2.6575107881575266, -1.6606868206160019, -4.227358973349614], [3.8301216863305019, 1.8871832538795186, -0.70439138278470459, 4.3700534078332982]], [[-1.8391631924143081, 0.73839657147849991, -4.52075007646072, 4.2855278557633092], [-0.06846681123612175, 3.2704725810214601, -0.37951123810753984, -1.0536643136420363], [0.10485486915515541, 1.5657101116964167, 4.4252228848206734, -1.1652301500702222]]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[1.1120216108974912, 2.8643896752247615, 4.8295461898653471, 1.6035025572085906], [9.0759269381887755, 8.5600759137089746, 2.1152003899543383, 3.2837901082050616], [0.84276926478022229, 6.3977426139776927, 4.5541313734351343, 3.5256849583792018]], [[3.2317303308282699, -0.31915529248779073, 0.81523312810912874, 8.8221147658560799], [8.2354934955663541, 1.3206187786120038, 5.3867189647533413, 3.903496426844888], [8.3096122883153924, 1.8098295356008691, 7.7285235558122007, 5.9770822181603682]]], [[[-0.099527769511930764, 7.7410450020813926, 7.86913895922285, 8.2199100399222509], [5.4381450557888744, 8.5232161510757916, 1.4274736409420434, 8.8474980426258316], [4.036705909287571, 5.286872729063659, 5.5140357544893828, 0.78724844155315221]], [[9.0405989620763467, 3.0433390265063145, 8.9829825864319144, 6.008462140569911], [7.2881562023749868, 4.22613669792291, 0.14459139504181007, 5.8154406086871004], [1.7928615473201073, 4.2940633511250734, 7.7847726929825942, 0.27946591005806276]]], [[[0.22415726568563432, 1.4961974176460515, 7.3000255329597268, 0.17511544048457495], [1.0445204624613806, 2.0045613703903489, 3.0013853379318736, 0.43471318519826152], [8.4921938448783774, 6.5492554124273941, 3.9576807757631709, 9.0321255663811737]], [[2.8229089661335673, 5.4004687300263754, 0.14132208208715547, 8.9476000143111847], [4.5936053473117537, 7.9325447395693356, 4.2825609204403357, 3.6084078449058392], [4.7669270277030309, 6.2277822702442922, 9.0872950433685489, 3.4968420084776533]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-5.7849955309870404, -4.0326274666597701, -2.0674709520191845, -5.2935145846759415], [2.1789097963042439, 1.6630587718244429, -4.7818167519301937, -3.6132270336794701], [-6.0542478771043093, -0.49927452790683891, -2.3428857684493973, -3.3713321835053298]], [[-3.6652868110562618, -7.2161724343723224, -6.0817840137754029, 1.9250976239715483], [1.3384763536818225, -5.5763983632725278, -1.5102981771311903, -2.9935207150396437], [1.4125951464308608, -5.0871876062836625, 0.83150641392766911, -0.91993492372416341]]], [[[-6.9965449113964624, 0.84402786019686094, 0.97212181733831837, 1.3228928980377193], [-1.4588720860956572, 1.6261990091912599, -5.4695435009424882, 1.9504809007413], [-2.8603112325969606, -1.6101444128208726, -1.3829813873951489, -6.1097687003313794]], [[2.1435818201918151, -3.8536781153782171, 2.0859654445473828, -0.88855500131462062], [0.39113906049045521, -2.6708804439616216, -6.7524257468427216, -1.0815765331974312], [-5.1041555945644248, -2.6029537907594582, 0.88775555109806259, -6.6175512318264689]]], [[[-6.6728598761988973, -5.4008197242384801, 0.40300839107519515, -6.7219017013999567], [-5.852496679423151, -4.8924557714941823, -3.8956318039526581, -6.4623039566862701], [1.5951767029938457, -0.34776172945713757, -2.9393363661213607, 2.1351084244966421]], [[-4.0741081757509647, -1.4965484118581562, -6.7556950597973762, 2.050582872426653], [-2.3034117945727779, 1.035527597684804, -2.614456221444196, -3.2886092969786924], [-2.1300901141815007, -0.66923487164023943, 2.1902779014840172, -3.4001751334068784]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_array_rank1(self):  
       arg0=Data(numpy.array([4.6668559997295009, -0.34729344613203672]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.4807851847330666, 1.2453546039594352]))  
       arg1=numpy.array([4.8737389530514292, 1.5928696714065964])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([9.5405949527809302, 1.2455762252745597]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([3.3929537683183626, 2.8382242753660316]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_array_rank1(self):  
       arg0=Data(numpy.array([[-3.9049373744102969, 1.774767577370814], [0.33121409564645354, -1.0764456650308296]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-2.5956014084092818, -3.2516375963016375], [-2.6930333999543477, 3.1074137102391504]]))  
       arg1=numpy.array([1.1923354395014378, -3.8065443170816868])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-2.712601934908859, 2.9671030168722519], [-3.4753302214352333, -4.882989982112516]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-1.4032659689078439, -2.0593021568001997], [-6.4995777170360345, -0.69913060684253647]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_array_rank2(self):  
       arg0=Data(numpy.array([1.4399883617785303, 4.5519188769680845]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([3.2217215878706931, -4.497189115338406]))  
       arg1=numpy.array([[-2.6833609694179028, 0.92047793877750372], [1.8882872380168871, 4.6708399649947747]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-1.2433726076393725, 2.360466300556034], [6.4402061149849716, 9.2227588419628592]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[0.53836061845279026, 4.1421995266481968], [-2.6089018773215189, 0.17365084965636868]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_array_rank1(self):  
       arg0=Data(numpy.array([[[-4.4988204676833039, -2.9611221365047746, -4.2182823204084228, 4.444244613136501, 4.7817551740538704], [-2.6440075472659452, -1.5272136274730084, -1.4258874097639342, -1.182882592845659, -1.6970734903833753], [3.7886813692212797, 4.1521877311065545, -0.18757506604663465, -2.6691734877053941, 2.2154311422841131], [-3.5941229003221675, -0.51932100427014039, 2.9560314614580898, -2.7263675529303888, -2.8682214432719833]], [[0.40922981981605577, 1.6762390014338564, -1.5062807284797053, -1.4420966080985789, 3.1613921639629048], [-4.0542698475302217, -1.3339875491355535, -4.0733702659164575, -0.78691400259741062, -0.57188387188553591], [4.9482236091941871, 3.5867392717289075, -4.1108257332938738, -3.6057738782010871, -1.5320702112721318], [1.7830452111137234, -0.29865959769532502, 1.6732887009920647, -1.9244638363506894, -2.0028829727311326]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-0.99900612801345368, -2.3273311529635512, 0.26403757681298767, 1.3422106373751035, -2.7901835068773782], [-3.8243315126922828, -3.8350886329903702, -3.6420351116164627, -2.0794362569709635, -0.73774831540939889], [-1.2722897241011175, -3.0018090409145004, 4.2099130275085059, 4.6121115298851674, -1.2552554371581079], [-2.9138193687717551, -4.0411275420557713, 3.375935364195918, -1.257514380790552, 2.4224537323029978]], [[4.0640411533591596, -1.8327624043565915, 0.039879902738148232, 3.4558851460054356, -3.9533204079454975], [4.7508217894219502, 4.2928314848051823, 4.7064163285294089, -3.582790371196217, 1.2785231121365097], [-1.3294384497861111, 0.74230012981783133, 2.9229157033273019, 0.77047979141897827, -3.9005370964227803], [-4.0305357974747427, -4.7739221314638893, -3.9145467199043162, -2.2064981042933587, -2.0833929741205095]]]))  
       arg1=numpy.array([4.845196095824102, -0.26100957297984273])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.34637562814079814, 1.8840739593193274, 0.62691377541567928, 9.289440708960603, 9.6269512698779725], [2.2011885485581568, 3.3179824683510937, 3.4193086860601678, 3.662313502978443, 3.1481226054407268], [8.6338774650453818, 8.9973838269306565, 4.6576210297774674, 2.176022608118708, 7.0606272381082151], [1.2510731955019345, 4.3258750915539617, 7.8012275572821919, 2.1188285428937133, 1.9769746525521188]], [[0.14822024683621304, 1.4152294284540137, -1.767290301459548, -1.7031061810784216, 2.9003825909830621], [-4.3152794205100644, -1.5949971221153962, -4.3343798388963002, -1.0479235755772534, -0.83289344486537864], [4.6872140362143444, 3.3257296987490648, -4.3718353062737165, -3.8667834511809298, -1.7930797842519746], [1.5220356381338807, -0.55966917067516775, 1.412279128012222, -2.1854734093305321, -2.2638925457109753]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[3.8461899678106484, 2.5178649428605508, 5.1092336726370897, 6.1874067331992055, 2.0550125889467239], [1.0208645831318193, 1.0101074628337319, 1.2031609842076394, 2.7657598388531386, 4.1074477804147032], [3.5729063717229845, 1.8433870549096016, 9.055109123332608, 9.4573076257092694, 3.5899406586659941], [1.931376727052347, 0.80406855376833075, 8.22113146002002, 3.58768171503355, 7.2676498281270998]], [[3.8030315803793169, -2.0937719773364343, -0.2211296702416945, 3.1948755730255929, -4.2143299809253403], [4.4898122164421075, 4.0318219118253396, 4.4454067555495662, -3.8437999441760597, 1.017513539156667], [-1.5904480227659539, 0.4812905568379886, 2.6619061303474592, 0.50947021843913554, -4.1615466694026235], [-4.2915453704545854, -5.0349317044437321, -4.175556292884159, -2.4675076772732014, -2.3444025471003522]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_array_rank3(self):  
       arg0=Data(numpy.array([2.1633182548288126, -0.62710916104478898]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([0.38895997875113419, 1.5756525772646901]))  
       arg1=numpy.array([[[-4.1813734151951243, 0.061913783029178049, -4.4257237197306836, 0.99860489634795968, -1.9213063790253884], [-0.56097191424224846, 4.8692732918584873, -4.1358210292081852, 1.156285380424535, 1.0591165150220627], [-1.5979228899677955, 3.5439847788084453, -1.6057529213634156, 2.9912308267446317, -1.785042842280121], [-4.3915978898959871, -3.3349597701182221, -4.1120998692956414, 4.2822604800750224, 1.7851094807381642]], [[3.3819523130543043, -1.550034553278655, 3.0930904366303551, -1.9102065386770253, 2.1564932407276283], [3.4915301757015378, -3.8781805278220927, -2.5174264728583093, 0.46995583910877059, -0.29028211753162037], [3.8940909724978692, 2.5056068338959001, -0.6448417198282419, 3.3700151710189186, -0.52136953582751389], [-2.1567778176928423, -1.5028124108135388, -4.9103900088039438, 0.63427241643918819, 4.4412200976742184]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-2.0180551603663117, 2.2252320378579906, -2.262405464901871, 3.1619231511767723, 0.2420118758034242], [1.6023463405865641, 7.0325915466872999, -1.9725027743793726, 3.3196036352533476, 3.2224347698508753], [0.56539536486101705, 5.7073030336372579, 0.55756533346539694, 5.1545490815734443, 0.37827541254869157], [-2.2282796350671745, -1.1716415152894095, -1.9487816144668288, 6.4455787349038349, 3.9484277355669768]], [[2.7548431520095154, -2.177143714323444, 2.4659812755855661, -2.5373156997218143, 1.5293840796828393], [2.8644210146567488, -4.5052896888668812, -3.1445356339030983, -0.15715332193601839, -0.91739127857640934], [3.2669818114530802, 1.8784976728511111, -1.2719508808730309, 2.7429060099741296, -1.1484786968723029], [-2.7838869787376312, -2.1299215718583278, -5.5374991698487328, 0.007163255394399215, 3.8141109366294295]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-3.7924134364439901, 0.45087376178031224, -4.0367637409795494, 1.3875648750990939, -1.5323464002742542], [-0.17201193549111427, 5.2582332706096215, -3.746861050457051, 1.5452453591756692, 1.4480764937731969], [-1.2089629112166613, 3.9329447575595795, -1.2167929426122814, 3.3801908054957659, -1.3960828635289868], [-4.0026379111448529, -2.9459997913670879, -3.7231398905445072, 4.6712204588261566, 2.1740694594892984]], [[4.9576048903189944, 0.025618023986035077, 4.6687430138950452, -0.33455396141233518, 3.7321458179923184], [5.0671827529662279, -2.3025279505574026, -0.94177389559361924, 2.0456084163734607, 1.2853704597330697], [5.4697435497625593, 4.0812594111605902, 0.9308108574364482, 4.9456677482836087, 1.0542830414371762], [-0.58112524042815217, 0.072840166451151322, -3.3347374315392537, 2.2099249937038783, 6.0168726749389085]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_array_rank1(self):  
       arg0=Data(numpy.array([[[[-0.72239103289953999, 1.5074244522139519], [-3.1244071164888823, 0.82613920035332278]], [[-1.7254835774905466, -0.48274434120799903], [-1.2846217868350376, -1.6595336641977543]], [[-2.0165372471195822, -4.348569774261164], [-0.062653055105888811, -3.1084148420966162]], [[3.2790724550764896, -0.1935765747159639], [1.5335664932055328, 4.1106286874150513]], [[1.9516044541004174, -1.1392755586350356], [4.6816328195523322, 2.0418317440381966]], [[3.8021612881866869, 3.5804946197385288], [1.8350089529179012, -4.4804329490121573]]], [[[-3.1958591361766118, 4.6663773232965369], [2.4703913035882952, -0.2065214498693706]], [[4.4824995407815305, -2.5282158027030843], [-0.47439637517110178, -3.6534877131304153]], [[0.34805056699531711, 2.2702871443616299], [3.3362699442015327, -4.6469533499681051]], [[4.8278437963550438, -0.90864877461968874], [4.8625288361907906, 3.8951831840675304]], [[-2.5478206993377404, 1.9242078665970972], [-0.075268552480972417, -4.0770888603175717]], [[-4.02371169636488, 0.37845893525811558], [-4.4762701208271602, 4.7333834178258645]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[4.1000670894355942, 4.3949816077379431], [-4.372957441116645, 0.41010118936892237]], [[-0.83077014510631386, -3.9378083636499408], [1.4000070218099196, -3.9178757224294714]], [[-3.7945566803434891, -2.2607033337940017], [-0.66980837212617583, 1.2845820109062931]], [[-4.9436288802048445, -1.6254895787206545], [4.5880388870446556, 4.3457865771217215]], [[2.7901255276610604, 1.8712432800617531], [-1.0458432459071676, 2.0659104135500534]], [[-2.8489541592238856, 2.3177892018387301], [-0.54012713412894442, -4.6804427159756319]]], [[[3.4742804707028743, 2.5530764994147823], [3.846765396008168, 3.1631565693820729]], [[3.819857434850956, -3.9475157518775039], [-4.1209243126188522, 0.23844610930251608]], [[-2.7993876690963848, 4.9877459147562586], [2.7169216828000717, 1.1829168717661851]], [[2.6871057608886186, -3.6893155802522637], [-0.25335922287085033, -0.53500870146443003]], [[0.5970687319312411, -3.9843369855225075], [1.3828379674518878, -2.8351341032925168]], [[-4.0503779147240788, 1.3093762250005492], [1.7215232857119531, -2.6529475947246048]]]]))  
       arg1=numpy.array([-2.9404245033783907, 3.7036281457254336])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.6628155362779307, -1.4330000511644387], [-6.0648316198672729, -2.1142853030250679]], [[-4.6659080808689373, -3.4231688445863897], [-4.2250462902134283, -4.599958167576145]], [[-4.9569617504979728, -7.2889942776395547], [-3.0030775584842795, -6.0488393454750069]], [[0.33864795169809891, -3.1340010780943546], [-1.4068580101728578, 1.1702041840366606]], [[-0.98882004927797329, -4.0797000620134263], [1.7412083161739416, -0.89859275934019411]], [[0.86173678480829619, 0.64007011636013811], [-1.1054155504604894, -7.4208574523905479]]], [[[0.50776900954882187, 8.3700054690219705], [6.1740194493137288, 3.497106695856063]], [[8.1861276865069641, 1.1754123430223493], [3.2292317705543319, 0.050140432595018325]], [[4.0516787127207508, 5.9739152900870636], [7.0398980899269663, -0.94332520424267141]], [[8.5314719420804774, 2.7949793711057449], [8.5661569819162242, 7.598811329792964]], [[1.1558074463876933, 5.6278360123225308], [3.6283595932444612, -0.37346071459213803]], [[-0.32008355063944638, 4.0820870809835492], [-0.77264197510172661, 8.4370115635512981]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[1.1596425860572035, 1.4545571043595524], [-7.3133819444950356, -2.5303233140094683]], [[-3.7711946484847045, -6.8782328670283315], [-1.540417481568471, -6.858300225807862]], [[-6.7349811837218798, -5.2011278371723924], [-3.6102328755045665, -1.6558424924720976]], [[-7.8840533835832352, -4.5659140820990451], [1.6476143836662649, 1.4053620737433308]], [[-0.15029897571733031, -1.0691812233166376], [-3.9862677492855583, -0.87451408982833723]], [[-5.7893786626022763, -0.62263530153966062], [-3.4805516375073351, -7.6208672193540226]]], [[[7.1779086164283079, 6.256704645140216], [7.5503935417336017, 6.8667847151075065]], [[7.5234855805763896, -0.24388760615207028], [-0.41729616689341853, 3.9420742550279497]], [[0.90424047662904883, 8.6913740604816923], [6.4205498285255054, 4.8865450174916187]], [[6.3907339066140523, 0.014312565473169947], [3.4502689228545833, 3.1686194442610036]], [[4.3006968776566747, -0.28070883979707384], [5.0864661131773214, 0.86849404243291684]], [[-0.34674976899864518, 5.0130043707259828], [5.4251514314373868, 1.0506805510008288]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_array_rank4(self):  
       arg0=Data(numpy.array([-0.79760261373779962, 3.40180492960544]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-3.9475781025752719, -1.3780050896570351]))  
       arg1=numpy.array([[[[-2.0959094515350718, -3.0260554655364604], [-3.1925470924392698, 4.328446290100425]], [[-1.0641984429781282, -0.98034039658153294], [3.5919954801363758, 0.90946627049657458]], [[-2.3246376885651889, -1.1765500283977195], [-4.84512893394455, 0.8461943732594488]], [[-0.29567512522727135, 2.2259274150799762], [3.306019457709267, 3.6173180616640632]], [[-3.6482493012280326, 4.2059804067327704], [-1.4534510027867031, 3.8127208217023707]], [[-2.8814959019547279, -2.0907939649057106], [2.8514957445601796, 0.16430241938812173]]], [[[1.827516124371515, -2.5001009700006769], [0.85187939589106776, -4.1194884715146749]], [[-3.6746007308805106, 1.4768160261485868], [-2.638023081633516, 3.7744255321612954]], [[1.4844152207602992, -3.4424148471270719], [-3.485176429170779, 3.5273344094697023]], [[1.3441376226879935, 4.4526029671722096], [-4.9033581841426033, 1.6715877325961781]], [[1.4066567427073497, -0.075293675842660335], [3.1659660821280706, -4.7810323625992632]], [[-4.7720536723184743, 4.7734499550855851], [4.6687327334816047, -2.4333648133000008]]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-2.8935120652728714, -3.82365807927426], [-3.9901497061770694, 3.5308436763626254]], [[-1.8618010567159278, -1.7779430103193326], [2.7943928663985762, 0.11186365675877497]], [[-3.1222403023029885, -1.9741526421355191], [-5.6427315476823496, 0.04859175952164918]], [[-1.093277738965071, 1.4283248013421765], [2.5084168439714674, 2.8197154479262636]], [[-4.4458519149658322, 3.4083777929949708], [-2.2510536165245028, 3.0151182079645711]], [[-3.6790985156925275, -2.8883965786435102], [2.05389313082238, -0.63330019434967788]]], [[[5.229321053976955, 0.90170395960476313], [4.2536843254965078, -0.71768354190923489]], [[-0.27279580127507064, 4.8786209557540268], [0.76378184797192405, 7.1762304617667354]], [[4.8862201503657392, -0.0406099175216319], [-0.083371499565338958, 6.9291393390751423]], [[4.7459425522934335, 7.8544078967776496], [-1.5015532545371633, 5.0733926622016181]], [[4.8084616723127898, 3.3265112537627797], [6.5677710117335106, -1.3792274329938232]], [[-1.3702487427130343, 8.1752548846910251], [8.0705376630870447, 0.96844011630543925]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-6.0434875541103441, -6.9736335681117323], [-7.1401251950145417, 0.38086818752515317]], [[-5.0117765455534, -4.9279184991568048], [-0.35558262243889605, -3.0381118320786973]], [[-6.2722157911404608, -5.1241281309729914], [-8.7927070365198219, -3.1013837293158231]], [[-4.2432532278025432, -1.7216506874952957], [-0.64155864486600489, -0.33026004091120864]], [[-7.5958274038033045, 0.25840230415749854], [-5.4010291053619746, -0.13485728087290116]], [[-6.8290740045299998, -6.0383720674809824], [-1.0960823580150922, -3.7832756831871501]]], [[[0.44951103471447995, -3.8781060596577119], [-0.52612569376596729, -5.4974935611717104]], [[-5.0526058205375453, 0.098810936491551704], [-4.016028171290551, 2.3964204425042603]], [[0.10641013110326414, -4.8204199367841074], [-4.8631815188278136, 2.1493293198126673]], [[-0.033867466969041526, 3.0745978775151745], [-6.2813632737996379, 0.29358264293914305]], [[0.028651653050314696, -1.4532987654996954], [1.7879609924710356, -6.1590374522562978]], [[-6.1500587619755098, 3.3954448654285501], [3.2907276438245696, -3.8113699029570358]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_array_rank2(self):  
       arg0=Data(numpy.array([[-0.76264749264152165, -4.2713956047936277, 1.2208877068666233, -2.4264000283345046, -1.8323900481519138], [-1.1945531562354192, -2.7855308775273402, 3.2260037124296463, 1.5844323376500977, -2.1968120581688302], [-1.6252998748798699, -2.4765897643357917, -0.10723806035280337, 3.0169193654367792, -3.5990157037256818], [1.7715688018913864, 3.8873228109005034, 2.2472913899172866, 2.1653217814988324, 0.32972800788087397]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-0.326777613107609, 0.73895004930814157, 2.8400046438121453, 2.2061070369890814, 0.87779778520060958], [3.7753184028399662, 1.7590734375340418, 0.94989110830399515, -3.7785742217143059, -0.60837938720317641], [-1.7889055899514061, 0.46637804329237564, -2.9362486799685028, 3.8526519942405546, -0.23316416456070943], [-3.7983974925664086, -3.33420103794995, 3.0634418021053076, -0.58374200395149156, 1.9870311134803531]]))  
       arg1=numpy.array([[4.1525768808858974, -0.85060962713518951, -2.7091700923537019, -0.25448049579702126, -2.1245956730905045], [3.9930374929673906, 4.6438578263679435, 3.6005821097981165, 4.7207875036204818, 1.7109771801143854], [3.6671129151035728, 4.5569543842191944, 4.2888386060692181, 0.17007715805070589, 2.879375915146821], [0.76258337017061884, 1.8830566161344597, 1.6307524072658799, -0.39678108987851068, -2.9325621285650394]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[3.3899293882443757, -5.1220052319288172, -1.4882823854870786, -2.6808805241315259, -3.9569857212424182], [2.7984843367319714, 1.8583269488406033, 6.8265858222277629, 6.3052198412705796, -0.48583487805444481], [2.0418130402237029, 2.0803646198834027, 4.1816005457164147, 3.1869965234874851, -0.7196397885788608], [2.5341521720620053, 5.7703794270349631, 3.8780437971831665, 1.7685406916203217, -2.6028341206841654]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[3.8257992677782884, -0.11165957782704794, 0.13083455145844347, 1.9516265411920601, -1.2467978878898949], [7.7683558958073569, 6.4029312639019853, 4.5504732181021117, 0.94221328190617593, 1.102597792911209], [1.8782073251521667, 5.0233324275115701, 1.3525899261007153, 4.0227291522912605, 2.6462117505861116], [-3.0358141223957897, -1.4511444218154903, 4.6941942093711875, -0.98052309383000225, -0.94553101508468629]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_array_rank2(self):  
       arg0=Data(numpy.array([[[2.0942339073469176, 3.5484144125150223], [1.848370386859461, -3.4498791699943188], [4.1720770118285859, 3.9089586066683353], [-4.3504025513109781, -1.6885235306897717], [1.6019099217739647, 1.300917207222434]], [[3.6423471314375213, -1.7378142690098963], [-2.8136050600976912, 3.0244046021035977], [-0.5282761521294157, -3.5339070342427337], [0.36769969832118399, -2.6314533111127414], [-3.3007383750073993, -3.2947241143818209]], [[3.0930498062157046, 3.4628919216738581], [2.6458534527251363, -1.5288641915087995], [-4.8722021056396256, 2.1493690206527472], [3.4370076954855353, 2.3434250614804011], [-4.7543109038314864, -3.4819184843076698]], [[3.1969413121692547, 1.5881392372176029], [1.7754118425386025, -4.8576933585306445], [0.46534335625298962, 3.4470968856103106], [-1.9704937340698461, -4.2496561560249502], [1.6229819009451054, -3.9097903454687777]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-2.6981864639844777, -2.4849735649408187], [0.70899011774647391, 1.2382250591864628], [-1.836377321656312, -2.4237682214305245], [-2.2854523147736105, 2.6953223460526941], [2.8409777898280613, 1.457955550574912]], [[-0.51542398686980562, -2.5249180575611163], [3.5945177999459137, -1.552301206872797], [-1.8698741762137203, -2.9834503629922593], [-0.7397964660085421, 2.3324917864486103], [0.28859398469710662, 3.2000983150473559]], [[-3.3957829964604902, 4.0075800585955257], [-4.2117950453516713, 3.0713735658710988], [0.043695920408179489, -1.0785731405894716], [-2.4179429437197841, -2.2754842217836178], [3.5158649844713796, -1.5269846265228182]], [[4.3242364777082383, 1.6909429809002861], [-2.059213712112038, -2.1766790334469222], [3.2945762861538643, 3.6064230487281606], [-4.8861613956861198, -0.012799532636069699], [3.6292672073995949, -4.4684017871791157]]]))  
       arg1=numpy.array([[2.8065486149771175, -2.0655086564999614, -1.3232060307568325, -0.65535403406205006, -0.088177723436291267], [-1.6864360568167678, -4.6372439212782322, -3.6876063098286282, 0.89171512463176761, 0.25168642426011267], [3.8446201676593645, -4.7315250958859743, -1.0772701714230104, -0.57172406030682055, 1.4229962225572503], [-3.1344171602380069, -3.6727348115957357, 4.1582814956963823, -2.4241311216261172, 2.5137529672550949]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[4.9007825223240351, 6.3549630274921398], [-0.21713826964050043, -5.5153878264942797], [2.8488709810717534, 2.5857525759115028], [-5.0057565853730281, -2.3438775647518217], [1.5137321983376735, 1.2127394837861427]], [[1.9559110746207535, -3.4242503258266641], [-7.4508489813759233, -1.6128393191746344], [-4.2158824619580439, -7.2215133440713615], [1.2594148229529516, -1.7397381864809738], [-3.0490519507472866, -3.0430376901217082]], [[6.9376699738750691, 7.3075120893332226], [-2.085671643160838, -6.2603892873947737], [-5.949472277062636, 1.0720988492297368], [2.8652836351787148, 1.7717010011735805], [-3.331314681274236, -2.0589222617504195]], [[0.062524151931247829, -1.546277923020404], [-1.8973229690571332, -8.5304281701263811], [4.6236248519493719, 7.6053783813066929], [-4.3946248556959633, -6.6737872776510674], [4.1367348682002003, -1.3960373782136828]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.10836215099263979, 0.32157505003629883], [-1.3565185387534875, -0.82728359731349865], [-3.1595833524131445, -3.746974252187357], [-2.9408063488356606, 2.039968311990644], [2.75280006639177, 1.3697778271386207]], [[-2.2018600436865734, -4.2113541143778841], [-1.0427261213323185, -6.1895451281510292], [-5.5574804860423486, -6.6710566728208871], [0.15191865862322551, 3.2242069110803779], [0.54028040895721929, 3.4517847393074685]], [[0.44883717119887434, 7.8522002262548902], [-8.9433201412376455, -1.6601515300148755], [-1.0335742510148309, -2.155843312012482], [-2.9896670040266047, -2.8472082820904383], [4.93886120702863, -0.10398840396556785]], [[1.1898193174702314, -1.4434741793377208], [-5.7319485237077732, -5.8494138450426583], [7.4528577818502466, 7.7647045444245428], [-7.3102925173122371, -2.4369306542621869], [6.1430201746546897, -1.9546488199240208]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_array_rank3(self):  
       arg0=Data(numpy.array([[-1.6003647559684464, 4.3946826600932933, 1.6124717281536753, -2.5190381377924576, -3.7956204745437363], [-3.3979554830686265, -2.6502201794959337, 4.7423995786224431, 3.8411428766688633, -2.7594310408325207], [4.9523888524729305, -2.4377173738343014, -0.89047665738117399, -4.8414016888161369, -1.2247571475807897], [-2.1224492929096863, -0.56527371582058006, -1.6493920805076909, -0.46437988272841491, -4.7671316642670627]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[1.7308356062648098, -2.6266792684299842, -0.14574860703914361, 2.3521214917266056, 3.6309294929412346], [3.243313252282169, 0.96097042183694548, -2.115172586990818, -3.9666618855783922, -1.4470537892186841], [0.69583017314357676, -0.044057618939915777, -2.8062141750822445, 2.8597454397211681, -3.5683558583692987], [-0.61215978822455952, -1.6208716370479435, 3.439299743521083, 0.40500996271627177, 2.6853805302886924]]))  
       arg1=numpy.array([[[-2.0439596943478189, 2.7864967482889105], [3.3395955390614933, -4.6803545680241241], [-4.4497695365407974, 0.81727273876944118], [-2.9056752286741605, 1.758817488291581], [0.81378246700755241, 1.3018642969737471]], [[-4.1466058765235054, 1.4691304886855292], [-2.9012333733036586, 3.7321676418621035], [2.8050808532505584, 3.6148923651169742], [2.5028647142422216, -0.7375622036448517], [-0.49572353139098801, -0.14089387079170201]], [[-3.8058301703250308, 3.9839321869992066], [4.169031736621994, -4.0062236194261347], [3.3834906617786089, 4.2339373963242171], [-2.3222128402876976, 4.4983252816220531], [-0.78073454729124236, 4.1620901568029804]], [[1.2432340222104621, 1.476386860035916], [-2.2379750565060705, -4.1379301089515641], [1.2687241063957844, -3.407174176562707], [-1.6159844949124857, 1.1710041491529815], [-2.7203286540341045, 4.2473416800667394]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-3.6443244503162653, 1.1861319923204641], [7.7342781991547866, -0.28567190793083075], [-2.8372978083871221, 2.4297444669231165], [-5.4247133664666176, -0.76022064950087653], [-2.9818380075361839, -2.4937561775699892]], [[-7.5445613595921319, -1.9288249943830973], [-5.5514535527995923, 1.0819474623661698], [7.5474804318730015, 8.3572919437394173], [6.3440075909110849, 3.1035806730240116], [-3.2551545722235087, -2.9003249116242227]], [[1.1465586821478997, 8.9363210394721371], [1.7313143627876926, -6.4439409932604361], [2.4930140043974349, 3.3434607389430431], [-7.1636145291038344, -0.34307640719408372], [-2.005491694872032, 2.9373330092221908]], [[-0.87921527069922423, -0.6460624328737703], [-2.8032487723266506, -4.7032038247721442], [-0.38066797411190656, -5.056566257070398], [-2.0803643776409007, 0.70662426642456655], [-7.4874603183011672, -0.5197899842003233]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-0.31312408808300907, 4.5173323545537203], [0.71291627063150909, -7.3070338364541083], [-4.595518143579941, 0.67152413173029757], [-0.55355373694755494, 4.1109389800181866], [4.444711959948787, 4.9327937899149816]], [[-0.90329262424133638, 4.7124437409676982], [-1.9402629514667131, 4.693138063699049], [0.68990826625974044, 1.4997197781261562], [-1.4637971713361706, -4.7042240892232439], [-1.9427773206096721, -1.5879476600103861]], [[-3.109999997181454, 4.6797623601427834], [4.1249741176820782, -4.0502812383660505], [0.57727648669636444, 1.4277232212419726], [0.53753259943347054, 7.3580707213432213], [-4.3490904056605411, 0.59373429843368175]], [[0.63107423398590257, 0.8642270718113565], [-3.858846693554014, -5.7588017459995076], [4.7080238499168674, 0.032125566958375984], [-1.210974532196214, 1.5760141118692532], [-0.034948123745412119, 6.9327222103554318]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_array_rank2(self):  
       arg0=Data(numpy.array([[[[1.296093497477675, -4.1824883644852031, -2.9953056561011371, 0.17214653374015221, -4.2030229246758815], [-4.2616786848604491, -1.00847251063822, 0.1335254604897802, -0.30985482177699097, 3.3880268513991449], [2.7051825953703634, 1.6686239974262582, 2.9686817531064964, -4.2692881019491011, 3.9429351102822192], [-0.45397123059546551, -0.28659553895005985, -4.4935843325746649, 3.7197757291759324, -2.9756588246028191]], [[3.4395760816746499, -4.6731160804567224, 0.79639793766542422, 1.8976248542120056, 0.46494824854441852], [-2.754110199868772, -2.564958933132282, -1.8077762778587658, 4.6715278373868543, -2.461171654114386], [3.8033247715006127, -2.6726029159105744, -4.4059643199447072, -3.0610205549366265, -3.203138203818602], [-4.3193713593358396, 3.3036840324051227, 1.5265212223510281, -2.879034923108347, 1.2537792149404128]], [[-3.6660185241363417, 4.8113161863457812, -2.5483329074295336, -3.6998647652597318, -0.74233905971870495], [2.5228265047828771, -4.7544702911411392, -3.8979814495508904, -0.29418585639936445, 3.6436123120953585], [1.2834185012741139, -0.38090486603244411, 4.3299900180901645, 1.2197226425083034, -4.528668400954972], [2.8097711185910885, 4.1622075358824446, -4.7253112742224754, -0.26415382289805223, -0.66861495067364185]], [[3.6312701832620107, 4.4324671888791709, -4.3351145467122461, -0.84492866489984753, 4.0092173554447381], [3.261234443281511, 0.12672194892877897, 1.5245948741219433, -3.3996674963593874, -0.36109692567248697], [-1.3804589148675284, 1.0229677019894714, 1.058660732137592, -0.16864278271571553, -1.2167965512361381], [2.3202697408891755, -0.52425572399936726, 1.6969074530944761, -1.3971262977460941, -2.2833731710256355]], [[0.90193499690868872, 2.6856893927685928, 4.0359267126756659, 1.3484124963598765, 2.4637462899677978], [-4.6765468096165295, 2.8421520135090805, 3.0256860084207098, 4.3318188392674077, 2.0759627084494152], [-3.0474990543925062, -1.0125499722418474, 2.5066976536649719, -3.8088180308644426, -0.49322107261714798], [1.3522351014536547, -4.795680053770532, -4.5473711183317036, -0.80151894457481365, 2.4099066577503585]]], [[[0.8613162206511511, 3.3315674520937666, -2.8231971077249463, -1.7464187770446449, 1.6105256366047085], [-3.9647803360543596, 2.2416714130641422, -4.4734861035001501, 0.28491693152713271, 2.8319383905635318], [-1.8694147178141653, -1.7950007079576338, -3.5710231457407104, -3.9395090566578461, 0.73182505966845568], [3.5279035512641173, -0.086546537429844861, 0.42105341008707242, 0.8170562765182412, -2.5488989119847871]], [[2.3807640019994096, -3.5533314680099668, 1.9757412543576036, -4.274116740491305, 0.15450622267922043], [-4.887659428497896, 1.9772296895143162, 2.9316805476983321, 4.6088593753705069, 2.7730191828048874], [-4.7160232299635139, 2.8590587970594195, 4.8548248591586365, 2.4612196396386397, 4.6706201931695404], [-3.9618030296365436, -3.0656020000606321, -2.3745572028943087, 3.9630148427769925, -4.276833096825376]], [[-0.36526965104769271, 0.24592438058125587, -3.0837526647501381, 2.6909331813514026, -4.9632173405759552], [-1.1539292592482528, 2.2581886135021136, 3.2073623226477963, 2.1312493765164824, 0.84468573080505038], [-4.5173707490710227, -4.5991063980818234, 3.9581248393062509, 1.1592840520290268, 3.5339626990595949], [4.2729336856094751, -0.73644711925366924, -1.9709904718033613, -1.0253285297158166, -3.5994781860153302]], [[1.0012271857133035, -3.3651569529311418, 1.9743915415547653, 0.71034188995693093, 4.7300808173363453], [1.1820505416166425, -2.9524604404320822, -3.2818421952671075, 3.3828015843762049, -2.1864691311211324], [4.5754660945859733, 0.7233066226017737, -3.1629998059964368, -0.033565168308539839, -2.9901533770097588], [3.318766368163196, -0.71744437453523791, 1.9563160971484006, 1.9487147981609674, -4.9823249425680469]], [[-3.6994901185528462, 2.710016188918809, 4.72173344254246, -2.016981348067759, -3.5160337665543642], [0.36987992062643027, -0.30234898040227254, 0.025152649384002856, -3.7248036658630257, -2.6721427549625956], [3.9504207036339967, 1.2655774565370574, -0.46387506711139093, 1.7205111656680714, 4.1411574461760363], [-0.40120070619452353, -4.9663767522611391, 1.1097067976999933, 4.4936266545542036, 3.6319465441663077]]], [[[-4.752956592627319, 1.22994024938198, 4.7073881528099353, 1.0911530080018377, -1.7282922857232528], [-3.1557017769438298, 2.5768358295988296, -4.3145848724794602, 0.11586853217085835, 3.7217965919406595], [1.9837236018205271, 3.7908216619749311, -0.30028992791502152, 4.3539043829560367, -3.9905698831935785], [0.18378761994261517, -4.1031616447034178, -4.509894387102122, 3.5042029819732576, 4.7808824822675309]], [[-3.1613520716085244, 4.5011960130809658, -1.4126132215036504, -3.6448381291221543, 4.3255829054099699], [-4.0930958970820992, -3.3798338370850987, -0.78488959762074195, -2.9334353832333693, 3.7824000849699253], [-1.7607850545457859, 1.9404742494595784, 2.2775260667560886, -3.5611119835916147, -0.75546654665081814], [0.90127599736615327, -4.9565517291959802, -1.0444828540890896, -3.5226782768630027, 1.0004168428080433]], [[-4.1656076709683845, -2.8147496310013222, 3.3941911727112579, 0.67534735669806611, 2.8809765328427979], [-1.0919978732114712, 3.7144958673592772, 2.7997609316696277, -3.8506177711330727, 0.60745882789909622], [4.7149227217911793, -1.6157900943448613, 1.1142137827260443, 0.082026936495588565, 0.80962460406000769], [-3.2973774681954038, -4.6726318664947399, 4.0445893478010913, -1.075943873217823, 3.8767794503414503]], [[3.2508251122219747, -2.0925806793841142, 4.2684933604059552, -0.10290428102516813, 3.144993933987525], [2.5359581961248301, 4.2462155811694817, 3.7558310523092171, -1.8990095294402067, -0.74827598064192813], [-3.216394988757977, 1.9128649875325818, -2.9574001309076783, -3.6154205831072996, 4.4577478625382749], [4.6331943441071051, 3.2568094434237143, 2.7089440712408859, 3.106693817227832, -3.666578903903436]], [[-0.35308563629030143, 1.3619372293520016, -0.94882590892997332, 3.6691972134230397, -4.4254619287229389], [-0.70155673560737597, -1.0855160002081976, 1.0126768822542074, -4.1015851785049131, -0.051180520147338981], [-4.2566825742623315, 3.5857069199760936, 1.0240891294582424, 2.7434354327329524, 2.1164856273285295], [-1.769918649127634, -4.6333015360644421, 2.5572418591720334, 2.3201850409708946, -1.4301218970108662]]], [[[-1.6202534023448689, 3.0353502691746233, -4.4747766416942545, 0.73956283784197119, 4.4776605817550923], [-3.5642460698943923, 1.5847751450439613, -2.736775813007216, 3.3114907892716676, 1.4860395624227891], [-2.4543045625269455, 4.4639049014283447, -2.7573856687840612, -0.44683622694092051, 2.4809301327872726], [1.9275160534097182, 3.2297134466275583, -0.087284016803041986, 4.4829488190097617, 1.1581228801771548]], [[4.5153861057429836, -1.2016616789378176, 4.408035364256504, -4.67461950098693, 4.8802959217923032], [-4.2086484114736482, -4.5213860754854398, -0.96250740966102644, -1.8136534253122472, 1.9834874700346807], [3.3471003688058936, 4.6076207875031532, -2.1426878312139443, -2.4562201430978172, -3.0108510555940269], [1.0139297829945795, -0.34681673486467623, -1.1298222549275225, -0.027241528749627264, 3.3411989987693307]], [[1.4506491379408946, -1.3319740661174717, -1.2947389692669553, 2.6073389572748686, 1.1081192817246279], [1.435630344418465, -2.5832442835732872, -1.2082073968804643, -1.7358267911897052, -2.262982337039058], [1.8368677714676735, -2.0614984854009224, 3.8112433782640558, 4.0077349356994922, -1.0382935324446674], [-0.7388680141621542, -1.2221842751537402, 2.3236177003194509, -4.6443711621773787, 1.9941941865937878]], [[-4.7827636208454383, 4.1902286906781381, 4.1287833258342861, -0.86374652510711591, -1.0084888197196951], [-1.9981051233692151, -0.39701595562488023, 4.4754089443006357, 4.0171193715566247, 1.5689609583482227], [0.50547652347655614, 3.2962108673164465, -2.0673477984154873, 1.2686952840320007, -4.3243221999757999], [4.9965915179666158, 4.8423504320470343, -0.010501528159795548, 3.7364066497145387, 4.8403959927791007]], [[0.49135275343112284, 2.1322836005792736, 0.40751108003577396, 3.9610455902410493, -4.3067011096882544], [-2.0478452431184402, -4.3980517550187317, 2.8393439176803872, -3.9923759191419839, -1.6117415639245225], [4.639653187858519, 4.2334184657832754, -3.2077476198911361, -4.9983167172148368, 3.3471148215787299], [-0.45257575008491902, -4.5887940513210488, -0.49012995122667657, 2.8137217899386266, 0.43433448283062503]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[1.0729692536279618, 1.9115717086041792, 3.147763305464073, -3.5146452855254906, -1.6125989334204993], [4.9887489954850643, 0.0054944262963587676, 3.4748518019093115, 1.5773638373128289, 4.8436742115578504], [3.2530487657251008, 3.498051550293992, 3.9831814561503336, 2.3995131023793093, 2.7899342059019467], [3.644757894769473, 1.4396343663281801, 3.2171353269216372, -4.5120814385916557, 2.3222721060534877]], [[2.5721670037469346, -2.6240756496534487, -4.7976310436147092, -1.3831545416168356, 0.59365896072737279], [2.8720332482715332, 2.4577470650228204, -2.340120240688417, 2.6209925986822071, -3.4467518671366548], [4.1073995046009628, 4.6876605370519489, -1.2744027095228248, 0.94816721890258915, 2.7319833492453336], [-1.436784527048669, 0.61639783714972651, 4.8824338057086667, 3.7755200195090506, -4.3139360950094154]], [[1.2875189067743076, 2.2336855716039867, -4.1584319954718252, -2.6536997977355945, 1.0156919521779963], [3.4210565063421541, 2.5204566985001522, 4.8852155642614932, 1.7377664978608021, -1.5964486286134862], [4.0162300504346344, -0.86776561003088926, -0.42246843809647405, -0.76825591487553169, 0.87366007257844025], [-3.0588007774620287, -3.422688863290495, -2.2814725884290143, -4.805119883870697, 2.5859581615508702]], [[-2.8000929702341781, 4.0598748952376269, 3.0805135761060178, 3.7114290154394851, 2.9090684076193654], [-0.40081223380889508, 3.2327736374834171, -0.41534587028980408, 0.82255519318428583, 4.324730872283558], [0.65259179392624578, 2.5633696648272011, -1.07539250793661, 1.4810735730082332, 0.075889570746051405], [0.019984007109247415, -0.59221492740131865, -1.765762272502144, 2.4250152422179916, 0.44514555116297672]], [[0.38647573747628527, -0.33602594488484527, -4.6848015827479719, -1.9735719531846883, -3.7606980502816545], [-2.1564159960100984, -0.38675437798160672, -2.8053845071218775, 3.231484525270659, 4.2629191779945721], [-3.3223606664962491, 3.4805571925696626, -4.7865680845581213, 3.5765300490052514, -0.90234737663378795], [1.9899388917137344, 0.57957742224350017, -1.8577647160110047, -3.5583116158600703, -0.01952662055976262]]], [[[-0.85587254959570114, -1.3950095462469636, 1.2420822262841149, -1.0974904586205314, -4.3693165124757076], [-4.1959371635034826, 1.9493721972001987, 4.4764225079775439, 0.39968294022775552, 3.6735984172602603], [0.29742905288921673, 4.2369858128505662, -1.1631930472754148, -4.8675573174578002, -4.838386458969925], [0.31181424782135458, 3.6518864159466986, -2.297911586748568, -2.9153905344164976, -1.3012635155860677]], [[1.7326700289001806, -1.2706260032045122, 2.689893163551675, -1.0713879097879522, -1.236184233014245], [2.2238942050720789, 1.2794092463343478, 0.43170450664543747, -4.9642303231362828, 4.9740466757898023], [3.3720271856171475, 1.5400695345268689, 4.2166882882642884, 0.82469861772664643, -2.4462059140247505], [-3.9041894498552407, 3.0915702616853853, -0.79378507077407434, -0.67283379096967355, -3.743023930722742]], [[0.66816124786659881, -2.2317649937437345, 0.53428014468455665, 0.075060969882500217, -1.2398025247264624], [1.5264861860619376, 0.41932468305704873, 3.1585824287365512, 3.4803348110447914, 0.2165101565254437], [-3.2986408650262145, 4.9064332044594572, -1.5938162421711732, -3.9084569118122046, 2.024294164814], [3.0267668056127288, -3.9607128498345956, -2.8016360611615565, -2.6747680318494824, 1.2939884034191511]], [[2.6458704970180582, 1.8431542326263584, -2.9977250571646019, -3.7440384602366805, 4.8223116825227859], [-0.89930537355161277, -0.47001169244049912, -4.9539301021877922, 4.4960288262857677, 2.8361130933949479], [-2.7133417969280771, -3.5336524768728084, 0.95214531734169405, 1.7720456919611109, -3.5781128180726651], [-2.3084234542998825, 4.3084758089814112, -4.7500691544849314, 1.5472759419559505, -4.1706500961247723]], [[1.8511134246738878, -3.6707401632968506, 4.0495009158413104, 3.3923423933992058, 0.80221968500577301], [-3.7598968736959151, -2.5609588919053747, -1.6984766495500834, 4.0269233488750817, -2.7230281601884432], [1.1327018740232848, -3.3987369430022185, 2.7382129725821072, 2.0290925283809811, 0.17650823155705897], [1.5848705960553886, -4.2883451481989141, -3.1798772219161222, 4.7301465561664848, -1.7860028848061993]]], [[[-3.1500636673045168, -2.0989847986695409, 3.446396873502481, 1.4320132821139904, 0.9380747958719784], [3.2335558464582714, 3.9873009344760124, 2.8082259725184402, -3.9570747472392886, -4.3704902198700468], [-3.9299905855484543, 3.0208955882837056, -1.8673153266792717, 4.5105240120100945, 1.5155425929024684], [-0.65856556170866742, 3.222093470694924, -3.4689079950209747, -1.9098434227756389, 4.4723967377394089]], [[1.234036671859875, -1.2973286753070945, -2.6648809268901363, 1.5152771127139033, -4.0374967521851248], [-3.4471089064595906, 4.2115285931090991, 0.046159989870099061, 0.8992767650800868, -2.7353302351077358], [3.331845591298535, -4.6544056774800291, -2.8171761849528765, 0.90415242648262506, -1.3257307865848444], [0.03292832659021272, -0.22647556912799161, 3.1392118349819143, 1.271802687075434, 1.210789628842873]], [[2.863618712157372, 3.6854103283062472, 1.4162379261334754, 4.4849725444350259, -1.3271881557721867], [-2.9335341647271749, -0.19329016492466167, 3.2903164258589452, 2.0399196583824573, 2.0687261817263556], [0.25009790202404503, -4.6803086748285452, -3.2314886458375258, -4.6307466385370351, 1.0439473379875412], [-3.9788787805703696, -0.95409036352658649, -1.4211497873567414, 0.84406471133689021, 3.2113939539618084]], [[-2.8356381245902917, -4.8183271607273266, 2.3292862616763452, 0.34519839278336306, -2.4562885509889587], [-0.27194908470982604, 0.34933787088736601, -2.8838215797166997, 4.0375202609285914, -0.060712460184896067], [2.9823473346509468, -3.3226378353847617, -1.535647954679745, 0.0083581127647818221, -3.0397183958162932], [0.88316849948471887, 1.6780901499321077, -1.5975828666941116, 3.5261777044278695, 2.1888312375708274]], [[-2.4354229314854337, 1.8747528346205637, -4.198895441620957, 0.21459016185766711, -4.9700054347020641], [-4.4713671188235473, 3.9036095737829708, -4.6074810403199162, 3.3457794500621247, -3.962133371428739], [3.5965512984955126, 0.78567170708891432, 2.6910343549507463, -1.0774011289040333, 4.083299343840066], [2.6777975982022575, -1.3418496106155819, -0.13362563555555074, 1.1309202382642178, -0.55922737365390685]]], [[[0.107078342187922, -4.9385758382814835, -2.7690939563486126, -0.97306583708133587, 0.41385422050356624], [1.7102650845577934, 4.8954306283893541, -2.3821666713515532, -0.76818210576071078, -2.5115010521162153], [0.48188349702483446, -3.7473093779815967, 1.4330327134097516, 3.8156904422089077, 1.7120857739373179], [2.5673516068021467, 1.8573812373349332, -2.7085565158429583, 4.150648921179549, -4.1566195240372874]], [[-1.6324544043901201, 4.5579646137041312, 0.45385531951391034, -0.83651230594068959, 0.22399755931878129], [0.25638092710686422, 4.1470047352142618, -3.3384174054165081, 2.3830840781038143, -0.45369188017112982], [-3.0347328048988564, 0.61310987042701726, -1.5688255435463216, 2.1906452158758132, 2.6155360381839889], [1.3067540722843853, 2.6310114791243953, 2.9152987503660945, -2.507104670287311, 0.69456824813598583]], [[0.42894355386680072, -0.57422556645461231, 3.5049248600096803, 2.382920772223093, -2.2611427997196309], [4.7942141366667741, -1.0932409988059435, 0.58056129326164907, -1.7128658045403657, 4.3238237765523664], [3.6380981377655566, -0.4393091429583782, 1.8779824771292297, 3.2543431675494165, -0.35246901387551244], [-2.4335691043410224, 4.2388207907597995, -1.480092916853939, -2.6928120530886215, -2.7680067032286528]], [[-4.3797663452158933, -3.6866263468440987, 0.37242014091487086, 1.6483534172748424, 2.2562454983871794], [-2.3337426961613019, -4.2131051829648714, -2.2968685274409317, -4.4045098406281626, -2.5793745394909271], [-3.7618722740141255, 3.0672770344453113, -2.4334346939209448, -2.6628696074043301, -0.43969981343663367], [-1.7389035333607539, 3.5815719908493442, -0.31130114213441118, -0.46025069145089503, 0.21668145562411034]], [[-1.7033159756923935, -2.6520533416675662, 4.441487872417774, -0.23476539083572767, -4.7550314474811088], [1.2960898004971542, -3.2930152005760815, 2.8448692683462049, 1.6993183221246619, -2.3700768322584387], [2.4030980868241869, -1.2858894495290052, 4.1193901539873448, 4.5815914632449903, 0.72819180017566243], [-1.0005737246140214, 3.6438457081824041, -4.5757464204266594, -2.9280981154264651, 1.0066051717060622]]]]))  
       arg1=numpy.array([[-1.4986613430815279, -0.93911150834406953, 0.97153419487012638, -2.8348301711195392, 2.609421634804324], [-2.7165107283429766, 4.8260375135962992, 2.8160834198634479, -0.75817431219379472, -0.52413709406307341], [3.8610069841551606, -2.0048089791179944, 1.235613425285111, 1.637782765171619, 2.8120004349707752], [-0.46866924760522011, 2.7789344624352799, 2.6643501493743758, -3.1009033818098874, -0.11057062816114005]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.20256784560385288, -5.681149707566731, -4.493966999182665, -1.3265148093413757, -5.7016842677574093], [-5.760340027941977, -2.5071338537197478, -1.3651358825917477, -1.8085161648585188, 1.8893655083176171], [1.2065212522888356, 0.16996265434473035, 1.4700204100249685, -5.767949445030629, 2.4442737672006913], [-1.9526325736769934, -1.7852568820315877, -5.9922456756561928, 2.2211143860944045, -4.4743201676843469]], [[2.5004645733305804, -5.612227588800792, -0.14271357067864532, 0.95851334586793602, -0.47416325979965102], [-3.6932217082128416, -3.5040704414763515, -2.7468877862028354, 3.7324163290427848, -3.4002831624584555], [2.8642132631565431, -3.611714424254644, -5.3450758282887767, -4.000132063280696, -4.1422497121626716], [-5.2584828676799091, 2.3645725240610531, 0.58740971400695852, -3.8181464314524165, 0.31466770659634324]], [[-2.6944843292662153, 5.7828503812159076, -1.5767987125594072, -2.7283305703896055, 0.22919513515142143], [3.4943606996530034, -3.7829360962710128, -2.9264472546807641, 0.67734833847076192, 4.6151465069654849], [2.2549526961442403, 0.59062932883768227, 5.3015242129602909, 2.1912568373784298, -3.5571342060848457], [3.7813053134612149, 5.133741730752571, -3.7537770793523491, 0.70738037197207415, 0.30291924419648453]], [[0.79644001214247151, 1.5976370177596317, -7.1699447178317852, -3.6797588360193867, 1.174387184325199], [0.42640427216197185, -2.7081082221907602, -1.3102352969975959, -6.2344976674789265, -3.1959270967920261], [-4.2152890859870675, -1.8118624691300678, -1.7761694389819471, -3.0034729538352547, -4.0516267223556772], [-0.51456043023036369, -3.3590858951189064, -1.1379227180250631, -4.2319564688656328, -5.1182033421451747]], [[3.5113566317130127, 5.2951110275729167, 6.6453483474799899, 3.9578341311642005, 5.0731679247721218], [-2.0671251748122055, 5.4515736483134045, 5.6351076432250338, 6.9412404740717317, 4.6853843432537392], [-0.43807741958818225, 1.5968716625624766, 5.1161192884692959, -1.1993963960601186, 2.116200562187176], [3.9616567362579787, -2.186258418966208, -1.9379494835273796, 1.8079026902295103, 5.0193282925546825]]], [[[-1.8551945076918255, 0.61505672375079001, -5.5397078360679224, -4.4629295053876215, -1.1059850917382681], [-6.6812910643973362, -0.47483931527883438, -7.1899968318431267, -2.4315937968158439, 0.11542766222055523], [-4.5859254461571419, -4.5115114363006104, -6.287533874083687, -6.6560197850008223, -1.9846856686745209], [0.81139282292114068, -2.8030572657728214, -2.2954573182559042, -1.8994544518247354, -5.2654096403277642]], [[7.2068015155957088, 1.2727060455863324, 6.8017787679539028, 0.55192077310499421, 4.9805437362755196], [-0.061621914901596853, 6.8032672031106154, 7.7577180612946313, 9.4348968889668061, 7.5990566964011865], [0.11001428363278531, 7.6850963106557186, 9.6808623727549357, 7.2872571532349388, 9.4966577067658395], [0.86423448395975555, 1.7604355135356671, 2.4514803107019905, 8.7890523563732916, 0.54920441677092313]], [[2.4508137688157552, 3.0620078004447038, -0.26766924488669019, 5.5070166012148505, -2.1471339207125073], [1.6621541606151951, 5.0742720333655615, 6.0234457425112442, 4.9473327963799303, 3.6607691506684983], [-1.7012873292075748, -1.7830229782183755, 6.7742082591696988, 3.9753674718924747, 6.3500461189230428], [7.089017105472923, 2.0796363006097787, 0.84509294806008661, 1.7907548901476313, -0.7833947661518823]], [[0.24305287351950877, -4.1233312651249365, 1.2162172293609705, -0.047832422236863792, 3.9719065051425506], [0.42387622942284775, -3.7106347526258769, -4.0400165074609022, 2.6246272721824102, -2.9446434433149271], [3.8172917823921786, -0.034867689592021023, -3.9211741181902315, -0.79173948050233456, -3.7483276892035535], [2.5605920559694013, -1.4756186867290326, 1.1981417849546059, 1.1905404859671727, -5.7404992547618416]], [[-4.22362721261592, 2.1858790948557356, 4.1975963484793866, -2.5411184421308324, -4.0401708606174376], [-0.15425717343664314, -0.82648607446534594, -0.49898444467907055, -4.2489407599260991, -3.196279849025669], [3.4262836095709233, 0.74144036247398404, -0.98801216117446433, 1.196374071604998, 3.6170203521129629], [-0.92533780025759693, -5.4905138463242125, 0.58556970363691985, 3.9694895604911302, 3.1078094501032343]]], [[[-0.89194960847215832, 5.0909472335371406, 8.5683951369650959, 4.9521599921569983, 2.1327146984319079], [0.70530520721133083, 6.4378428137539903, -0.45357788832429957, 3.976875516326019, 7.5828035760958201], [5.8447305859756877, 7.6518286461300917, 3.5607170562401391, 8.2149113671111973, -0.12956289903841789], [4.0447946040977758, -0.24215466054825718, -0.64888740294696134, 7.3652099661284183, 8.6418894664226915]], [[-5.1661610507265188, 2.4963870339629715, -3.4174222006216448, -5.6496471082401492, 2.3207739262919755], [-6.0979048762000936, -5.384642816203093, -2.7896985767387363, -4.9382443623513641, 1.7775911058519309], [-3.7655940336637803, -0.064334729658416023, 0.27271708763809421, -5.5659209627096091, -2.7602755257688125], [-1.1035329817518411, -6.9613607083139746, -3.049291833207084, -5.5274872559809971, -1.0043921363099511]], [[-2.9299942456832735, -1.5791362057162113, 4.6298045979963689, 1.9109607819831771, 4.1165899581279088], [0.14361555207363974, 4.9501092926443881, 4.0353743569547387, -2.6150043458479617, 1.8430722531842072], [5.9505361470762903, -0.38017666905975034, 2.3498272080111553, 1.3176403617806995, 2.0452380293451187], [-2.0617640429102928, -3.437018441209629, 5.2802027730862022, 0.15966955206728795, 5.1123928756265613]], [[4.8886078773935937, -0.45479791421249516, 5.9062761255775742, 1.5348784841464509, 4.7827766991591441], [4.1737409612964491, 5.8839983463411007, 5.3936138174808361, -0.26122676426858771, 0.8895067845296909], [-1.578612223586358, 3.5506477527042009, -1.3196173657360593, -1.9776378179356806, 6.095530627709894], [6.2709771092787241, 4.8945922085953333, 4.3467268364125049, 4.744476582399451, -2.028796138731817]], [[2.4589147986804738, 4.1739376643227768, 1.8631745260408019, 6.481197648393815, -1.6134614937521636], [2.1104436993633993, 1.7264844347625776, 3.8246773172249826, -1.2895847435341379, 2.7608199148234362], [-1.4446821392915563, 6.3977073549468688, 3.8360895644290176, 5.5554358677037277, 4.9284860622993047], [1.0420817858431413, -1.8213011010936668, 5.3692422941428086, 5.1321854759416698, 1.381878537959909]]], [[[-2.088922649950089, 2.5666810215694031, -4.9434458892994746, 0.27089359023675108, 4.0089913341498722], [-4.0329153174996124, 1.1161058974387412, -3.2054450606124361, 2.8428215416664475, 1.017370314817569], [-2.9229738101321656, 3.9952356538231246, -3.2260549163892813, -0.91550547454614062, 2.0122608851820525], [1.4588468058044981, 2.7610441990223382, -0.55595326440826209, 4.0142795714045416, 0.6894536325719347]], [[7.2943205681782635, 1.5772727834974622, 7.1869698266917839, -1.8956850385516502, 7.6592303842275831], [-1.4297139490383683, -1.7424516130501599, 1.8164270527742534, 0.9652810371230327, 4.7624219324699606], [6.1260348312411734, 7.386555249938433, 0.63624663122133551, 0.32271431933746264, -0.23191659315874702], [3.7928642454298593, 2.4321177275706036, 1.6491122075077573, 2.7516929336856526, 6.1201334612046105]], [[4.1149992873152703, 1.332376083256904, 1.3696111801074204, 5.2716891066492444, 3.7724694310990037], [4.0999804937928408, 0.081105865801088584, 1.4561427524939115, 0.92852335818467058, 0.40136781233531771], [4.5012179208420493, 0.60285166397345336, 6.4755935276384315, 6.672085085073868, 1.6260566169297084], [1.9254821352122216, 1.4421658742206356, 4.9879678496938267, -1.9800210128030029, 4.6585443359681635]], [[-7.8836670026553257, 1.0893253088682506, 1.0278799440243986, -3.9646499069170034, -4.1093922015295821], [-5.0990085051791025, -3.4979193374347677, 1.3745055624907483, 0.91621598974673724, -1.5319424234616648], [-2.5954268583333313, 0.19530748550655908, -5.1682511802253748, -1.8322080977778867, -7.4252255817856874], [1.8956881361567284, 1.7414470502371469, -3.111404909969683, 0.63550326790465128, 1.7394926109692133]], [[0.38078212526998279, 2.0217129724181335, 0.29694045187463391, 3.8504749620799092, -4.4172717378493944], [-2.1584158712795802, -4.5086223831798717, 2.7287732895192471, -4.1029465473031239, -1.7223121920856626], [4.5290825596973789, 4.1228478376221354, -3.3183182480522762, -5.1088873453759769, 3.2365441934175898], [-0.56314637824605907, -4.6993646794821888, -0.60070057938781662, 2.7031511617774866, 0.32376385466948499]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-0.42569208945356607, 0.41291036552265137, 1.6491019623825451, -5.0133066286070189, -3.1112602765020272], [3.4900876524035365, -1.4931669167851691, 1.9761904588277837, 0.078702494231301046, 3.3450128684763225], [1.7543874226435729, 1.9993902072124641, 2.4845201130688057, 0.90085175929778138, 1.2912728628204189], [2.1460965516879451, -0.059026976753347782, 1.7184739838401093, -6.0107427816731835, 0.82361076297195979]], [[1.6330554954028651, -3.5631871579975183, -5.7367425519587787, -2.3222660499609051, -0.34545254761669675], [1.9329217399274636, 1.5186355566787508, -3.2792317490324865, 1.6818810903381376, -4.3858633754807244], [3.1682879962568933, 3.7485490287078793, -2.2135142178668943, 0.009055710558519614, 1.7928718409012641], [-2.3758960353927385, -0.32271367119434302, 3.9433222973645972, 2.8364085111649811, -5.253047603353485]], [[2.259053101644434, 3.2052197664741131, -3.1868978006016988, -1.6821656028654681, 1.9872261470481227], [4.3925907012122805, 3.4919908933702786, 5.8567497591316195, 2.7093006927309284, -0.62491443374335987], [4.9877642453047608, 0.10376858483923712, 0.54906575677365232, 0.20327827999459469, 1.8451942674485666], [-2.0872665825919023, -2.4511546684203687, -1.309938393558888, -3.8335856890005706, 3.5574923564209966]], [[-5.6349231413537169, 1.2250447241180877, 0.24568340498647867, 0.87659884431994595, 0.074238236499826193], [-3.2356424049284342, 0.3979434663638779, -3.2501760414093432, -2.0122749779352533, 1.4899007011640188], [-2.1822383771932934, -0.27146050629233809, -3.9102226790561492, -1.353756598111306, -2.7589406003734878], [-2.8148461640102918, -3.4270450985208578, -4.6005924436216832, -0.40981492890154758, -2.3896846199565625]], [[2.9958973722806093, 2.2733956899194787, -2.0753799479436479, 0.63584968161963573, -1.1512764154773305], [0.45300563879422562, 2.2226672568227173, -0.19596287231755349, 5.840906160074983, 6.8723408127988961], [-0.71293903169192507, 6.0899788273739865, -2.1771464497537973, 6.1859516838095754, 1.707074258170536], [4.5993605265180584, 3.1889990570478242, 0.75165691879331931, -0.94888998105574629, 2.5898950142445614]]], [[[-3.5723832779386777, -4.1115202745899406, -1.4744285020588617, -3.814001186963508, -7.0858272408186842], [-6.9124478918464591, -0.76713853114277786, 1.7599117796345674, -2.3168277881152211, 0.95708768891728369], [-2.4190816754537598, 1.5204750845075896, -3.8797037756183914, -7.5840680458007768, -7.5548971873129016], [-2.404696480521622, 0.93537568760372203, -5.0144223150915446, -5.6319012627594738, -4.0177742439290443]], [[6.5587075424964798, 3.5554115103917869, 7.5159306771479741, 3.754649603808347, 3.5898532805820542], [7.0499317186683781, 6.105446759930647, 5.2577420202417366, -0.13819280953998359, 9.8000841893861015], [8.1980646992134467, 6.3661070481231681, 9.0427258018605876, 5.6507361313229456, 2.3798315995715487], [0.92184806374105843, 7.9176077752816845, 4.0322524428222248, 4.1532037226266256, 1.0830135828735572]], [[3.4842446677300467, 0.58431842611971341, 3.3503635645480045, 2.8911443897459481, 1.5762808951369855], [4.3425696059253855, 3.2354081029204966, 5.9746658485999991, 6.2964182309082393, 3.0325935763888916], [-0.48255744516276655, 7.7225166243229051, 1.2222671776922747, -1.0923734919487567, 4.8403775846774479], [5.8428502254761767, -1.1446294299711477, 0.0144473587018914, 0.14131538801396548, 4.110071823282599]], [[1.8876961848242635, 1.0849799204325636, -3.7558993693583966, -4.5022127724304752, 4.0641373703289911], [-1.6574796857454075, -1.2281860046342938, -5.7121044143815869, 3.737854514091973, 2.0779387812011532], [-3.4715161091218718, -4.2918267890666026, 0.19397100514789933, 1.0138713797673162, -4.3362871302664594], [-3.0665977664936772, 3.5503014967876165, -5.5082434666787261, 0.78910162976215581, -4.9288244083185671]], [[1.3269763306108144, -4.1948772573599236, 3.525363821778237, 2.8682052993361324, 0.2780825909426996], [-4.2840339677589885, -3.0850959859684481, -2.2226137436131568, 3.5027862548120083, -3.2471652542515166], [0.60856477996021141, -3.9228740370652919, 2.2140758785190338, 1.5049554343179077, -0.34762886250601444], [1.0607335019923152, -4.8124822422619875, -3.7040143159791956, 4.2060094621034114, -2.3101399788692727]]], [[[0.71094331685064382, 1.7620221854856197, 7.3074038576576417, 5.293020266269151, 4.799081780027139], [7.0945628306134321, 7.8483079186311731, 6.6692329566736008, -0.096067763084128011, -0.50948323571488618], [-0.068983601393293625, 6.8819025724388663, 1.9936916574758889, 8.3715309961652551, 5.376549577057629], [3.2024414224464932, 7.0831004548500847, 0.39209898913418595, 1.9511635613795217, 8.3334037218945696]], [[-0.7707723072581194, -3.3021376544250889, -4.6696899060081307, -0.48953186640409108, -6.0423057313031192], [-5.4519178855775845, 2.2067196139911047, -1.9586489892478953, -1.1055322140379076, -4.7401392142257297], [1.3270366121805406, -6.6592146565980235, -4.8219851640708704, -1.1006565526353693, -3.3305397657028388], [-1.9718806525277817, -2.231284548245986, 1.1344028558639199, -0.7330062920425604, -0.79401935027512138]], [[4.0992321374424829, 4.9210237535913581, 2.6518513514185864, 5.7205859697201369, -0.091574730487075762], [-1.6979207394420639, 1.0423232603604493, 4.5259298511440562, 3.2755330836675682, 3.3043396070114666], [1.485711327309156, -3.4446952495434342, -1.9958752205524148, -3.3951332132519241, 2.2795607632726522], [-2.7432653552852586, 0.28152306175852448, -0.18553636207163038, 2.0796781366220012, 4.4470073792469194]], [[-1.1978553594186727, -3.1805443955557076, 3.9670690268479643, 1.9829811579549821, -0.81850578581733968], [1.365833680461793, 1.987120636058985, -1.2460388145450807, 5.6753030261002104, 1.577070304986723], [4.6201300998225658, -1.6848550702131426, 0.10213481049187401, 1.6461408779364008, -1.4019356306446742], [2.5209512646563379, 3.3158729151037267, 0.040199898477507379, 5.1639604695994885, 3.8266140027424465]], [[0.37657750348534158, 4.686753269591339, -1.3868950066501817, 3.0265905968284423, -2.1580049997312889], [-1.6593666838527721, 6.715610008753746, -1.795480605349141, 6.1577798850329, -1.1501329364579638], [6.4085517334662878, 3.5976721420596895, 5.5030347899215215, 1.734599306066742, 6.8952997788108412], [5.4897980331730327, 1.4701508243551933, 2.6783747994152245, 3.9429206732349931, 2.2527730613168684]]], [[[-0.3615909054172981, -5.4072450858867036, -3.2377632039538327, -1.441735084686556, -0.054815027101653868], [1.2415958369525733, 4.4267613807841339, -2.8508359189567734, -1.2368513533659309, -2.9801702997214354], [0.013214249419614355, -4.2159786255868168, 0.96436346580453147, 3.3470211946036876, 1.2434165263320978], [2.0986823591969266, 1.3887119897297131, -3.1772257634481784, 3.6819796735743289, -4.6252887716425075]], [[1.1464800580451597, 7.3368990761394111, 3.2327897819491902, 1.9424221564945903, 3.0029320217540612], [3.0353153895421441, 6.9259391976495417, -0.55948294298122825, 5.1620185405390941, 2.32524258226415], [-0.25579834246357658, 3.3920443328622971, 1.2101089188889582, 4.969579678311093, 5.3944705006192688], [4.0856885347196652, 5.4099459415596751, 5.6942332128013744, 0.27182979214796887, 3.4735027105712657]], [[3.0932937032411765, 2.0901245829197634, 6.169275009384056, 5.0472709215974687, 0.40320734965474481], [7.4585642860411498, 1.5711091505684323, 3.2449114426360248, 0.95148434483401001, 6.9881739259267421], [6.3024482871399323, 2.2250410064159976, 4.5423326265036055, 5.9186933169237923, 2.3118811354988633], [0.23078104503335339, 6.9031709401341752, 1.1842572325204368, -0.028461903714245729, -0.10365655385427708]], [[-7.4806697270257807, -6.7875297286539862, -2.7284832408950166, -1.452549964535045, -0.84465788342270809], [-5.4346460779711894, -7.3140085647747588, -5.3977719092508192, -7.5054132224380501, -5.6802779213008145], [-6.8627756558240129, -0.033626347364576148, -5.5343380757308323, -5.7637729892142175, -3.5406031952465211], [-4.8398069151706409, 0.48066860903945674, -3.4122045239442986, -3.5611540732607825, -2.8842219261857771]], [[-1.8138866038535335, -2.7626239698287063, 4.3309172442566339, -0.34533601899686772, -4.8656020756422489], [1.1855191723360141, -3.4035858287372216, 2.7342986401850649, 1.5887476939635219, -2.4806474604195787], [2.2925274586630469, -1.3964600776901452, 4.0088195258262047, 4.4710208350838503, 0.61762117201452238], [-1.1111443527751614, 3.533275080021264, -4.6863170485877994, -3.0386687435876052, 0.89603454354492218]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_array_rank4(self):  
       arg0=Data(numpy.array([[4.6619312973456601, 2.3843780370030965, 2.5314732174670471, 2.7245442422054147, -0.01163704056801862], [-1.2062759968595707, -1.5062005956843274, 3.6457152736288769, 0.25960365845554456, 1.9641850740402518], [-3.8921342346923851, 2.3399832628104731, 3.4757908923100516, -1.9633655198011413, -2.2670516901332172], [2.527937847423237, 1.5430542099792905, 0.6689255440237396, 0.80641827512419351, -0.48996608103646011]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-1.6086325125658441, -4.1049705072952927, -0.94018888856442917, 2.2440217235486326, -3.4098967718797688], [-4.3965709942033104, -2.2894022089310893, 3.0032958486528578, -2.9852272262798341, -1.589843039564097], [4.5993834302148784, 0.083987158537723872, -1.1835402805275361, 2.0216026984253563, -0.20843680336002901], [-0.077628494397502301, -0.881649785164905, -1.8923463370746374, 2.7398665660255306, -2.5652349464960578]]))  
       arg1=numpy.array([[[[0.40070360776849245, -3.9660237183199021, -0.096289757222650429, 3.9213429290016464, -3.4471813485417977], [-1.9944207218592203, -0.61034865415557427, -0.20010903674155678, -2.8910805340353098, -3.0943944956556093], [-1.6918724534978846, -3.9642324617959934, -2.8347629108852423, -3.7761102528539423, -1.103874131593586], [3.918535856349175, 1.9325596018233204, -3.902953592878319, -1.8092360263240614, -3.0930275182146874]], [[3.520846385448932, 1.8933864613975597, 0.62542343844538717, -3.0878873013612163, 4.1093728186219156], [-1.4716032050837011, 1.7861957914576143, 3.0307207771273603, 2.524500667641858, 3.3028522528429587], [-3.5059843454519424, -2.6841171846643554, -4.9069910982949096, -3.3138875031925199, 2.1618477815617378], [4.4348162503580575, 2.1723592091107715, -0.10193209056104813, 3.6050302419680218, -4.8739103260858352]], [[-2.8727853596578989, -0.088442600610481037, 4.2467179554920058, -3.6042825166366468, -1.2508886980855785], [1.154989797840603, -3.0424016068650515, 1.052264216355514, -1.3989576302033635, -1.7992440696658942], [-2.9807895627665735, -2.9540781683442221, -3.4656779072400115, 1.5804948922580762, 4.3082451060524853], [-1.3540149473069709, -1.1609080975949415, 1.225954621188615, -3.7318869718498613, 1.9847481152355604]], [[-2.7896144592710872, -4.9397153815542669, -2.3037110316510145, -2.1482527211170419, 1.4468198311137179], [0.92381497054335515, -4.8522186589163905, 1.6629890575460937, -4.3773150189397718, -1.0316008620014516], [-2.1157456911148409, 0.78181477765797869, 3.8940083912578931, 1.9634960814420541, -2.8772197391846688], [-1.405881147081296, 4.8634703178155227, -1.9429478079746154, 0.52659925664296026, -1.9599714022587769]], [[1.1877280839975368, -1.5466390588861376, -3.1155096086120979, -2.5268291191179526, -1.6491694825500733], [-3.8729887151297584, -1.2170493842736327, -2.8799892129185976, -1.8448371970113495, 3.3944751317321451], [-1.758567639487266, 4.0359327362869308, 1.624888597477935, -3.8572263717552211, -3.5924202929723901], [4.80638550235944, 0.73752001274936951, 1.7061148783210376, -4.969550019870141, -1.6488592479865294]]], [[[-4.4864613957122561, -0.89079007269693911, -4.8645570324570713, -0.22604266715274335, -0.19353434706277461], [3.7952033734795627, 0.89847360095916606, 0.85473018710843363, 3.77243836036366, -4.6656349303692943], [0.53479430731369781, -1.8018577286890936, -0.87029422358387976, -0.017276943168513803, -4.2419357560351925], [-1.8928452004271676, 4.6227828331183147, -3.1698549223659023, -2.5872345739633862, -1.9502827103080831]], [[-2.7618648815022127, -0.98282111809700545, -1.7715332208852486, 3.8422298294042676, 4.1863209872207552], [2.4663672779108214, -1.4961892316369507, -4.6828259899966813, 1.4548311286115823, -2.3920283133037823], [-4.6869646688054694, -3.3307972540302355, -2.8140509838404224, 2.5646489470653098, -2.8580510989775529], [1.6596883774736515, 0.2047386316708959, 1.096382600591955, -1.1028389154309357, -2.4690056820507236]], [[-1.2834833308382954, 3.9087670903306879, 4.3102821591792981, 4.5616815862393345, -1.4318744046290535], [2.649750325688057, -3.989044096072305, -0.021737455536125161, 2.8357600165361063, -4.1906859293453884], [3.9906134240284548, -1.4698719985912145, -2.5112304949606479, -0.93182261452782988, 2.8811169328155852], [-4.4159758854114264, 2.3536327672060784, -4.1575404764904285, 3.0084757604480821, -4.630737122473862]], [[4.801991321349842, 3.5055939911754361, -3.1518180335701338, -1.8170456925973544, 2.4756511642894052], [-1.5960422680447639, 1.9354549834631607, -4.3885575137684496, -4.3486415493054906, 3.4520449308588308], [-0.38558618941936995, -3.0975826829463706, 0.63240234396120698, -0.85429453690595736, 4.6162110074595955], [-0.081796817659700594, -0.72356486902330897, -4.18176694191017, 1.5784795848099566, -4.2025057865199553]], [[4.9708811014294092, 3.2312406825334357, -2.645906498873182, 2.6368922280363236, 0.38340720537486828], [2.8244783972204521, -3.1061380265187033, -1.2524553719167155, 4.928983997510743, 2.7037058113853041], [-0.56659270519419902, 2.1501051430116327, 2.046806882073982, 0.69230043723020351, 2.025695564582632], [4.1681455413166759, -3.705034919010366, -2.8208489392550504, 3.0472061526083536, 3.2765374753708212]]], [[[-1.4158830843500461, -0.26574116851758589, 4.2633623296155552, -0.028439443062216796, 4.8924114162495069], [-1.3291116670391299, -4.5188804190638905, -4.8979189132221546, 2.8463777344950394, 4.1737422659321801], [-2.472385565045637, -1.7595164151906117, -3.189803825142552, 0.35315912690558893, 2.2146469479689355], [-2.7494655151276373, -3.2255076999245103, -4.6610640370712115, -1.8041359738331799, -0.43231923237702308]], [[3.7914827224649983, -4.7275308954543496, -4.7022142427375515, -4.4060750620757965, 3.5329106440394717], [4.6541798063527278, 2.7735620742971703, 1.1233376862856979, 2.9707691298844185, -2.2432837961262231], [-0.26250685127814233, 1.915895701836031, -0.71655671423874523, 2.779478378792084, 0.81794029129558332], [-1.4702912374347177, 2.2765556510124272, -3.0184966269776394, 4.8837059439958175, 4.8103473493855642]], [[3.1749678517351043, -2.646588016369682, 4.0416126821398368, -3.382658732909134, -3.9548502790146358], [1.9393436733848475, -1.9031330650730149, 1.3162682460846975, -2.0356109084317522, -1.6995715172361745], [-4.5020569873050729, 4.7301895180371041, 3.2107668955038129, 1.4041828336990791, 2.5101464542206289], [-1.4180993754062534, 1.1708184326167403, -1.4114040146484985, -0.39362496115876233, 2.2746488197394497]], [[2.6851055155309256, -4.4059353837734001, -1.0372982414935583, -0.4712917823873406, -2.1896978293752554], [-2.3406490148261296, 0.98426680273144296, -2.2561293219178835, 2.839657032249244, 3.9339467188918711], [2.3672062891463703, 1.2907942323862613, -0.98026774428749963, 0.86855899703889783, 0.28738952711389665], [3.4997575051367562, -4.7089725899430892, 1.9084527362668471, 4.5043409141755202, 4.7352413305679288]], [[2.0043769620717935, 0.52161504651238833, 1.0432677831296751, -2.9508447607816257, 4.8017137452895007], [3.6678063355777102, -1.9568800368554804, -3.1324378388133924, -2.1373791070401027, 0.93219472177524487], [-4.8060704889685733, -4.9798868115587913, 2.8772336236144973, 1.5138136694956836, -3.9292045655987842], [4.6277198646036002, -1.9124254667865035, 1.8058345903885806, 2.6515620765665417, -2.790219564808222]]], [[[4.9082701983553623, -2.3671839566937578, -4.7252620852569702, 1.5119625870727527, 4.5404407686336494], [-2.4553023931644304, -4.2017328132353651, -0.7522964676459587, 3.4100710735682096, 3.2495936152537883], [0.54478656999956065, -0.98427203345031522, -0.58016545925372309, -3.7378028609961698, 2.1560613549194931], [2.9666514887047724, -0.2461918306962998, 3.2539621025827792, -0.56647151266908669, 2.8030141918263176]], [[4.5033486548253308, 3.6975830541655732, 4.6593069088267534, -2.0036044966479527, 0.046191616960199688], [3.1486366219902457, 3.6886043455327311, -3.7563742970220346, -3.3443751099814256, -1.9885486460468704], [-4.1983136445643412, 1.2389840861526284, 0.62593251419151308, 4.2642721329271467, -4.8209191414967423], [4.4281989121027117, -0.49150717512818165, 1.8796929537205243, 3.6349134546021968, -0.82889672267265446]], [[-2.7235153094042062, -2.9554980484682614, 2.7538953484920725, 2.554185547701592, -2.8430476532998163], [0.52044321788858028, 0.98518568024001052, 1.567721409188751, 3.2748594907181889, -4.1184594618683432], [0.77991529748297239, 2.7638043944529311, -4.7118029778050889, -2.1065742832371348, -0.19822035139382699], [-2.4324306076082913, -1.981635300703779, -2.5323276312240717, 1.2376466583207444, -3.7743885253950693]], [[2.8978285286894669, 0.064780408493133379, 4.9655416362024916, 1.7418627106040629, 4.1097329464629535], [-4.0859290442435245, -3.6730240946913826, -3.2705366282161306, -3.7372061975930562, -3.8019302106109878], [-2.4264662456317456, 4.2211967726279802, -0.66746178531007416, -1.3602244980092237, 3.9715583116664597], [2.8647105515774607, -0.72763058058296171, -1.3507824635475494, 1.1537770851702636, -0.83557456032652588]], [[1.4065704060421531, -3.3004078260437595, -1.5326853677135031, 0.33809894314799838, -4.2014930709900362], [-1.6830918021698951, 3.9146094293690634, -1.3367747157112375, -3.4619659270722245, 4.6812370742970213], [-1.5511848645834778, 1.784338229408311, -2.3802539606811157, 2.2262720864181951, 4.6137204792566973], [-0.66213580942946937, 2.5170295524519881, 4.8364273096635593, 2.1519366582326915, -2.6956492188644257]]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[5.0626349051141526, 0.69590757902575806, 4.5656415401230097, 8.5832742263473065, 1.2147499488038624], [2.6675105754864399, 4.0515826431900859, 4.4618222606041034, 1.7708507633103503, 1.5675368016900508], [2.9700588438477755, 0.69769883554966672, 1.8271683864604178, 0.88582104449171784, 3.5580571657520741], [8.5804671536948351, 6.5944908991689806, 0.75897770446734114, 2.8526952710215987, 1.5689037791309728]], [[5.9052244224520285, 4.2777644984006562, 3.0098014754484836, -0.70350926435811978, 6.4937508556250121], [0.91277483191939535, 4.1705738284607108, 5.4150988141304568, 4.9088787046449545, 5.6872302898460552], [-1.1216063084488459, -0.29973914766125898, -2.5226130612918132, -0.92950946618942343, 4.5462258185648343], [6.819194287361154, 4.556737246113868, 2.2824459464420483, 5.9894082789711183, -2.4895322890827387]], [[-0.34131214219085182, 2.4430306168565661, 6.7781911729590529, -1.0728092991695997, 1.2805845193814687], [3.6864630153076501, -0.51092838939800433, 3.5837374338225612, 1.1325155872636836, 0.73222914780115289], [-0.44931634529952635, -0.42260495087717498, -0.93420468977296434, 4.1119681097251233, 6.8397183235195325], [1.1774582701600762, 1.3705651198721056, 3.7574278386556621, -1.2004137543828142, 4.5162213327026075]], [[-0.065070217065672509, -2.2151711393488522, 0.42083321055440015, 0.57629152108837278, 4.1713640733191326], [3.6483592127487698, -2.1276744167109758, 4.3875332997515084, -1.6527707767343571, 1.6929433802039631], [0.60879855109057379, 3.5063590198633934, 6.6185526334633078, 4.6880403236474688, -0.15267549697925409], [1.3186630951241187, 7.5880145600209374, 0.78159643423079928, 3.2511434988483749, 0.76457283994663783]], [[1.1760910434295182, -1.5582760994541562, -3.1271466491801165, -2.5384661596859712, -1.660806523118092], [-3.884625755697777, -1.2286864248416514, -2.8916262534866162, -1.8564742375793681, 3.3828380911641265], [-1.7702046800552846, 4.0242956957189122, 1.6132515569099164, -3.8688634123232397, -3.6040573335404087], [4.7947484617914213, 0.72588297218135089, 1.694477837753019, -4.9811870604381596, -1.660496288554548]]], [[[-5.6927373925718268, -2.0970660695565098, -6.0708330293166419, -1.432318664012314, -1.3998103439223453], [2.5889273766199921, -0.30780239590040459, -0.35154580975113703, 2.5661623635040893, -5.871910927228865], [-0.67148168954587284, -3.0081337255486642, -2.0765702204434504, -1.2235529400280845, -5.4482117528947631], [-3.0991211972867383, 3.4165068362587441, -4.3761309192254725, -3.7935105708229568, -3.1565587071676537]], [[-4.2680654771865401, -2.4890217137813329, -3.277733816569576, 2.3360292337199402, 2.6801203915364278], [0.96016668222649404, -3.0023898273212781, -6.1890265856810087, -0.051369467072745145, -3.8982289089881097], [-6.1931652644897968, -4.8369978497145629, -4.3202515795247498, 1.0584483513809824, -4.3642516946618803], [0.1534877817893241, -1.3014619640134315, -0.40981799509237238, -2.6090395111152631, -3.975206277735051]], [[2.3622319427905816, 7.5544823639595649, 7.9559974328081751, 8.2073968598682114, 2.2138408689998235], [6.2954655993169339, -0.34332882244342811, 3.6239778180927518, 6.4814752901649832, -0.54497065571651149], [7.6363286976573317, 2.1758432750376624, 1.1344847786682291, 2.713892659101047, 6.5268322064444622], [-0.77026061178254945, 5.9993480408349553, -0.51182520286155153, 6.654191034076959, -0.98502184884498512]], [[5.0615949798053865, 3.7651976496309807, -2.8922143751145892, -1.5574420341418098, 2.7352548227449498], [-1.3364386095892193, 2.1950586419187053, -4.128953855312905, -4.0890378908499461, 3.7116485893143754], [-0.12598253096382539, -2.8379790244908261, 0.89200600241675154, -0.5946908784504128, 4.87581466591514], [0.17780684079584397, -0.4639612105677644, -3.9221632834546254, 1.8380832432655012, -3.9429021280644108]], [[6.935066175469661, 5.1954257565736874, -0.68172142483293019, 4.6010773020765754, 2.3475922794151201], [4.7886634712607039, -1.1419529524784515, 0.71172970212353626, 6.8931690715509948, 4.6678908854255559], [1.3975923688460528, 4.1142902170518845, 4.0109919561142338, 2.6564855112704553, 3.9898806386228838], [6.1323306153569277, -1.7408498449701142, -0.85666386521479865, 5.0113912266486054, 5.240722549411073]]], [[[-5.3080173190424311, -4.157875403209971, 0.3712280949231701, -3.9205736777546019, 1.0002771815571219], [-5.2212459017315149, -8.4110146537562755, -8.7900531479145396, -1.0457565001973457, 0.28160803123979505], [-6.3645197997380221, -5.6516506498829973, -7.0819380598349371, -3.5389751077867961, -1.6774872867234496], [-6.6415997498200223, -7.1176419346168949, -8.5531982717635966, -5.696270208525565, -4.3244534670694081]], [[6.1314659852754714, -2.3875476326438765, -2.3622309799270784, -2.0660917992653234, 5.8728939068499448], [6.9941630691632009, 5.1135453371076434, 3.4633209490961709, 5.3107523926948916, 0.096699466684250002], [2.0774764115323308, 4.2558789646465041, 1.6234265485717279, 5.1194616416025571, 3.1579235541060564], [0.86969202537575541, 4.6165389138229003, -0.67851336416716634, 7.2236892068062906, 7.1503306121960373]], [[6.6507587440451559, 0.82920287594036957, 7.5174035744498884, 0.093132159400917569, -0.47905938670458426], [5.415134565694899, 1.5726578272370366, 4.7920591383947491, 1.4401799838782994, 1.7762193750738771], [-1.0262660949950213, 8.2059804103471556, 6.6865577878138645, 4.8799737260091307, 5.9859373465306804], [2.0576915169037981, 4.6466093249267919, 2.064386877661553, 3.0821659311512892, 5.7504397120495012]], [[0.72173999572978431, -6.3693009035745414, -3.0006637612946996, -2.4346573021884819, -4.1530633491763966], [-4.3040145346272709, -0.97909871706969831, -4.2194948417190243, 0.87629151244810277, 1.9705811990907298], [0.40384076934522906, -0.67257128741487993, -2.9436332640886409, -1.0948065227622434, -1.6759759926872446], [1.5363919853356149, -6.6723381097442305, -0.054912783534294185, 2.5409753943743789, 2.7718758107667876]], [[-0.26267472806142367, -1.7454366436208288, -1.2237839070035421, -5.2178964509148429, 2.5346620551562835], [1.400754645444493, -4.2239317269886971, -5.3994895289466101, -4.4044307971733199, -1.3348569683579723], [-7.0731221791017909, -7.2469385016920089, 0.61018193348128014, -0.75323802063753353, -6.1962562557320009], [2.360668174470383, -4.1794771569197202, -0.46121709974463654, 0.38451038643332458, -5.0572712549414387]]], [[[7.4362080457785993, 0.16075389072947921, -2.1973242378337332, 4.0399004344959897, 7.0683786160568864], [0.072635454258806575, -1.6737949658121281, 1.7756413797772783, 5.9380089209914466, 5.7775314626770253], [3.0727244174227977, 1.5436658139729218, 1.9477723881695139, -1.2098650135729327, 4.6839992023427302], [5.4945893361280094, 2.2817460167269372, 5.7818999500060162, 1.9614663347541503, 5.3309520392495546]], [[6.0464028648046213, 5.2406372641448637, 6.2023611188060439, -0.46055028666866216, 1.5892458269394902], [4.6916908319695363, 5.2316585555120216, -2.2133200870427441, -1.8013209000021351, -0.44549443606757988], [-2.6552594345850506, 2.782038296131919, 2.1689867241708036, 5.8073263429064372, -3.2778649315174517], [5.9712531220820022, 1.0515470348511089, 3.4227471636998148, 5.1779676645814874, 0.71415748730663609]], [[-2.0545897653804666, -2.2865725044445218, 3.4228208925158121, 3.2231110917253316, -2.1741221092760767], [1.1893687619123199, 1.6541112242637501, 2.2366469532124906, 3.9437850347419285, -3.4495339178446036], [1.448840841506712, 3.4327299384766707, -4.0428774337813493, -1.4376487392133952, 0.47070519262991262], [-1.7635050635845517, -1.3127097566800394, -1.8634020872003321, 1.906572202344484, -3.1054629813713297]], [[3.7042468038136604, 0.87119868361732689, 5.7719599113266851, 2.5482809857282565, 4.916151221587147], [-3.279510769119331, -2.8666058195671891, -2.4641183530919371, -2.9307879224688627, -2.9955119354867943], [-1.6200479705075521, 5.0276150477521737, 0.13895648981411934, -0.55380622288503023, 4.7779765867906532], [3.6711288267016542, 0.078787694541231801, -0.54436418842335588, 1.9601953602944571, -0.029156285202332377]], [[0.916604325005693, -3.7903739070802196, -2.0226514487499632, -0.15186713788846173, -4.6914591520264963], [-2.1730578832063552, 3.4246433483326033, -1.8267407967476976, -3.9519320081086846, 4.1912709932605612], [-2.0411509456199379, 1.2943721483718509, -2.8702200417175758, 1.736306005381735, 4.1237543982202371], [-1.1521018904659295, 2.027063471415528, 4.3464612286270992, 1.6619705771962314, -3.1856152999008858]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.2079289047973516, -5.5746562308857461, -1.7049222697884945, 2.3127104164358023, -5.0558138611076417], [-3.6030532344250643, -2.2189811667214183, -1.8087415493074008, -4.4997130466011539, -4.7030270082214534], [-3.3005049660637287, -5.5728649743618375, -4.4433954234510864, -5.3847427654197864, -2.7125066441594301], [2.309903343783331, 0.32392708925747637, -5.5115861054441631, -3.4178685388899055, -4.7016600307805314]], [[-0.58412412184636064, -2.2115840458977329, -3.4795470688499055, -7.1928578086565089, 0.004402311326622943], [-5.5765737123789938, -2.3187747158376784, -1.0742497301679323, -1.5804698396534347, -0.80211825445233398], [-7.610954852747235, -6.7890876919596481, -9.0119616055902014, -7.4188580104878126, -1.9431227257335548], [0.32984574306276482, -1.9326112981845212, -4.2069025978563408, -0.49994026532727087, -8.9788808333811279]], [[-3.8129742482223281, -1.0286314891749102, 3.3065290669275766, -4.544471405201076, -2.1910775866500076], [0.21480090927617379, -3.9825904954294806, 0.11207532779108487, -2.3391465187677927, -2.7394329582303234], [-3.9209784513310026, -3.8942670569086513, -4.4058667958044406, 0.64030600369364699, 3.3680562174880562], [-2.2942038358714001, -2.1010969861593707, 0.28576573262418581, -4.6720758604142905, 1.0445592266711312]], [[-0.54559273572245459, -2.6956936580056343, -0.059689308102381933, 0.0957690024315907, 3.6908415546623505], [3.1678366940919878, -2.6081969353677579, 3.9070107810947263, -2.1332932953911392, 1.212420861547181], [0.12827603243379171, 3.0258365012066113, 6.1380301148065257, 4.2075178049906867, -0.63319801563603617], [0.83814057646733664, 7.1074920413641554, 0.30107391557401719, 2.7706209801915929, 0.28405032128985575]], [[-2.222168687882232, -4.9565358307659064, -6.5254063804918667, -5.936725890997721, -5.0590662544298421], [-7.2828854870095272, -4.6269461561534015, -6.2898859847983664, -5.2547339688911183, -0.015421640147623705], [-5.1684644113670348, 0.62603596440716203, -1.7850081744018338, -7.2671231436349899, -7.0023170648521589], [1.3964887304796711, -2.6723767591303993, -1.7037818935587312, -8.3794467917499098, -5.0587560198662977]]], [[[-8.8830323899155665, -5.2873610669002495, -9.2611280266603817, -4.6226136613560538, -4.590105341266085], [-0.60136762072374772, -3.4980973932441444, -3.5418408070948768, -0.62413263383965045, -9.0622059245726057], [-3.8617766868896126, -6.1984287228924035, -5.2668652177871902, -4.4138479373718242, -8.638506750238502], [-6.2894161946304781, 0.22621183891500429, -7.5664259165692123, -6.9838055681666962, -6.3468537045113935]], [[-5.0512670904333019, -3.2722233270280947, -4.0609354298163378, 1.5528276204731783, 1.8969187782896659], [0.17696506897973219, -3.78559144056804, -6.9722281989277706, -0.834571080319507, -4.6814305222348711], [-6.9763668777365586, -5.6201994629613248, -5.1034531927715117, 0.27524673813422051, -5.1474533079086422], [-0.62971383145743776, -2.0846635772601934, -1.1930196083391342, -3.392241124362025, -4.7584078909818128]], [[1.7198125178145625, 6.9120629389835457, 7.3135780078321559, 7.5649774348921923, 1.5714214440238043], [5.6530461743409148, -0.98574824741944722, 2.9815583931167327, 5.8390558651889641, -1.1873900806925306], [6.9939092726813126, 1.5334238500616433, 0.49206535369220994, 2.0714732341250279, 5.884412781468443], [-1.4126800367585686, 5.3569286158589362, -1.1542446278375706, 6.0117716091009399, -1.6274412738210042]], [[1.8167640950700079, 0.52036676489560207, -6.1370452598499678, -4.802272918877188, -0.50957606199042882], [-4.581269494324598, -1.0497722428166734, -7.3737847400482837, -7.3338687755853247, 0.46681770457899674], [-3.370813415699204, -6.0828099092262047, -2.3528248823186271, -3.8395217631857914, 1.6309837811797614], [-3.0670240439395346, -3.708792095303143, -7.166994168190004, -1.4067476414698774, -7.1877330127997894]], [[3.3810380618653122, 1.6413976429693387, -4.235749538437279, 1.0470491884722266, -1.2064358341892287], [1.2346353576563551, -4.6959810660828003, -2.8422984114808125, 3.339140957946646, 1.1138627718212071], [-2.156435744758296, 0.56026210344753569, 0.45696384250988498, -0.89754260233389349, 0.435852525018535], [2.5783025017525789, -5.294877958574463, -4.4106919788191474, 1.4573631130442566, 1.6866944358067242]]], [[[3.1835003458648323, 4.3336422616972925, 8.8627457598304336, 4.5709439871526616, 9.4917948464643853], [3.2702717631757485, 0.080503011150987902, -0.29853548300727617, 7.4457611647099178, 8.7731256961470585], [2.1269978651692414, 2.8398670150242666, 1.4095796050723264, 4.9525425571204673, 6.8140303781838139], [1.8499179150872411, 1.3738757302903681, -0.061680606856333142, 2.7952474563816985, 4.1670641978378553]], [[3.8754698810027222, -4.6435437369166257, -4.6182270841998276, -4.3220879035380726, 3.6168978025771956], [4.7381669648904516, 2.8575492328348941, 1.2073248448234217, 3.0547562884221424, -2.1592966375884992], [-0.17851969274041846, 1.9998828603737548, -0.63256955570102136, 2.8634655373298079, 0.90192744983330719], [-1.3863040788969938, 2.3605428095501511, -2.9345094684399156, 4.9676931025335413, 4.8943345079232881]], [[1.9914275712075682, -3.8301282968972181, 2.8580724016123007, -4.5661990134366697, -5.1383905595421719], [0.75580339285731135, -3.0866733456005511, 0.13272796555716138, -3.2191511889592883, -2.8831117977637106], [-5.685597267832609, 3.546649237509568, 2.0272266149762768, 0.22064255317154302, 1.3266061736930927], [-2.6016396559337895, -0.01272184791079578, -2.5949442951760346, -1.5771652416862985, 1.0911085392119135]], [[4.7067082139562819, -2.3843326853480438, 0.98430445693179802, 1.5503109160380157, -0.16809513094989903], [-0.3190463164007733, 3.0058695011567993, -0.23452662349252718, 4.8612597306746004, 5.9555494173172274], [4.3888089875717267, 3.3123969308116177, 1.0413349541378567, 2.8901616954642542, 2.308992225539253], [5.5213602035621125, -2.6873698915177329, 3.9300554346922034, 6.5259436126008765, 6.7568440289932852]], [[1.7959401587117645, 0.31317824315235931, 0.83483097976964604, -3.1592815641416547, 4.5932769419294717], [3.4593695322176812, -2.1653168402155094, -3.3408746421734214, -2.3458159104001317, 0.72375791841521586], [-5.0145072923286023, -5.1883236149188203, 2.6687968202544683, 1.3053768661356546, -4.1376413689588132], [4.4192830612435712, -2.1208622701465325, 1.5973977870285516, 2.4431252732065127, -2.998656368168251]]], [[[4.83064170395786, -2.4448124510912601, -4.8028905796544725, 1.4343340926752504, 4.4628122742361471], [-2.5329308875619327, -4.2793613076328674, -0.829924962043461, 3.3324425791707073, 3.171965120856286], [0.46715807560205835, -1.0619005278478175, -0.65779395365122539, -3.8154313553936721, 2.0784328605219908], [2.8890229943072701, -0.3238203250938021, 3.1763336081852769, -0.64410000706658899, 2.7253856974288153]], [[3.6216988696604258, 2.8159332690006682, 3.7776571236618484, -2.8852542818128577, -0.83545816820470531], [2.2669868368253407, 2.8069545603678261, -4.6380240821869396, -4.2260248951463311, -2.8701984312117754], [-5.0799634297292462, 0.35733430098772345, -0.25571727097339192, 3.3826223477622417, -5.7025689266616473], [3.5465491269378067, -1.3731569602930866, 0.99804316855561925, 2.7532636694372918, -1.7105465078375595]], [[-4.6158616464788436, -4.8478443855428992, 0.86154901141743512, 0.66183921062695461, -4.7353939903744537], [-1.3719031191860571, -0.90716065683462688, -0.32462492788588637, 1.3825131536435515, -6.0108057989429806], [-1.112431039591665, 0.87145805737829374, -6.6041493148797263, -3.9989206203117722, -2.0905666884684644], [-4.3247769446829292, -3.8739816377784164, -4.4246739682987091, -0.65469967875389301, -5.6667348624697063]], [[5.6376950947149975, 2.804646974518664, 7.7054082022280221, 4.4817292766295935, 6.8495995124884841], [-1.346062478217994, -0.933157528665852, -0.53067006219059998, -0.99733963156752559, -1.0620636445854572], [0.31340032039378496, 6.9610633386535108, 2.0724047807154564, 1.3796420680163068, 6.7114248776919903], [5.6045771176029913, 2.0122359854425689, 1.3890841024779812, 3.8936436511957941, 1.9042920056990047]], [[-1.1586645404539047, -5.8656427725398173, -4.0979203142095608, -2.2271360033480594, -6.766728017486094], [-4.2483267486659528, 1.3493744828730057, -3.9020096622072953, -6.0272008735682823, 2.1160021278009635], [-4.1164198110795356, -0.78089671708774677, -4.9454889071771735, -0.33896286007786269, 2.0484855327606395], [-3.2273707559255271, -0.048205394044069649, 2.2711923631675015, -0.41329828826336623, -5.2608841653604834]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_array_rank3(self):  
       arg0=Data(numpy.array([[[-3.0194776574055981, 3.3834788036149561], [3.7531048930576496, -4.9900754476590059]], [[-0.37282432605029836, 2.9526868332890288], [-1.2035956516430102, -1.602058119567201]], [[0.084288476202613261, -1.3395595335402319], [-3.0398917090969046, -0.75021701326606571]], [[-2.8551381036060541, 2.9942577303649012], [2.001274952853791, -0.60051683063873895]], [[-2.4038962807334108, -1.8887410257929362], [1.7964814483947036, 1.4298108784526429]], [[0.14073226105620407, 1.0955339387195862], [-0.2155380157623501, -0.68256549397170119]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-2.5978639322970154, 1.2713140941559162], [-4.0105245400276939, 4.3178399581557478]], [[-1.4980537821192899, -4.6627146478694828], [-4.9599209520479306, 0.17549899122982904]], [[-2.7280392457699287, -2.8903176054311421], [0.13713315020688288, -4.809493566602832]], [[1.8447017055770418, -2.7551081202958394], [-3.527811349888319, -3.6333850213539232]], [[4.5345146370412959, 2.2054500750542605], [-4.6374134786821086, 0.93040210850161742]], [[0.57376721204383774, 2.0340850993417279], [0.28056707467873387, 0.036222712647963284]]]))  
       arg1=numpy.array([[[-0.72205063867546393, 2.5108417318943488], [-3.6113183371845148, 3.7401562009105778]], [[-1.8757013263576727, 1.4814544000341492], [1.2130786378354674, 3.9285436679842647]], [[-1.896515110892194, -4.5366463682475153], [0.48611465436546464, -0.30179037963653066]], [[4.4040305475105619, -4.858481979963547], [-2.1524044299478318, -4.6515406591631621]], [[2.2387277254345328, 2.5653139864702625], [1.6348635075518381, -3.2234182481431271]], [[3.163256141444915, 3.1003848855883192], [2.8776952382158205, 1.7040621354008341]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-3.7415282960810621, 5.8943205355093049], [0.14178655587313482, -1.2499192467484281]], [[-2.2485256524079711, 4.434141233323178], [0.0094829861924572434, 2.3264855484170637]], [[-1.8122266346895808, -5.8762059017877473], [-2.55377705473144, -1.0520073929025964]], [[1.5488924439045078, -1.8642242495986459], [-0.15112947709404079, -5.252057489801901]], [[-0.16516855529887797, 0.67657296067732631], [3.4313449559465417, -1.7936073696904842]], [[3.303988402501119, 4.1959188243079053], [2.6621572224534704, 1.0214966414291329]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-3.3199145709724793, 3.782155826050265], [-7.6218428772122087, 8.0579961590663256]], [[-3.3737551084769626, -3.1812602478353336], [-3.7468423142124632, 4.1040426592140937]], [[-4.6245543566621228, -7.4269639736786575], [0.62324780457234752, -5.1112839462393627]], [[6.2487322530876037, -7.6135901002593869], [-5.6802157798361508, -8.2849256805170857]], [[6.7732423624758287, 4.770764061524523], [-3.0025499711302706, -2.2930161396415096]], [[3.7370233534887527, 5.134469984930047], [3.1582623128945544, 1.7402848480487974]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_array_rank3(self):  
       arg0=Data(numpy.array([[[[-0.047229231847559561, -0.90646170928349346], [1.4324854492336927, -3.3471679173053417]], [[-0.89022989574656819, 0.20289397449492874], [-4.1485358453466068, -0.3398359106132931]]], [[[0.7815428639566333, 4.8390252067107706], [-2.46546448377297, 0.050338218739972795]], [[-2.3020341118935517, 3.6800596225049969], [-2.6737672234404206, 1.9077671583739697]]], [[[-2.7541245494090072, -3.4291749612493305], [-2.0744683900298666, -3.2924711216044287]], [[-3.7105706692831419, -2.0697579394129972], [2.9738015452841253, -1.0435287228049903]]], [[[3.1565065146359998, 4.5627789392066926], [-3.2015140274131602, 2.8599478848126969]], [[1.9086610026569737, -0.6642853319230948], [-1.915801448941882, -1.7044769873444165]]], [[[-1.4215478514576798, -4.9004095971216159], [0.60699548419080784, 1.047586689166776]], [[3.693570445139347, -2.0987243128962985], [-3.5849148313174819, -1.699786946435784]]], [[[3.0562093962728181, 0.096580951428117956], [1.993374576414543, 0.64962971292326888]], [[-2.9545385935551804, -4.5518963718764862], [-1.6685477676961877, -3.3941800555345889]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-0.19236023726988538, -0.5562560866841153], [-1.1703923497234667, 2.1327171882519238]], [[0.04736981187028988, 1.6544287543502145], [-0.76164993889878296, -3.8428060871690075]]], [[[4.3651941709490938, 1.1174495021350772], [4.8057343233110643, -3.0913646310185872]], [[-4.2632637087156748, -3.9517793648766775], [-2.057442751224694, -1.6479788906939588]]], [[[-1.0769569808573385, 4.0979783516753852], [3.6408158912348458, 3.3320203188909243]], [[-0.018151501096564715, -4.9100279325527021], [-3.5628733681744382, -1.5698437326015813]]], [[[3.0234917477509491, -3.3106016500494464], [-4.6665269618970111, 3.4343656853213762]], [[1.7074139082659396, -0.98344428554815178], [2.9907281981898857, -4.6137346875894769]]], [[[1.9133682774212444, 2.7849999454263834], [4.6699855198076232, 4.6595401639450138]], [[-0.65831541250352199, 4.0588021553806239], [-3.9578624835302323, -0.32098583918957591]]], [[[0.77501249860251065, 1.8549309547717545], [-3.1910131829741362, 1.0773080623378837]], [[0.83668183007056385, 2.7427858458080685], [2.2634405845246839, 2.1087389845749218]]]]))  
       arg1=numpy.array([[[-3.3995433838672531, -4.9449992575132571], [0.70454924810678055, -1.1368892113129112]], [[0.77953728219584217, -0.18334227316031626], [4.4715331191351506, 0.31053607817553264]], [[3.8731699089350151, -2.9805349451018728], [3.1833181338937973, 1.6644078410317249]], [[4.3580187756320097, 2.4753084824195417], [1.4473988582338784, -0.45803931477764515]], [[3.3837978227278924, 0.9971013254071428], [-1.6909741152230042, 3.3451981294161897]], [[-3.6183749937827625, 1.194428942071398], [3.7668032989008307, -2.8212406494013518]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.4467726157148126, -4.3060050931507465], [-3.5125138082795644, -8.2921671748185979]], [[-0.18568064763978764, 0.90744322260170929], [-5.285425056659518, -1.4767251219262043]]], [[[1.5610801461524755, 5.6185624889066128], [-2.6488067569332863, -0.13300405442034346]], [[2.1694990072415989, 8.1515927416401475], [-2.363231145264888, 2.2183032365495023]]], [[[1.1190453595260079, 0.44399494768568459], [-5.0550033351317394, -6.2730060667063015]], [[-0.52725253538934469, 1.1135601944808], [4.6382093863158502, 0.62087911822673458]]], [[[7.5145252902680095, 8.9207977148387023], [-0.72620554499361845, 5.3352563672322386]], [[3.3560598608908521, 0.78311352631078357], [-2.3738407637195271, -2.1625163021220617]]], [[[1.9622499712702126, -1.5166117743937235], [1.6040968095979506, 2.0446880145739188]], [[2.0025963299163427, -3.7896984281193027], [-0.23971670190129224, 1.6454111829804057]]], [[[-0.56216559750994444, -3.5217940423546445], [3.187803518485941, 1.8440586549946669]], [[0.81226470534565021, -0.78509307297565556], [-4.4897884170975395, -6.2154207049359407]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-3.5919036211371385, -3.9557994705513684], [-6.1153916072367238, -2.8122820692613333]], [[0.75191905997707043, 2.3589780024569951], [-1.8985391502116942, -4.9796952984819187]]], [[[5.144731453144936, 1.8969867843309194], [4.6223920501507481, -3.2747069041789034]], [[0.20826941041947578, 0.51975375425847314], [-1.7469066730491614, -1.3374428125184261]]], [[[2.7962129280776766, 7.9711482606104003], [0.66028094613297306, 0.35148537378905154]], [[3.1651666327972325, -1.7267097986589048], [-1.8984655271427133, 0.094564108430143623]]], [[[7.3815105233829588, 1.0474171255825633], [-2.1912184794774694, 5.9096741677409179]], [[3.154812766499818, 0.4639545726857266], [2.5326888834122405, -5.0717740023671221]]], [[[5.2971661001491368, 6.1687977681542758], [5.667086845214766, 5.6566414893521566]], [[-2.3492895277265262, 2.3678280401576197], [-0.61266435411404263, 3.0242122902266138]]], [[[-2.8433624951802519, -1.763444039011008], [-1.9965842409027381, 2.2717370044092817]], [[4.6034851289713945, 6.5095891447088992], [-0.55780006487666789, -0.71250166482642996]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_array_rank4(self):  
       arg0=Data(numpy.array([[[1.3989331385600217, 0.89136169030606816], [-4.649326111575748, -4.2683924970433971]], [[-2.9211700678380881, -1.6743333827236762], [1.7472110047444653, 3.1032376556893126]], [[3.6430615886254252, 1.1992880610646743], [4.4624503669266247, 3.0653955978062761]], [[3.2645590570599214, -4.6748163954060606], [-4.677391135652802, -1.0709701052949319]], [[4.2442556701754715, 4.4315341504079733], [0.87651383883263634, 2.5509836889552409]], [[-2.7739914658147526, 0.12800611577302146], [3.7527408913474716, -4.5375707070949121]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-1.983115106291915, 2.4752023726162031], [2.7984003242744793, -3.9178847123844318]], [[3.7378366628587898, 1.2925439529427738], [1.8152363624275374, 4.5123862832866699]], [[-0.024650629647884337, 2.1046150407422539], [-3.2417354903979256, 1.4510752884547342]], [[-2.5239143781686844, -2.3516270158483077], [3.2548565949005983, -2.8687729474691026]], [[-2.8577989704235316, 4.7273074338340173], [-3.1913649345267556, -0.66337453316355699]], [[-0.96482185783548857, -4.0632316151895083], [3.54922870522579, 3.467740723699702]]]))  
       arg1=numpy.array([[[[-4.2775837424181384, 1.2123718894805613], [-3.7544566032648374, -2.3927661735556196]], [[-3.637398304768551, 3.8449999732275728], [3.578562971449422, 3.6111174405385391]]], [[[2.4809689461574429, -4.8978971035949437], [4.8799582824305396, -0.98124833659714561]], [[-0.77305382436381365, -1.8221778693826218], [0.48117639394402545, 2.2623449637186681]]], [[[3.9770165895335605, 2.212940057092732], [-4.7595803438374142, 3.185923935062009]], [[4.961564991898431, -4.5032296055376531], [-1.0399228493325929, -1.5364961587521933]]], [[[-2.6396413488877513, 0.098535662505806698], [0.63704868176007512, -4.3570985221975276]], [[-1.6349679803058068, -3.9807608163750574], [3.8600457692845627, -3.0796598552126078]]], [[[-0.80997819811092331, -4.7035873945439395], [3.537359360494051, -3.5692999949765647]], [[4.5786589717844191, 0.013024730248664795], [-0.78216375249587244, -2.8859597149945735]]], [[[3.8245873559479016, 0.20639520741236872], [1.6551744181666983, 1.172707458988306]], [[1.7963811324266388, 0.86925511211815731], [0.81437193564670807, -1.8436810313748997]]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-2.8786506038581168, 2.611305028040583], [-2.8630949129587693, -1.5014044832495514]], [[-8.286724416344299, -0.80432613834817523], [-0.68982952559397503, -0.65727505650485796]]], [[[-0.44020112168064518, -7.8190671714330318], [3.2056248997068635, -2.6555817193208218]], [[0.97415718038065169, -0.074966864638156494], [3.5844140496333381, 5.3655826194079808]]], [[[7.6200781781589857, 5.8560016457181572], [-3.5602922827727399, 4.3852119961266833]], [[9.4240153588250557, -0.04077923861102839], [2.0254727484736832, 1.5288994390540829]]], [[[0.62491770817217018, 3.3630947195657281], [-4.0377677136459855, -9.0319149176035882]], [[-6.3123591159586088, -8.6581519520278594], [2.7890756639896308, -4.1506299605075396]]], [[[3.4342774720645481, -0.45933172436846803], [7.9688935109020242, 0.86223415543140858]], [[5.4551728106170554, 0.88953856908130113], [1.7688199364593684, -0.33497602603933263]]], [[[1.0505958901331489, -2.5675962584023839], [1.7831805339397198, 1.3007135747613274]], [[5.5491220237741103, 4.6219960034656289], [-3.723198771448204, -6.3812517384698122]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-6.260698848710053, -0.77074321681135372], [-1.2792542306486343, 0.082436199060583526]], [[-0.8389979804940717, 6.6434002975020521], [-0.33932174093500977, -0.3067672718458927]]], [[[6.2188056090162327, -1.1600604407361539], [6.1725022353733134, 0.31129561634562819]], [[1.0421825380637237, -0.0069415069550844422], [4.9935626772306954, 6.774731247005338]]], [[[3.9523659598856762, 2.1882894274448477], [-2.6549653030951603, 5.2905389758042629]], [[1.7198295015005054, -7.7449650959355782], [0.41115243912214128, -0.085420870297459039]]], [[[-5.1635557270564352, -2.4253787156628777], [-1.7145783340882326, -6.7087255380458348]], [[1.6198886145947915, -0.7259042214744591], [0.99127282181546006, -5.9484328026817099]]], [[[-3.6677771685344549, -7.5613863649674711], [8.2646667943280683, 1.1580074388574526]], [[1.3872940372576634, -3.1783402042780908], [-1.4455382856594294, -3.5493342481581305]]], [[[2.859765498112413, -0.75842665042311985], [-2.40805719702281, -2.8905241562012023]], [[5.3456098376524288, 4.4184838173439474], [4.2821126593464101, 1.6240596923248023]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_array_rank4(self):  
       arg0=Data(numpy.array([[[[-0.81471473298872787, -1.4295494734371905, -4.8080654736189761, 4.1162508632557824], [-4.2682344152650407, -4.7260234025875469, -1.7081485580054512, -1.122024723600398], [4.2971916451445882, -4.0584472380829482, -1.0486113577175016, -3.3557935983362839]], [[-2.496144585459259, -4.1728127490841826, -4.550954579098434, -2.7067616095649605], [-2.0446790430952158, -1.2178209669782216, -1.9319494553910364, 3.5395687013167567], [4.112851749038672, -3.1076061606903793, -0.41646137663580074, -1.8416143390924491]]], [[[-0.82198860635056548, -2.1217101008046555, -0.71496327503142698, -1.3951923837909765], [1.7326654678359157, 2.0377906296741735, 0.61718816946260713, 3.748645659436594], [-2.7072628312448419, 1.7345622330274502, -2.8692637396619669, -3.7380689226691031]], [[-3.232256949146656, 0.22420351943388539, 0.29125810679769604, -2.2650849796836328], [-4.9331627975846235, 2.5217295803021162, -3.895806834656188, -2.6694491721971083], [-3.9623707484217388, 3.6283862499661836, 0.44196542100425429, -3.980885908667938]]], [[[1.9786138478614079, -1.5839866126739146, -2.4037753949070586, -1.1533497444284224], [-4.2413998694016319, -1.4920527999909403, -1.0594351389841972, -1.2205380886150174], [-2.6005751942662325, -0.97116910230740761, -0.40555381553892733, -1.1347197490802929]], [[-1.6463207567564697, 2.6192072026302213, 3.9102609941579054, -4.9102244309831065], [3.5393956161321203, -1.4722024744436069, 1.8622399571857438, -0.88749830570343491], [-2.4884029211101977, -0.32139532626656564, -3.6157911707556201, -1.6815245819022051]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-1.3891455301686473, 0.37654344083130731, -2.5169593763656408, -1.4222143790547745], [2.9237136741602914, 2.8919758519770644, -4.0601935693887867, -0.17863625149178475], [-2.0911081663163711, 2.1689060581592532, 0.1547372040592716, 3.3570582973983516]], [[2.7216953462247098, -2.3905419841979194, -0.01211571127893496, -0.45511890993384618], [-0.73403029404020081, 3.3702363284074117, -4.3089359331250687, -1.4555878900683239], [4.2281366110484626, 4.0105422804957964, 2.5299985013269541, 1.7576764030930905]]], [[[0.6458011620655757, -2.9191480553655955, 3.0074505562851783, 2.2399182214276534], [-0.72367653194621884, 4.7802037784086409, 3.1601175672594195, -4.3680459248989232], [-1.2684420554805054, 2.495940953883844, 2.0189654436763158, 0.59009762886347517]], [[-0.68645512403180309, 4.393829666931321, -0.14619280493505471, 0.56415845273809051], [3.7978367049007495, 1.9149908659088952, 4.3039931688255191, -1.2779521150009163], [-3.8370780901056545, 3.0803339376051326, -4.2222658419983556, 4.1690548061829755]]], [[[-0.55959148713135498, -4.0165456132135819, 3.7003176717452124, 0.91100749387102375], [3.5081540814174854, 2.3965190400490011, 2.8673375373628875, -2.5840421563364178], [2.3580298762709573, 0.037293141507435124, 1.9467705775599171, 3.006506895136738]], [[-0.73377905062920767, -1.0818483036990969, -0.58167617188657594, 3.8510251371534192], [-1.7928676100414345, -3.0290650954356679, 1.0068599947658949, 0.20020178904415875], [-2.4800673304179055, 1.1195119035043604, -0.23449872375724112, -1.8427048142771643]]]]))  
       arg1=numpy.array([[[[1.1281146779901636, 3.3480050394089229, -3.5122045802972113, 2.5366062654283228], [1.2325423229037247, -1.9011928854034768, 1.1052991200614297, 1.6847883063863662], [-4.5376578772744356, 0.6684840990423826, -1.3817235598102338, 2.4332663381308812]], [[-2.356392479842413, 1.3208007342409465, -3.1565855533145548, -1.800197490749528], [2.1829820482235354, 3.8403156807546228, 3.051751799632866, 0.20245416903376423], [-1.8676770530751838, -1.1549707933456799, 0.43053650529186882, 1.0578300279152311]]], [[[4.0755033388383666, -3.8650686458007169, 2.9630467033633909, -3.6809748872196844], [4.309274601119558, -4.7455274269277261, 3.7507871317242909, 1.3241233992294079], [4.1489968256099203, -1.4005597371540679, 1.3149638137092312, 4.8050353545079645]], [[-1.2287242951673107, 1.2575578802853045, -3.9525939072761274, -1.3872656259110085], [-3.6507413758100018, 1.4019257581493516, 2.4970441480762933, -0.73028827474279723], [-4.9508380812117192, -2.123303567836512, 4.3482552405230521, -1.8299552721402179]]], [[[4.0428349386604676, 3.0735379162951926, -0.32582954573893463, 4.5565067820749547], [4.1854382364627423, 0.5921271962052419, 2.7322504809876955, -1.6856302736519089], [0.089274655126772018, 1.0144733769244283, -0.27809216198870335, 2.1030873890944903]], [[2.7857840057583179, 3.8421780147100222, 2.8806260473030267, -0.93968089727212956], [2.5635696266610095, -4.0738619941068706, -4.0295217663224925, -0.39746388108265673], [2.0430719870268526, -3.3839953746575144, 0.034062400404993198, -1.319939572803277]]]])  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[0.31339994500143575, 1.9184555659717324, -8.3202700539161878, 6.6528571286841052], [-3.035692092361316, -6.6272162879910237, -0.60284943794402146, 0.56276358278596827], [-0.24046623212984741, -3.3899631390405656, -2.4303349175277353, -0.92252726020540265]], [[-4.8525370653016715, -2.8520120148432362, -7.7075401324129889, -4.5069591003144884], [0.13830300512831961, 2.6224947137764012, 1.1198023442418297, 3.7420228703505209], [2.2451746959634882, -4.2625769540360592, 0.014075128656068081, -0.78378431117721803]]], [[[3.2535147324878011, -5.9867787466053723, 2.248083428331964, -5.0761672710106609], [6.0419400689554736, -2.7077367972535527, 4.367975301186898, 5.0727690586660019], [1.4417339943650784, 0.33400249587338227, -1.5542999259527357, 1.0669664318388614]], [[-4.4609812443139667, 1.4817613997191899, -3.6613358004784313, -3.6523506055946413], [-8.5839041733946253, 3.9236553384514679, -1.3987626865798948, -3.3997374469399055], [-8.913208829633458, 1.5050826821296717, 4.7902206615273064, -5.8108411808081559]]], [[[6.0214487865218755, 1.489551303621278, -2.7296049406459932, 3.4031570376465323], [-0.055961632938889672, -0.89992560378569841, 1.6728153420034984, -2.9061683622669263], [-2.5113005391394605, 0.043304274617020688, -0.68364597752763068, 0.9683676400141974]], [[1.1394632490018481, 6.4613852173402435, 6.7908870414609321, -5.849905328255236], [6.1029652427931298, -5.5460644685504779, -2.1672818091367487, -1.2849621867860916], [-0.44533093408334512, -3.7053907009240801, -3.5817287703506269, -3.0014641547054821]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-0.26103085217848365, 3.7245484802402302, -6.0291639566628525, 1.1143918863735482], [4.1562559970640161, 0.99078296657358766, -2.954894449327357, 1.5061520548945815], [-6.6287660435908062, 2.8373901572016358, -1.2269863557509622, 5.7903246355292328]], [[0.36530286638229681, -1.069741249956973, -3.1687012645934898, -2.2553164006833741], [1.4489517541833346, 7.2105520091620345, -1.2571841334922027, -1.2531337210345597], [2.3604595579732788, 2.8555714871501165, 2.960535006618823, 2.8155064310083215]]], [[[4.7213045009039423, -6.7842167011663124, 5.9704972596485693, -1.441056665792031], [3.5855980691733391, 0.034676351480914747, 6.9109046989837104, -3.0439225256695153], [2.880554770129415, 1.0953812167297761, 3.333929257385547, 5.3951329833714396]], [[-1.9151794191991138, 5.6513875472166255, -4.0987867122111821, -0.82310717317291804], [0.14709532909074774, 3.3169166240582468, 6.8010373169018123, -2.0082403897437135], [-8.7879161713173737, 0.95703036976862066, 0.12598939852469648, 2.3390995340427576]]], [[[3.4832434515291126, -0.94300769691838937, 3.3744881260062778, 5.4675142759459785], [7.6935923178802277, 2.988646236254243, 5.5995880183505831, -4.2696724299883266], [2.4473045313977293, 1.0517665184318634, 1.6686784155712138, 5.1095942842312283]], [[2.0520049551291102, 2.7603297110109253, 2.2989498754164508, 2.9113442398812897], [0.77070201661957505, -7.102927089542538, -3.0226617715565975, -0.19726209203849798], [-0.43699534339105295, -2.2644834711531541, -0.20043632335224792, -3.1626443870804413]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_constData_rank0(self):  
       arg0=Data(1.89729264981,self.functionspace)  
       arg0.setTaggedValue(1,2.42934594795)  
       arg1=Data(-1.07256782299,self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(0.824724826819,self.functionspace)  
       ref.setTaggedValue(1,1.35677812497)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_constData_rank0(self):  
       arg0=Data(numpy.array([-2.9847655953319108, -4.8858641183647267]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([1.840291593079538, -3.7503744331348097]))  
       arg1=Data(3.59333301376,self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([0.60856741842592799, -1.2925311046068879]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([5.4336246068373768, -0.15704141937697091]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_constData_rank1(self):  
       arg0=Data(4.94385478208,self.functionspace)  
       arg0.setTaggedValue(1,0.348813322579)  
       arg1=Data(numpy.array([3.0514946454345289, -3.6818845710610306]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([7.9953494275146166, 1.2619702110190572]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([3.4003079680139985, -3.333071248481561]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_constData_rank0(self):  
       arg0=Data(numpy.array([[3.6956201325720066, -1.265727972700923, 1.4700738359675833, 4.2599722493837291, -4.7777745555381319], [1.5502670409306187, -3.9527959064945541, -0.7087273964423213, 3.218907369841828, -0.81684229570895539], [2.2565681878119346, 1.9943577221526212, -3.325660726010363, 0.9841245805691976, 3.352342117126808], [2.1323158459248681, -2.722280348682713, 3.59950092292706, -3.7530353761106525, -3.4459059026174743]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[2.9031687341988164, -2.3326860561924265, 2.4223943896593658, -2.6952454105772503, -3.0932307356102817], [-0.94900943088382306, -1.6264179750639309, -4.8303800699601531, -2.6433356439979381, 3.6794425482740785], [2.4341302273781942, -4.7401383276120743, 4.6938449500966879, -4.3762969596334234, -2.6041215281007424], [-1.1949521035409516, -4.0418079588692919, 4.9806486364679685, -3.7334449846246365, -3.7785320279199097]]))  
       arg1=Data(-1.18815445855,self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[2.507465674022062, -2.4538824312508676, 0.28191937741763873, 3.0718177908337845, -5.9659290140880765], [0.36211258238067412, -5.1409503650444988, -1.8968818549922659, 2.0307529112918834, -2.0049967542589], [1.06841372926199, 0.80620326360267658, -4.5138151845603076, -0.20402987798074701, 2.1641876585768633], [0.9441613873749235, -3.9104348072326576, 2.4113464643771154, -4.9411898346605971, -4.6340603611674194]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[1.7150142756488718, -3.5208405147423711, 1.2342399311094212, -3.8833998691271949, -4.2813851941602259], [-2.1371638894337677, -2.8145724336138755, -6.0185345285100977, -3.8314901025478827, 2.4912880897241338], [1.2459757688282496, -5.9282927861620189, 3.5056904915467433, -5.564451418183368, -3.792275986650687], [-2.3831065620908962, -5.2299624174192365, 3.7924941779180239, -4.9215994431745811, -4.9666864864698539]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_constData_rank2(self):  
       arg0=Data(4.23972870457,self.functionspace)  
       arg0.setTaggedValue(1,-4.41535805673)  
       arg1=Data(numpy.array([[0.6729413723434261, 1.5797562756842511, 4.1933086477582062, 0.013439121495104622, -4.997182372501026], [-2.5451965918521759, -0.73711751427804728, 2.4907823058255643, -1.9573666296626389, -4.714270489296867], [-3.5822900340076371, -1.8572134735259551, 3.4123514889075555, 3.3371964284683102, 2.9369394910435789], [3.4572768086421206, -3.0677640769156254, 4.4790994381029474, 2.9285627369888285, 2.2345389323860978]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[4.9126700769143854, 5.8194849802552104, 8.4330373523291655, 4.2531678260660639, -0.75745366793006674], [1.6945321127187833, 3.502611190292912, 6.7305110103965236, 2.2823620749083204, -0.47454178472590769], [0.65743867056332217, 2.3825152310450042, 7.6520801934785148, 7.5769251330392695, 7.1766681956145382], [7.6970055132130799, 1.1719646276553339, 8.7188281426739067, 7.1682914415597878, 6.4742676369570571]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-3.7424166843884343, -2.8356017810476093, -0.22204940897365422, -4.4019189352367558, -9.4125404292328874], [-6.9605546485840364, -5.1524755710099077, -1.9245757509062962, -6.3727246863944993, -9.1296285460287265], [-7.9976480907394976, -6.2725715302578156, -1.003006567824305, -1.0781616282635502, -1.4784185656882816], [-0.95808124808973982, -7.4831221336474858, 0.06374138137108698, -1.4867953197430319, -2.1808191243457626]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_constData_rank0(self):  
       arg0=Data(numpy.array([[[2.1729339946504265, 3.6072061317056416], [-1.6163252237254842, -4.2780468258683024]], [[-2.5849102186074702, -2.250170548839201], [2.2620969966367319, -1.6641273859706409]], [[1.7631975226025318, 0.65886267259095455], [-4.6178325535037557, -4.5207773144684218]], [[-2.2558809466305716, -1.7286142437395768], [4.5731755024789997, 2.6035940434590845]], [[-3.3682974174937961, -2.2449536226332114], [-0.57866457570190732, 2.3297649091237274]], [[2.5527403662724533, 3.2774812987019217], [3.1359309299745135, -2.8595484276748904]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[4.5206888805379855, 2.1363425638281006], [4.6726667670462856, 0.22998601492018089]], [[2.8607358305573429, -0.99590895579749805], [4.495001616923922, -1.7856270151537634]], [[-0.47117534049368182, 3.4272786908543669], [-1.9147360735558472, 1.9477397164524204]], [[4.5901196540018123, -0.9479695772730814], [-0.029087245747173363, -2.6455487524591046]], [[3.725686606414838, -1.0630365576661296], [-0.94860629867782187, 4.6532369603306201]], [[-3.6312704023981048, 2.9354248646197014], [-3.0029101722216356, -1.716859023615418]]]))  
       arg1=Data(-0.522031195659,self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[1.6509027989910505, 3.0851749360462657], [-2.1383564193848601, -4.8000780215276784]], [[-3.1069414142668461, -2.7722017444985769], [1.740065800977356, -2.1861585816300169]], [[1.2411663269431559, 0.1368314769315786], [-5.1398637491631316, -5.0428085101277977]], [[-2.7779121422899475, -2.2506454393989528], [4.0511443068196238, 2.0815628477997086]], [[-3.890328613153172, -2.7669848182925874], [-1.1006957713612833, 1.8077337134643514]], [[2.0307091706130773, 2.7554501030425458], [2.6138997343151376, -3.3815796233342663]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[3.9986576848786095, 1.6143113681687247], [4.1506355713869096, -0.29204518073919505]], [[2.338704634897967, -1.517940151456874], [3.972970421264546, -2.3076582108131394]], [[-0.99320653615305776, 2.9052474951949909], [-2.4367672692152231, 1.4257085207930444]], [[4.0680884583424364, -1.4700007729324573], [-0.55111844140654931, -3.1675799481184805]], [[3.203655410755462, -1.5850677533255055], [-1.4706374943371978, 4.1312057646712441]], [[-4.1533015980574808, 2.4133936689603255], [-3.5249413678810115, -2.2388902192747939]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_constData_rank3(self):  
       arg0=Data(-0.703391686891,self.functionspace)  
       arg0.setTaggedValue(1,-4.47000688596)  
       arg1=Data(numpy.array([[[2.3596986330589385, 4.6981008696805588], [1.2611497476444358, -1.5136327258667661]], [[-4.5486619549029852, -1.1342203511535685], [-2.771309259743262, 2.0054264852050521]], [[3.4957343905429994, -4.4372038579290045], [4.6696298768882194, -4.2186947280895195]], [[-0.18516878230402511, 4.9839569353851463], [4.3170941606454036, -0.97915941663295758]], [[-3.9196842454767489, -1.8528892278606457], [-2.4121834885961779, 1.7341473009966073]], [[-1.4216657413440812, -4.0066524221436692], [-0.77431830390712086, 3.8943758077868686]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[1.6563069461678603, 3.9947091827894807], [0.55775806075335765, -2.2170244127578442]], [[-5.2520536417940633, -1.8376120380446466], [-3.4747009466343401, 1.302034798313974]], [[2.7923427036519213, -5.1405955448200826], [3.9662381899971413, -4.9220864149805976]], [[-0.88856046919510323, 4.2805652484940682], [3.6137024737543255, -1.6825511035240357]], [[-4.6230759323678274, -2.5562809147517238], [-3.115575175487256, 1.0307556141055292]], [[-2.1250574282351593, -4.7100441090347474], [-1.477709990798199, 3.1909841208957905]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-2.1103082528992623, 0.22809398372235812], [-3.208857138313765, -5.9836396118249668]], [[-9.018668840861185, -5.6042272371117692], [-7.2413161457014628, -2.4645804007531487]], [[-0.97427249541520133, -8.9072107438872052], [0.19962299093001867, -8.6887016140477193]], [[-4.6551756682622258, 0.51395004942694555], [-0.15291272531279709, -5.4491663025911583]], [[-8.3896911314349492, -6.322896113818846], [-6.8821903745543782, -2.7358595849615934]], [[-5.8916726273022819, -8.4766593081018691], [-5.2443251898653216, -0.57563107817133208]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_constData_rank0(self):  
       arg0=Data(numpy.array([[[[-0.039569726514963044, -1.9070651003439432, -4.3809898602642878, 1.0680201786332351], [-2.5080432418150265, 0.57387188996193217, 3.3809558448634132, 3.7957050744313587], [2.9173906950458273, 1.2441344865800854, -0.65816571185789563, 1.3909782575350977]], [[4.1755282895346753, 1.0885954835137666, 2.9731837307618445, -2.659135953443811], [-2.7130040587561566, 0.47099070519632225, 2.1200764375730499, 4.8406984272912439], [1.474850885974722, -2.985990769518482, 1.6270873238922441, -2.9620340279061184]]], [[[-1.5790300976476224, 4.0355155051051241, -4.8966018488894578, -4.5309402611849254], [-4.5876319480541046, 3.24100434099228, -1.2269693888690556, -3.2031808092290595], [-1.5750243184902244, -0.062513700186409338, 3.123441192574596, -3.3981530595917886]], [[-1.9864052252183639, -2.4453606384962012, -3.5463456029525897, -1.7461211975466382], [1.5547828148762557, 2.7341187254231318, -3.5523772936786568, -1.2030958162176852], [-3.1776237166426857, -4.4266895933071382, 4.7456401378735436, 3.1224725129384758]]], [[[0.33102703083023144, -3.1038528299747128, -0.35149221280997711, -4.5770960283035231], [-2.070834476819142, 3.6234741805463706, -4.5935898670702136, -3.4076460663941655], [0.38802248167294451, 2.3707273893222647, -2.7994094467693542, 0.80421270043273463]], [[-3.76635625910406, -2.6848241724189723, -0.31524856076977592, -3.1064365069286568], [-3.685663799724944, 0.047706502173523901, -2.9296303597729043, 2.1981918399345783], [-4.7511254552339963, -4.7973124816629911, 3.9748572044585657, 3.1645109875565893]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-3.1478464752061885, 2.987646412943457, 2.8646744209496067, 3.7277056373827318], [-3.9852957275920842, -3.6337465597572569, 3.1044885114560703, 0.96859185788408464], [-3.0725450781720989, 0.97625137879077073, -3.9128704773242404, -4.6168946057857525]], [[-4.0761197762086523, 2.703756155293946, -4.1312805063904268, 4.5238237988919465], [2.9238420957055311, -1.1739461724759623, 2.5370995977782664, -0.82362545338202864], [2.2398817446993462, -0.36167905420908841, 4.6890425099607249, 1.8733357449304124]]], [[[0.38995375015563472, 4.8263584469215957, -4.8191136408284585, 2.2886076086467968], [4.0980078650112723, 2.6092654570637865, -1.5581491136330152, -0.11156827207486142], [4.9530644996293915, 3.9797426213481248, 2.6430912414799224, 3.2030008344798393]], [[-2.5014788421794698, -4.3976845465561123, 0.43805098720277069, -3.825477638056042], [-4.3527050355824946, 0.19820657695649047, -4.2906955319058628, -2.9997148361887129], [-2.3163194851489513, 2.151361157688287, 0.68137480294647901, 2.7256084083331462]]], [[[2.4657281503842929, 0.064593665236460929, 0.48180614157933377, 3.3249823699872305], [0.36317604902884515, 3.0951470270142121, -1.5766933375775949, -1.1215178912422106], [0.32980693119648485, 2.6499087151322733, 0.73848357770882256, -3.1834994331975897]], [[1.5026740441758912, -2.5638602265925559, 1.7116644869654358, 1.844586693762488], [-0.041452773049730496, 4.0982627638643478, 4.6992884336657763, -4.7479637041246292], [4.8328204558571635, -4.2578285637778199, 1.5980809957579369, 2.7703162483098414]]]]))  
       arg1=Data(3.8274726634,self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[3.787902936882019, 1.9204075630530388, -0.55351719686730583, 4.8954928420302171], [1.3194294215819555, 4.4013445533589142, 7.2084285082603952, 7.6231777378283407], [6.7448633584428093, 5.0716071499770674, 3.1693069515390864, 5.2184509209320797]], [[8.0030009529316573, 4.9160681469107486, 6.8006563941588265, 1.168336709953171], [1.1144686046408254, 4.2984633685933042, 5.9475491009700319, 8.6681710906882259], [5.302323549371704, 0.84148189387850003, 5.4545599872892261, 0.86543863549086364]]], [[[2.2484425657493596, 7.8629881685021061, -1.0691291854924758, -0.70346759778794343], [-0.76015928465712257, 7.068477004389262, 2.6005032745279264, 0.62429185416792254], [2.2524483449067576, 3.7649589632105727, 6.950913855971578, 0.42931960380519341]], [[1.8410674381786181, 1.3821120249007808, 0.28112706044439228, 2.0813514658503438], [5.3822554782732377, 6.5615913888201138, 0.27509536971832516, 2.6243768471792968], [0.64984894675429627, -0.59921692991015618, 8.5731128012705256, 6.9499451763354578]]], [[[4.1584996942272134, 0.72361983342226921, 3.4759804505870049, -0.74962336490654113], [1.75663818657784, 7.4509468439433526, -0.76611720367323155, 0.41982659700281655], [4.2154951450699265, 6.1982000527192467, 1.0280632166276278, 4.6316853638297166]], [[0.061116404292921978, 1.1426484909780097, 3.5122241026272061, 0.7210361564683252], [0.14180886367203804, 3.8751791655705059, 0.89784230362407769, 6.0256645033315603], [-0.92365279183701432, -0.96983981826600907, 7.8023298678555477, 6.9919836509535713]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[0.67962618819079346, 6.815119076340439, 6.6921470843465887, 7.5551783007797138], [-0.15782306419510217, 0.19372610363972509, 6.9319611748530523, 4.7960645212810666], [0.75492758522488312, 4.8037240421877527, -0.085397813927258426, -0.7894219423887705]], [[-0.24864711281167029, 6.531228818690928, -0.30380784299344477, 8.3512964622889285], [6.7513147591025131, 2.6535264909210197, 6.3645722611752484, 3.0038472100149534], [6.0673544080963282, 3.4657936091878936, 8.5165151733577069, 5.7008084083273944]]], [[[4.2174264135526167, 8.6538311103185777, -0.9916409774314765, 6.1160802720437788], [7.9254805284082543, 6.4367381204607685, 2.2693235497639668, 3.7159043913221206], [8.7805371630263735, 7.8072152847451068, 6.4705639048769044, 7.0304734978768213]], [[1.3259938212175122, -0.57021188315913029, 4.2655236505997527, 0.0019950253409399821], [-0.52523237218551255, 4.0256792403534725, -0.46322286850888084, 0.82775782720826907], [1.5111531782480307, 5.978833821085269, 4.508847466343461, 6.5530810717301282]]], [[[6.2932008137812749, 3.8920663286334429, 4.3092788049763158, 7.1524550333842125], [4.1906487124258271, 6.9226196904111941, 2.2507793258193871, 2.7059547721547714], [4.1572795945934669, 6.4773813785292553, 4.5659562411058046, 0.64397323019939234]], [[5.3301467075728732, 1.2636124368044261, 5.5391371503624178, 5.67205935715947], [3.7860198903472515, 7.9257354272613298, 8.5267610970627583, -0.9204910407276472], [8.6602931192541455, -0.43035590038083793, 5.4255536591549189, 6.5977889117068234]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_constData_rank4(self):  
       arg0=Data(0.710942084609,self.functionspace)  
       arg0.setTaggedValue(1,-3.27803718066)  
       arg1=Data(numpy.array([[[[0.22260402413095548, -2.2056267557430562, -0.52776775607025961, -0.03665090561269313], [4.6087976214216688, 2.9170024471349016, -0.76353574232487542, -1.9226617161353721], [-3.9254105300060651, 3.888416934431266, -1.5070097455398388, -4.3607083551613073]], [[4.170995257258209, 0.3417901133425012, -0.58359926366691628, 4.2434501055224736], [1.4146580208797239, -2.9114630982119074, 0.016785621335842826, 3.4485678485781577], [1.3506843267365065, 4.9426953756757825, 3.602844758766091, 2.3759671269618918]]], [[[-3.9944117122963108, 1.0421634848665873, 3.646658172482546, -1.4263862241390814], [-2.2888222900378818, -4.6343803210304637, -3.4521036490524093, 0.99562023912330577], [4.1355402601867279, -1.7995468928575264, -0.21324341698764737, -3.3152876868562444]], [[-2.3893654718977198, 0.64412130476096685, -0.20429125271955684, -1.9956071187091053], [4.5636123854391748, -0.98925282192946806, -0.67272303853656013, -4.0761236953384161], [3.1515305472969342, 3.5980978120366007, 0.25259299543763092, -0.91323852075565259]]], [[[-2.3477261287972997, -1.9478018027263966, -4.3007282413136059, 2.2748589910752184], [-3.2589518502339221, -4.2153495650559378, -3.3056630553638966, 3.6877613845545483], [1.3528482264696979, -1.9392535337261196, -1.02114124829217, 4.5009448289986853]], [[2.8729662647071974, 3.1928149465213398, 0.62958485084067917, -3.735738525280472], [1.31443483360923, -2.6264675894934184, 2.4233699242377984, -1.032685745269716], [-1.5746863026388844, 0.025967375106339396, -0.268937447629777, -4.0537370765401848]]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[0.93354610874043331, -1.4946846711335784, 0.18317432853921822, 0.6742911789967847], [5.3197397060311467, 3.6279445317443795, -0.05259365771539759, -1.2117196315258942], [-3.2144684453965873, 4.5993590190407438, -0.79606766093036097, -3.6497662705518295]], [[4.8819373418676868, 1.052732197951979, 0.12734282094256155, 4.9543921901319514], [2.1256001054892018, -2.2005210136024296, 0.72772770594532066, 4.1595099331876355], [2.0616264113459843, 5.6536374602852604, 4.3137868433755688, 3.0869092115713697]]], [[[-3.2834696276868329, 1.7531055694760651, 4.3576002570920238, -0.71544413952960362], [-1.577880205428404, -3.9234382364209859, -2.7411615644429315, 1.7065623237327836], [4.8464823447962058, -1.0886048082480486, 0.49769866762183046, -2.6043456022467666]], [[-1.6784233872882419, 1.3550633893704447, 0.50665083188992099, -1.2846650340996275], [5.2745544700486526, -0.27831073731999023, 0.038219046072917706, -3.3651816107289383], [3.862472631906412, 4.3090398966460786, 0.96353508004710875, -0.20229643614617476]]], [[[-1.6367840441878219, -1.2368597181169187, -3.589786156704128, 2.9858010756846962], [-2.5480097656244443, -3.50440748044646, -2.5947209707544188, 4.3987034691640261], [2.0637903110791758, -1.2283114491166418, -0.31019916368269218, 5.2118869136081631]], [[3.5839083493166752, 3.9037570311308176, 1.340526935450157, -3.0247964406709942], [2.0253769182187078, -1.9155255048839406, 3.1343120088472762, -0.32174366066023818], [-0.8637442180294066, 0.73690945971581723, 0.44200463697970083, -3.3427949919307069]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-3.0554331565302384, -5.4836639364042501, -3.8058049367314535, -3.314688086273887], [1.3307604407604749, -0.36103473352629223, -4.0415729229860693, -5.2006988967965659], [-7.203447710667259, 0.61037975377007214, -4.7850469262010327, -7.6387455358225012]], [[0.89295807659701509, -2.9362470673186927, -3.8616364443281102, 0.96541292486127972], [-1.86337915978147, -6.1895002788731013, -3.261251559325351, 0.17053066791696381], [-1.9273528539246874, 1.6646581950145887, 0.32480757810489713, -0.90207005369930204]]], [[[-7.2724488929575042, -2.2358736957946066, 0.36862099182135211, -4.7044234048002753], [-5.5668594706990753, -7.9124175016916576, -6.7301408297136032, -2.2824169415378881], [0.85750307952553406, -5.0775840735187199, -3.4912805976488412, -6.5933248675174383]], [[-5.6674026525589136, -2.633915875900227, -3.4823284333807507, -5.2736442993702992], [1.2855752047779809, -4.2672900025906619, -3.950760219197754, -7.35416087599961], [-0.12650663336425971, 0.32006063137540686, -3.025444185223563, -4.1912757014168465]]], [[[-5.6257633094584936, -5.2258389833875905, -7.5787654219747997, -1.0031781895859755], [-6.536989030895116, -7.4933867457171317, -6.5837002360250905, 0.4097242038933544], [-1.9251889541914959, -5.217290714387314, -4.2991784289533639, 1.2229076483374914]], [[-0.40507091595399647, -0.085222234139854081, -2.6484523298205147, -7.0137757059416659], [-1.9636023470519639, -5.9045047701546123, -0.85466725642339547, -4.3107229259309099], [-4.8527234833000783, -3.2520698055548545, -3.5469746282909709, -7.3317742572013787]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_constData_rank1(self):  
       arg0=Data(numpy.array([-3.8348087833227362, -3.0360958590842992]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-0.86075335835851341, 1.4110051935056536]))  
       arg1=Data(numpy.array([2.3872391241806721, -2.9190934247598976]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-1.4475696591420641, -5.9551892838441969]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.5264857658221587, -1.5080882312542441]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_constData_rank1(self):  
       arg0=Data(numpy.array([[3.6950929970238846, -1.4911288732335306], [-4.7404390986013372, -1.2216934044939753]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[3.7720617290651699, -2.8943323243150312], [-1.1313709392062563, 3.5039746746149305]]))  
       arg1=Data(numpy.array([-4.8836945789490169, -1.3429835050546259]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-1.1886015819251323, -6.3748234521825475], [-6.0834226036559631, -2.5646769095486013]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-1.111632849883847, -7.7780269032640481], [-2.4743544442608822, 2.1609911695603046]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_constData_rank2(self):  
       arg0=Data(numpy.array([2.9744775201133162, 2.0091805376507574]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.8984318224657395, -4.0571013998775509]))  
       arg1=Data(numpy.array([[-4.9361769626563534, -3.2268840483159753], [-1.4046774940828435, 1.5620587424166468]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-1.9616994425430372, -0.25240652820265908], [0.60450304356791396, 3.5712392800674042]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-6.8346087851220929, -5.1253158707817148], [-5.4617788939603944, -2.4950426574609041]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_constData_rank1(self):  
       arg0=Data(numpy.array([[[-4.5981798931422233, 3.9666327759001891, -3.8372931681270539, -4.2773511115580511, -0.20794645707912807], [2.56105123656811, -4.3698446980343135, 1.189708353211655, -0.12330389501878791, 0.68495568829997566], [2.6550214055877923, 4.1281173616612286, -4.1620368641793259, -4.6757782040116425, -4.469209629973351], [2.4001723369662278, 1.3489733532494173, 1.4316408583452276, -3.3659719989874026, -1.1883262033228394]], [[-1.4352865022830494, 3.9140447675130456, -3.3744156561206173, 0.35035914205484175, 1.0906282787839103], [-3.2048914802278681, 4.5169462384984307, -4.4900518387502597, -0.69616422364313379, 2.8542705085742668], [-1.4314910594294536, -2.0088325057668666, 0.63546590562855165, 1.2330659661213614, 1.8184260682715578], [-2.4189894579015303, 1.2831647466052001, 4.7803749550741141, -1.2519097897519105, 3.7788476036749916]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[2.642274590512538, -4.325912426353911, 0.36207216439000955, 4.6638997824542123, 2.9337787187668072], [-1.5988645457262161, 1.2873018915656615, 1.196057775269125, 2.902212297572766, 2.9582919768958851], [3.2860494378615304, 2.0975515911386475, -3.7928124703655044, -3.8855860319596101, -4.4945225972022662], [-1.9356395255642109, -4.7525369437373, 1.82728887841904, -1.0528129398235553, -3.2259073120170378]], [[4.2124285925578686, 1.336278846921263, 2.0793966314888488, 2.0684156584077957, 2.8762179123365117], [-4.0228866963617316, 4.6598847279979605, -2.5429915308329076, -3.747518990971944, -2.8159732307086136], [-1.5547935187880557, -3.9303748187346921, 4.6233735458391561, 3.7649137095211405, 1.9473441625052432], [-0.52260522915842689, 2.7567738487589324, 2.1862929717230282, -4.8355080976216236, 0.9190706170361036]]]))  
       arg1=Data(numpy.array([0.58228253043369271, -4.4062380605001668]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-4.0158973627085306, 4.5489153063338819, -3.2550106376933612, -3.6950685811243584, 0.37433607335456465], [3.1433337670018027, -3.7875621676006208, 1.7719908836453477, 0.4589786354149048, 1.2672382187336684], [3.237303936021485, 4.7103998920949213, -3.5797543337456332, -4.0934956735779497, -3.8869270995396583], [2.9824548673999205, 1.93125588368311, 2.0139233887789203, -2.7836894685537099, -0.60604367288914673]], [[-5.8415245627832162, -0.49219329298712111, -7.7806537166207841, -4.055878918445325, -3.3156097817162564], [-7.6111295407280348, 0.11070817799826393, -8.8962898992504265, -5.1024022841433005, -1.5519675519259], [-5.8377291199296204, -6.4150705662670333, -3.7707721548716151, -3.1731720943788053, -2.5878119922286089], [-6.8252275184016966, -3.1230733138949667, 0.37413689457394739, -5.6581478502520772, -0.62739045682517514]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[3.2245571209462307, -3.7436298959202183, 0.94435469482370227, 5.246182312887905, 3.5160612492004999], [-1.0165820152925233, 1.8695844219993543, 1.7783403057028178, 3.4844948280064587, 3.5405745073295778], [3.8683319682952231, 2.6798341215723402, -3.2105299399318117, -3.3033035015259173, -3.9122400667685735], [-1.3533569951305182, -4.1702544133036072, 2.4095714088527327, -0.47053040938986257, -2.6436247815833451]], [[-0.19380946794229814, -3.0699592135789038, -2.326841429011318, -2.337822402092371, -1.5300201481636551], [-8.4291247568618992, 0.25364666749779374, -6.9492295913330739, -8.1537570514721107, -7.2222112912087804], [-5.9610315792882229, -8.3366128792348597, 0.2171354853389893, -0.64132435097902629, -2.4588938979949235], [-4.9288432896585936, -1.6494642117412344, -2.2199450887771386, -9.2417461581217903, -3.4871674434640632]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_constData_rank3(self):  
       arg0=Data(numpy.array([-4.3849728341684759, -0.33313316013689054]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([4.769456431528095, 2.087006577141052]))  
       arg1=Data(numpy.array([[[1.1452345558447234, 1.6759645706937114, 1.3841037362651907, -2.9832306899215153, 4.5368016888076905], [1.2374538650543467, 0.034812569440466845, -2.9181200206259064, 4.9200001740607426, -4.0974660805762575], [4.8343515440043117, -3.70133338201755, 0.99090360785675546, 0.50376540473282017, 2.0418712346489105], [2.5353479032030108, -1.4165003730317083, -1.2810301838832117, -0.51164341545301273, -1.8053003962572287]], [[-1.9177238576698228, 3.1955388348151175, -2.6937777634878635, 0.32456125899317101, -0.84542605223400003], [-0.51425479466970536, -1.6286223537861244, -1.3490006784751674, 1.6263494317754565, -0.89485829334338973], [4.2494528895225265, 1.0327394471391536, 1.190012461842179, -2.5184924756441998, -3.4023901306970084], [3.4012772223322472, -1.5549899384939705, -2.2296973619492877, 2.620503666062274, 3.3291395470544778]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-3.2397382783237525, -2.7090082634747645, -3.0008690979032853, -7.3682035240899912, 0.15182885463921458], [-3.1475189691141292, -4.3501602647280091, -7.3030928547943823, 0.5350273398922667, -8.4824389147447334], [0.44937870983583572, -8.086306216186026, -3.3940692263117205, -3.8812074294356558, -2.3431015995195654], [-1.8496249309654651, -5.8014732072001838, -5.666003018051688, -4.8966162496214887, -6.1902732304257047]], [[-2.2508570178067133, 2.8624056746782269, -3.026910923624754, -0.0085719011437195292, -1.1785592123708906], [-0.8473879548065959, -1.9617555139230149, -1.6821338386120579, 1.293216271638566, -1.2279914534802803], [3.916319729385636, 0.69960628700226302, 0.85687930170528848, -2.8516256357810903, -3.7355232908338989], [3.0681440621953566, -1.888123098630861, -2.5628305220861782, 2.2873705059253835, 2.9960063869175872]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[5.9146909873728184, 6.4454210022218064, 6.1535601677932856, 1.7862257416065797, 9.3062581203357855], [6.0069102965824417, 4.8042690009685618, 1.8513364109021886, 9.6894566055888376, 0.67199035095183746], [9.6038079755324066, 1.0681230495105449, 5.7603600393848504, 5.2732218362609151, 6.8113276661770055], [7.3048043347311058, 3.3529560584963867, 3.4884262476448833, 4.2578130160750822, 2.9641560352708662]], [[0.16928271947122919, 5.2825454119561694, -0.60677118634681149, 2.411567836134223, 1.241580524907052], [1.5727517824713466, 0.45838422335492757, 0.73800589866588462, 3.7133560089165085, 1.1921482837976622], [6.3364594666635785, 3.1197460242802055, 3.277019038983231, -0.43148589850314778, -1.3153835535559564], [5.4882837994732991, 0.53201663864708149, -0.14269078480823572, 4.707510243203326, 5.4161461241955298]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_constData_rank1(self):  
       arg0=Data(numpy.array([[[[-0.62669088023321518, -4.1271685188762302], [-0.75428895577045996, 3.6734481684104754]], [[0.75293825967740258, 1.5357733411234644], [4.0900310160056303, -4.7060174182137491]], [[-2.1842984859458223, 1.4641027214703941], [-1.2321908900366152, 0.47236069939608072]], [[-3.6645285649735957, -3.86438497986643], [2.758814179160046, 0.55619986599142734]], [[-1.7375400374869487, 1.7923087804683266], [2.0745329123183742, 1.8439830846208896]], [[-1.9013772188362923, 0.31496701748245215], [4.3293756270373969, 2.4128076752943839]]], [[[-4.1318609689516839, -0.99440500571187052], [4.9188387848273223, 2.4977522592765578]], [[-0.29026150429210418, 4.7787072340721597], [1.4260707580535028, -0.97936290210166099]], [[-2.0426894177670185, -4.6110589810118618], [0.48382569092679439, 1.8060722892585543]], [[3.3025067660104011, -1.8680121451640752], [1.0674195633328489, 0.21149222090030051]], [[-0.80026201775985495, -4.5889687143848645], [1.4478266703895866, 0.20094635236054081]], [[-2.0881561722403772, 1.7359482433207649], [-0.37325745151565748, -4.7725714470256717]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[4.7679566471085906, -0.8201495139182029], [-3.6656337013733555, -3.9635643904737883]], [[4.4199030794591607, 4.697897688966659], [-4.3285731899611832, -3.4297391353504958]], [[-0.75543900009891285, -2.7706459472509648], [3.076744849577457, -0.38370609030508085]], [[-2.3659912329882604, -3.7614268174161869], [1.2832804074337298, -3.5475670491481148]], [[2.086639732089469, 1.1245846458565003], [3.2786216376290085, 1.0739634695585485]], [[-4.7882879872408175, 1.3269627959949073], [-0.5635173842547756, -4.485905253866056]]], [[[-0.029983519929346336, -1.8682403472990003], [4.1320580687000774, 1.6184852680920851]], [[-2.0363259565602898, -0.34662645423878935], [2.1238939889781614, 0.60990491851353301]], [[-2.1587674537077972, 1.2134044040236542], [1.5510419767720585, -0.46482408150726595]], [[-0.024209077215560093, 2.6713617319581964], [-4.0526942286648682, 2.7420807402258704]], [[0.84625740016524986, -2.2117285523048769], [-4.5054442635322314, 3.681445190831651]], [[-3.2542459089097822, 2.5980394989405209], [1.2055250247364206, 0.55156241660588456]]]]))  
       arg1=Data(numpy.array([0.771354466012804, -1.0084536189606599]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[0.14466358577958882, -3.3558140528634262], [0.01706551024234404, 4.4448026344232794]], [[1.5242927256902066, 2.3071278071362684], [4.8613854820184343, -3.9346629522009451]], [[-1.4129440199330183, 2.2354571874831981], [-0.4608364240238112, 1.2437151654088847]], [[-2.8931740989607917, -3.093030513853626], [3.53016864517285, 1.3275543320042313]], [[-0.96618557147414474, 2.5636632464811306], [2.8458873783311782, 2.6153375506336936]], [[-1.1300227528234883, 1.0863214834952561], [5.1007300930502009, 3.1841621413071879]]], [[[-5.1403145879123437, -2.0028586246725304], [3.9103851658666624, 1.4892986403158979]], [[-1.2987151232527641, 3.7702536151114998], [0.41761713909284293, -1.9878165210623209]], [[-3.0511430367276784, -5.6195125999725217], [-0.52462792803386549, 0.79761867029789446]], [[2.2940531470497412, -2.8764657641247351], [0.05896594437218905, -0.79696139806035937]], [[-1.8087156367205148, -5.5974223333455244], [0.43937305142892669, -0.80750726660011907]], [[-3.0966097912010371, 0.72749462436010504], [-1.3817110704763174, -5.7810250659863316]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[5.5393111131213946, -0.048795047905398903], [-2.8942792353605515, -3.1922099244609843]], [[5.1912575454719647, 5.469252154979463], [-3.5572187239483792, -2.6583846693376918]], [[0.015915465913891147, -1.9992914812381608], [3.848099315590261, 0.38764837570772315]], [[-1.5946367669754564, -2.9900723514033829], [2.0546348734465338, -2.7762125831353108]], [[2.857994198102273, 1.8959391118693043], [4.0499761036418125, 1.8453179355713525]], [[-4.0169335212280135, 2.0983172620077113], [0.2078370817580284, -3.714550787853252]]], [[[-1.0384371388900062, -2.8766939662596602], [3.1236044497394175, 0.61003164913142527]], [[-3.0447795755209497, -1.3550800731994492], [1.1154403700175015, -0.39854870044712687]], [[-3.1672210726684571, 0.20495078506299436], [0.54258835781139858, -1.4732777004679258]], [[-1.03266269617622, 1.6629081129975365], [-5.0611478476255281, 1.7336271212652106]], [[-0.16219621879541002, -3.2201821712655367], [-5.5138978824928913, 2.6729915718709911]], [[-4.262699527870442, 1.589585879979861], [0.19707140577576077, -0.45689120235477532]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_constData_rank4(self):  
       arg0=Data(numpy.array([-3.1526425126023794, 2.8986962843407147]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-4.2408559023243706, 1.3633147849224176]))  
       arg1=Data(numpy.array([[[[-0.40934192610886022, -4.4956052062007368], [-4.9496886454344136, 3.7647133557445915]], [[4.5871966658117547, 2.7809897047423604], [2.1000694662335793, 0.61117840535086376]], [[1.1115773400207463, -3.6535524608360568], [-2.5494838079267534, 1.5423106052102744]], [[-0.077076133586430728, 2.4660303931036429], [3.4250847913982803, -3.4960571855339984]], [[3.7544195939472864, 1.7881324167985477], [0.97389512053527305, 3.6214435491444448]], [[0.43661645674012384, -2.1035452519792406], [1.3530049383839158, -4.9836997857037213]]], [[[-0.032179866499056686, -2.2483147901965239], [-0.60878466746927895, -1.8989574315002287]], [[2.9582283919346644, 3.9881824273474997], [-2.1665684649949202, -0.25497379652866492]], [[-4.6144883969513337, -2.1920395990558053], [-3.9744188847330744, 2.6054686671841409]], [[-3.5133980552450907, -0.78988682100763175], [2.9384279614134892, 1.0214292807359184]], [[4.8920611014114002, -2.1461532660834051], [-4.7950666217877833, -2.1835222520965103]], [[4.8869834369722422, 2.0982289294376102], [2.669147638153059, -3.8069162946385768]]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.5619844387112396, -7.6482477188031162], [-8.1023311580367938, 0.61207084314221216]], [[1.4345541532093753, -0.37165280786001897], [-1.0525730463688001, -2.5414641072515156]], [[-2.0410651725816331, -6.8061949734384362], [-5.7021263205291328, -1.610331907392105]], [[-3.2297186461888101, -0.68661211949873646], [0.27244227879590088, -6.6486996981363777]], [[0.60177708134490704, -1.3645100958038316], [-2.1787473920671063, 0.4688010365420654]], [[-2.7160260558622555, -5.25618776458162], [-1.7996375742184636, -8.1363422983061007]]], [[[2.866516417841658, 0.65038149414419077], [2.2899116168714357, 0.99973885284048603]], [[5.856924676275379, 6.8868787116882144], [0.73212781934579452, 2.6437224878120498]], [[-1.715792112610619, 0.70665668528490944], [-1.0757226003923597, 5.5041649515248556]], [[-0.61470177090437605, 2.1088094633330829], [5.8371242457542039, 3.9201255650766331]], [[7.7907573857521148, 0.75254301825730963], [-1.8963703374470686, 0.71517403224420439]], [[7.7856797213129569, 4.9969252137783249], [5.5678439224937737, -0.90822001029786215]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-4.6501978284332308, -8.7364611085251074], [-9.1905445477587833, -0.47614254657977906]], [[0.34634076348738407, -1.4598661975820102], [-2.1407864360907913, -3.6296774969735068]], [[-3.1292785623036243, -7.8944083631604274], [-6.790339710251124, -2.6985452971140962]], [[-4.3179320359108013, -1.7748255092207277], [-0.81577111092609034, -7.736913087858369]], [[-0.48643630837708418, -2.4527234855258229], [-3.2669607817890975, -0.61941235317992582]], [[-3.8042394455842468, -6.3444011543036112], [-2.8878509639404548, -9.2245556880280919]]], [[[1.331134918423361, -0.88500000527410627], [0.75453011745313869, -0.53564264657781102]], [[4.321543176857082, 5.3514972122699174], [-0.80325368007250253, 1.1083409883937527]], [[-3.2511736120289161, -0.82872481413338761], [-2.6111040998106567, 3.9687834521065586]], [[-2.1500832703226731, 0.5734279639147859], [4.3017427463359068, 2.3847440656583361]], [[6.2553758863338178, -0.78283848116098742], [-3.4317518368653657, -0.82020746717409265]], [[6.2502982218946599, 3.4615437143600278], [4.0324624230754766, -2.4436015097161592]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_constData_rank2(self):  
       arg0=Data(numpy.array([[-2.5679959684633857, -0.0049360174970551896, -2.3655691351500083, 4.5381645196792135, -3.0993062235578339], [-4.547889450904127, -4.7270413459503988, 2.2162219167049493, 3.7174499464087845, -2.2252240884597607], [0.29367023196377673, 3.4211505551410628, -1.5362134728826469, -2.2429403275895643, -2.6572715630211583], [-2.2348554910212126, 1.9877249921450337, -1.8543265282558572, 4.5837122908685544, 1.5578340930072425]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[0.61312175489027254, -4.8665560331654074, 1.9085681737478, -3.0929226532652656, -4.4192619247261344], [3.2931649937458616, -0.64113087392473478, -3.5611178090631146, 4.9543030844471296, 1.8535744222117554], [4.7601625061221657, 4.5629901846061269, -4.6161468683906834, 4.7719383488837614, -4.5242914517319495], [-1.8267016032315953, 4.4163513261519469, 1.8711703298656186, -2.5225675999577035, 3.9657450746270779]]))  
       arg1=Data(numpy.array([[-1.1076864255748999, 4.5031454191875611, 1.0114408900521905, 0.64873812194953295, -4.3799760445602072], [-4.6674494075240505, -2.7732421116561112, -0.4183270691011467, 2.3219029622246881, 2.100948690615998], [-3.9885164693702988, 4.0658817351700272, 1.0368102025918926, 0.14580527915819452, -0.93539077592829756], [-2.0146097508645067, -3.1997128158266017, 3.9635037332863199, -0.048386960578733706, 0.11905618474976176]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-3.6756823940382857, 4.4982094016905059, -1.3541282450978178, 5.1869026416287465, -7.4792822681180411], [-9.2153388584281775, -7.5002834576065105, 1.7978948476038026, 6.0393529086334725, -0.12427539784376274], [-3.6948462374065221, 7.48703229031109, -0.49940327029075426, -2.0971350484313698, -3.5926623389494559], [-4.2494652418857193, -1.211987823681568, 2.1091772050304627, 4.5353253302898207, 1.6768902777570043]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-0.49456467068462739, -0.36341061397784635, 2.9200090637999905, -2.4441845313157327, -8.7992379692863416], [-1.3742844137781889, -3.414372985580846, -3.9794448781642613, 7.2762060466718177, 3.9545231128277534], [0.77164603675186694, 8.6288719197761541, -3.5793366657987908, 4.917743628041956, -5.459682227660247], [-3.8413113540961019, 1.2166385103253452, 5.8346740631519385, -2.5709545605364372, 4.0848012593768397]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_constData_rank2(self):  
       arg0=Data(numpy.array([[[3.9433627678582361, -3.2077072823550603], [1.0121775156855728, 3.1038988435439947], [0.75984724916465218, -3.2717961614751099], [3.0374984354561079, 3.7554476555500784], [0.46106942231540682, 2.4750753306357076]], [[4.896529079335787, -4.2476478173524139], [-3.0808749808045013, -1.5981819669486685], [-0.84968506281541956, 4.4295029298562678], [2.5925949278862603, -0.52798947508501559], [-4.5367619116929161, 1.3004426250738828]], [[-3.4084685866839148, 1.6999044117973572], [3.8925210747488599, -3.1140351406637654], [4.310212918811887, -0.89277998181684026], [-2.884346862585303, -3.0697871938036627], [-3.1987466681503363, 4.9291707161134859]], [[0.42199823800848613, 4.8071588190330292], [-1.6707322642570444, -0.53376482100995748], [-1.6449236342502127, 1.6242676819634561], [-4.4162932093648033, 3.7523980526032243], [-2.7254901025003688, -4.1180429498161866]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[4.1282249439392622, -3.3234093832230527], [-4.0128257296531036, 3.9281932059949725], [-3.6683946099217843, -3.7054740652757525], [-0.24129407604696507, -4.2800438525215156], [-4.3565108476953522, -4.0502233128270024]], [[2.3812233182103171, 3.7349149150656729], [2.0369427301766834, 3.1847981605807902], [1.5771563461814209, -4.061868463452349], [1.0369764290341363, -1.021585665673248], [3.4768788631317449, 3.9181489387812647]], [[2.0196107003142298, 2.7675397211699106], [-3.1585918070648056, 1.1517706198706623], [3.9124241093318766, 2.7512095193345267], [3.0459801707529444, 3.4821021978713347], [0.16474823796619731, 2.7192392309615174]], [[-3.9684093627358283, 1.3134199250951104], [-2.480117173448102, 4.8977749423360777], [-3.3035740337034758, 4.8333587490970373], [4.6954842865527926, 0.99309732917697424], [-4.1403387276709651, 4.3579479250467728]]]))  
       arg1=Data(numpy.array([[-3.450003967323588, 4.4207818184286722, 3.881948174641213, 2.441175960442453, 3.8012761439913021], [4.946140707645398, 2.3038314923021943, 0.44720541061208152, 0.58097949071988619, -0.23036778352931719], [-3.230571982345066, -3.8996142246014331, -4.5730148055479427, 4.6865724492614582, 0.55217516695632796], [3.6181702979732862, 0.18274698203574058, 4.1448983992160215, 3.0351995490359247, 2.1632115761782504]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[0.49335880053464809, -6.6577112496786484], [5.432959334114245, 7.5246806619726669], [4.6417954238058652, 0.61015201316610312], [5.4786743958985609, 6.1966236159925314], [4.2623455663067089, 6.2763514746270097]], [[9.842669786981185, 0.69849289029298411], [-0.77704348850230698, 0.70564952535352576], [-0.40247965220333803, 4.8767083404683493], [3.1735744186061465, 0.052990015634870602], [-4.7671296952222333, 1.0700748415445656]], [[-6.6390405690289809, -1.5306675705477089], [-0.007093149852573255, -7.0136493652651986], [-0.26280188673605576, -5.465794787364783], [1.8022255866761552, 1.6167852554577955], [-2.6465715011940083, 5.4813458830698139]], [[4.0401685359817723, 8.4253291170063154], [-1.4879852822213038, -0.3510178389742169], [2.4999747649658088, 5.7691660811794776], [-1.3810936603288786, 6.787597601639149], [-0.56227852632211839, -1.9548313736379361]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.67822097661567415, -6.7734133505466403], [0.40795608877556866, 8.3489750244236447], [0.21355356471942866, 0.17647410936546049], [2.1998818843954879, -1.8388678920790626], [-0.55523470370405015, -0.24894716883570034]], [[7.3273640258557151, 8.6810556227110709], [4.3407742224788777, 5.4886296528829845], [2.0243617567935024, -3.6146630528402675], [1.6179559197540225, -0.44060617495336185], [3.2465110796024277, 3.6877811552519475]], [[-1.2109612820308362, -0.46303226117515539], [-7.0582060316662387, -2.7478436047307708], [-0.66059069621606614, -1.821805286213416], [7.7325526200144026, 8.1686746471327929], [0.71692340492252526, 3.2714143979178454]], [[-0.35023906476254218, 4.9315902230683966], [-2.2973701914123614, 5.0805219243718183], [0.84132436551254575, 8.9782571483130589], [7.7306838355887173, 4.0282968782128989], [-1.9771271514927147, 6.5211595012250232]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_constData_rank3(self):  
       arg0=Data(numpy.array([[0.98638737435438184, -0.81761243665661354, -3.3138965139843011, -0.6972057284879476, 1.7336271328382979], [-0.46092341889806399, 3.6183000653042399, 0.18216636891495241, 1.7875676319236566, 2.2682414918284222], [-4.051938349323577, -3.7230831362107573, -2.3766672189767357, -1.8524777866464435, 0.022221252443355155], [1.845745161710818, -2.852001365543714, -0.95141934454505872, -1.6598497398004097, 2.7590697010771938]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[0.80379510494547901, 2.6505963896082863, 3.5292226157267557, -3.1942447389932882, -3.8916821923670297], [-2.4216667084697132, -4.6974614421488727, -2.130050036614568, 2.3585624625535058, -2.1923636119867429], [2.9687846641311761, 1.4522921762772798, -1.0402850463816105, -1.3078963146298159, 1.030161155935212], [0.36559057678432794, 3.1463532171569533, -3.3419025014909041, -0.073199763591461853, 4.9447079752409593]]))  
       arg1=Data(numpy.array([[[-2.2722537548983879, 4.8603944876067864], [4.2848478744317546, -1.0344470953507456], [-0.68503044373743638, -2.288777850827092], [-2.8526878408052037, -3.0345854792844928], [3.3764640019387553, 2.1203584429039761]], [[-3.1844476497037477, -1.4798797278842111], [2.3694635453009685, -2.0353066468411072], [3.4982835916190851, 3.4946662816300424], [-0.65190417407224999, -1.5483089950480711], [-3.4787166452684448, -0.99206520535801168]], [[4.0036242431363043, 3.8543200563952507], [-4.135315619824417, 0.63167118359711516], [-0.60012290729082185, -4.302341767115994], [0.23433321107857452, 1.198685867885394], [-0.41466515795663828, -2.4816810133684344]], [[-0.2259790329969622, 4.0035417192458294], [-4.914721623741471, -0.68763569377430134], [-3.971232909556778, -0.38952972509997785], [-3.9449761649709858, -1.2981490406951446], [-4.8329031300007594, -4.5804987973349345]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-1.285866380544006, 5.8467818619611682], [3.4672354377751411, -1.8520595320073592], [-3.9989269577217375, -5.602674364811393], [-3.5498935692931513, -3.7317912077724404], [5.1100911347770532, 3.8539855757422741]], [[-3.6453710686018117, -1.9408031467822751], [5.9877636106052083, 1.5829934184631327], [3.6804499605340375, 3.6768326505449949], [1.1356634578514067, 0.23925863687558557], [-1.2104751534400227, 1.2761762864704105]], [[-0.048314106187272721, -0.19761829292832633], [-7.8583987560351742, -3.0914119526136421], [-2.9767901262675576, -6.6790089860927297], [-1.6181445755678689, -0.65379191876104947], [-0.39244390551328312, -2.4594597609250792]], [[1.6197661287138558, 5.8492868809566474], [-7.766722989285185, -3.5396370593180153], [-4.9226522541018367, -1.3409490696450366], [-5.6048259047713955, -2.9579987804955543], [-2.0738334289235656, -1.8214290962577406]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-1.4684586499529089, 5.6641895925522654], [6.9354442640400409, 1.6161492942575406], [2.8441921719893193, 1.2404447648996637], [-6.0469325797984919, -6.2288302182777811], [-0.51521819042827444, -1.7713237494630536]], [[-5.6061143581734605, -3.9015464363539243], [-2.3279978968479043, -6.7327680889899799], [1.368233555004517, 1.3646162450154744], [1.7066582884812558, 0.8102534675054347], [-5.6710802572551877, -3.1844288173447546]], [[6.9724089072674804, 6.8231047205264268], [-2.6830234435471372, 2.083963359874395], [-1.6404079536724323, -5.3426268134976045], [-1.0735631035512414, -0.10921044674442193], [0.61549599797857368, -1.4515198574332224]], [[0.13961154378736573, 4.3691322960301573], [-1.7683684065845178, 2.4587175233826519], [-7.3131354110476821, -3.7314322265908819], [-4.0181759285624477, -1.3713488042866064], [0.11180484524019985, 0.36420917790602481]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_constData_rank2(self):  
       arg0=Data(numpy.array([[[[4.9158634822122629, -2.4471562784569798, 0.75658518269339048, -4.9194637716451943, -3.9841634667128734], [3.4442075727953672, -1.0508947235023736, -1.3196579343628754, 3.0297249816489256, -2.8534548097478254], [4.0899397809403197, 1.2437031535706744, -1.9993766357631237, 3.4481381890606482, -1.6981138913860017], [0.15423585242072591, -0.39923174710504306, 3.934430438210617, 4.982140516649805, 0.65172945066353449]], [[-1.6973342752475062, -4.1077165334492882, 0.19933020932046119, -0.72193156345398801, -2.621554205835487], [-4.3546159514783138, 4.2356680964223496, 2.650681590702809, 3.1539160272540094, -0.77446226637450355], [-1.5988465697052234, -4.6714748453407449, -4.2267299142987316, -4.1022992881557947, 2.3242690099398366], [1.3139431351232407, -3.9081531342239395, 1.6710806205427762, 4.6594089859906802, 4.1124705668827826]], [[2.9596804152640797, 4.7198473383939508, 0.88650193808357702, 4.427428726738027, -4.9127948139669666], [-0.62603967417356987, -2.0747781960249245, -2.5529754822845097, -0.13137891882599462, -4.2606708646179161], [3.2630581550062718, -1.8305409393189285, -0.10649525873253829, -2.0227516304931061, -4.4554152347547173], [2.1527663809452289, 3.5592984847710483, -3.6021802827036096, 1.089726561827522, 1.8998615368588574]], [[2.5044481959091023, 1.7366469008553631, -1.4299548918111791, 4.1871722985014408, 2.1176012500813526], [0.97669551755319084, 0.55573739436654801, -2.064229000036403, 2.7141269615838262, 4.431944591340077], [3.4395190315152071, 3.169308076498238, -2.3749027551607185, 2.0523206426827754, 0.0045694089546302052], [0.82284150183634353, -0.63683468267675547, -1.6091519179468317, 4.4557466326639403, -2.2091709358295644]], [[2.7965349953603429, -3.1725135430030971, 1.7021195597046033, 2.4061282160120125, -1.1254196743886959], [1.4591845292264205, -1.8760702446261615, -4.7489774790559274, -3.8925227064637467, 3.2890691847049585], [4.4391218358751896, 4.8509478880099675, 1.7298152547453238, 4.4968315576940689, 0.98309330844276044], [4.0903228120287967, -3.0896215304962329, -1.7028161913262285, -1.5443862109576623, -0.33198263704914854]]], [[[-0.18554315539005106, -3.2809461485031335, 0.85408114736534024, -2.3060568955064098, -2.7253859219419843], [2.2676120185913815, 4.6432787623374043, -4.3079190621193755, -1.3189662824721458, -4.441186773434648], [0.5077467418416246, 0.061484653109152632, -3.2540158064491931, 4.2228337451857065, -1.9763814667124304], [0.2200057683490968, 4.5044692638757837, 1.2916024130159443, 1.9943488728153582, 4.7204016671771214]], [[-3.8032769592125328, 4.9271979340614163, 0.72998450701314965, 3.7265679454155958, -4.0062825495348271], [-0.34404186717870378, -1.7149928762593349, 2.1834647422842712, -4.4179312909098813, 1.1489817918430054], [-1.6245982494558184, 1.7111126819578342, 3.7173166029165934, -3.7535381928671105, -1.3303957029712321], [-1.5317022449263415, 1.8683003922612968, 2.452705873744609, 2.5907102546737173, -4.9876923789216097]], [[-0.66228947799121674, 3.5387388181708133, -2.7810142268200586, -1.5135414236144307, -2.6753577303519815], [-3.9659873080279819, 2.6395504996256474, 1.313244844642325, -0.2404320502294901, 1.8935158009838835], [4.2905261009970506, -2.6204316583744425, -0.81848429574473247, -0.60824154009695164, 2.0415123642912034], [-4.3717858006248012, 1.9893546600914505, 1.4255567092761146, -0.079065316136176733, 0.77856508412883407]], [[0.72024541578076295, 1.1396520376464245, 0.24859242536598636, 4.2107520189837864, 0.38133734248633644], [-0.64745929168731653, 2.6353719323069136, -1.5907162152400245, -0.99113179897266779, -4.0085427216728409], [-0.022717978934382543, -0.25888548156341606, 4.4209033545679368, 4.9647934850435753, -3.8796115065860204], [-0.53555738800863573, -2.2373647519033177, -2.2472899163129134, 3.4743191122507326, 1.1268523825603749]], [[-4.3758410452118071, -2.2559038293472167, -4.0682095139794949, -4.5619246096839072, 2.9891475072469298], [0.64791130827900556, 4.8368821115279381, 0.027561675002062636, -4.2015617370796399, 0.83528050071833704], [1.6819971142858501, -2.2855988314278242, -0.633798445959739, -2.2627575163290672, 2.2749053562277863], [-1.5171103850940382, -1.7188613992313884, 0.29783005389499628, 4.1543522738446335, 2.3687013159018289]]], [[[1.2549858086310177, -0.8123395850805526, -3.9406002250564933, 1.4118255661144499, 3.3675178645162909], [-3.726652484189632, -4.0630766711449473, 0.86148585592615401, -3.6570161566650885, -3.4952982984493874], [-0.62420385285648283, 4.8107693749370171, 0.22449395382046866, -0.27735796163304194, 3.8277401991127427], [2.4817420217381549, 2.673788806365998, -3.6233004036712479, -3.9569329518741583, -2.7465314150890374]], [[2.7781252960884961, -0.96746029197436467, -4.016497293929163, -3.9794952851100418, 3.0720267057802637], [-2.3659194740409353, -1.8943669563823518, -3.9930471946811474, 1.2312835927813639, -2.4369508636559498], [-3.9315350790032388, 4.1265721507619233, 3.6782956406034408, 4.0047517094670777, -4.2327982896561887], [4.3755567199495662, 2.8629500633572942, -1.1841766909871465, 4.5398885927819865, -0.62878596272699383]], [[-0.88174210425395216, -2.6954602514190418, 4.0498356856500966, 3.6728061369819507, 2.1877815580901334], [3.3752272102898466, 0.098944423254444303, 1.6306262601078192, 0.15052825986393703, 3.7467552771188242], [1.2556219050505835, -1.427826695097314, 3.2984171696058997, -4.2401163789978593, -3.3334145050014663], [-2.8496756924645328, -2.2155200255938357, 1.8835347803061131, 1.5761502813114223, -1.409469192685775]], [[-4.6552838102546303, 2.2311268725877662, -4.2837400574583748, 3.703401523496634, 2.2731643241176069], [-3.4457303733006484, -3.2452845855012455, -0.5224848604525949, 4.2742751704031594, 2.0351066855282411], [4.1017778032691883, -2.0946327229912498, -1.1132446092248194, 3.4959576051297994, 1.883066833534647], [-1.5355035031058084, -0.33059220001685929, 0.77157787542171441, -4.1316223339191458, -3.7519102503577537]], [[-2.5048911127249829, -0.94952081450138337, 2.9432047143810713, 1.4445911303607684, 1.382473225703249], [-4.3304010893818496, 3.6104812217165634, -0.75030289427085695, 0.30563115312624767, -1.5404589047194808], [-4.282626825225508, 1.1817654355523413, -1.3679272878650339, 4.3114131185667972, 0.848026684573985], [0.96500497745275382, -4.0009874955696674, -2.5457960581984986, 2.5987484270479255, 4.4719865875813625]]], [[[-4.1042005676551749, 1.2791675533980298, -2.7695233195806548, 1.51248093325166, 1.5287590754215632], [-2.7788273291101429, -1.0255515737315832, 0.019977851499001886, -2.4536191398856912, 2.2343645514892474], [3.2269018053802174, -1.8634570697643635, -0.22447677036641078, 1.3186821587418454, -4.5176605329617425], [3.8711500365915974, -3.6453002652570934, -4.8849412426309788, -2.5189544851554304, -1.7286050542157048]], [[-3.0044951066883518, -1.517721654709506, 0.99427876718015895, 1.1754542466030298, 2.99758104377071], [-4.3381491163624561, -0.28809532110374292, -2.3206445825340349, -3.7871769788505194, -3.0812146916717387], [-0.32544700338794996, -0.33813360749147314, 3.6134173150964308, -4.6872651093328788, 4.6064873754212083], [4.8702151205042288, 1.8675230410950636, -4.3541189162730571, 2.6078615240091443, -1.8314339177657288]], [[-1.1315617943544307, 3.0512146675436203, -3.9623681913908158, 2.9263826886894311, 1.8684970925281688], [-2.3160234618897646, 1.6915055240666881, 1.8493330132349728, 2.9961008634468289, -1.5727499938710365], [-3.3320962420328448, 2.4434934122810548, 1.0281137250472794, -4.2484068416805743, 3.6520836905559033], [-1.5837201888667995, 3.0781085604124652, 4.9825914822170407, 4.0034235774707412, 3.4229677257934465]], [[-4.9480328688034643, 2.6599054256878452, 4.5792117594333668, -2.5072257008624685, 4.5379581180572011], [-1.9415498520188033, -1.3674202738464381, 3.8467370986876546, 0.51611939037594201, 3.6447102927956827], [1.3568729028990969, 2.6622447324735283, -4.6726590473996366, -4.9667083588188259, -4.6664690267276026], [1.6360206349338133, -1.7309039191895725, 4.2121870187599146, 1.8652817217982136, -2.2827311023852115]], [[-4.2293336835722348, 2.750884318654462, -1.8881029869379051, 1.8421029526560408, 3.9816479131330258], [1.732774920374295, 3.2642697102564036, 0.1579479360001832, -2.9711428562588713, -1.4058028837770111], [-1.3335555595653883, 0.5285311443950107, -2.1983416455886697, -1.9711791633714073, -1.4846857915694689], [4.1679616359475453, -0.15931546412409503, -3.4498050238324076, -0.65140199306461888, -2.0144259499603958]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-2.7068777127637578, -1.0732074718807985, -1.516458278265933, -3.3884081576778513, -2.0980016124092629], [0.16483004049575634, -4.7519279935846868, 0.7735271516573281, -1.6965589618223365, -2.0867016485315517], [-3.9632768440582247, 3.2873201329541555, 1.1843523104998912, -1.8625238938394029, 1.5599818975013502], [-0.67248329954239594, -4.7624347860472174, 2.7040128485347807, -1.9962779715601497, -2.1360608167265758]], [[-3.2824424435878519, 1.1242330661527387, 0.83502515212977357, -0.58968558256902259, 1.8348560831167635], [-2.6611513939808118, -2.4172075205072807, -0.29802786052023134, 4.0809452772100077, -0.49354686481048926], [2.3789337368505699, 4.696271853496226, -0.24429798135926717, 3.6970399900877595, 3.2496279085310746], [2.3430949289747707, -1.0639881162627618, -1.7693638009799306, -0.50026793586243201, -3.6012141079919302]], [[0.95018534664014798, -2.0371694011231911, -3.6096763546016177, 1.2810129890502271, -2.0530701821969743], [-1.3054519528691468, -4.2668606076635616, -0.80868162409722366, -0.94512706822855996, 2.5780803305611908], [-3.2947071890825108, 1.6126952410323625, 0.067206167900780933, -3.428430485180336, -0.60134131188312168], [-0.99397475831409032, -0.72095738191296377, -2.1042425198879844, -3.1556933683532029, 4.2001246398345309]], [[1.3222071308408099, 4.8429377821665724, 4.0889501524264222, 1.5390377295651714, 0.91160386851743791], [2.7545991184688976, 0.26985019834473434, 4.2167005693435549, -3.8360831384689109, -2.528243450199068], [0.54152444205053296, -1.243461333293121, -3.9336921793663091, -4.7058578212541713, 2.6505933909679396], [-1.8035467773321945, -2.7204565529882085, 0.52229694489315914, 1.2211708850605465, 3.7175837737838808]], [[-1.8955148455590631, 1.815270366604393, 3.3698032727027432, 1.5225699796515819, -4.9248151446146604], [-0.58380720206735859, 1.2395000797240083, -3.0675076169214144, 1.4159187291045452, -2.5007753113097939], [4.0468373275351102, 0.91438181921503237, 2.7610686644400753, -3.9563711107542887, 4.8295833237538162], [-2.6337673399032346, 0.75480340049646166, 2.551178508270918, -1.6555304484648903, -0.84640353937377455]]], [[[1.1624719934303283, 4.3845466995490607, -3.4691910383929594, 4.1958439344850582, 3.0956449406652968], [3.0950788899755963, -4.7163818542898586, 0.89154388301363419, 0.037696563484733936, -0.22634034714768081], [-1.9762476523381958, -0.2837139276274705, 4.6291483956402697, -3.2408304844839808, -2.9002460349926364], [-1.3280713959554213, -0.86350995385514917, -2.8296610304266254, -1.9299581688605794, -4.5358801209409894]], [[-2.8745436981632833, 2.3688999812720715, 1.52593320220371, 1.4336487660390649, 0.50864327523973429], [4.4316924109162841, -2.16477752287516, -3.0816745022618433, -0.07422382889904533, -3.4481050974783201], [4.6863351482296842, 1.7025472624131286, -1.2636296699379246, -4.3387998438834652, 3.593328409009537], [-3.2348324785434857, -4.5643642219859473, -4.7186159718708893, 3.514864637247296, 2.3743060941784737]], [[4.239174668323658, 3.9800642926306722, -2.7685548362432435, 4.8670673132707769, 2.5442128092858898], [-1.0144388167736071, -2.8856603168003838, -2.2057371055028376, -1.279733313528638, -1.4134190727107097], [1.6640266408339102, 2.7565718641653625, -3.3701621205493524, -0.6713141865261214, 4.3955700374241431], [-3.6040353523495847, 3.8311236691813431, -3.7441957435639752, 4.9559720572112571, -0.62739076045896258]], [[-3.6617316945340095, -1.2090435672634658, 0.27671962445989351, -3.647971075107872, -4.3642582319008119], [4.8710109656811049, -0.53595901752540875, 2.9828370118141878, 2.3959590466372767, -1.6733126471240656], [-1.9770258724526011, -4.233962070527201, 4.4522984603321163, 2.8190099662398911, 2.4871324506826351], [-3.5756225266560557, 3.8313787553069858, -4.5129759775902825, -2.1366188681168676, 1.3344564212531305]], [[-4.5184956123608249, 3.3279852707594486, 3.4760278426913462, -2.138487063353459, 4.5710576764995654], [3.9033626280535003, 4.757108754011881, 3.7490903453534656, 4.3462365483968686, 4.2760457575483688], [-2.4378809947306745, 2.8208211777969874, -0.714004686865918, -4.4228026321789473, 1.5165197022624515], [-4.2250590452579129, -4.7822157396812157, 0.11484225576378648, 2.3560258976671804, 4.4597352187432762]]], [[[-2.9161857914677225, 1.8003115978910262, -1.615113012280367, -0.64573377913605068, 1.202053093171128], [1.0277471734964827, 4.3686894315371791, 0.51163536802805432, -1.5495493472950606, 2.9790490741811322], [-3.8173844102397014, 1.8079216936138085, 4.5232740136554419, 3.8778901740676588, -2.5613418161192616], [-4.8254899009263905, -1.9243102688144917, 2.8944892293307376, -2.0671879154294137, -3.0085443475585505]], [[1.8792759769530898, 3.7345680399493055, -4.2570413427722915, 0.068922923686585591, -0.88130917140350462], [2.6514961617451762, -3.5698017420178263, -0.99522619400732104, -4.2605088997568332, -1.7662670584685158], [-0.85926261959944128, -1.5520633043417176, 3.1607226836792996, 0.051011978853744644, -1.0789218509375598], [3.1006195418714189, -0.13367031145904207, 3.2168196438232393, -3.5580364727584932, 4.8393609943625329]], [[-0.47165481050467939, 0.76474078860041494, -0.5289376184161938, 4.5540292631035886, 0.14518552144287611], [-3.0336471107579599, -1.0309313989392264, -1.6603992861992998, -0.55843229217958257, 1.3261085605049576], [-1.0332383676752088, -4.256784417666287, -0.36666880533425594, 3.2957114531593401, 4.3593211314703399], [1.6782873070444779, 2.0160008696733716, -2.0857293989045833, 4.4757813595877476, -0.31504119443867662]], [[2.95349878557679, 4.7698207053079749, -2.5274937429774424, -1.8803532545992985, 2.4588954899930568], [-4.7615284346982083, 2.0191646920971902, -2.1918540946529408, -3.0976989382387665, -4.6521983601343884], [1.8264876825686258, -4.6804289451314682, -0.61992583049561034, -3.7478495119651303, -2.7925249227950211], [-1.735418939895049, -1.7689961982244204, -1.8219798983358126, -4.6653672964282737, -1.3224357250384244]], [[-2.4370417613538775, 0.42618919449157211, -2.5968487266831164, -1.783798591505994, 0.23069147295978887], [2.9041075065632169, -3.2884483967348488, -0.86156651549813645, 0.29983619907649839, 1.109293003343419], [-3.2721758417386893, 3.0138027765331028, 0.024123612422620511, 2.6865337397750473, -2.8203711148868749], [-3.0283545704391468, -0.05581326975264389, 4.7982202833018182, -2.0761498856800484, 3.8539665872811835]]], [[[-0.27409577391143269, -4.4456789102869996, -4.9183030890388544, 4.582308648817909, -4.331988752152359], [-0.27398311851432933, 2.1304591946413307, 2.1120060474389524, -2.8017806155913441, -0.92917597864206947], [-1.710144468887461, -1.3135741353967303, 4.6737382368877078, -0.027880257258573238, 0.025437988090728503], [-2.766020046107255, -2.8100609457526318, -0.14537501417171583, -0.73138248706457354, -3.0339852871536732]], [[-4.4975976675801483, -3.073249296272651, -4.1752867846654365, 1.6356500036322927, -2.1227361952945101], [-3.7311541069733458, 0.96189613417080899, -3.6112626909980872, -3.1758607065324518, 1.7324731141271998], [-1.1003586728898274, 4.960645806514945, -0.37401427057910652, 3.8885777358009008, -4.4320217283470464], [4.9068540872026158, -4.2874516429258396, 1.6218378541372056, -0.87492104572281182, -3.4589552455648818]], [[3.8633675658358122, -4.5830617397978415, -3.0014939549632, -2.1226799288361677, -3.5215177326758407], [0.98021856414631081, 1.6567693979076337, 4.1882835050932563, 2.5793993572961496, -4.7852260470231665], [3.674730390221514, 3.1113117162959849, -0.30124178123671008, -2.0224069016831647, 4.0899657864574976], [0.18101334672489866, 2.8715068330656877, -4.5349531614390823, 1.8251315628796858, 4.3863472530787142]], [[-4.0324591328020425, -1.4524072963555978, -3.8135441182376395, -0.58028741935122419, 4.7426116391897306], [-4.5991289347279327, -0.17839867131220721, 2.6522255150485439, -0.15862152408091301, -2.0960101917099028], [4.4604875544398297, 2.2045186109577051, -2.5238637869150504, -3.6623611561854652, -1.1963242568981922], [1.7337252225764201, -2.4326488084497888, -1.8567755265840615, -0.76479518748224962, 3.5606288248235245]], [[-3.4967336044586803, -0.4494293549425743, 0.27170339048008962, 4.4266492559761961, 3.3564027275930357], [0.0499212337983721, -0.37762700856539944, 1.3093969042666984, 1.5420860308689441, -4.3842823346477253], [0.73032799409493521, -2.3803309353218092, -4.6261618602026573, 4.9274045511260081, -2.6511393699747599], [3.6822921428579765, -2.2858385006289081, 3.6152701112187557, -3.0065807961183055, 2.4095925943738834]]]]))  
       arg1=Data(numpy.array([[4.9807666871563931, 0.32740590114481805, -4.558372839342633, 4.379481617969196, -0.98134350050331953], [4.5387139239497749, 0.93342752361331982, 2.6773956821879192, -0.79525045625322388, 4.0072328263143184], [-4.9126012454237458, 4.36517142500416, -1.2944484523417987, -3.2725804986405373, 1.3147065130663389], [0.27061120471425326, -2.7201101312039535, -4.26232932274735, 4.3902650491014299, -0.069393076642295881]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[9.896630169368656, 2.5336104086994133, 5.7373518698497836, 0.061302915511198819, 0.99660322044351979], [8.4249742599517603, 3.9298719636540196, 3.6611087527935178, 8.0104916688053187, 2.1273118774085678], [9.0707064680967129, 6.2244698407270675, 2.9813900513932694, 8.4289048762170413, 3.2826527957703915], [5.1350025395771191, 4.5815349400513501, 8.9151971253670101, 9.9629072038061981, 5.6324961378199276]], [[-1.3699283741026882, -3.7803106323044702, 0.52673611046527924, -0.39452566230916997, -2.294148304690669], [-4.0272100503334958, 4.5630739975671677, 2.978087491847627, 3.4813219283988275, -0.4470563652296855], [-1.2714406685604054, -4.3440689441959268, -3.8993240131539135, -3.7748933870109767, 2.6516749110846547], [1.6413490362680587, -3.5807472330791215, 1.9984865216875942, 4.9868148871354983, 4.4398764680276006]], [[-1.5986924240785534, 0.16147449905131772, -3.671870901259056, -0.13094411260460603, -9.4711676533095996], [-5.1844125135162029, -6.6331510353675576, -7.1113483216271423, -4.6897517581686277, -8.8190437039605492], [-1.2953146843363612, -6.3889137786615615, -4.6648680980751713, -6.5811244698357392, -9.0137880740973504], [-2.4056064583974042, -0.99907435457158478, -8.1605531220462417, -3.468646277515111, -2.6585113024837757]], [[6.8839298138782983, 6.1161285188245591, 2.9495267261580169, 8.5666539164706368, 6.4970828680505486], [5.3561771355223868, 4.935219012335744, 2.315252617932793, 7.0936085795530222, 8.811426209309273], [7.8190006494844031, 7.548789694467434, 2.0045788628084775, 6.4318022606519714, 4.3840510269238262], [5.2023231198055395, 3.7426469352924405, 2.7703297000223643, 8.8352282506331363, 2.1703106821396316]], [[1.8151914948570234, -4.1538570435064166, 0.72077605920128374, 1.424784715508693, -2.1067631748920155], [0.47784102872310097, -2.857413745129481, -5.7303209795592469, -4.8738662069670662, 2.3077256842016389], [3.4577783353718701, 3.8696043875066479, 0.74847175424200429, 3.5154880571907494, 0.0017498079394409061], [3.1089793115254771, -4.0709650309995524, -2.6841596918295481, -2.5257297114609818, -1.3133261375524681]]], [[[4.3531707685597238, 1.2577677754466414, 5.3927950713151152, 2.2326570284433651, 1.8133280020077907], [6.8063259425411564, 9.1819926862871792, 0.23079486183039943, 3.2197476414776292, 0.097527150515126948], [5.0464606657913995, 4.6001985770589275, 1.2846981175005818, 8.7615476691354814, 2.5623324572373445], [4.7587196922988717, 9.0431831878255586, 5.8303163369657192, 6.5330627967651331, 9.2591155911268963]], [[-2.869849435599213, 5.8606254576747361, 1.6634120306264695, 4.6599954690289156, -3.0728550259215073], [0.58938565643461605, -0.78156535264601512, 3.1168922658975911, -3.4845037672965615, 2.0824093154563252], [-0.69117072584249861, 2.644540205571154, 4.6507441265299132, -2.8201106692537907, -0.39696817935791229], [-0.59827472131302173, 2.8017279158746167, 3.3861333973579288, 3.5241377782870371, -4.0542648553082898]], [[2.0151062041967025, 6.2161345003587325, -0.10361854463213938, 1.1638542585734886, 0.0020379518359376902], [-1.2885916258400627, 5.3169461818135666, 3.9906405268302443, 2.4369636319584291, 4.5709114831718027], [6.9679217831849698, 0.056964023813476761, 1.8589113864431868, 2.0691541420909676, 4.7189080464791227], [-1.6943901184368819, 4.6667503422793697, 4.1029523914640338, 2.5983303660517425, 3.4559607663167533]], [[-0.075005040472460927, 0.34440158139320065, -0.54665803088723752, 3.4155015627305625, -0.41391311376688744], [-1.4427097479405404, 1.8401214760536897, -2.3859666714932484, -1.7863822552258917, -4.8037931779260648], [-0.81796843518760642, -1.0541359378166399, 3.6256528983147129, 4.1695430287903514, -4.6748619628392447], [-1.3308078442618596, -3.0326152081565416, -3.0425403725661373, 2.6790686559975088, 0.33160192630715102]], [[-0.36860821889748863, 1.7513289969671018, -0.060976687665176499, -0.5546917833695888, 6.9963803335612482], [4.655144134593324, 8.8441149378422566, 4.0347945013163811, -0.19432891076532144, 4.8425133270326555], [5.6892299406001685, 1.7216339948864943, 3.3734343803545794, 1.7444753099852512, 6.2821381825421048], [2.4901224412202803, 2.2883714270829301, 4.3050628802093147, 8.1615851001589519, 6.3759341422161473]]], [[[-3.657615436792728, -5.7249408305042984, -8.85320147048024, -3.5007756793092959, -1.5450833809074549], [-8.6392537296133778, -8.9756779165686922, -4.0511153894975918, -8.5696174020888343, -8.4078995438731337], [-5.5368050982802286, -0.1018318704867287, -4.6881072916032771, -5.1899592070567877, -1.0848610463110031], [-2.4308592236855908, -2.2388124390577477, -8.5359016490949937, -8.869534197297904, -7.6591326605127836]], [[7.1432967210926561, 3.3977111330297953, 0.34867413107499701, 0.3856761398941182, 7.4371981307844237], [1.9992519509632247, 2.4708044686218082, 0.37212423032301256, 5.5964550177855239, 1.9282205613482102], [0.43363634600092116, 8.4917435757660833, 8.0434670656076008, 8.3699231344712377, 0.13237313534797135], [8.7407281449537262, 7.2281214883614542, 3.1809947340170135, 8.9050600177861465, 3.7363854622771662]], [[-2.1761905565957509, -3.9899087037608405, 2.7553872333082978, 2.378357684640152, 0.89333310574833469], [2.0807787579480479, -1.1955040290873544, 0.33617780776602046, -1.1439201924778617, 2.4523068247770254], [-0.038826547291215263, -2.7222751474391127, 2.003968717264101, -5.534564831339658, -4.6278629573432646], [-4.144124144806332, -3.5099684779356344, 0.58908632796431437, 0.28170182896962359, -2.7039176450275737]], [[-7.9278643088951677, -1.0414536260527711, -7.5563205560989122, 0.43082102485609663, -0.99941617452293041], [-6.7183108719411857, -6.5178650841417829, -3.7950653590931323, 1.0016946717626221, -1.2374738131122962], [0.82919730462865093, -5.3672132216317872, -4.3858251078653563, 0.22337710648926201, -1.3895136651058904], [-4.8080840017463462, -3.6031726986573966, -2.5010026232188229, -7.4042028325596831, -7.0244907489982911]], [[-1.190184599658644, 0.36518569856495553, 4.2579112274474102, 2.7592976434271073, 2.6971797387695879], [-3.0156945763155107, 4.9251877347829023, 0.56440361879548195, 1.6203376661925866, -0.22575239165314187], [-2.9679203121591691, 2.4964719486186802, -0.053220774798695025, 5.6261196316331361, 2.1627331976403239], [2.2797114905190927, -2.6862809825033285, -1.2310895451321597, 3.9134549401142644, 5.7866931006477014]]], [[[-3.8335893629409217, 1.5497787581122831, -2.4989121148664015, 1.7830921379659133, 1.7993702801358165], [-2.5082161243958896, -0.75494036901732997, 0.29058905621325515, -2.183007935171438, 2.5049757562035007], [3.4975130100944707, -1.5928458650501103, 0.046134434347842479, 1.5892933634560986, -4.2470493282474893], [4.1417612413058507, -3.3746890605428401, -4.6143300379167256, -2.2483432804411771, -1.4579938495014515]], [[-5.7246052378923054, -4.2378317859134595, -1.7258313640237946, -1.5446558846009237, 0.27747091256675649], [-7.0582592475664097, -3.0082054523076964, -5.0407547137379884, -6.5072871100544729, -5.8013248228756922], [-3.0455571345919035, -3.0582437386954267, 0.89330718389247732, -7.4073752405368323, 1.8863772442172548], [2.1501049893002753, -0.85258709010888989, -7.0742290474770106, -0.11224860719480922, -4.5515440489696823]], [[-5.3938911171017807, -1.2111146552037297, -8.2246975141381657, -1.3359466340579189, -2.3938322302191812], [-6.578352784637115, -2.5708237986806619, -2.4129963095123772, -1.2662284593005211, -5.835079316618387], [-7.5944255647801953, -1.8188359104662952, -3.2342155977000706, -8.5107361644279251, -0.61024563219144667], [-5.8460495116141491, -1.1842207623348848, 0.72026215946969074, -0.25890574527660881, -0.83936159695390344]], [[-0.55776781970203437, 7.0501704747892751, 8.9694768085347967, 1.8830393482389614, 8.928223167158631], [2.4487151970826266, 3.0228447752549918, 8.2370021477890845, 4.9063844394773719, 8.0349753418971126], [5.7471379520005268, 7.0525097815749582, -0.28239399829820666, -0.57644330971739599, -0.27620397762617266], [6.0262856840352432, 2.6593611299118574, 8.6024520678613445, 6.2555467708996435, 2.1075339467162184]], [[-4.2987267602145307, 2.6814912420121662, -1.957496063580201, 1.772709876013745, 3.9122548364907299], [1.6633818437319992, 3.1948766336141077, 0.088554859357887317, -3.0405359329011672, -1.475195960419307], [-1.4029486362076842, 0.45913806775271482, -2.2677347222309656, -2.0405722400137032, -1.5540788682117648], [4.0985685593052494, -0.22870854076639091, -3.5191981004747035, -0.72079506970691476, -2.0838190266026917]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[2.2738889743926354, 3.9075592152755947, 3.4643084088904601, 1.5923585294785418, 2.8827650747471303], [5.1455967276521495, 0.22883869357170639, 5.7542938388137213, 3.2842077253340567, 2.8940650386248414], [1.0174898430981685, 8.2680868201105486, 6.1651189976562843, 3.1182427933169903, 6.5407485846577433], [4.3082833876139972, 0.21833190110917577, 7.6847795356911739, 2.9844887155962434, 2.8447058704298174]], [[-2.9550365424430338, 1.4516389672975567, 1.1624310532745916, -0.26227968142420455, 2.1622619842615816], [-2.3337454928359938, -2.0898016193624627, 0.02937804062458671, 4.4083511783548257, -0.16614096366567122], [2.7063396379953879, 5.023677754641044, 0.083107919785550877, 4.0244458912325776, 3.5770338096758927], [2.6705008301195887, -0.73658221511794375, -1.4419578998351126, -0.17286203471761397, -3.2738082068471122]], [[-3.6081874927024851, -6.5955422404658242, -8.1680491939442508, -3.277359850292406, -6.6114430215396069], [-5.8638247922117799, -8.8252334470061946, -5.3670544634398567, -5.503499907571193, -1.9802925087814423], [-7.8530800284251434, -2.9456775983102705, -4.4911666714418521, -7.9868033245229686, -5.1597141512257547], [-5.5523475976567234, -5.2793302212555968, -6.6626153592306174, -7.7140662076958364, -0.35824819950810216]], [[5.7016887488100059, 9.2224194001357684, 8.4684317703956182, 5.9185193475343674, 5.2910854864866339], [7.1340807364380936, 4.6493318163139303, 8.5961821873127509, 0.54339847950028508, 1.851238167770128], [4.921006060019729, 3.136020284676075, 0.44578943860288689, -0.3263762032849753, 7.0300750089371356], [2.5759348406370015, 1.6590250649809875, 4.9017785628623551, 5.6006525030297425, 8.0970653917530768]], [[-2.8768583460623827, 0.83392686610107347, 2.3884597721994236, 0.54122647914826238, -5.9061586451179799], [-1.5651507025706781, 0.2581565792206888, -4.0488511174247339, 0.43457522860122566, -3.4821188118131134], [3.0654938270317906, -0.066961681288287167, 1.7797251639367557, -4.9377146112576078, 3.8482398232504966], [-3.6151108404065542, -0.22654010000685787, 1.5698350077675984, -2.6368739489682098, -1.8277470398770941]]], [[[5.7011859173801032, 8.9232606234988356, 1.0695228855568155, 8.7345578584348331, 7.6343588646150717], [7.6337928139253712, -0.17766793034008366, 5.4302578069634091, 4.5764104874345088, 4.3123735768020941], [2.5624662716115791, 4.2549999963223044, 9.1678623195900446, 1.2978834394657941, 1.6384678889571385], [3.2106425279943536, 3.6752039700946257, 1.7090528935231495, 2.6087557550891955, 0.0028338030087855515]], [[-1.9411161745499634, 3.3023275048853913, 2.4593607258170298, 2.3670762896523847, 1.4420707988530541], [5.3651199345296039, -1.2313499992618402, -2.1482469786485234, 0.85920369471427449, -2.5146775738650002], [5.619762671843004, 2.6359747860264484, -0.33020214632460476, -3.4053723202701454, 4.5267559326228568], [-2.3014049549301658, -3.6309366983726274, -3.7851884482575695, 4.4482921608606159, 3.3077336177917935]], [[6.9165703505115772, 6.6574599748185914, -0.091159154055324265, 7.5444629954586961, 5.221608491473809], [1.6629568654143121, -0.20826463461246458, 0.4716585766850816, 1.3976623686592813, 1.2639766094772096], [4.3414223230218294, 5.4339675463532817, -0.69276643836143315, 2.0060814956617978, 7.0729657196120623], [-0.92663967016166549, 6.5085193513692623, -1.066800061376056, 7.6333677393991763, 2.0500049217289567]], [[-4.4569821507872334, -2.0042940235166897, -0.51853083179333037, -4.4432215313610959, -5.1595086881540357], [4.075760509427881, -1.3312094737786326, 2.1875865555609639, 1.6007085903840528, -2.4685631033772895], [-2.772276328705825, -5.0292125267804249, 3.6570480040788924, 2.0237595099866672, 1.6918819944294112], [-4.3708729829092796, 3.0361282990537619, -5.3082264338435063, -2.9318693243700915, 0.53920596499990658]], [[-0.51126278604650643, 7.335218097073767, 7.4832606690056647, 1.8687457629608595, 8.5782905028138838], [7.9105954543678187, 8.7643415803261995, 7.7563231716677841, 8.353469374711187, 8.2832785838626872], [1.5693518315836439, 6.8280540041113058, 3.2932281394484004, -0.41556980586462888, 5.5237525285767699], [-0.21782621894359444, -0.77498291336689729, 4.1220750820781049, 6.3632587239814988, 8.4669680450575946]]], [[[-7.8287870368914678, -3.1122896475327195, -6.5277142577041127, -5.5583350245597964, -3.7105481522526178], [-3.8848540719272631, -0.54391181388656662, -4.4009658773956915, -6.4621505927188068, -1.9335521712426136], [-8.7299856556634481, -3.1046795518099373, -0.38932723176830386, -1.034711071356087, -7.4739430615430074], [-9.7380911463501363, -6.8369115142382375, -2.0181120160930082, -6.9797891608531595, -7.9211455929822963]], [[6.2444474019572498, 8.0997394649534655, 0.10813008223186849, 4.4340943486907456, 3.4838622536006554], [7.0166675867493362, 0.7953696829863337, 3.369945230996839, 0.10466252524732678, 2.5989043665356442], [3.5059088054047187, 2.8131081206624424, 7.5258941086834596, 4.4161834038579046, 3.2862495740666002], [7.4657909668755789, 4.2315011135451179, 7.5819910688273993, 0.80713495224566678, 9.2045324193666929]], [[-1.7661032628464781, -0.52970766374138378, -1.8233860707579925, 3.2595808107617898, -1.1492629308989226], [-4.3280955630997582, -2.3253798512810251, -2.9548477385410985, -1.8528807445213813, 0.031660108163158895], [-2.3276868200170076, -5.5512328700080857, -1.6611172576760547, 2.0012630008175414, 3.0648726791285412], [0.3838388547026792, 0.72155241733157283, -3.380177851246382, 3.1813329072459489, -1.6094896467804753]], [[-0.31908171306374733, 1.4972402066674375, -5.8000742416179794, -5.1529337532398358, -0.8136850086474805], [-8.0341089333387465, -1.2534158065433472, -5.4644345932934781, -6.3702794368793043, -7.9247788587749257], [-1.4460928160719115, -7.9530094437720056, -3.8925063291361477, -7.0204300106056676, -6.0651054214355584], [-5.0079994385355864, -5.0415766968649578, -5.09456039697635, -7.9379477950688111, -4.5950162236789618]], [[-1.1223352482875386, 1.740895707557911, -1.2821422136167775, -0.46909207843965506, 1.5453979860261278], [4.2188140196295558, -1.9737418836685099, 0.45313999756820245, 1.6145427121428373, 2.4239995164097579], [-1.9574693286723504, 4.3285092895994417, 1.3388301254889594, 4.0012402528413862, -1.505664601820536], [-1.7136480573728079, 1.258893243313695, 6.1129267963681571, -0.76144337261370953, 5.1686731003475224]]], [[[-0.0034845691971794324, -4.1750677055727463, -4.6476918843246011, 4.8529198535321623, -4.0613775474381058], [-0.0033719138000760651, 2.401070399355584, 2.3826172521532056, -2.5311694108770908, -0.6585647739278162], [-1.4395332641732077, -1.042962930682477, 4.9443494416019611, 0.24273094745568002, 0.29604919280498176], [-2.4954088413930018, -2.5394497410383785, 0.12523619054253743, -0.46077128235032028, -2.76337408243942]], [[-7.2177077987841018, -5.793359427476604, -6.89539691586939, -1.0844601275716608, -4.8428463264984636], [-6.4512642381772993, -1.7582139970331445, -6.3313728222020407, -5.8959708377364048, -0.98763701707675366], [-3.8204688040937809, 2.2405356753109915, -3.09412440178306, 1.1684676045969473, -7.1521318595509999], [2.1867439559986623, -7.0075617741297931, -1.0982722770667479, -3.5950311769267653, -6.1790653767688353]], [[-0.39896175691153779, -8.8453910625451915, -7.26382327771055, -6.3850092515835177, -7.7838470554231911], [-3.2821107586010392, -2.6055599248397163, -0.074045817654093682, -1.6829299654512004, -9.0475553697705173], [-0.58759893252583595, -1.1510176064513651, -4.5635711039840601, -6.2847362244305147, -0.17236353628985235], [-4.0813159760224513, -1.3908224896816623, -8.7972824841864323, -2.4371977598676642, 0.12401793033136421]], [[0.35780591629938741, 2.9378577527458321, 0.57672093086379039, 3.8099776297502057, 9.1328766882911605], [-0.20886388562650282, 4.2118663777892227, 7.0424905641499738, 4.2316435250205169, 2.2942548573915271], [8.8507526035412596, 6.594783660059135, 1.8664012621863795, 0.72790389291596469, 3.1939407922032377], [6.12399027167785, 1.9576162406516411, 2.5334895225173684, 3.6254698616191803, 7.9508938739249544]], [[-3.5661266811009762, -0.51882243158487018, 0.20231031383779374, 4.3572561793339002, 3.2870096509507398], [-0.019471842843923781, -0.44702008520769532, 1.2400038276244025, 1.4726929542266483, -4.4536754112900212], [0.66093491745263933, -2.4497240119641051, -4.6955549368449532, 4.8580114744837122, -2.7205324466170557], [3.6128990662156806, -2.355231577271204, 3.5458770345764599, -3.0759738727606014, 2.3401995177315875]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_constData_rank4(self):  
       arg0=Data(numpy.array([[-4.4808923203529094, 1.5186857115086401, -4.0238054847263633, 0.67975620817058857, -2.1555269376946082], [-3.5977959934473933, 1.2066240212171211, -3.0781266543511943, 2.2229161529948795, 1.0985685271896148], [-2.178931683583718, -2.7360180553948643, -0.49772456134469767, -1.9428222727804165, 1.9812970234567286], [-2.2738912584048796, 4.872619940313804, -4.7650710707561377, 1.5759241822009287, -4.7112315737465735]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[1.6328245675003537, -0.51996642249538816, -4.3533362234712181, 3.6472424964077153, -3.1965187801994532], [1.7024279399917397, 4.8556404666751742, 4.8987545986748273, -3.4410791844389554, 4.6068094598243601], [-4.9732842270547035, -4.5081279041739428, 4.2458875172037942, 3.4314406609322798, 2.1314820606325462], [-2.4205979070749537, 1.9662241368946063, 0.59615873864142443, -1.6884847745712603, -0.79127468569628512]]))  
       arg1=Data(numpy.array([[[[-3.6538034489366811, -3.3248774732092699, -4.448304344005507, -3.1682284121482085, 4.1838378675408396], [1.4966522366280941, -4.2045134502752459, -1.9671074420182224, 1.0450941462036347, 3.7180244793375916], [2.4641428621612524, 2.8242517762857471, 0.46045796766645974, -2.4605381408746894, -4.1510987410356837], [-4.2783029315351691, -4.8936674258344226, 2.1139077491414575, 4.7825302743606866, 3.2109494204821853]], [[-3.6080502564386618, -1.3258316872891349, 0.37536425296067488, -2.8618648235252397, 3.3131722829213501], [0.12507246081818302, -2.5887084899154122, -3.6675283122687374, -0.42079442054920158, -4.5362631664113593], [-1.07070429603798, 2.9309655480001968, -4.0258219936757902, 4.014321708446273, 2.0329154660498787], [-1.0546228869879828, -0.36624727592371364, 2.158606930617478, 4.4465377967423212, 1.0559763108835316]], [[4.4537746681345656, 1.7005848877811838, -2.2581091380523621, -4.4196131382426982, -0.14756282028006495], [-1.5804832046641892, -1.0396404510923372, -2.2214418769736932, 0.13162215855731851, 2.5972804961649896], [-3.8878201998960704, 1.8852160168538825, 3.5143382931211686, 0.51656936542624443, 3.8008803954799948], [4.5131032684509655, -0.078127431130823766, 4.2565393495650792, -2.2958029532894408, -1.1101534177393169]], [[-0.59277295160842325, -3.7241893393297887, -0.28476518985354637, 3.1361638667670135, -1.9268945363880485], [-2.5529805789112423, 3.4629872462789244, 2.3505729798872101, 4.7719726305095662, 2.0815125391420599], [4.953647197902475, -4.3125906512871515, -3.4310565626237857, 1.4084341108068701, 4.7316825888157386], [0.50763174547976408, -3.7312590647305277, 0.10721057896203767, 0.27146228371708325, 4.6415885517335127]], [[2.5675797955582862, 3.1964297214466928, 3.317294085606882, 0.38366938546092477, 2.8284057423711246], [-0.51333399845998429, 3.4473802380862093, 1.6301035524565988, -2.5874653336306066, 4.1040918457654403], [2.268203499189597, -1.4972807340777052, 3.8783735249804412, 2.5033777257392122, 0.85896181965499885], [-0.49659565074596124, -3.6898992318734116, -1.1504007886596535, -0.60712485996684507, 4.191071421177142]]], [[[4.3260340065430274, 2.3635487666545192, -2.240886815096097, 1.0056685342984544, -4.0887734106609175], [1.0477414370203828, 0.65846160260674136, -2.8622700648998176, -3.6005613034101138, 2.8393187996395595], [0.094152607401596811, 2.5772096357314132, -0.96962400034213658, 1.8595108650497991, 2.4322777731846372], [1.4076141088951086, 3.6821121956196983, -2.9631635393623403, -3.9933761715545146, 2.9654720160230799]], [[-1.3273050816385368, 1.9607217897713962, -4.9743903544276762, 1.9998692305853014, 1.7977807194889008], [-3.6827759346908415, 3.8552701016612012, 2.3084541591380203, 0.83142804910144186, -0.51531507189161907], [-4.7425550143315505, -2.4335778784385429, 2.4479579571413588, 2.4397592719770342, 3.0403780808753122], [-2.2639100747328342, 3.3553654675894826, -2.9592488502728074, -1.8304038769883659, -4.9909183210079924]], [[4.3678669925363955, 3.930841060870284, -2.4287584907576045, 4.5288663355746497, 1.6607710728620093], [-2.2717871493739503, 2.0420454716226981, 1.4666966963117192, -4.5029574939416781, -1.0459943929313043], [0.54339924202490675, -1.2458509858091382, -0.37377693135287338, 1.4207527283747377, -4.2749711196452171], [-3.7418466422541998, 1.5829787722186506, -1.5379178714365538, 3.2095929965439538, -0.29192716098058735]], [[4.6914902993253822, 4.5134552860686021, 2.8920531031855887, 1.3579024419071404, -1.1517909456905984], [1.2186229901641719, -1.9401822290640123, -2.1364775743237674, 0.36688136183397546, 3.13384537712348], [1.8219452905748588, 0.64160543892799993, 4.3571867777035163, -0.16690700354540233, -0.87920999668967159], [3.778940345232213, 1.5123590571113752, 2.5607192642022314, -2.7124992451224883, 0.81174963760590479]], [[0.27529679218488923, 0.44381577682184226, 0.71346160271191028, 0.73724696860257044, -1.9738666446598052], [1.8144755708725349, -2.3492948816731962, -1.7283733775400458, 0.1112660924551454, 2.3191477068745598], [1.6611721629166398, 3.363578989408051, 4.9468633929778036, -3.9415025543057558, -3.5474418779989101], [-4.0589804148570972, 4.3203570974651342, 0.79221799858796071, -3.8659589880828027, 1.1285347158732408]]], [[[1.2274838822618284, -3.6558461976721945, 0.50478314516776024, -4.4296489635325376, 2.0513248472057812], [-1.898429861306643, -1.3601065037043947, 3.1685815278904101, -1.6945410824096161, 0.48647572521865801], [-0.7652458992959783, 4.5316196838230987, -1.0253506269936863, 4.2862451516595641, 0.33611745604055088], [4.8131544442458214, 2.8009319736589324, 3.4837249029823276, -2.3439159756591019, 2.9738723780109098]], [[0.6872077542484476, 4.7601434492166934, 3.0334151912759726, -0.55611292554771907, -3.6119152719770486], [2.226785423222859, -0.16077579837973754, -0.32948673668737882, -0.99305033391392783, 0.86542471411838484], [0.45878548744697945, -0.45251653090790622, 1.0096360489186127, -3.6188890097954287, 4.949736159488495], [3.5908785044395302, -4.4187640829598527, -3.1697816683045454, 4.3626943014391539, -1.5714168197350089]], [[1.28998640828822, -0.42644402371418177, 4.8362632624031772, -0.80015138854171663, -0.18276791378009971], [1.3757739485699307, -4.1629161455158883, 4.9703698586614955, 4.0908848406809604, -1.2651428659348785], [3.7502907950586302, -0.016692429913247153, 4.4005611607405317, -3.203048762421945, 2.1658408924444288], [-3.1717853786952208, -3.1662996078164163, 2.798004066543486, 2.5160558622342624, -2.8319991341423556]], [[-2.0706718526766954, 3.3369724314549902, 0.99797040710499729, 2.7430249892341525, 1.9026693423532848], [-4.5223665659229511, 2.8550059060432229, -3.1131664771814584, -3.7633974335388523, -2.2416794756932212], [-2.6028928098965065, 4.8812585198514942, -0.68338406022624376, 1.4903143933610661, 0.85762111759129755], [2.4069139361869905, 3.5882385346323549, 1.3063576949085443, -4.7117871001764779, -1.011579800694784]], [[3.1488928996692227, 4.9107168975694773, 4.4533087534612346, -0.93759035804994451, 1.1783270762953144], [-4.7313751824152783, -1.1815138727023786, 1.4676810810121115, 1.5087384885479764, -4.1889575166013362], [4.3466966737503903, 0.46344078897691876, -2.6781700762723526, 2.5106435143280779, -4.8916366434648246], [-3.9194090337903162, -3.1041601794309104, -1.6107455050000197, -3.3558535345106657, 3.2854356915597371]]], [[[2.4350030817803257, 4.5581071227750698, 3.4537178699775701, -4.0527464249596648, 3.7495300029762824], [-3.8435964347745752, 3.8743431733942302, -4.4719821188762872, 2.3338680404809509, 4.8012984767585074], [-3.674491775193065, 2.607115074518255, -1.5976144799827798, -4.9061213320130452, 4.6342603105583784], [-0.23050412759266248, 3.0089717800396603, -0.6573594550381836, 4.8027406984277317, -3.266129229744724]], [[-3.3224026242336557, 2.3464274057269492, -4.0454820701990126, -1.9036996042141654, 0.82863646608849262], [2.4512703277148322, -3.4200281880570627, 3.9310930865777678, 0.66603630600658903, -1.7357795243781036], [-0.63147759850288754, -1.3395568464694927, -2.3288833459299383, 2.8879185657801845, 0.74037820226514128], [1.256301978566813, -0.8770593483761342, 1.7245676276965423, -2.9582828122938554, -4.8896137823861627]], [[3.130320616049044, 1.1867005196324767, -1.2061223022241387, -0.7451531409308485, -0.034932401773572153], [0.93821181331697812, -0.42482142648551502, -1.5094541206091119, 2.6328307593340163, 4.8507535166192497], [3.7773139129224962, -0.9233400701841985, 3.5251937021936399, 2.5517210058793367, 4.4938014893253886], [1.6813918519710525, 4.8142373247311259, 3.7760041402204116, 2.1677163722357466, -0.92718985010727284]], [[0.70984539645036548, -3.7732274449885592, -0.38800099430297053, 2.7762811224414286, 2.1792618160441579], [3.2623272147832623, -4.1008630872615113, 4.8608758241780752, -1.0587642837922706, -1.2447231761104005], [-3.9585823010651811, 1.3063242560024815, -4.8494544957760848, 2.7024401391202257, 3.2991258924962867], [-3.5059990008304198, 2.5847631832414208, -3.5577947825811651, -2.6930109289780271, 0.78768570708015417]], [[-4.6513168573929642, 3.075595748842165, -4.7735357800550346, 4.7839226631951579, -3.708040015555627], [2.7900930370205064, 2.5717941370578288, 0.062054025329189244, 4.6908700519190116, 3.6618758204018409], [1.4588727880412282, -4.0708465134223246, 0.38039151424840334, -1.0256701924450473, -3.1486296632520041], [-3.3814435755033267, -0.19380612094485627, -4.2505702783339272, 4.1353772151668906, -3.4839150224031803]]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-8.1346957692895909, -7.8057697935621793, -8.9291966643584164, -7.6491207325011175, -0.29705445281206977], [-2.9842400837248153, -8.6854057706281544, -6.4479997623711318, -3.4357981741492747, -0.76286784101531779], [-2.016749458191657, -1.6566405440671623, -4.0204343526864497, -6.9414304612275988, -8.6319910613885931], [-8.7591952518880785, -9.374559746187332, -2.3669845712114519, 0.30163795400777715, -1.2699428998707241]], [[-2.0893645449300218, 0.19285402421950515, 1.894049964469315, -1.3431791120165997, 4.8318579944299902], [1.6437581723268231, -1.0700227784067722, -2.1488426007600974, 1.0978912909594385, -3.0175774549027192], [0.44798141547066006, 4.4496512595088369, -2.5071362821671501, 5.5330074199549131, 3.5516011775585188], [0.46406282452065728, 1.1524384355849264, 3.6772926421261181, 5.9652235082509613, 2.5746620223921717]], [[0.42996918340820223, -2.3232205969451796, -6.281914622778725, -8.4434186229690624, -4.1713683050064283], [-5.6042886893905521, -5.0634459358187005, -6.2452473617000566, -3.8921833261690448, -1.4265249885613738], [-7.9116256846224342, -2.1385894678724808, -0.50946719160519471, -3.5072361193001189, -0.22292508924636856], [0.4892977837246022, -4.1019329158571871, 0.23273386483871583, -6.3196084380158037, -5.1339589024656807]], [[0.086983256562165323, -3.0444331311592001, 0.3949910183170422, 3.8159200749376021, -1.24713832821746], [-1.8732243707406537, 4.142743454449513, 3.0303291880577987, 5.4517288386801548, 2.7612687473126485], [5.6334034060730636, -3.6328344431165629, -2.7513003544531971, 2.0881903189774587, 5.4114387969863271], [1.1873879536503527, -3.0515028565599391, 0.78696678713262624, 0.95121849188767182, 5.3213447599041013]], [[0.41205285786367796, 1.0409027837520846, 1.1617671479122738, -1.7718575522336835, 0.6728788046765164], [-2.6688609361545925, 1.2918533003916011, -0.52542338523800947, -4.7429922713252148, 1.948564908070832], [0.11267656149498873, -3.6528076717723135, 1.722846587285833, 0.34785078804460401, -1.2965651180396094], [-2.6521225884405695, -5.8454261695680199, -3.3059277263542617, -2.7626517976614533, 2.0355444834825338]]], [[[0.72823801309563407, -1.2342472267928741, -5.8386828085434903, -2.5921274591489389, -7.6865694041083108], [-2.5500545564270105, -2.939334390840652, -6.4600660583472109, -7.1983572968575071, -0.75847719380783385], [-3.5036433860457965, -1.0205863577159802, -4.5674199937895299, -1.7382851283975942, -1.1655182202627561], [-2.1901818845522847, 0.084316202172304955, -6.5609595328097337, -7.5911721650019075, -0.63232397742431345]], [[-0.12068106042141569, 3.1673458109885173, -3.7677663332105551, 3.2064932518024225, 3.0044047407060219], [-2.4761519134737204, 5.0618941228783223, 3.5150781803551414, 2.0380520703185629, 0.69130894932550202], [-3.5359309931144294, -1.2269538572214218, 3.6545819783584799, 3.6463832931941553, 4.2470021020924333], [-1.0572860535157131, 4.5619894888066037, -1.7526248290556863, -0.62377985577124484, -3.7842942997908713]], [[1.2897403381852013, 0.8527144065190897, -5.5068851451087983, 1.4507396812234554, -1.4173555814891849], [-5.3499138037251441, -1.0360811827284961, -1.6114299580394751, -7.5810841482928719, -4.1241210472824985], [-2.5347274123262875, -4.3239776401603329, -3.4519035857040676, -1.6573739259764566, -7.3530977739964118], [-6.8199732966053936, -1.4951478821325437, -4.616044525787748, 0.13146634219275954, -3.3700538153317816]], [[6.9144064523202617, 6.7363714390634817, 5.1149692561804683, 3.5808185949020199, 1.0711252073042812], [3.4415391431590514, 0.28273392393086727, 0.086438578671112154, 2.589797514828855, 5.3567615301183595], [4.0448614435697383, 2.8645215919228795, 6.5801029306983958, 2.0560091494494772, 1.343706156305208], [6.0018564982270926, 3.7352752101062547, 4.7836354171971109, -0.48958309212760875, 3.0346657906007843]], [[1.3738653193745041, 1.5423843040114571, 1.8120301299015251, 1.8358154957921853, -0.87529811747019037], [2.9130440980621497, -1.2507263544835814, -0.62980485035043099, 1.2098346196447602, 3.4177162340641747], [2.7597406901062547, 4.4621475165976658, 6.0454319201674185, -2.842934027116141, -2.4488733508092952], [-2.9604118876674823, 5.418925624654749, 1.8907865257775756, -2.7673904608931879, 2.2271032430628557]]], [[[-0.95144780132188966, -5.8347778812559126, -1.6741485384159578, -6.6085806471162556, -0.12760683637793679], [-4.0773615448903611, -3.5390381872881127, 0.98964984430669212, -3.8734727659933341, -1.69245595836506], [-2.9441775828796963, 2.3526880002393806, -3.2042823105774043, 2.1073134680758461, -1.8428142275431671], [2.6342227606621034, 0.6220002900752144, 1.3047932193986096, -4.52284765924282, 0.79494069442719173]], [[-2.0488103011464167, 2.0241253938218291, 0.29739713588110828, -3.2921309809425834, -6.347933327371913], [-0.50923263217200532, -2.8967938537746019, -3.0655047920822431, -3.7290683893087921, -1.8705933412764795], [-2.2772325679478849, -3.1885345863027705, -1.7263820064762516, -6.354907065190293, 2.2137181040936307], [0.85486044904466585, -7.154782138354717, -5.9057997236994098, 1.6266762460442896, -4.3074348751298732]], [[0.79226184694352231, -0.92416858505887944, 4.3385387010584795, -1.2978759498864143, -0.68049247512479738], [0.87804938722523307, -4.660640706860586, 4.4726452973167978, 3.5931602793362627, -1.7628674272795761], [3.2525662337139325, -0.51441699125794482, 3.902836599395834, -3.7007733237666427, 1.6681163310997311], [-3.6695099400399185, -3.664024169161114, 2.3002795051987883, 2.0183313008895647, -3.3297236954870533]], [[-4.0134941254571119, 1.3941501586745737, -0.94485186567541923, 0.80020271645373597, -0.04015293042713175], [-6.4651888387033676, 0.91218363326280638, -5.055988749961875, -5.7062197063192688, -4.1845017484736378], [-4.5457150826769226, 2.9384362470710776, -2.6262063330066603, -0.45250787941935045, -1.085201155189119], [0.46409166340657393, 1.6454162618519383, -0.63646457787187227, -6.6546093729568945, -2.9544020734752006]], [[5.1301899231259513, 6.8920139210262059, 6.4346057769179632, 1.0437066654067841, 3.1596240997520431], [-2.7500781589585497, 0.79978315075435003, 3.4489781044688401, 3.4900355120047051, -2.2076604931446075], [6.3279936972071189, 2.4447378124336474, -0.69687305281562395, 4.4919405377848065, -2.910339620008096], [-1.9381120103335876, -1.1228631559741817, 0.37055151845670897, -1.3745565110539371, 5.2667327150164658]]], [[[0.16111182337544605, 2.2842158643701902, 1.1798266115726905, -6.3266376833645444, 1.4756387445714028], [-6.1174876931794548, 1.6004519149893506, -6.7458733772811668, 0.059976782076071267, 2.5274072183536278], [-5.9483830335979446, 0.33322381611337537, -3.8715057383876594, -7.1800125904179248, 2.3603690521534988], [-2.5043953859975421, 0.73508052163478066, -2.9312507134430632, 2.5288494400228521, -5.5400204881496036]], [[1.5502173160801482, 7.2190473460407532, 0.82713787011479134, 2.9689203360996386, 5.7012564064022966], [7.3238902680286362, 1.4525917522567413, 8.8037130268915718, 5.538656246320393, 3.1368404159357004], [4.2411423418109164, 3.5330630938443113, 2.5437365943838657, 7.7605385060939884, 5.6129981425789452], [6.128921918880617, 3.9955605919376698, 6.5971875680103462, 1.9143371280199486, -0.016993842072358767]], [[-1.6347504547070937, -3.578370551123661, -5.9711933729802764, -5.5102242116869862, -4.8000034725297098], [-3.8268592574391596, -5.1898924972416527, -6.2745251913652496, -2.1322403114221213, 0.085682445863112022], [-0.98775715783364149, -5.6884111409403362, -1.2398773685624978, -2.213350064876801, -0.27126958143074908], [-3.0836792187850852, 0.049166253974988194, -0.98906693053572603, -2.597354698520391, -5.6922609208634105]], [[2.2857695786512942, -2.1973032627876306, 1.1879231878979581, 4.3522053046423572, 3.7551859982450866], [4.8382513969841909, -2.5249389050605826, 6.4368000063790038, 0.51715989840865806, 0.33120100609052816], [-2.3826581188642524, 2.8822484382034101, -3.2735303135751561, 4.2783643213211544, 4.8750500746972154], [-1.9300748186294912, 4.1606873654423495, -1.9818706003802364, -1.1170867467770984, 2.3636098892810828]], [[-9.3625484311395368, -1.6356358249044085, -9.4847673538016082, 0.072691089448584378, -8.4192715893022001], [-1.9211385367260672, -2.1394374366887448, -4.6491775484173843, -0.020361521827561901, -1.0493557533447326], [-3.2523587857053453, -8.7820780871688982, -4.3308400594981702, -5.7369017661916208, -7.8598612369985776], [-8.0926751492498994, -4.9050376946914298, -8.9618018520805016, -0.57585435857968292, -8.1951465961497547]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.0209788814363274, -1.6920529057089162, -2.8154797765051534, -1.5354038446478548, 5.8166624350411933], [3.1294768041284478, -2.5716888827748923, -0.33428287451786876, 2.6779187137039884, 5.3508490468379453], [4.0969674296616061, 4.4570763437861007, 2.0932825351668134, -0.82771357337433571, -2.51827417353533], [-2.6454783640348154, -3.2608428583340689, 3.7467323166418112, 6.4153548418610402, 4.843773987982539]], [[-4.12801667893405, -1.8457981097845231, -0.14460216953471328, -3.3818312460206279, 2.793205860425962], [-0.39489396167720514, -3.1086749124108004, -4.187494734764126, -0.94076084304458973, -5.0562295889067475], [-1.5906707185333682, 2.4109991255048087, -4.5457884161711783, 3.4943552859508848, 1.5129490435544906], [-1.5745893094833709, -0.8862136984191018, 1.6386405081220898, 3.926571374246933, 0.53600988838814345]], [[0.1004384446633475, -2.6527513356900343, -6.6114453615235806, -8.7729493617139163, -4.500899043751283], [-5.9338194281354077, -5.3929766745635552, -6.5747781004449113, -4.2217140649138996, -1.7560557273062285], [-8.241156423367288, -2.4681202066173356, -0.83899793035004944, -3.8367668580449736, -0.55245582799122328], [0.15976704497974747, -4.4314636546020418, -0.096796873906138892, -6.6491391767606594, -5.4634896412105345]], [[3.054469544799292, -0.076946842922073433, 3.3624773065541689, 6.7834063631747288, 1.7203479600196667], [1.0942619174964729, 7.1102297426866397, 5.9978154762949254, 8.4192151269172815, 5.7287550355497752], [8.6008896943101902, -0.66534815487943622, 0.21618593378392958, 5.0556766072145853, 8.3789250852234538], [4.1548742418874793, -0.084016568322812457, 3.7544530753697529, 3.9187047801247985, 8.288831048141228]], [[-0.62893898464116704, -8.9058752760440285e-05, 0.12077530540742876, -2.8128493947385285, -0.3681130378283286], [-3.7098527786594375, 0.25086145788675607, -1.5664152277428545, -5.7839841138300603, 0.90757306556598705], [-0.92831528100985627, -4.693799514277158, 0.68185474478098795, -0.69314105446024099, -2.3375569605444544], [-3.6931144309454145, -6.8864180120728644, -4.3469195688591071, -3.8036436401662983, 0.99455264097768881]]], [[[6.0284619465347671, 4.0659767066462589, -0.5384588751043573, 2.7080964742901941, -2.3863454706691778], [2.7501693770121225, 2.3608895425984811, -1.1598421249080779, -1.8981333634183741, 4.5417467396312992], [1.7965805473933365, 4.2796375757231528, 0.73280393964960311, 3.5619388050415388, 4.1347057131763769], [3.1100420488868483, 5.384540135611438, -1.2607355993706006, -2.2909482315627749, 4.6678999560148196]], [[3.5283353850366375, 6.8163622564465705, -0.11874988775250195, 6.8555096972604757, 6.6534211861640751], [1.1728645319843327, 8.7109105683363754, 7.1640946258131946, 5.6870685157766161, 4.3403253947835552], [0.11308545234362377, 2.4220625882366313, 7.303598423816533, 7.2953997386522085, 7.8960185475504865], [2.59173039194234, 8.2110059342646569, 1.8963916164023669, 3.0252365896868083, -0.13527785433281814]], [[9.2666215912112229, 8.8295956595451113, 2.4699961079172228, 9.427620934249477, 6.5595256715368366], [2.626967449300877, 6.9408000702975254, 6.3654512949865465, 0.39579710473314922, 3.8527602057435231], [5.4421538406997341, 3.6529036128656891, 4.5249776673219539, 6.319507327049565, 0.62378347902961018], [1.1569079564206275, 6.4817333708934779, 3.3608367272382735, 8.1083475952187811, 4.60682743769424]], [[1.2504111148864268, 1.0723761016296467, -0.54902608125336672, -2.0831767425318151, -4.5928701301295538], [-2.2224561942747836, -5.3812614135029673, -5.5775567587627233, -3.07419782260498, -0.30723380731547545], [-1.6191338938640967, -2.7994737455109555, 0.91610759326456082, -3.6079861879843578, -4.3202891811286275], [0.33786116079325756, -1.9287201273275802, -0.88035992023672405, -6.1535784295614437, -2.6293295468330506]], [[4.8821062520092493, 5.0506252366462023, 5.3202710625362704, 5.3440564284269305, 2.6329428151645549], [6.4212850306968949, 2.2575145781511639, 2.8784360822843142, 4.7180755522795055, 6.9259571666989199], [6.2679816227409999, 7.9703884492324111, 9.5536728528021637, 0.66530690551860427, 1.05936758182545], [0.54782904496726292, 8.9271665572894943, 5.3990274584123208, 0.74085047174155738, 5.7353441756976009]]], [[[-3.7458003447928752, -8.629130424726899, -4.4685010818869433, -9.4029331905872411, -2.9219593798489223], [-6.8717140883613466, -6.3333907307590982, -1.8047026991642934, -6.6678253094643196, -4.4868085018360455], [-5.7385301263506818, -0.44166454323160487, -5.9986348540483903, -0.68703907539513942, -4.6371667710141526], [-0.16012978280888213, -2.1723522533957711, -1.4895593240723759, -7.3172002027138054, -1.9994118490437938]], [[-3.8209201499254952, 0.25201554504275059, -1.4747127128979702, -5.0642408297216619, -8.1200431761509915], [-2.2813424809510838, -4.6689037025536804, -4.8376146408613216, -5.5011782380878707, -3.642703190055558], [-4.0493424167269634, -4.960644435081849, -3.4984918552553301, -8.1270169139693706, 0.44160825531455217], [-0.91724939973441266, -8.9268919871337964, -7.6779095724784883, -0.14543360273478889, -6.0795447239089517]], [[5.5358739254920142, 3.8194434934896124, 9.0821507796069714, 3.4457361286620776, 4.0631196034236945], [5.6216614657737249, 0.082971371687905915, 9.2162573758652897, 8.3367723578847546, 2.9807446512689157], [7.9961783122624244, 4.2291950872905471, 8.6464486779443259, 1.0428387547818492, 6.411728409648223], [1.0741021385085734, 1.0795879093873779, 7.0438915837472802, 6.7619433794380566, 1.4138883830614386]], [[1.3607688082555844, 6.7684130923872701, 4.4294110680372771, 6.1744656501664323, 5.3341100032855646], [-1.0909259049906712, 6.2864465669755027, 0.31827418375082139, -0.33195677260657241, 1.1897611852390586], [0.82854785103577333, 8.312699180783774, 2.7480566007060361, 4.9217550542933459, 4.2890617785235774], [5.8383545971192703, 7.0196791955646347, 4.7377983558408241, -1.2803464392441981, 2.4198608602374958]], [[5.2803749603017689, 7.0421989582020235, 6.5847908140937808, 1.1938917025826017, 3.3098091369278606], [-2.5998931217827321, 0.94996818793016757, 3.5991631416446577, 3.6402205491805226, -2.05747545596879], [6.4781787343829365, 2.594922849609465, -0.5466880156398064, 4.6421255749606241, -2.7601545828322784], [-1.78792697315777, -0.97267811879836419, 0.52073655563252652, -1.2243714738781195, 5.4169177521922833]]], [[[0.014405174705371948, 2.1375092157001161, 1.0331199629026164, -6.4733443320346185, 1.3289320959013287], [-6.2641943418495289, 1.4537452663192765, -6.8925800259512409, -0.086729866594002836, 2.3807005696835537], [-6.0950896822680187, 0.18651716744330127, -4.0182123870577335, -7.3267192390879989, 2.2136624034834247], [-2.6511020346676162, 0.58837387296470656, -3.0779573621131373, 2.382142791352778, -5.6867271368196777]], [[-1.3561784873390494, 4.3126515426215555, -2.0792579333044063, 0.062524532680440892, 2.7948606029830989], [4.4174944646094385, -1.4538040511624564, 5.8973172234723741, 2.6322604429011953, 0.23044461251650272], [1.3347465383917188, 0.6266672904251136, -0.362659209035332, 4.8541427026747908, 2.7066023391597476], [3.2225261154614193, 1.0891647885184721, 3.6907917645911485, -0.99205867539924908, -2.9233896454915564]], [[3.7264793546904684, 1.7828592582739011, -0.60996356358271431, -0.14899440228942407, 0.56122633686785228], [1.5343705519584026, 0.17133731215590942, -0.91329538196768745, 3.2289894979754408, 5.4469122552606741], [4.3734726515639206, -0.32718133154277407, 4.1213524408350644, 3.1478797445207611, 5.089960227966813], [2.2775505906124769, 5.4103960633725503, 4.3721628788618361, 2.7638751108771711, -0.3310311114658484]], [[-0.97863937812089485, -5.4617122195598196, -2.0764857688742309, 1.0877963478701682, 0.49077704147289758], [1.5738424402120019, -5.7893478618327716, 3.1723910496068148, -2.7472490583635309, -2.9332079506816608], [-5.6470670756364409, -0.38216051856877886, -6.5379392703473451, 1.0139553645489654, 1.6106411179250264], [-5.1944837754016806, 0.89627840867016051, -5.246279557152425, -4.3814957035492874, -0.90079906749110616]], [[-5.4425915430892493, 2.2843210631458799, -5.5648104657513198, 3.9926479774988728, -4.4993147012519117], [1.9988183513242213, 1.7805194513615437, -0.72922066036709587, 3.8995953662227265, 2.8706011347055558], [0.6675981023449431, -4.8621211991186097, -0.41088317144788178, -1.8169448781413324, -3.9399043489482892], [-4.1727182611996119, -0.98508080664114139, -5.0418449640302123, 3.3441025294706055, -4.2751897080994654]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_constData_rank3(self):  
       arg0=Data(numpy.array([[[-2.5069667112921543, -1.0937789290427089], [-4.4304977473827343, 0.93449201931051995]], [[-3.1045915716266803, -3.253266602491065], [2.6853796221328015, 0.58089033035337412]], [[-2.7815492462774483, -2.2075327929447308], [-0.11556427694386784, -1.5359800454336314]], [[-3.6821974579434169, 0.38905131925270009], [-1.5530312462306473, 0.088619420538186056]], [[2.322873208367179, -0.39992573196388115], [-3.254226490059021, 0.88085409225563538]], [[2.9182001381952372, 3.0101939430587272], [0.47996418652566319, -4.2017739142770765]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[3.0769655254448605, -0.94707489350237317], [-1.6505467298168695, 2.3970951566147001]], [[4.7691899469697638, 4.1836585998952671], [0.60949483879704935, -3.4528260683188128]], [[-1.8472851508325263, 0.84714224626710433], [-0.14577138135776746, 2.599945916112528]], [[-3.8321950307775046, 3.2959702507014548], [-1.8391961732303375, 2.1745101061339813]], [[-3.780073276295044, -0.78282153665823451], [3.5294292073018472, -4.3607495286560161]], [[-2.6201513213865946, 4.9492037627280858], [-2.3840319204990035, -0.53281518691272822]]]))  
       arg1=Data(numpy.array([[[-4.3017279193022606, 0.67546042712307575], [1.8316999437807198, -3.3754453308230339]], [[2.3303334199959105, -2.3132977711381408], [-2.9173833061158172, -2.7587265592545398]], [[2.1143959817796967, -3.6188350556318136], [-3.7831543988602743, 3.7271641815824008]], [[3.6474063086264206, 3.0798962830810837], [1.9837131465061972, -0.97461401895713173]], [[-1.1166547017540762, 4.4613317839085678], [-3.9989487953199099, -1.250718994133492]], [[0.14373177769253509, -3.2825325227699711], [0.98115609086367161, 2.2184885571292687]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-6.8086946305944149, -0.41831850191963316], [-2.5987978036020145, -2.4409533115125139]], [[-0.77425815163076983, -5.5665643736292054], [-0.23200368398301574, -2.1778362289011657]], [[-0.66715326449775159, -5.8263678485765444], [-3.8987186758041421, 2.1911841361487694]], [[-0.034791149316996339, 3.4689476023337837], [0.43068190027554998, -0.88599459841894568]], [[1.2062185066131028, 4.0614060519446866], [-7.2531752853789309, -0.36986490187785659]], [[3.0619319158877722, -0.27233857971124387], [1.4611202773893348, -1.9832853571478077]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-1.2247623938574002, -0.27161446637929743], [0.18115321396385031, -0.97835017420833381]], [[7.0995233669656743, 1.8703608287571263], [-2.3078884673187678, -6.2115526275733526]], [[0.26711083094717036, -2.7716928093647093], [-3.9289257802180417, 6.3271100976949288]], [[-0.184788722151084, 6.3758665337825384], [0.14451697327585977, 1.1998960871768496]], [[-4.8967279780491202, 3.6785102472503333], [-0.46951958801806271, -5.611468522789508]], [[-2.4764195436940595, 1.6666712399581147], [-1.4028758296353319, 1.6856733702165405]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_constData_rank3(self):  
       arg0=Data(numpy.array([[[[4.9508940276911204, 3.1127930050979948], [-4.9310384891094614, -1.8938659877852482]], [[-4.7466585482052857, 4.9156611537593911], [-3.4782864609923569, 0.43962832732938306]]], [[[-1.1166105043913852, 2.3657423280828898], [-3.1901622231914439, 1.1709341962762423]], [[-2.9266253204198445, -4.2962440738681753], [-1.6375896189857375, -0.44422747995286027]]], [[[-3.9886548648597966, -0.062549117182649994], [0.025287360777443979, -2.794834965841595]], [[-0.69270609046130183, -1.7687416277071719], [-1.457890129798145, 2.2547373961094248]]], [[[-0.4581967893884844, 3.5970747023309215], [-2.3161978894547031, -0.76557643408634135]], [[1.6279644659245074, -2.3817249786766514], [2.6445660431356668, -4.5160812718246968]]], [[[2.7227879428551196, -3.105497795338418], [3.2943348798554073, -2.1069084893150181]], [[-1.9457145109008289, 3.3245893582545776], [-1.6643603787982686, -1.0986764279916605]]], [[[3.7559782375763628, 0.44682981478168848], [-0.87770318147668558, 0.046170054168631403]], [[-1.1892915037750686, 2.8986316684090072], [-4.1626696144842192, -3.6456818519973799]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-1.595339578181326, 4.2007114060857624], [-0.3905470153687185, 1.3093954881280077]], [[1.8105762727492571, -2.2354225038936559], [-4.0004581858129846, -3.3153298688437225]]], [[[3.2061781467242945, 1.2943563776879845], [-4.2857349127461912, -4.8594865573834252]], [[3.8931755970050368, -4.5730839766335425], [3.7496889467642411, 2.5388145192647276]]], [[[-1.0876273501606724, -0.59251019995140819], [-0.6712699822173942, 0.98192745432645623]], [[-3.8239800905585586, -0.88781661797402123], [-1.9789890861465698, -4.3997034260053525]]], [[[-3.1951422233630886, -0.15843855166270426], [-1.8632105934530885, 4.2815428359651104]], [[-4.6197139775813501, -4.7257535543664133], [-2.1950661901565982, 2.6618264781919843]]], [[[-1.9326603580528667, 0.97448374402917626], [-0.6908073011065996, -3.1319939288066214]], [[2.2940942485830975, -2.1077275187377409], [-1.9251549986708136, 4.153424611669859]]], [[[0.52396001477628218, 2.8746005287909071], [-0.12134123551887654, 1.7801380133984823]], [[-0.45544115353504822, 2.6271732343324148], [-4.2169328262913037, 1.8514590749673188]]]]))  
       arg1=Data(numpy.array([[[4.99920380776752, 4.0124466324254335], [0.062310475994244996, -2.9990720884856916]], [[4.1643962926042253, -4.732925533030917], [-4.060549842018383, -2.692212359666545]], [[2.5365254124313852, 3.770113728909072], [1.6293590468985091, -3.2403160834735321]], [[3.1445184772346355, -0.79580273644476485], [1.9928730733430822, 3.9311669534966605]], [[1.4388686714334895, -0.51898073972952208], [1.618211630395578, 2.1397233093414902]], [[-1.0336203711332894, -2.0888065080955709], [-3.3614210108767093, -4.7913385220458888]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[9.9500978354586405, 8.1119968128655149], [-0.91859185668402787, 2.1185806446401854]], [[-4.6843480722110407, 4.9779716297536361], [-6.4773585494780486, -2.5594437611563086]]], [[[3.0477857882128401, 6.530138620687115], [-7.9230877562223609, -3.5619913367546747]], [[-6.987175162438227, -8.3567939158865592], [-4.3298019786522826, -3.1364398396194053]]], [[[-1.4521294524284114, 2.4739762952487352], [3.795401089686516, 0.97527876306747707]], [[0.93665295643720725, -0.13938258080866284], [-4.6982062132716766, -0.98557868736410725]]], [[[2.6863216878461511, 6.741593179565557], [-3.1120006258994679, -1.5613791705311062]], [[3.6208375392675896, -0.38885190533356928], [6.5757329966323272, -0.58491431832803631]]], [[[4.1616566142886091, -1.6666291239049285], [2.7753541401258852, -2.6258892290445401]], [[-0.32750288050525089, 4.9428009886501556], [0.47536293054322165, 1.0410468813498297]]], [[[2.7223578664430734, -0.58679055635160093], [-2.9665096895722565, -2.0426364539269395]], [[-4.550712514651778, -0.46278934246770209], [-8.9540081365301081, -8.4370203740432679]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[3.4038642295861941, 9.1999152138532825], [3.621899617056715, 5.3218421205534412]], [[1.8728867487435021, -2.1731120278994109], [-6.9995302742986762, -6.3144019573294141]]], [[[7.3705744393285197, 5.4587526702922098], [-9.0186604457771082, -9.5924120904143422]], [[-0.16737424501334619, -8.6336338186519264], [1.0574765870976961, -0.15339784040181748]]], [[[1.4488980622707128, 1.944015212479977], [3.0988437466916778, 4.7520411832355283]], [[-2.1946210436600495, 0.74154242892448785], [-5.2193051696201014, -7.6400195094788845]]], [[[-0.050623746128453107, 2.9860799255719312], [-2.6590133298978533, 3.4857400995203456]], [[-2.6268409042382679, -2.7328804810233311], [1.7361007633400622, 6.5929934316886447]]], [[[-0.49379168661937722, 2.4133524154626658], [-1.2097880408361217, -3.6509746685361435]], [[3.9123058789786755, -0.48951588834216286], [0.21456831067067661, 6.2931479210113492]]], [[[-0.50966035635700724, 1.8409801576576177], [-2.2101477436144474, -0.30866849469708857]], [[-3.8168621644117575, -0.73424777654429452], [-9.0082713483371926, -2.9398794470785701]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_constData_rank4(self):  
       arg0=Data(numpy.array([[[-2.1197169281921644, -2.9858721771398589], [-2.1992771288840607, 1.8561864890292368]], [[4.0401135137735906, 1.9500135533261842], [4.5544990760117194, -2.7701141441273833]], [[-3.8445031391111426, 2.6663344860312819], [2.7678539130492332, -3.0820722509152141]], [[0.32456704898320776, 1.1636443112867827], [0.57930752965676113, -3.0501246585282624]], [[3.7870688204899476, -3.788324151031869], [1.3565657809771734, 0.92025735500596717]], [[-0.83415412256163979, 3.2593286840047302], [4.3212890878525521, -2.4477000524066472]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-1.6841406348702579, 3.6517548666322348], [-1.3788967102449492, -1.2832651814057927]], [[0.28224841303891601, -1.2585152924160923], [3.4503056590647887, -1.2800437302774692]], [[-3.8898173632994251, 2.2111810599405839], [0.66170310995753212, -1.0356053671083432]], [[0.025807437928754062, 4.0288821157175274], [3.3309611562054737, -1.6109853403076002]], [[-2.2935663840591847, -1.7561546600673159], [-2.9287208076147477, 0.22869838151309363]], [[-0.11671649417847707, -2.7516254179847], [3.624089941385332, -1.8607492478026377]]]))  
       arg1=Data(numpy.array([[[[0.99647710896437225, 4.0841397268803252], [4.2561102431050379, -1.8236820320783065]], [[-1.4037656457590062, -1.0298549924315834], [3.4315124987920971, -4.8968061758749055]]], [[[-4.7952848106105472, 2.1746533111428024], [-4.7950272652804422, 4.7736720217819837]], [[0.24082927535087695, 0.56553865188798103], [-1.1126748200019323, -1.5945087610703332]]], [[[-1.7644173825302989, -2.625702479274131], [-3.199762740360117, 3.5979430699508068]], [[-1.562909474948345, -2.3712144850412189], [-1.9973427593447655, 0.39812480622760216]]], [[[-1.9481793031073904, -1.40306130939741], [3.9171796668567467, -1.665524316777657]], [[-3.4553626574844145, 2.4081196622162624], [1.0764628732208026, -1.4530722607748925]]], [[[1.0523176204894149, -4.1944204436422847], [-2.3328281970349805, -3.6511985909435363]], [[-2.3852901472155983, 4.1493561258135223], [1.3217966621992536, 4.6912335829860741]]], [[[-3.9141196750946774, 1.7005619407333299], [3.888758654730113, 0.42063619155603948]], [[-2.9525362305122158, -3.0258517648110308], [2.5133662170526163, 0.28511814695160886]]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.1232398192277921, 1.9644227986881608], [1.2702380659651791, -4.8095542092181649]], [[-3.6030427746430669, -3.2291321213156441], [5.2876989878213339, -3.0406196868456687]]], [[[-0.75517129683695661, 6.214766824916393], [-2.845013711954258, 6.7236855751081679]], [[4.7953283513625964, 5.1200377278997005], [-3.8827889641293156, -4.3646229051977166]]], [[[-5.6089205216414415, -6.4702056183852736], [-0.53342825432883512, 6.2642775559820887]], [[1.2049444381008882, 0.39663942800801433], [-5.0794150102599795, -2.6839474446876119]]], [[[-1.6236122541241826, -1.0784942604142023], [5.0808239781435294, -0.5018800054908743]], [[-2.8760551278276534, 2.9874271918730235], [-1.9736617853074598, -4.5031969193031554]]], [[[4.8393864409793625, -0.40735162315233708], [-6.1211523480668495, -7.4395227419754058]], [[-1.0287243662384249, 5.5059219067906957], [2.2420540172052208, 5.6114909379920412]]], [[[-4.7482737976563172, 0.8664078181716901], [7.1480873387348431, 3.6799648755607697]], [[1.3687528573403362, 1.2954373230415213], [0.065666164645969083, -2.1625819054550384]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-0.68766352590588564, 2.3999990920100673], [7.9078651097372727, 1.8280728345539283]], [[-2.7826623560039554, -2.4087517026765326], [2.1482473173863044, -6.1800713572806982]]], [[[-4.5130363975716312, 2.4569017241817184], [-6.0535425576965345, 3.5151567293658914]], [[3.6911349344156656, 4.0158443109527697], [-2.3927185502794015, -2.8745524913478024]]], [[[-5.654234745829724, -6.5155198425735561], [-0.98858168041953309, 5.8091241298913907]], [[-0.90120636499081286, -1.7095113750836868], [-3.0329481264531086, -0.63748056088074101]]], [[[-1.9223718651786363, -1.377253871468656], [7.9460617825742741, 2.3633577989398704]], [[-0.12440150127894078, 5.7390808184217361], [-0.53452246708679763, -3.0640576010824927]]], [[[-1.2412487635697698, -6.4879868277014694], [-4.0889828571022964, -5.4073532510108517]], [[-5.314010954830346, 1.2206353181987746], [1.5504950437123473, 4.9199319644991677]]], [[[-4.0308361692731545, 1.5838454465548528], [1.137133236745413, -2.3309892264286605]], [[0.67155371087311622, 0.59823817657430123], [0.65261696924997858, -1.5756311008510289]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_constData_rank4(self):  
       arg0=Data(numpy.array([[[[3.4210704295069476, 2.6192015278687766, 0.30110691630746, 0.27208485971077678], [-4.4309237480279933, 4.459048742550161, -4.5328805438878526, -4.0969751079686247], [2.0008056427945213, 2.1773889454713302, -3.2319553505626217, 4.5298852687799478]], [[-3.5984413954945627, -4.0390091304208102, 3.7346883956993597, -4.1575249790053324], [4.8872145230085771, 4.0557499426791388, 2.1238538577743347, 3.0369369978570049], [4.9027759339913022, -3.7949614440458701, -4.0026874464203956, 2.4456185049797119]]], [[[-2.2180368734078728, -0.94541979801414122, -4.3633419344259252, -4.2178780851623845], [-1.4254280426311161, -2.7602613862443826, 3.6427454942748234, -1.1323240951926126], [-3.9807910564040352, 4.3803357209362677, 3.4690873871199539, -4.4819408593807744]], [[-1.6562861432618381, -0.17916616030224564, 4.5632072839974107, -1.096189127623175], [-4.2564038385008471, 3.0000254973395997, -2.2550827247238701, -1.731280332493724], [-2.3828226468790259, -2.1510384100026645, 2.4692232767831683, 3.619991591599911]]], [[[-0.54481999598409914, 1.1633051742289862, 3.6570553377630173, -4.2479180374697956], [0.69247511704472231, 3.9646988545262989, -2.1305803533623466, -1.7475708426792114], [-4.1363941361377146, -4.4592731077589427, -3.4875513804139779, -1.573911337438727]], [[4.1744229770684331, 4.0507552704010017, 1.0207330943149087, -1.8688795451888951], [4.4704725361034665, -3.8575588030970254, -4.3167261519141285, -4.0199134534332073], [-0.39640807105648346, -1.581073050010259, 2.2804612946234846, -1.4217340230299378]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-4.328902697347889, 3.3714881998653006, 1.1836864110265068, -4.16745924210014], [0.041358590648226112, -1.4356250848866017, 0.026010346307042909, 2.9062419684449416], [2.2998176686283163, 2.0891178899474525, 0.5487404282590056, 2.64815385927331]], [[0.48010622227929822, -4.609485459767968, -3.9726007534697381, -4.7851973486140418], [0.31349152895929233, -3.6115168194533531, -3.7371977767979727, -1.7278986664542706], [0.27026996146462512, -0.15168876992435631, -1.3178143636371331, -1.9369259897660029]]], [[[3.7907023024132016, 4.1243580276153509, -3.3720595487169449, -1.6005605449015006], [-0.54954050870552162, -4.283870051371669, 2.5988501573885721, 3.3633814469371046], [2.449804701187281, -3.6870716297959047, 4.0523242904511321, 0.47387326087266057]], [[-0.41483012595161206, -4.5565925450989457, -0.60964063864206608, 0.24220353135765471], [2.1174715722001247, 2.7297509809998495, -4.9897035766477273, 0.92018459071153913], [-4.8379484131414205, -4.8187036410576978, 3.7077066918992845, 3.2469412018736641]]], [[[3.7856745143879476, -1.713460304625043, -2.2148444876629645, 0.57721328711949837], [-0.82646696464592928, 0.63505478166305984, -3.670711149936603, -2.5047852755815003], [-2.8711000386005381, 3.1527258741544291, -0.87772510104314616, 3.4126657390638808]], [[1.8644511450802632, 4.8157037908329965, 2.703819520274263, -4.391031185382257], [4.9561117342417642, -0.26329807300737773, 4.7847868566778207, 4.8293177580684539], [0.71450728438856714, -3.4771324119247184, 3.334324309009256, -2.8828691083310023]]]]))  
       arg1=Data(numpy.array([[[[0.50324035083693897, -4.050780568972641, 4.0119361453638795, 2.3231338384407829], [-2.4004580802406483, 2.7322515255296747, -3.362114175350702, -1.8418707841335422], [-0.23886913806341958, -4.8066295216439023, -3.2012306008966096, -3.6031450208678697]], [[-0.71609350093140733, -2.450762117278269, -3.1809643368962828, -1.2048456172637447], [-4.3590214999002166, 4.8007911107188583, -1.6849627915739318, 1.4132183915867094], [-4.4896849714986731, -4.0358595376140318, -4.3194496157676738, 0.75726653388600695]]], [[[-4.418783622404665, 3.9207409748510731, 1.8869785783377155, 0.99984551845271419], [-1.5175707928294466, -0.31157352218076007, 1.2076943251252024, -0.40351550575025463], [-1.6542572026506219, -4.6486138821158249, 1.229988715177285, 0.054258627918613023]], [[-2.1643551997616575, 3.9030345195484646, -4.2426748917269137, 1.6177186004586428], [-1.7457524360492127, 0.24116274599424692, 3.142209794010185, -3.1405311476358602], [3.6530420189523092, -2.564959459481817, -0.018266233906775398, 4.6885418848530414]]], [[[3.7484254934370345, 0.42878784945453052, 4.1849528531495288, -2.8809725506296449], [-4.0180365073427184, 4.1584342970231845, -0.25537097903197825, -3.839795449408705], [1.7177104176822748, -4.9072118065108485, 2.0750086001211567, 0.86780880701308849]], [[1.9256098860607818, -3.2323868510625609, 2.2400730303949343, -0.93678617664944319], [-1.701960166674704, 4.3312580726386845, 0.1866839255348367, 1.4666494307614748], [-2.6827244862774444, 0.56409514246369774, 3.5115578055473424, -0.32517403371314657]]]]),self.functionspace)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[3.9243107803438866, -1.4315790411038645, 4.3130430616713396, 2.5952186981515597], [-6.8313818282686416, 7.1913002680798357, -7.8949947192385546, -5.938845892102167], [1.7619365047311017, -2.6292405761725721, -6.4331859514592313, 0.9267402479120781]], [[-4.31453489642597, -6.4897712476990792, 0.55372405880307696, -5.3623705962690771], [0.52819302310836047, 8.8565410533979971, 0.43889106620040286, 4.4501553894437142], [0.41309096249262911, -7.8308209816599019, -8.3221370621880695, 3.2028850388657188]]], [[[-6.6368204958125379, 2.9753211768369319, -2.4763633560882097, -3.2180325667096703], [-2.9429988354605627, -3.0718349084251426, 4.8504398194000258, -1.5358396009428672], [-5.6350482590546571, -0.26827816117955727, 4.6990761022972389, -4.4276822314621613]], [[-3.8206413430234956, 3.723868359246219, 0.32053239227049701, 0.5215294728354678], [-6.0021562745500603, 3.2411882433338466, 0.88712706928631491, -4.8718114801295842], [1.2702193720732833, -4.7159978694844815, 2.4509570428763929, 8.3085334764529524]]], [[[3.2036054974529353, 1.5920930236835167, 7.8420081909125461, -7.1288905880994404], [-3.3255613902979961, 8.1231331515494833, -2.3859513323943249, -5.5873662920879159], [-2.4186837184554397, -9.3664849142697904, -1.4125427802928212, -0.70610253042563853]], [[6.1000328631292149, 0.81836841933844084, 3.260806124709843, -2.8056657218383383], [2.7685123694287626, 0.47369926954165908, -4.1300422263792917, -2.5532640226717325], [-3.0791325573339279, -1.0169779075465613, 5.792019100170827, -1.7469080567430844]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-3.8256623465109501, -0.67929236910734048, 5.1956225563903864, -1.844325403659357], [-2.3590994895924222, 1.296626440643073, -3.3361038290436591, 1.0643711843113994], [2.0609485305648967, -2.7175116316964498, -2.652490172637604, -0.95499116159455966]], [[-0.23598727865210911, -7.060247577046237, -7.1535650903660208, -5.9900429658777865], [-4.0455299709409243, 1.1892742912655052, -5.4221605683719041, -0.31468027486756123], [-4.219415010034048, -4.1875483075383881, -5.6372639794048069, -1.179659455879996]]], [[[-0.62808131999146344, 8.045099002466424, -1.4850809703792294, -0.60071502644878638], [-2.0671113015349682, -4.5954435735524291, 3.8065444825137744, 2.95986594118685], [0.79554749853665907, -8.3356855119117306, 5.2823130056284171, 0.5281318887912736]], [[-2.5791853257132695, -0.65355802555048115, -4.8523155303689798, 1.8599221318162975], [0.37171913615091201, 2.9709137269940964, -1.8474937826375424, -2.220346556924321], [-1.1849063941891114, -7.3836631005395148, 3.6894404579925091, 7.9354830867267054]]], [[[7.534100007824982, -1.2846724551705124, 1.9701083654865643, -2.3037592635101465], [-4.8445034719886477, 4.7934890786862443, -3.9260821289685812, -6.3445807249902053], [-1.1533896209182632, -1.7544859323564195, 1.1972834990780106, 4.2804745460769693]], [[3.790061031141045, 1.5833169397704356, 4.9438925506691973, -5.3278173620317002], [3.2541515675670603, 4.0679599996313067, 4.9714707822126574, 6.2959671888299287], [-1.9682172018888773, -2.9130372694610207, 6.8458821145565985, -3.2080431420441489]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_taggedData_rank0(self):  
       arg0=Data(-4.8305238788,self.functionspace)  
       arg0.setTaggedValue(1,4.57566372212)  
       arg1=Data(0.112180080916,self.functionspace)  
       arg1.setTaggedValue(1,-0.725493034979)  
       res=add(arg0,arg1)  
       ref=Data(-4.71834379789,self.functionspace)  
       ref.setTaggedValue(1,3.85017068714)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_taggedData_rank0(self):  
       arg0=Data(numpy.array([-4.4709064630239359, 1.2070370765235996]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.8751913846522617, 4.283295041348449]))  
       arg1=Data(-0.676151847685,self.functionspace)  
       arg1.setTaggedValue(1,3.03123022122)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-5.1470583107093493, 0.53088522883818623]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.1560388365669279, 7.3145252625676385]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_taggedData_rank1(self):  
       arg0=Data(-4.79917203155,self.functionspace)  
       arg0.setTaggedValue(1,-2.31789812483)  
       arg1=Data(numpy.array([-0.13367669222976808, -3.2949130011037298]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([3.9140767000426582, -0.36188146339999339]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([-4.9328487237759333, -8.094085032649895]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([1.5961785752107627, -2.6797795882318889]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_taggedData_rank0(self):  
       arg0=Data(numpy.array([[-2.6179846278169308, -3.1622511875324189, -4.5645438144763864, -1.3250631662211223, -4.8192028291428288], [-3.5015437302500994, -2.7327551792617499, -0.33447690548711151, 3.6228031355278798, -3.1826075384179364], [1.1583047782553537, 1.2410457361087914, 0.99486830241721336, 1.9240573397563407, 1.0036016840014437], [-3.5365249132938983, -0.063575948209556365, 3.820049156082975, -4.1457088373719211, -0.28245780884559668]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[4.1018850819308419, -3.7021009041000772, -4.6977722638355965, 3.4138462383632007, 4.4774333579643937], [-0.90762941835935074, -4.1597256056899132, -4.1389443506639969, -2.5086363118491741, -1.2348421109673726], [1.3387660884465014, 4.170159270805792, 1.2837793810415992, -2.6045410442028674, 1.2740942876894223], [3.9369274528882112, -1.7891189056573173, 1.5355884950738297, -0.4740234515060413, 2.6913968570315507]]))  
       arg1=Data(-0.860526988096,self.functionspace)  
       arg1.setTaggedValue(1,1.90410532384)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-3.4785116159133267, -4.0227781756288152, -5.4250708025727823, -2.1855901543175182, -5.6797298172392248], [-4.3620707183464953, -3.5932821673581459, -1.1950038935835074, 2.7622761474314839, -4.0431345265143328], [0.29777779015895778, 0.38051874801239549, 0.13434131432081742, 1.0635303516599448, 0.14307469590504773], [-4.3970519013902942, -0.9241029363059523, 2.9595221679865791, -5.006235825468317, -1.1429847969419926]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[6.0059904057746705, -1.7979955802562486, -2.793666939991768, 5.3179515622070292, 6.3815386818082223], [0.99647590548447784, -2.2556202818460847, -2.2348390268201683, -0.60453098800534555, 0.66926321287645596], [3.2428714122903299, 6.0742645946496205, 3.1878847048854277, -0.70043572035903878, 3.1781996115332509], [5.8410327767320398, 0.11498641818651123, 3.4396938189176582, 1.4300818723377873, 4.5955021808753793]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_taggedData_rank2(self):  
       arg0=Data(2.56613289919,self.functionspace)  
       arg0.setTaggedValue(1,2.48466339302)  
       arg1=Data(numpy.array([[-1.2742763634023078, 3.5550095560039843, 0.4052836818392116, -0.074867935417506359, 1.7748890046022616], [4.1853401964708166, 3.5578976837848391, 1.341191901032027, 3.1917779304951068, 1.1304107400667593], [-0.51623238356284329, -1.2952932447042209, 4.8544997218254906, 1.1012453431693627, -2.7920082050495565], [3.2981679598487457, -1.788361658822132, -4.8579565997799428, -1.4058318500624258, -4.3418452732476798]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-1.5479350006498893, -2.7368067727512955, 3.3807069388978679, -1.8977633861431311, 2.7843618193270263], [-4.7134905489999612, 0.78138049210792992, 4.5795102431925034, 3.8951738663264539, -0.37997140643613037], [-1.9787638620989423, 2.1275937436461101, 1.4526749615297945, 0.93574028280695742, -2.8344555335972155], [-4.356804485541641, -1.8610792776692131, -4.2613025557554227, 4.9904304967016113, -0.12603354222232799]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[1.2918565357848539, 6.121142455191146, 2.9714165810263733, 2.4912649637696553, 4.3410219037894233], [6.7514730956579783, 6.1240305829720008, 3.9073248002191887, 5.7579108296822685, 3.696543639253921], [2.0499005156243184, 1.2708396544829408, 7.4206326210126523, 3.6673782423565244, -0.22587530586239479], [5.8643008590359074, 0.77777124036502965, -2.2918237005927811, 1.1603010491247359, -1.7757123740605181]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[0.93672839236670358, -0.25214337973470258, 5.8653703319144608, 0.58690000687346178, 5.2690252123436192], [-2.2288271559833683, 3.2660438851245228, 7.0641736362090963, 6.3798372593430468, 2.1046919865804625], [0.50589953091765061, 4.612257136662703, 3.9373383545463874, 3.4204036758235503, -0.34979214058062258], [-1.8721410925250481, 0.62358411534737979, -1.7766391627388298, 7.4750938897182042, 2.3586298507942649]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_taggedData_rank0(self):  
       arg0=Data(numpy.array([[[-3.1701224605308207, -4.3922183934499435], [-1.2966300599854277, -1.7791406958459701]], [[-0.3545825753488181, -2.1673752430946882], [-3.9988154809121434, 2.3684267191939155]], [[-2.2360938918490492, -4.5864224435167111], [1.0435772914274564, -1.0770433604623175]], [[4.9980554071488807, 4.899224599976419], [2.7294986859433532, 2.8327938051274124]], [[-2.8434531533602914, 0.57865131298206141], [0.99035347966010789, 3.7408759964539158]], [[-2.3001355256945888, -2.79019164221154], [4.1178526199884615, 1.0981737103280764]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[2.8675366873801922, 1.7811828306352728], [0.12763108290255953, 4.1709195454270347]], [[0.19675796129319245, -1.840001823679466], [-1.8416335059081925, -0.14069685493925643]], [[3.539428180735614, -0.42899346225078094], [1.7636000480513854, 2.9394680777428555]], [[-0.25167713158743688, -4.1272860596996335], [1.2921022394334001, -2.3398565301156138]], [[-4.1329639613535329, 0.48889629662649892], [4.7802957587429855, -3.6957570985555188]], [[-2.4636313093770013, 4.8543502589775596], [-3.0634280513988377, -1.3731414371255757]]]))  
       arg1=Data(-0.532159645369,self.functionspace)  
       arg1.setTaggedValue(1,-1.4756876029)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-3.7022821058996813, -4.9243780388188041], [-1.8287897053542883, -2.3113003412148307]], [[-0.88674222071767872, -2.6995348884635488], [-4.5309751262810041, 1.8362670738250548]], [[-2.7682535372179098, -5.1185820888855718], [0.51141764605859574, -1.6092030058311781]], [[4.4658957617800201, 4.3670649546075584], [2.1973390405744926, 2.3006341597585518]], [[-3.375612798729152, 0.046491667613200782], [0.45819383429124727, 3.2087163510850552]], [[-2.8322951710634494, -3.3223512875804007], [3.5856929746196009, 0.5660140649592158]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[1.3918490844812306, 0.30549522773631121], [-1.3480565199964021, 2.6952319425280731]], [[-1.2789296416057692, -3.3156894265784276], [-3.3173211088071541, -1.616384457838218]], [[2.0637405778366524, -1.9046810651497426], [0.28791244515242376, 1.4637804748438938]], [[-1.7273647344863985, -5.6029736625985951], [-0.18358536346556154, -3.8155441330145754]], [[-5.6086515642524946, -0.9867913062724627], [3.3046081558440239, -5.1714447014544804]], [[-3.9393189122759629, 3.3786626560785979], [-4.5391156542977988, -2.8488290400245373]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_taggedData_rank3(self):  
       arg0=Data(3.46990300811,self.functionspace)  
       arg0.setTaggedValue(1,-2.21568118354)  
       arg1=Data(numpy.array([[[3.7020132309235247, 3.6059861265566227], [1.6662064311322222, -3.707735592929513]], [[-4.3263072445514172, -0.4711453269927377], [0.99767221172017084, 2.3079862492821404]], [[3.2675112406328584, -4.7660733572242879], [4.9618461883156701, -1.757295920607358]], [[-1.7114618484438249, -1.7302084830749886], [-1.1626838836493238, -0.57726846946075661]], [[3.3016471523369475, -4.1325767447032398], [0.3678743344467037, -2.0350328632981696]], [[0.91679908620763584, 4.9058485444185642], [-0.40580257762376171, 1.8666331947580961]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-0.30446630823988308, 1.4552472276986901], [0.93393158491874217, -4.6223841670025845]], [[-1.5566892905168195, 0.72716894279292621], [-0.9385584262990232, -4.344922409385803]], [[-3.424649337754202, -0.98150983781405898], [-4.9008920705177728, -3.9068206310206155]], [[-4.8049171726444104, 0.91946567816826441], [4.1029067982823744, -1.2635072900078392]], [[3.5927465681616333, -1.2565970632250991], [-0.8637113086316619, 1.4176173108735055]], [[-4.8311498868004223, -3.2145945123736999], [-0.44679453246374923, -2.4489253367973083]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[7.1719162390310327, 7.0758891346641306], [5.1361094392397302, -0.23783258482200509]], [[-0.85640423644390928, 2.9987576811147703], [4.4675752198276788, 5.7778892573896483]], [[6.7374142487403663, -1.29617034911678], [8.4317491964231781, 1.71260708750015]], [[1.7584411596636831, 1.7396945250325193], [2.3072191244581841, 2.8926345386467514]], [[6.7715501604444555, -0.66267373659573181], [3.8377773425542117, 1.4348701448093384]], [[4.3867020943151438, 8.3757515525260722], [3.0641004304837463, 5.336536202865604]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-2.520147491780826, -0.76043395584225282], [-1.2817495986222007, -6.8380653505435269]], [[-3.7723704740577624, -1.4885122407480167], [-3.1542396098399661, -6.5606035929267463]], [[-5.6403305212951445, -3.1971910213550019], [-7.1165732540587161, -6.1225018145615584]], [[-7.0205983561853529, -1.2962155053726785], [1.8872256147414315, -3.4791884735487821]], [[1.3770653846206904, -3.472278246766042], [-3.0793924921726048, -0.79806387266743739]], [[-7.0468310703413657, -5.4302756959146432], [-2.6624757160046921, -4.6646065203382516]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_taggedData_rank0(self):  
       arg0=Data(numpy.array([[[[-3.6591581245309976, -4.3648553597484785, -2.6263633521798568, 2.9555475740326544], [3.1894413431419739, 4.914267002492231, -1.3721622356984442, 2.9557730885202504], [-1.1089158399515089, -4.6827896458699811, 2.5908753940321301, 3.7737518387765085]], [[0.6505862595015568, 4.413753317070217, -0.96098349069151645, -2.4962961781468405], [3.9727713523392811, 0.88595961051904304, 3.6408080660288107, -1.2065739212271511], [4.7714267914625736, -0.35406514012883328, 2.884599566100289, -0.72851126537001765]]], [[[-0.8770696467111776, -2.0361306695278492, 4.4197152293520166, 2.9072819606637248], [3.6708832559875582, 0.085976266512544974, 1.4666346135503492, 4.6605450034784859], [-1.1936908942897997, -0.79986315332905278, -4.0600906800334746, -3.1775686613362577]], [[4.7405862442812747, -2.5951332207392497, 3.3920551230425957, -3.558684690294287], [-2.3922937813888634, -2.2157183822889834, 3.6797661764020742, -2.3986912896031312], [3.7358895493651989, -0.14896639769990028, -3.8961101868963688, 0.18255683015541013]]], [[[4.8776746589518201, 4.8937955157416173, -3.8290333695593337, 1.8786466714936108], [4.2357890778218437, 2.2630615854192477, 3.2698180800528061, 0.58128299313144183], [-3.3098197602467474, 3.3819226326783749, 0.63246170720549255, 4.6913748855602737]], [[-2.1070844299752265, 3.3638096130227986, -2.6838724280188728, 4.5997376046670571], [-2.2506651890647222, 0.69203028133309807, 4.515170034934826, 1.5514509740924964], [1.2676057660438511, 3.7900086749538264, 4.9654145755978902, 4.7570886313899923]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[3.6319261215577079, 4.9086845291924153, -3.8870692032322696, 0.78258648467334169], [-4.0668452222716676, -1.434081424797875, -0.71117240121391401, -1.9949401611836803], [-4.7592734599528672, -2.4983485541273143, 1.6963725045235778, -3.8363786079870374]], [[4.1462589527876439, 0.76130873015714506, 1.1474674865529995, 3.0304633803872942], [2.3710953478325028, -2.2676472632580724, 3.565323680652563, -3.7991391793369411], [2.547045600825502, -3.1309078665400514, -4.6496894739871664, -1.5941881206173178]]], [[[-2.920718030007964, 0.99284912112594448, 3.8793960551585709, -4.8296028314145563], [-2.3780027481914976, -1.4898656176205849, 3.1812300622731815, -0.63561783061054289], [-2.7782786968850273, -1.5813969849874541, 2.8304051544509692, 2.1528398799694983]], [[1.3975525504854005, -4.0131670876881387, -2.8663225106983625, -0.50114998428696733], [-4.9543294211195077, -0.65932456463106526, 3.8729704607494604, -0.33964974951406735], [1.6460485727966967, 2.2565189159576571, 1.6054724734342738, 2.9208351227966753]]], [[[-0.50513953765993413, 3.5703655842447652, -4.6746090732528689, 1.6707284910834117], [4.6505013179952996, -3.8907481933312127, 0.1682795304791096, 2.8869813640675455], [0.74065092140351041, 1.8867963047898275, -4.2684528297439375, 2.8588234631817855]], [[3.6775251877031589, -4.3897549619417155, 0.22862273246111986, 2.3768718695278226], [-2.205254117554917, -2.4980753195417069, 2.5146825493489819, -4.4409039094479201], [-2.8722492731197624, 1.9595617318921352, 3.436045278844901, 2.8330173528263334]]]]))  
       arg1=Data(-4.09685280618,self.functionspace)  
       arg1.setTaggedValue(1,0.800837282183)  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-7.7560109307070979, -8.4617081659245788, -6.7232161583559567, -1.1413052321434458], [-0.90741146303412634, 0.81741419631613077, -5.4690150418745445, -1.1410797176558498], [-5.2057686461276091, -8.7796424520460814, -1.5059774121439702, -0.32310096739959171]], [[-3.4462665466745435, 0.31690051089411675, -5.0578362968676167, -6.5931489843229407], [-0.12408145383681912, -3.2108931956570572, -0.45604474014728957, -5.3034267274032514], [0.67457398528647339, -4.4509179463049335, -1.2122532400758113, -4.8253640715461179]]], [[[-4.9739224528872779, -6.1329834757039494, 0.32286242317591629, -1.1895708455123755], [-0.4259695501885421, -4.0108765396635553, -2.6302181926257511, 0.56369219730238562], [-5.2905437004658999, -4.896715959505153, -8.156943486209574, -7.274421467512358]], [[0.64373343810517447, -6.6919860269153499, -0.70479768313350455, -7.6555374964703873], [-6.4891465875649637, -6.3125711884650837, -0.41708662977402611, -6.4955440957792314], [-0.36096325681090136, -4.2458192038760005, -7.992962993072469, -3.9142959760206901]]], [[[0.7808218527757198, 0.79694270956551705, -7.9258861757354335, -2.2182061346824895], [0.1389362716457434, -1.8337912207568525, -0.82703472612329421, -3.5155698130446584], [-7.4066725664228477, -0.71493017349772536, -3.4643910989706077, 0.59452207938417345]], [[-6.2039372361513268, -0.73304319315330169, -6.7807252341949731, 0.5028847984909568], [-6.3475179952408229, -3.4048225248430022, 0.41831722875872579, -2.5454018320836038], [-2.8292470401322491, -0.30684413122227383, 0.86856176942178998, 0.66023582521389201]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[4.4327634037403723, 5.7095218113750796, -3.0862319210496052, 1.5834237668560061], [-3.2660079400890032, -0.63324414261521067, 0.08966488096875036, -1.194102879001016], [-3.9584361777702028, -1.6975112719446499, 2.4972097867062422, -3.0355413258043731]], [[4.9470962349703083, 1.5621460123398094, 1.9483047687356638, 3.8313006625699586], [3.1719326300151671, -1.4668099810754081, 4.3661609628352274, -2.9983018971542768], [3.3478828830081664, -2.330070584357387, -3.848852191804502, -0.79335083843465348]]], [[[-2.1198807478252997, 1.7936864033086088, 4.6802333373412353, -4.0287655492318919], [-1.5771654660088332, -0.68902833543792052, 3.9820673444558459, 0.16521945157212148], [-1.9774414147023629, -0.7805597028047897, 3.6312424366336336, 2.9536771621521627]], [[2.1983898326680649, -3.2123298055054743, -2.0654852285156982, 0.29968729789569704], [-4.1534921389368433, 0.14151271755159911, 4.6738077429321248, 0.46118753266859702], [2.4468858549793611, 3.0573561981403214, 2.4063097556169382, 3.7216724049793397]]], [[[0.29569774452273023, 4.3712028664274296, -3.8737717910702045, 2.4715657732660761], [5.451338600177964, -3.0899109111485483, 0.96911681266177396, 3.6878186462502098], [1.5414882035861748, 2.6876335869724919, -3.4676155475612731, 3.6596607453644499]], [[4.4783624698858233, -3.5889176797590512, 1.0294600146437842, 3.177709151710487], [-1.4044168353722526, -1.6972380373590426, 3.3155198315316463, -3.6400666272652558], [-2.071411990937098, 2.7603990140747996, 4.2368825610275653, 3.6338546350089977]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_taggedData_rank4(self):  
       arg0=Data(-3.12499318794,self.functionspace)  
       arg0.setTaggedValue(1,-0.906369030991)  
       arg1=Data(numpy.array([[[[2.3400847070341086, 1.031024515864094, 4.9217505081798514, -3.3384505063993353], [3.1266583309081835, 4.8793722212145632, -4.4365661255717628, 4.3823502305321984], [0.90272004500401604, 2.742379741022769, 0.55177010947689897, -1.639308816379649]], [[-2.5761416460627351, -0.88436138195898462, 1.4243803508579012, -2.2037815215735357], [3.6996711558074136, 1.8372098861003572, -1.9315566222365388, -0.038435046708992004], [4.5968058140544272, -3.9920716181387328, -2.0100997360175841, 2.3906930414606133]]], [[[-1.7836369784564434, 4.2169755963692808, 4.5906851260769272, 4.5090807266965562], [4.0029675062694423, -3.9777391790311691, 4.2174036938301125, 0.28233127284535531], [-3.4328791633256173, -3.7132482447789759, -0.01244002563895652, -0.25316717295190383]], [[1.424380225726396, -2.5645048615746679, -3.6517927210639067, -2.8677035068753574], [1.2144989887130571, 1.3119554233641502, 1.2139617573006403, 3.794843849880202], [4.1815587289784197, -3.4881452207849009, 1.1766236230263258, -0.46189282621480743]]], [[[1.1015416413783274, -1.3742166369957642, -0.63138121974901562, -0.72514926657859924], [1.5034180485346109, 1.7066829546635827, -3.0375332066319349, 2.8227779831116093], [-3.1396295213140468, 4.3505074554027896, 2.4707690172174939, 1.2029259926476215]], [[0.1113601029157385, 1.9470036318497019, 1.4671689123212772, 2.7953001018203647], [-0.96070069771642608, 3.2231725297567309, -3.926806273875203, 1.8965975664986514], [4.8060605399631164, -3.208136386860895, -1.9202059700630625, -2.121644703076071]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-0.60048870695856404, -4.5498425322167986, 1.905857575686948, 4.2707923825104537], [-2.1614600044833465, 4.4416030900040422, -3.0075021786785827, 3.6561649431740477], [-2.4439410736839906, -0.93258235536405909, -3.0350249039963764, -4.2949188258285389]], [[-4.0670254103695722, -4.7254581340953772, -2.7438857894187949, 1.0275623364896527], [4.2157202432653023, -2.324792110510927, -3.59251783441377, 4.1988571462692335], [-3.8238684828572946, -0.019565603042654089, -4.3017839555356243, 0.024210896139259752]]], [[[2.8714795852437289, 0.20365872897075121, 1.9922134608656101, -4.0218374164127582], [-0.0018074057100081475, 2.7797833983903661, -0.4728995251559116, -2.8146400724392642], [-2.9052891310277538, 4.394389680567258, -2.1422363198902126, -4.4528378990850506]], [[1.0060594509974443, 0.49653698261522639, -4.7260552618645608, 0.49872352968796552], [2.5198197308352741, 1.7152673924643658, 1.612668817708137, 0.72937676367712623], [-3.0711765711434778, 3.6597887449568383, -4.2861874402323172, 0.48437805163626813]]], [[[0.49411177633081493, 4.4732895451647288, -0.51420092626659475, -1.9195803576746009], [-2.8779401013707231, -4.6366356862159801, -1.4424130075297259, 2.8130475749127068], [-4.0516189435738532, -3.8671846540079957, 0.52285097109451595, 4.1021680513458296]], [[-4.3841900018935656, -2.4423402308103173, 1.9702427208602638, 4.42171692949562], [4.8595052760454323, -3.7458997185765055, 2.2146438460932591, -1.9591428113463181], [-2.426427685429541, 4.7082990532494868, 2.8505583757272879, 0.60947333412187277]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.78490848090330401, -2.0939686720733186, 1.7967573202424387, -6.4634436943367479], [0.0016651429707708054, 1.7543790332771505, -7.561559313509175, 1.2573570425947858], [-2.2222731429333966, -0.38261344691464361, -2.5732230784605137, -4.7643020043170612]], [[-5.7011348340001478, -4.0093545698963968, -1.7006128370795115, -5.3287747095109488], [0.57467796787000092, -1.2877833018370555, -5.0565498101739514, -3.1634282346464047], [1.4718126261170146, -7.1170648060761454, -5.1350929239549963, -0.73430014647679931]]], [[[-4.9086301663938556, 1.0919824084318681, 1.4656919381395146, 1.3840875387591436], [0.87797431833202966, -7.1027323669685813, 1.0924105058926998, -2.8426619150920573], [-6.5578723512630299, -6.838241432716389, -3.1374332135763692, -3.3781603608893165]], [[-1.7006129622110167, -5.6894980495120802, -6.7767859090013189, -5.9926966948127696], [-1.9104941992243556, -1.8130377645732625, -1.9110314306367724, 0.6698506619427893], [1.0565655410410071, -6.613138408722314, -1.9483695649110868, -3.5868860141522201]]], [[[-2.0234515465590852, -4.4992098249331764, -3.7563744076864283, -3.8501424545160119], [-1.6215751394028017, -1.41831023327383, -6.1625263945693476, -0.30221520482580333], [-6.2646227092514595, 1.2255142674653769, -0.65422417071991879, -1.9220671952897912]], [[-3.0136330850216742, -1.1779895560877107, -1.6578242756161354, -0.32969308611704795], [-4.0856938856538392, 0.0981793418193182, -7.0517994618126156, -1.2283956214387612], [1.6810673520257038, -6.3331295747983081, -5.0451991580004751, -5.2466378910134832]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.5068577379492911, -5.4562115632075256, 0.99948854469622095, 3.3644233515197266], [-3.0678290354740736, 3.5352340590133151, -3.9138712096693098, 2.7497959121833206], [-3.3503101046747177, -1.8389513863547862, -3.9413939349871034, -5.201287856819266]], [[-4.9733944413602993, -5.6318271650861043, -3.650254820409522, 0.1211933054989256], [3.3093512122745752, -3.2311611415016541, -4.4988868654044971, 3.2924881152785064], [-4.7302375138480217, -0.92593463403338117, -5.2081529865263514, -0.88215813485146732]]], [[[1.9651105542530019, -0.70271030201997586, 1.0858444298748831, -4.9282064474034852], [-0.90817643670073522, 1.8734143673996391, -1.3792685561466387, -3.7210091034299912], [-3.8116581620184808, 3.4880206495765309, -3.0486053508809396, -5.3592069300757776]], [[0.09969042000671724, -0.40983204837550069, -5.6324242928552879, -0.40764550130276156], [1.613450699844547, 0.80889836147363869, 0.70629978671740989, -0.17699226731360085], [-3.9775456021342048, 2.7534197139661112, -5.1925564712230443, -0.42199097935445895]]], [[[-0.41225725465991214, 3.5669205141740017, -1.4205699572573218, -2.825949388665328], [-3.7843091323614502, -5.5430047172067072, -2.348782038520453, 1.9066785439219798], [-4.9579879745645803, -4.7735536849987223, -0.38351805989621113, 3.1957990203551025]], [[-5.2905590328842926, -3.3487092618010443, 1.0638736898695367, 3.5153478985048929], [3.9531362450547052, -4.6522687495672326, 1.3082748151025321, -2.8655118423370451], [-3.3327967164202681, 3.8019300222587598, 1.9441893447365608, -0.29689569686885431]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_taggedData_rank1(self):  
       arg0=Data(numpy.array([1.0844159645703559, 1.5974578270146349]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.1686918718044401, 2.3149408171286208]))  
       arg1=Data(numpy.array([1.4842782810594919, 4.9771455293564699]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([-4.0883788820422717, 3.6861758401360003]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([2.5686942456298478, 6.5746033563711048]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([-5.2570707538467119, 6.0011166572646211]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_taggedData_rank1(self):  
       arg0=Data(numpy.array([[1.4569449585109027, 3.3319352074288116], [0.96668248931429002, 0.44587842936890354]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[3.6846056420195481, -0.40848006509047874], [1.4336668183614076, -4.6365256966789659]]))  
       arg1=Data(numpy.array([-1.9349481192823648, -0.15518032164568574]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([2.9646080026873021, 2.8998897227674885]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-0.4780031607714621, 1.3969870881464468], [0.81150216766860428, 0.2906981077232178]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[6.6492136447068502, 2.5561279375968233], [4.3335565411288961, -1.7366359739114774]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_taggedData_rank2(self):  
       arg0=Data(numpy.array([1.9886868687726427, -0.49088483378924508]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([0.049019122688473971, 3.0631917599602527]))  
       arg1=Data(numpy.array([[0.8297209658548077, 1.7567508062125361], [3.5346285415480647, -2.0614423171655503]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[1.3637611535648944, 0.54057500436754324], [3.3771161628455317, 3.0978347713367871]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[2.8184078346274504, 3.7454376749851788], [3.0437437077588196, -2.5523271509547953]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[1.4127802762533683, 0.58959412705601721], [6.4403079228057845, 6.1610265312970398]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_taggedData_rank1(self):  
       arg0=Data(numpy.array([[[-1.8219203252761074, -1.1009477925360009, 0.63237807930011858, -4.3958410157166572, -3.9415803199510524], [-3.8598984751177943, 4.1112401493223878, 0.91515799310070634, -3.7188220746571066, -4.3876626806488881], [1.916261718918526, -4.8654553967166505, -2.0937526553523735, -3.1992484811504762, -2.455713145015527], [-0.4902833567670708, -4.6042870073195683, 3.1692629799770113, 4.6065149838745185, -1.6187319159561673]], [[4.9704130882957784, 1.4449239858429772, 1.3086991984700997, -1.3719659701165487, -2.0277350363893367], [-0.55491437083184536, -2.8414023695128918, 3.2686343259278186, 1.2175550528344568, -4.8408787426015065], [4.5264337894677666, 0.23912434681452943, -4.8416678298822973, -1.4219273378572894, 3.9526849991133552], [-2.0091590728527309, 3.4805934863905268, -1.9730082481518618, -3.6642634167132329, 3.6234837457706686]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[4.8768264872480867, 3.1876996697060918, -2.7531946375683214, 2.2672859937228029, 3.102901458690555], [4.5884911847758687, -1.6888557390296111, 1.6963063798346232, -3.8878888549838884, -3.4608818702883335], [1.1546367099791324, 3.2114741501921635, 0.84642259832163358, 3.9203027508197579, -4.4278309030566874], [0.56545823543938223, -2.3469383543204358, 0.58602314458008387, -0.31662394570363794, -2.3400312140957027]], [[3.1778434917661276, 1.3702211696720701, -0.12850616150842775, 3.8471212433329178, -2.5332905926774307], [-0.53750721095453891, -1.1857707846514254, 2.5163260328427759, -0.60289162681839237, 0.63435569965389771], [4.158091414358708, 0.82085018918033548, -0.031651768106721434, -2.5261557176566738, 0.67745294338473006], [-0.7361617700834211, 4.2760641671372408, 2.070223357284382, 1.448885564104776, -1.8026405639853502]]]))  
       arg1=Data(numpy.array([3.6159871040901699, 0.34690727783350006]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([3.2699051255035343, 0.32279602796071583]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[1.7940667788140625, 2.5150393115541689, 4.2483651833902885, -0.77985391162648732, -0.32559321586088252], [-0.24391137102762439, 7.7272272534125577, 4.5311450971908762, -0.10283497056693669, -0.77167557655871821], [5.5322488230086959, -1.2494682926264806, 1.5222344487377963, 0.41673862293969366, 1.1602739590746429], [3.1257037473230991, -0.98829990322939842, 6.7852500840671812, 8.2225020879646884, 1.9972551881340026]], [[5.3173203661292785, 1.7918312636764773, 1.6556064763035998, -1.0250586922830487, -1.6808277585558367], [-0.2080070929983453, -2.4944950916793918, 3.6155416037613186, 1.5644623306679568, -4.4939714647680065], [4.8733410673012667, 0.58603162464802949, -4.4947605520487972, -1.0750200600237894, 4.2995922769468553], [-1.6622517950192308, 3.8275007642240269, -1.6261009703183618, -3.3173561388797328, 3.9703910236041686]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[8.1467316127516209, 6.457604795209626, 0.5167104879352129, 5.5371911192263372, 6.3728065841940893], [7.858396310279403, 1.5810493864739232, 4.9662115053381575, -0.61798372948035407, -0.1909767447847992], [4.4245418354826667, 6.4813792756956978, 4.1163277238251679, 7.1902078763232922, -1.1579257775531531], [3.8353633609429165, 0.92296677118309844, 3.8559282700836182, 2.9532811797998963, 0.9298739114078316]], [[3.5006395197268434, 1.6930171976327859, 0.19428986645228807, 4.1699172712936337, -2.2104945647167149], [-0.21471118299382308, -0.86297475669070955, 2.8391220608034917, -0.28009559885767654, 0.95715172761461353], [4.4808874423194238, 1.1436462171410513, 0.29114425985399439, -2.203359689695958, 1.0002489713454459], [-0.41336574212270527, 4.5988601950979566, 2.3930193852450978, 1.7716815920654918, -1.4798445360246344]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_taggedData_rank3(self):  
       arg0=Data(numpy.array([2.1526666077473529, 4.0343776889115475]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([2.6945435330691705, -2.3418326102343876]))  
       arg1=Data(numpy.array([[[-4.9906520817063331, 3.7592753143037623, 2.3133361349487869, -1.42579825384035, 4.6054505682941755], [-2.061321887083134, -2.9949335033760827, -0.53537159765483722, -4.2042232431941082, 0.68493225305263028], [-4.3170432138955883, -3.3170991368041514, -1.7388996372145202, -4.3242727746281853, -4.0234769938529746], [0.3124694834308519, 4.0898030787379032, -1.0504085206946079, 3.7157115072604068, 1.2341732121220375]], [[-1.2647865166162631, 1.0367488480166873, -3.1379998785774355, 0.53190514868772265, -4.634738193224301], [-2.2972779721545966, 4.2944134984370379, 4.9422069428911879, 0.28680222231509944, 3.8047201630847596], [-0.62429398234563216, 2.6884146280028514, -1.7407002796970028, -2.5232970036559523, -2.390879428549356], [4.2129168985200138, -1.209048516464283, 3.6814016744267928, 2.5105399622048861, -4.1967729634937934]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-2.0265233243666581, 0.98056014938896396, 3.3968041338027462, 2.6459299485019869, 2.4256950341851704], [2.6958836206729133, -1.1968362779986954, -2.77323426232158, -0.71222353506872249, -0.27206058905170583], [2.8330296146277911, -0.073688889349133646, 3.5383173602955953, 3.8730398661015428, -0.62506066899426216], [-1.1383916860564556, 2.6257533365026386, -2.6772403969961878, -0.21118548164888296, 4.955765314667703]], [[3.136256752484897, 4.9816178399329551, -0.52032552461073944, 0.13719810299136803, 1.7782165121154172], [-4.156215174850189, 1.1342646199278796, 0.010043113253534131, 3.2686834375700808, 3.6133754624004162], [-4.9495865533853607, -3.5159193815318188, -3.3760883165102329, 0.83109120202986997, -0.72825996676167115], [-3.5604632687468452, -1.2047840240807615, -2.0255057683585642, 3.7374427851762491, -3.1407509005791678]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-2.8379854739589803, 5.9119419220511151, 4.4660027426961397, 0.72686835390700288, 6.7581171760415284], [0.091344720664218837, -0.84226689562872981, 1.6172950100925156, -2.0515566354467554, 2.8375988607999831], [-2.1643766061482355, -1.1644325290567985, 0.41376697053283262, -2.1716061668808324, -1.8708103861056218], [2.4651360911782048, 6.242469686485256, 1.102258087052745, 5.8683781150077596, 3.3868398198693903]], [[2.7695911722952844, 5.0711265369282348, 0.89637781033411201, 4.5662828375992701, -0.60036050431275356], [1.7370997167569509, 8.3287911873485854, 8.9765846318027354, 4.3211799112266469, 7.839097851996307], [3.4100837065659153, 6.7227923169143988, 2.2936774092145447, 1.5110806852555951, 1.6434982603621915], [8.2472945874315613, 2.8253291724472644, 7.7157793633383402, 6.5449176511164335, -0.1623952745822459]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.66802020870251244, 3.6751036824581345, 6.0913476668719166, 5.3404734815711574, 5.1202385672543409], [5.3904271537420838, 1.4977072550704751, -0.078690729252409497, 1.982319998000448, 2.4224829440174647], [5.5275731476969616, 2.6208546437200368, 6.2328608933647658, 6.5675833991707133, 2.0694828640749083], [1.5561518470127149, 5.3202968695718091, 0.017303136072982728, 2.4833580514202875, 7.6503088477368735]], [[0.79442414225050939, 2.6397852296985675, -2.862158134845127, -2.2046345072430196, -0.5636160981189704], [-6.4980477850845766, -1.207567990306508, -2.3317894969808535, 0.92685082733569324, 1.2715428521660286], [-7.2914191636197483, -5.8577519917662064, -5.71792092674462, -1.5107414082045176, -3.0700925769960588], [-5.9022958789812332, -3.5466166343151491, -4.3673383785929518, 1.3956101749418615, -5.482583510813555]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_taggedData_rank1(self):  
       arg0=Data(numpy.array([[[[-1.1157350597441127, 0.87190264735589107], [-4.4360668462349544, -0.18253098418502134]], [[2.1684460568625994, -4.3442677036086206], [4.5431648942906904, -1.6065059634964483]], [[-0.41702303649675621, 4.5481253718949368], [-3.4322451569379164, -1.4828045115376218]], [[-0.91357890785150087, -0.46568459640193716], [1.8464409461743099, 2.3927015851707107]], [[2.9746081083707754, 3.8132193937554444], [-2.8937418525782963, -4.3535257771089988]], [[-2.3076682849183792, 3.136062850138428], [-0.44588147360543751, -1.2622928806974332]]], [[[-0.96322684255697144, -1.2375906991677352], [0.57571383704414281, -3.1439742366628796]], [[-1.7005255543748508, -1.7414467849464432], [3.5680736006756515, -2.7652442680221077]], [[-0.57723331658054011, 4.0322977599828818], [1.0146525394451347, 4.2242272763672393]], [[0.064253550238926316, 2.6286474159586479], [1.145969332401096, 2.8787383531736923]], [[1.8014949357260113, 0.2482112744224807], [-3.999810536762467, 3.1125452175559296]], [[-1.1325209492913322, 1.2465305263945599], [-1.9596481528466017, 0.68699660974236565]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[2.0619281035456174, -2.1901766121193056], [-1.5217858233736417, 4.1510960722138037]], [[3.9159528141324653, 4.7429266094335105], [-0.91853403306430792, 2.0186192578180506]], [[-3.420811356509792, 2.2321734469765344], [-0.86532764740369927, 4.1412600964371915]], [[4.8291589724686652, 1.7290061898762401], [0.0025498516545505723, 1.5765605310017534]], [[3.9361380578483853, 0.23281591718671368], [-4.4345532048767584, -0.14123377747541177]], [[-1.9806607748813554, -1.6087129497564421], [4.1669524077377158, -3.7974981698005683]]], [[[-0.56995784888212597, 3.0875165889302014], [-0.9187761506803005, 0.55693340907020428]], [[4.6171646539189553, 4.6666921156150565], [0.74301797750340537, 3.861331200030504]], [[-4.732098876909645, -0.09329042024698353], [2.5134454517414611, 0.87429544514055468]], [[-4.5952584449582439, -4.0038315951124357], [-1.9182548145472342, -3.0486803458752396]], [[-2.5170841056589, 1.2847894464691283], [1.9543229407133342, 1.1618283193642132]], [[1.7716199128820751, 1.3098510127852929], [-1.3890649183264623, 4.8663800526628087]]]]))  
       arg1=Data(numpy.array([-1.8594564689107838, 4.567279045973434]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([0.77841274413181871, -0.40431912456218111]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-2.9751915286548964, -0.98755382155489269], [-6.2955233151457382, -2.0419874530958051]], [[0.30898958795181564, -6.2037241725194043], [2.6837084253799066, -3.465962432407232]], [[-2.27647950540754, 2.6886689029841531], [-5.2917016258487006, -3.3422609804484056]], [[-2.7730353767622846, -2.3251410653127209], [-0.013015522736473883, 0.53324511625992699]], [[1.1151516394599916, 1.9537629248446606], [-4.7531983214890801, -6.2129822460197826]], [[-4.1671247538291629, 1.2766063812276442], [-2.3053379425162213, -3.1217493496082169]]], [[[3.6040522034164626, 3.3296883468056988], [5.1429928830175768, 1.4233048093105545]], [[2.8667534915985833, 2.8258322610269908], [8.1353526466490855, 1.8020347779513264]], [[3.9900457293928939, 8.5995768059563158], [5.5819315854185687, 8.7915063223406733]], [[4.6315325962123604, 7.195926461932082], [5.71324837837453, 7.4460173991471263]], [[6.3687739816994453, 4.8154903203959147], [0.56746850921096703, 7.6798242635293636]], [[3.4347580966821019, 5.8138095723679939], [2.6076308931268324, 5.2542756557157997]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[2.8403408476774361, -1.4117638679874869], [-0.74337307924182294, 4.9295088163456224]], [[4.694365558264284, 5.5213393535653292], [-0.14012128893248921, 2.7970320019498693]], [[-2.6423986123779732, 3.0105861911083531], [-0.086914903271880561, 4.9196728405690102]], [[5.6075717166004839, 2.5074189340080588], [0.78096259578636928, 2.3549732751335721]], [[4.714550801980204, 1.0112286613185324], [-3.6561404607449397, 0.63717896665640694]], [[-1.2022480307495367, -0.83030020562462337], [4.9453651518695345, -3.0190854256687496]]], [[[-0.97427697344430708, 2.6831974643680203], [-1.3230952752424816, 0.15261428450802317]], [[4.2128455293567741, 4.2623729910528754], [0.33869885294122426, 3.4570120754683229]], [[-5.1364180014718261, -0.49760954480916464], [2.1091263271792799, 0.46997632057837357]], [[-4.999577569520425, -4.4081507196746168], [-2.3225739391094153, -3.4529994704374207]], [[-2.9214032302210811, 0.88047032190694718], [1.5500038161511531, 0.75750919480203205]], [[1.367300788319894, 0.90553188822311181], [-1.7933840428886434, 4.4620609281006276]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_taggedData_rank4(self):  
       arg0=Data(numpy.array([-4.5109190402975567, 4.5503837935476579]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.7649669070343244, -0.18004731804615481]))  
       arg1=Data(numpy.array([[[[1.363994905492393, 3.7420926357425603], [-4.1091045520645917, 3.1120833306489253]], [[0.42982462029869595, 0.31188561821579697], [3.2952649593699856, -3.2931217721477823]], [[-1.2731786886184295, -1.8866187807115931], [1.9094920512989688, 4.9774756312993631]], [[1.4863885201945939, 1.0143178693472477], [-2.2041312627627518, 4.234741731628139]], [[-0.85858803639607739, 0.24853740713133554], [-0.79886244257774131, 0.92562619530052093]], [[-3.3094364457227798, -4.7663495203594746], [2.3051026446171541, 4.1999637224765394]]], [[[2.2395597182107139, 1.9999493542558113], [-1.9923631917704676, -2.3163162929824921]], [[-4.5997205551672984, 1.5710389830257157], [2.3878563108886617, -0.074697605278130297]], [[1.3137278838753508, -3.5857679459022118], [4.6028726839814365, -0.9122115861117317]], [[-1.6607293017712701, 0.72621787432607743], [-1.0249794266304155, -4.8118696655959461]], [[3.7881094526678325, -0.14837626916457314], [-1.8042287584558938, 1.7125485364966062]], [[-1.8020044459493922, 3.7799798770418018], [1.507789206199984, -3.6724945748535065]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-0.75968807566107799, 3.8911673537028477], [4.3617552203515935, -1.8946873853752919]], [[0.55578112432843696, 4.5774695390748779], [-3.684185420999766, 3.683354970316417]], [[2.7062789794315858, -4.6268291866673295], [-2.2941666246975032, -3.1292945168457962]], [[-1.3882706420764954, -4.2472810569894124], [2.7564239528741439, -4.7529247738090961]], [[3.1414139443465317, -3.6051369912024658], [2.4681232944014431, 1.5955778727731431]], [[0.4207471190573937, 4.9666913664520536], [-1.3901281251592756, -1.2268291981346726]]], [[[1.5561906220782689, -1.7573610113119855], [-2.209406224135301, -2.7836317290116765]], [[4.2623973847055581, 4.4052278383091021], [-1.9236649536798422, 1.0499402232303554]], [[3.987189585608121, 4.3804714209241933], [0.095814541824829291, 3.1347621056347936]], [[-4.8322454783726574, 0.35289174270735479], [3.4000106889678978, 1.7422971582207332]], [[-4.1871885936925866, 4.1835297788764318], [0.36895777606289215, 0.36672756165849751]], [[1.6805513058985539, -2.5008221619393343], [4.8167137202624648, 3.7029554859589933]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-3.1469241348051638, -0.7688264045549964], [-8.6200235923621484, -1.3988357096486315]], [[-4.0810944199988608, -4.1990334220817598], [-1.2156540809275711, -7.8040408124453391]], [[-5.7840977289159863, -6.3975378210091502], [-2.6014269889985879, 0.46655659100180635]], [[-3.0245305201029629, -3.4966011709503091], [-6.715050303060309, -0.2761773086694177]], [[-5.3695070766936341, -4.2623816331662212], [-5.3097814828752981, -3.5852928449970358]], [[-7.8203554860203361, -9.2772685606570313], [-2.2058163956804027, -0.31095531782101737]]], [[[6.7899435117583717, 6.5503331478034692], [2.5580206017771903, 2.2340675005651658]], [[-0.049336761619640512, 6.1214227765733735], [6.9382401044363196, 4.4756861882695276]], [[5.8641116774230087, 0.96461584764544606], [9.1532564775290943, 3.6381722074359262]], [[2.8896544917763878, 5.2766016678737353], [3.5254043669172423, -0.26148587204828821]], [[8.3384932462154904, 4.4020075243830847], [2.7461550350917641, 6.2629323300442641]], [[2.7483793475982656, 8.3303636705894597], [6.0581729997476419, 0.87788921869415137]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-2.5246549826954023, 2.1262004466685234], [2.5967883133172691, -3.6596542924096163]], [[-1.2091857827058874, 2.8125026320405535], [-5.4491523280340903, 1.9183880632820927]], [[0.94131207239726145, -6.3917960937016538], [-4.0591335317318276, -4.8942614238801205]], [[-3.1532375491108198, -6.0122479640237367], [0.99145704583981953, -6.5178916808434204]], [[1.3764470373122073, -5.3701038982367901], [0.70315638736711872, -0.16938903426118124]], [[-1.3442197879769306, 3.2017244594177292], [-3.1550950321936, -2.991796105168997]]], [[[1.376143304032114, -1.9374083293581403], [-2.3894535421814558, -2.9636790470578314]], [[4.0823500666594033, 4.2251805202629473], [-2.1037122717259971, 0.86989290518420059]], [[3.8071422675619662, 4.2004241028780385], [-0.084232776221325523, 2.9547147875886388]], [[-5.0122927964188122, 0.17284442466119998], [3.219963370921743, 1.5622498401745784]], [[-4.3672359117387414, 4.003482460830277], [0.18891045801673734, 0.1866802436123427]], [[1.5005039878523991, -2.6808694799854891], [4.63666640221631, 3.5229081679128385]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_taggedData_rank2(self):  
       arg0=Data(numpy.array([[-1.8368565150578098, -1.2111572312603078, -2.6781638206943637, -0.36330307228564607, 1.8989755361197016], [0.90388705384604773, 1.450405665622263, 3.4512546924910161, -0.42113875038691972, 0.93170517071067493], [-4.2170373146537603, -2.7098886117386112, -2.6342888054455327, -1.417783933318657, -2.1490769158491876], [0.56721247415033726, 1.1975209195639849, 0.53955396780175491, -0.93200135648038263, 3.4768761283400842]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-0.69523399889283688, 3.4605054904286288, 1.3941079826795733, 0.9745761507794457, 4.979260904352639], [-3.3574341139367236, -2.5700722961768321, 0.33889310557488361, -0.88140761075218865, 3.4710932792829183], [3.7104866102757796, 0.35595549717780983, -3.4516960126925387, 1.2550168047351606, -4.7047691286926208], [0.21165617094163913, 2.8448508287043293, 2.9802760879319079, -3.9812561819988659, -3.3040895469867095]]))  
       arg1=Data(numpy.array([[-0.71745525868565352, 2.444237644451289, -3.9264634323275294, 3.978613923429748, -0.73369166155527665], [-3.2902958120350636, 2.1924306275415431, -2.3453726816131839, 0.46067433335808428, -0.82528973164271946], [1.6026640358253914, -3.5287361638875847, -2.9856120326744984, 4.1195241801612994, -3.8157668377814948], [-3.0213078199074506, -4.9443945798777129, -0.72380296946636946, 1.2903646842701626, -2.1189153023517324]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[-0.69867494862756452, -3.4655953347091648, -0.75504666162124856, 1.2897526856237373, 1.2801013137377639], [-0.10932156954642469, 4.7520590175675714, 3.5441476410464219, -1.720623699726731, 2.9681336828915228], [-4.7275410618260842, 0.90303139675057853, -1.8345045861020126, -0.58583264197490603, 4.6524604734704376], [-0.27526445467305471, -3.89890181639967, 1.0199246506639961, 0.28413136022056129, 3.4713942360344294]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[-2.5543117737434633, 1.2330804131909812, -6.604627253021893, 3.6153108511441019, 1.1652838745644249], [-2.3864087581890159, 3.6428362931638061, 1.1058820108778322, 0.039535582971164551, 0.10641543906795548], [-2.6143732788283689, -6.2386247756261959, -5.6199008381200315, 2.7017402468426424, -5.9648437536306824], [-2.4540953457571133, -3.746873660313728, -0.18424900166461455, 0.35836332778977997, 1.3579608259883518]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[-1.3939089475204014, -0.0050898442805360489, 0.63906132105832469, 2.2643288364031831, 6.2593622180904029], [-3.4667556834831483, 2.1819867213907393, 3.8830407466213055, -2.6020313104789197, 6.4392269621744411], [-1.0170544515503046, 1.2589868939283884, -5.2862005987945508, 0.66918416276025461, -0.052308655222183198], [-0.063608283731415582, -1.0540509876953408, 4.000200738595904, -3.6971248217783046, 0.16730468904771989]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_taggedData_rank2(self):  
       arg0=Data(numpy.array([[[3.2999520978858037, -2.8764201996260521], [0.84460931106526971, -2.9948538490363665], [0.82631341796178859, 2.6811191133070587], [1.9935545807010051, 4.6368615331049376], [2.5530863487567013, 1.5786584539179769]], [[3.1189897793801649, 3.7259989370364401], [-1.6013903311091218, -4.5533577701304671], [2.7572743917467726, 4.5989181096669256], [-4.6751877048897184, 1.739170495634208], [-1.6941988433171975, -4.751153285315036]], [[1.6800591772401248, -1.8447743399814645], [-4.2564445071991663, 1.5783637504194985], [-1.8299438860762738, -3.4874085616774675], [-4.4352538904534615, 2.8790649675060118], [1.5582919580245482, 0.24026666129522845]], [[1.1310308198781662, -2.3544146878733354], [-1.6727316186954964, 4.2811144319379473], [2.1680266055590316, -0.50931371598548303], [-2.040542341630637, 0.71116211193847345], [-2.3751385768925957, -0.18638477313302992]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-4.0417393207233285, -0.7591364178619342], [4.9371267389791864, 1.995997491687417], [-3.5081538578865623, -1.5395975382640548], [3.2167474946484287, 0.29594836231295574], [2.876866683047127, 0.65031982051954884]], [[-0.95600699560363367, 2.2659651733838917], [-3.04557978354676, 3.6133514732550509], [1.9900954561451512, 1.7166504208650473], [3.1849979427444097, 3.6075626989717442], [1.4504029498439008, 4.2633957260810273]], [[0.91648704531824254, 1.8709200968506821], [1.9669654762691478, 1.4936135567186861], [4.3594994897874866, 0.2469595694618496], [1.7229353857305831, 0.60965474985411827], [0.28335686453104536, -2.6411477516786586]], [[3.4015385730607566, 3.8685387919634557], [2.1610866590436117, -4.3009172878121316], [-2.736463509803718, 3.2379155004001028], [0.89386958608386546, 3.7269083213891268], [-0.99624433794616252, -3.4852156194778217]]]))  
       arg1=Data(numpy.array([[-4.5307382208802869, 3.0660134443203422, 2.4649297716810725, -2.6026033128317181, -0.41086815696703916], [0.5597780059352031, -0.36789226846003409, 4.6292614496695847, 0.23751681284506088, -2.827459821661785], [4.7342945444529558, -3.871938986575858, -0.056171103815238155, 2.4554464844880899, 1.0091339483366486], [3.2598441866166699, 2.0571318239795389, 1.2990934937705747, -2.8074269887977987, 2.1498462716553277]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[4.0878677489711084, -0.35024616709145384, -4.1263020235777601, 0.33747039777228593, -0.30233800295394175], [1.2283382880156966, 0.54215446900079023, 3.6414091038108456, 1.2121773818950743, 1.6054954216872481], [-2.9309708455526371, 0.64140937082692506, -0.15134937047152697, -4.7734713632971761, -1.8927568524820773], [-4.4658599678163764, 3.1718894086515039, 2.8862176385958289, 3.3505811665380101, 0.82396640414803546]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-1.2307861229944832, -7.407158420506339], [3.9106227553856119, 0.071159595283975641], [3.2912431896428611, 5.1460488849881312], [-0.60904873213071298, 2.0342582202732196], [2.1422181917896621, 1.1677902969509377]], [[3.678767785315368, 4.2857769429716432], [-1.9692825995691559, -4.9212500385905011], [7.3865358414163573, 9.2281795593365104], [-4.4376708920446575, 1.9766873084792689], [-4.5216586649789825, -7.578613106976821]], [[6.4143537216930806, 2.8895202044714914], [-8.1283834937750239, -2.2935752361563595], [-1.8861149898915119, -3.5435796654927056], [-1.9798074059653716, 5.3345114519941017], [2.5674259063611968, 1.249400609631877]], [[4.3908750064948361, 0.90542949874333445], [0.38440020528404251, 6.3382462559174861], [3.4671200993296063, 0.78977977778509167], [-4.8479693304284357, -2.0962648768593253], [-0.22529230523726795, 1.9634614985222978]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[0.046128428247779851, 3.3287313311091742], [4.5868805718877326, 1.6457513245959632], [-7.6344558814643229, -5.6658995618418153], [3.5542178924207146, 0.63341876008524167], [2.5745286800931853, 0.34798181756560709]], [[0.27233129241206289, 3.4943034613995883], [-2.5034253145459697, 4.1555059422558411], [5.6315045599559967, 5.3580595246758929], [4.397175324639484, 4.8197400808668185], [3.055898371531149, 5.8688911477682755]], [[-2.0144838002343946, -1.060050748701955], [2.6083748470960728, 2.1350229275456112], [4.2081501193159596, 0.095610198990322637], [-3.050535977566593, -4.1638166134430579], [-1.6093999879510319, -4.5339046041607354]], [[-1.0643213947556198, -0.59732117585292066], [5.3329760676951157, -1.1290278791606276], [0.14975412879211092, 6.1241331389959317], [4.2444507526218755, 7.0774894879271368], [-0.17227793379812706, -2.6612492153297862]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_taggedData_rank3(self):  
       arg0=Data(numpy.array([[-3.7385825439176634, -4.1540697832027842, 4.1070229947633123, -2.6677526220408163, 2.4215467968815529], [-0.5048901000729602, -0.89372941668868755, -1.7319625544137871, -0.44270605556330533, -2.6844528391276565], [1.9550077215797153, 3.4127585064895314, 3.296124136450743, 1.2037874092230139, 0.69888630420363995], [3.1571727039249939, -4.9198944235661815, -0.96289997324268128, 1.5145847915127311, -3.6911640665717735]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-0.85819004792478282, -2.9681805356173454, 1.7493755225697374, -2.1816359425302743, 1.8225071526993091], [-4.7152639052327778, -1.8805136065694059, -0.59067169896086291, -2.7657953975071257, -0.88059181415286503], [0.44029949211330788, 3.7443086209873471, -4.7587460214873349, 0.84128231490151428, -2.6372870617436153], [4.3715100671753966, -1.0398771859231495, -3.279151829637251, 3.4427668258217334, 1.1787516732994305]]))  
       arg1=Data(numpy.array([[[-1.1539524343028518, -2.1501578460064086], [-3.7826063288703526, -2.9618996419826615], [-2.5906248406046437, -1.2973726392120986], [-1.128837320161634, -2.4690979832054305], [-3.058667816630829, 3.3295511722394604]], [[-4.8710971898191531, 4.1757797326135435], [-1.5836169221248833, -1.6877729013243234], [2.5668034559913142, 4.3627644201784754], [3.4571216650935472, -1.1074178643141988], [4.5901568445634098, -0.49089003283323773]], [[-2.077188266093668, 3.762847101619224], [1.4697995423236767, 2.2673586221601019], [0.065970049508782935, -3.1343898436568693], [3.4672351372236054, -1.3704991965229043], [-0.38608758899997397, -2.2929669767912122]], [[3.7842320595946219, 0.9810372025852736], [-0.77463101789515676, 2.9373214698046315], [-2.2817893877354312, -0.16267430064823341], [0.31750529238366987, -2.9908866131173903], [2.7269097070791792, -3.4375002608158023]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[-4.686161199850253, -3.1324244243750607], [-0.18641980319906715, 1.0183775603379708], [-1.2232791220106973, -2.074217120136189], [2.8291080598670728, 4.8086908302815861], [-3.0028068516908455, 2.1842319169623279]], [[-4.768522170294343, -1.3888995033830609], [1.8300282148565028, -4.3756819467412491], [-4.7001333147027875, -3.6664949176424666], [-4.5855111905610526, -1.901605682383277], [-0.88400428131656295, 2.2730265711416617]], [[-2.7044702828104805, 3.7639492177300635], [2.6941046149114092, 4.2857506278162134], [-3.285153678294761, -0.88941305075104804], [-3.1945821772101968, -1.1914899491785356], [4.0394590851556877, -3.1782309658900729]], [[1.3509238661395031, 0.96447953707021217], [4.1209503716081155, 4.1652076339723223], [1.2422410810393183, 4.2358338652372236], [-0.12753100549142715, 3.6579878279179585], [-1.2254281804666878, 2.128712463921075]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-4.8925349782205156, -5.888740389924072], [-7.9366761120731368, -7.1159694251854457], [1.5163981541586686, 2.8096503555512138], [-3.7965899422024503, -5.1368506052462468], [-0.63712101974927604, 5.7510979691210133]], [[-5.3759872898921133, 3.6708896325405833], [-2.4773463388135708, -2.581502318013011], [0.83484090157752711, 2.6308018657646883], [3.0144156095302419, -1.5501239198775041], [1.9057040054357532, -3.1753428719608943]], [[-0.12218054451395277, 5.7178548231989392], [4.8825580488132081, 5.6801171286496333], [3.3620941859595259, 0.16173429279387364], [4.6710225464466193, -0.16671178729989045], [0.31279871520366598, -1.5940806725875722]], [[6.9414047635196159, 4.1382099065102675], [-5.6945254414613382, -1.98257295376155], [-3.2446893609781124, -1.1255742738909147], [1.8320900838964009, -1.4763018216046593], [-0.9642543594925943, -7.1286643273875754]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[-5.5443512477750359, -3.9906144722998436], [-3.1546003388164126, -1.9498029752793746], [0.52609640055904006, -0.32484159756645159], [0.64747211733679855, 2.6270548877513118], [-1.1802996989915364, 4.006739069661637]], [[-9.4837860755271208, -6.1041634086158387], [-0.050485391712903116, -6.256195553310655], [-5.2908050136636504, -4.25716661660333], [-7.3513065880681783, -4.6674010798904026], [-1.764596095469428, 1.3924347569887967]], [[-2.2641707906971726, 4.2042487098433714], [6.4384132358987562, 8.0300592488035605], [-8.0438996997820951, -5.648159072238383], [-2.3532998623086825, -0.35020763427702128], [1.4021720234120725, -5.8155180276336882]], [[5.7224339333148997, 5.3359896042456088], [3.081073185684966, 3.1253304480491728], [-2.0369107485979328, 0.95668203559997256], [3.3152358203303063, 7.1007546537396919], [-0.046676507167257242, 3.3074641372205056]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_taggedData_rank2(self):  
       arg0=Data(numpy.array([[[[0.69934610053980428, -2.026671507268202, -4.5448872823389337, -2.9412002148272656, 1.6554727167106043], [-4.5634191062177143, 2.6255558712975482, -0.65933332167730985, 2.3250765764305017, 2.4057226006928598], [-2.9925439474621784, 1.7971835627058645, -2.3424332742174689, -0.99727503463370226, -4.4146157185494523], [-2.4351304965270271, -3.5338397841620237, 3.845163559726652, -0.69152311371273534, 1.1688691592478841]], [[2.2028495778076795, 1.4715711370131155, 1.6613752938673514, 3.6576405805906944, -0.74307015281287381], [-2.1387497110180274, 2.0809938499526623, 1.9098235515115736, -0.27850160287476911, -2.2849261717944156], [-1.9875639434955596, 1.2887576971961892, 3.5877759408809986, 2.188898154016802, -0.51092135984509479], [3.5065446216157419, -4.7653418102946068, 2.0170484293886997, 1.4834630983872676, -3.8373867192286228]], [[-1.0577718613813749, 1.6655405102105316, 3.0352320744573227, -1.9933566709429451, -3.5184632117119738], [4.2988193103326093, -0.3969550477654904, 3.2274536829536089, -3.0326370689439419, 4.5467177690603986], [-0.04895461792540523, -0.49713674822489917, -1.7656338500320432, 0.90603089536432968, 0.60535853352111513], [-4.2652276501785966, 4.7193245440180824, 0.57346982972516702, -3.8612663268255423, -3.7510582622085096]], [[4.4894752571247771, 2.1000875408029085, -1.3135217192084712, 0.99117075238395991, 0.88221025582841417], [0.92761331103050892, -3.293020257363195, 3.1901919358865776, -1.0299773583263558, 4.1802103059900677], [2.496244399696419, 4.4835879064861928, 0.39234462590505714, 1.7205783169964084, -3.7828903457917837], [3.0931090357134821, 3.1517948683589694, -3.100968450435384, 4.3694677484528412, -0.85423159194964704]], [[0.58670775755931537, -4.3937080643387318, 4.7599001740078712, -0.17099480955383939, -2.3409277024832251], [2.5552337112660108, -0.6984234758473864, 0.336825023503601, -2.4886320675065376, 4.3272187099395847], [-1.9575248613227911, -0.7547557537238756, -4.7291845289006087, 1.5562572647015696, -0.023730420882036363], [-2.4994857442321141, -4.9199143414527855, 3.5056656315504355, -4.5699837182546501, -4.8912775524850014]]], [[[2.3853867085901124, 2.6599473243383738, -0.13240955038482749, -1.7906187744984168, 4.9077278185735658], [-2.4984186146036071, 3.7947467928923491, 2.1167200584917403, -0.72918026121481905, 3.2982328359162647], [2.3520697076761667, 1.4678051704196342, 1.5093206647774249, 4.0458528767404651, 1.4422231437521296], [-1.2836660465864016, -3.6077159910655929, -1.0704239465097167, -1.3055290912578932, -4.6299995590090548]], [[-1.3804158400255497, -4.6385608584177618, -4.5150990500780299, 2.0913708781385099, -4.5750585789233655], [-1.5429362452133533, -0.96073025300370229, 2.2216346168279113, -2.8871672478029256, -0.92091500488855438], [2.8156199437365217, 0.13164230871388849, 0.12258968400038128, 0.84202089034541849, -3.3053833053230317], [-0.36136600939651764, -4.8062604313709381, 4.8740583139549916, 1.9531043605781795, -4.2996861726756173]], [[0.73790640895857962, 3.8388401558775627, -4.510709395007515, 2.775942781382998, 1.1930164910043262], [0.72085783263772552, -1.1727559398777299, 4.1138297576751341, 2.3042482483580509, -0.029254278463886507], [-1.5953992219373592, -0.54538488538337759, -3.6728129770558695, -0.79415611961975241, -3.3669702006940883], [-0.13857174134057892, -4.0335141747404109, -0.3921344564173932, 0.45169701684740193, 3.8936896119618556]], [[-1.7823973939158924, 3.9748982703576665, -3.6911545379862911, 4.9355413948293041, 2.6746911515201681], [4.988733871011549, -4.4229551718712372, 3.2460682053531791, 3.9287973752288909, -3.7093460898900856], [1.6041982075498211, -2.1413681883223736, -0.056536897566244804, 0.63711935217608318, -3.585782991147588], [2.6438114725184629, 1.1802264688295852, -4.2094648193692024, -0.57566298882588818, -2.6181894797431147]], [[-3.3039002402654516, -3.66316582481394, 1.7779880348434185, 3.8569214456518637, 3.412351008507569], [-1.3626941277743834, 4.8899293837666882, -2.6897824597194822, -1.9951569516753977, 2.764740518431231], [1.0077286314220917, -4.8836078001347625, -1.2669589387048719, 1.0821391981544393, 3.5397284627724908], [-3.3485617420110381, 1.0307837979908463, -1.4801823004335435, 2.1570632449166034, 4.7888008351277538]]], [[[0.54324736942756324, -3.0935677128542185, -1.8173955670310713, 4.3295694194612526, 2.3540592205112656], [-0.94545880239481583, 2.1268193335511123, -4.7896690987375123, 4.4133365603482684, 1.5571047226764829], [0.28351053326746012, -1.818463169466964, -1.8237960039008714, 4.8120878287152031, 3.1559489699554515], [4.2528527614150278, 0.56280422992951973, -0.33122264423663061, 0.53788627268582889, 4.8838176493675967]], [[1.2131592447865005, -0.85757521342580745, 0.98625259243144914, -3.1589569028333742, -1.5682787520223762], [-2.2564867542941225, 3.2369561381754561, -0.36650314019502783, 1.398536115669903, -1.1181190573958788], [-1.2659489153466974, -0.74319227187736647, 2.6242392513822317, 3.5372747146122805, -1.7619973581583368], [-4.7087907470202772, -0.063292811171446139, 1.6031107130419331, 1.6933860418708324, -4.1718935132174373]], [[1.3054098960355267, -3.0811649781441943, 3.241986182548434, 3.4692911443634191, -4.0854985078357871], [-1.736418603404938, 3.8574082399567704, 3.591406457324064, -4.8291597792960781, -3.0225481624946973], [-1.4860801981163685, -4.7148207028380806, 3.1018595741297368, 3.7365424773892144, 0.053446765555640319], [0.83869260198320639, 2.4814055251808709, -2.1620021638733675, 3.3523026963509217, 1.0302489467214091]], [[4.8909900079614861, -4.8505490835085174, 4.7919747080852222, 0.47234773689381271, -1.1451864217549232], [-3.3922776017103908, -0.85613420451544542, -0.99015270142464473, 2.375160276036806, 1.0148026897641671], [1.6842466869708836, 2.9964723711332244, -4.8185244246803691, -1.0882008117431639, -1.3838599099929541], [4.2682510753602845, -0.87374283951348275, -4.8331448729597621, -4.0693223236098239, -1.2210414091497479]], [[4.3417722500825864, -2.7465491397785149, -1.5163870785903688, 4.4327342713588038, -3.0114860742029936], [0.86699335372773501, -0.54059220930056817, -3.3539850860164377, 2.3310982894525321, 2.8363775034435985], [4.8238895148416017, -0.05617153181772494, 2.5767543299878701, -4.6096625008337178, -1.1933006902368448], [3.224524000608854, 4.8030366954051793, -4.2344514726248184, -3.3028284741605463, -1.974020726411474]]], [[[-3.8385903084367481, -3.6311273363197039, -2.9904271731578493, -0.59900427895025565, -0.90448761005915479], [2.1087643076806826, -3.1239483285459793, -2.0515132681286707, -4.3231485897562036, -1.7927798067544121], [4.3054421411504009, 2.9632966889767252, -3.9263733412181145, -0.80306905082401414, 1.8838053875016723], [-2.1378379255826419, -2.0263441944704108, -3.7695134899895111, -3.1834932824654159, 1.4210456879492046]], [[-3.8115401632021193, 3.3369907227198361, -3.2689096053826052, 4.9316490123336116, -2.7014679029561881], [0.77190677472530478, 3.5497692995043622, -0.77480746742615825, 4.2712846491065353, -4.0329670187680744], [1.910223310960192, 3.0653998252962147, 1.9993496232611605, -4.5087545673290785, -1.5173021906651885], [2.87752752731262, -4.7824376857924893, -0.42873266692288947, 2.4033565788921383, 0.50082239663935368]], [[3.7970799032170373, -1.4503202140526952, 0.47267718203491427, 0.019232889730620428, -2.0906144553401376], [-1.4260200062269943, 1.9618193030548889, -4.8611256239662826, -3.9465271022749695, 1.1714865755694959], [0.66438072294585115, 2.0048244168777245, -3.2679863375719531, -2.0253231463406118, -0.17889533107586431], [-0.17804596090890357, 0.22120696588978106, -4.5562496899085723, 0.81253534898377033, -1.7127809879515654]], [[4.5648746462794989, 0.21703258084941446, 1.1238057553506895, -2.4005536378681622, 4.0964189244233378], [-0.15155184098283492, -4.2982286137159997, -2.3003337379529487, 1.5687184343234071, -2.2397805907642478], [2.9312704678931762, -4.2354473177828549, -2.50473523462585, 1.9566220430133026, 4.8813071093723046], [-4.6007967068232771, 4.5971467231160403, 3.7775908331374026, 3.5852750347243436, -4.3892158741659983]], [[3.7372376003886547, 4.1075322594446337, 0.064565384044854568, -4.6016304550345293, 1.6058709856603191], [-0.9948221562019004, -1.6362497329496364, 0.16439391735788078, 1.9292832225904952, 3.2356467467178121], [0.23339312168652793, -3.0621295110362903, -0.15435970212426842, 2.6343500210513513, 3.2301869418886682], [-2.5179034926473189, -4.2469551216736505, -1.2248308871930802, 1.6335549322260778, -3.1072561234108562]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[3.4272169440525442, -1.4239729281464153, 2.3903390999012935, -4.9958725958595558, -1.3423813114614838], [3.9944852953345062, -2.7727796053301312, -1.3945712681077591, -2.6772869443705827, 3.3341429096542914], [-3.2516065003349093, 3.8039377779017727, -2.4205645678195573, -4.732544904874576, 4.4562172788559078], [-4.7191730606345841, -1.8577142710534575, 2.154473540541419, 1.5043456866177127, 3.8674753440421821]], [[-1.4365874989516172, 4.5032098607637554, -3.0742388731542105, -0.071078232587825418, -2.9996845535224304], [0.72893647480381318, -3.4065425322040523, -1.8726509605207218, 0.72425970067651146, -4.3472627436457998], [4.7145339401971356, -2.4234760277653313, 4.8169865293769618, -1.7868264842363732, -4.1521872155172135], [2.5502277648536857, 0.92204525708311813, 1.1685351507014552, -2.7930679116170465, -4.4733781471295497]], [[-3.5884567836992245, -4.086965198579728, 0.30259540637343907, -2.3743052652504435, -0.71708032148084655], [0.35156172576563449, -1.5551214756030305, 4.5757384421857346, 0.49392693894899686, -2.602328027774834], [-3.2994618894336893, -1.2465044726309804, 0.65107845535344566, 4.4039758728639455, -0.95158913646182874], [0.46037518917854126, 0.66587158852021933, -0.82391564352878888, -2.5489429200979599, -3.8786934483652304]], [[3.5753689024203794, -2.8378145119206675, -2.8982626916500642, -1.316734775368833, -1.1733083345632966], [0.090339499268350387, 1.9248963564141874, 2.5464868309931674, 2.1374139402793251, -2.4245192579882202], [-2.0581183221516364, -0.72976160527215228, 0.25344124924857603, 1.9438689147996522, 2.5006561446671398], [-4.1647048511339033, -4.7507229132098985, 2.6525383187541003, 2.9049250520225476, -0.72806664522037678]], [[1.324062737742139, -2.2944749650808616, -3.6125881821744832, 1.8550374543923356, -0.11276707022922938], [1.8720705217531188, -3.4053401225477375, -4.1912826775076208, -3.1215463909344976, -4.2979808915092352], [-1.3250784237109539, 4.6948365399829513, -0.40848515930063201, -2.9302124320938239, 2.6769210041542451], [-0.62336129149362662, 2.2500532117588659, 3.2199518397053701, -0.19283697567417413, -3.8938116075488871]]], [[[-3.0005501821853962, -2.4398220510168667, 4.1850701203996206, -2.1602323060993034, -2.5750534782854118], [-4.4937635432275611, 4.6960893796340368, -3.3075842802068314, 1.3656649078350513, 2.4201182241535673], [3.2069199691737005, -1.2465511947761554, -2.1347754606343026, 1.0706395934445663, -3.0530987730702663], [-1.3128671908693432, -3.2237992891464531, -1.9310004573991071, -0.53284913859914429, -1.7063877661929538]], [[-0.65822840713816611, 1.1897728536976278, -1.2831666506478911, -3.444408319890333, 2.1009938703868158], [-0.89302449483120405, -3.7760754083613279, -1.792285416689483, -1.9404483025179253, 3.2838686896139286], [0.70169371541086267, -0.46539271641039548, 4.1599299462434836, -1.0719970996993808, -4.8139444537474896], [-0.28590246141203313, 0.67831051417097754, -0.37162134618963893, -3.9940009541213648, 1.389955365622944]], [[3.7353570533627547, 4.6384482734519263, 1.1243834137836313, 3.8494966843220908, -4.9579394552284315], [1.5746838388623008, -3.9578745985610708, -0.10853856483666213, 4.343819259992749, 3.1207848249763099], [-3.2837883963021772, 4.0472784661041956, -2.2439133505907005, -3.9512457927456088, -1.2815276638782858], [3.4414534772109047, -3.2274213318824243, 4.8073914111339668, -1.9756093377267736, -1.1414130700823755]], [[-2.6560995114454453, 0.83588691762411926, -2.0367616130373047, 2.9218418042411374, -1.0693685209089923], [1.9345420271997584, -2.5860889060497696, 4.874171537447566, -2.9155476111820819, 0.11281819496243806], [-1.1182566064525181, 1.8992994778771255, 4.9547823456491393, 0.61289620464833661, 1.6335315171298532], [0.31183711792580304, 3.6034313778277607, 1.8447506366162392, -4.104611541379918, -0.60504141819577484]], [[1.3981793871605621, 0.33831982384789239, -2.7726557136920924, 4.4780906407728978, -0.13669755958216356], [3.0672862529320497, -1.3396709941520655, 3.4667298907419983, 2.976815111458663, 2.0795997272189561], [4.2480880444869697, 0.98335125524342626, 4.1407485053254423, -2.8527473564273285, 3.363958352851844], [-3.64109607461344, 3.0841633930381747, 3.1719990624090872, -3.395803544639632, -1.9221965880988012]]], [[[4.6316610733191386, -1.8880106068299627, 1.3354771423484877, -4.8943291676671361, -2.5102370485732495], [2.6198130045626247, 2.9876906404124526, 1.9794188477806358, 0.12826852964766022, 1.0715195869491323], [-4.992622497170168, 4.1217994503800011, -2.9200244365480623, 1.0835266142272761, -2.7177043375113663], [1.887563983663151, 0.11367016084299042, 0.85384579621689305, 1.0581998761611739, 1.4167195917215603]], [[4.3879363554642481, 4.4553080794368523, 3.6425338445742632, -4.3899300494593554, -3.0709629183169374], [-4.8730173361792506, -0.95475901638048732, 2.3866036410318507, 2.7087340002581914, 1.8054129695136814], [-2.9332764155362492, 0.69429153476818151, -0.96242845329400772, -0.65565954202531973, -0.51612160651860695], [-2.4304784040028427, 1.2852838573085092, 4.3924568093006524, 4.1189495037079098, 1.7780412810922357]], [[-4.1248019192858267, 3.3323037830262763, 2.6552631284091213, 0.95967989499371686, -3.3687734482765208], [-4.392671431013353, -2.8709968506046755, -3.7785780336480954, 1.6247012851936793, 1.2740498225697969], [4.1675319210183108, -4.9892501392302036, -4.1156444169993245, -3.8375515256570059, -1.818050706132126], [-2.0124412680667425, 3.4457598844967858, 3.9234562554897252, -4.6868421017166604, 4.0105316103877868]], [[4.5340478927501877, 0.38415587285271435, 0.22966445404280122, 2.5989665441769052, 2.6907137946052471], [-0.093015703316988052, 1.8690416835652393, 2.5676029898458825, 1.4768958806470733, -2.22968309381818], [2.533633094312445, -1.5895000845453202, -0.18893243148026517, 3.1215522595784702, -3.3095792517424361], [-1.0608724054120633, 0.56846111830658597, 1.8126855874109227, -4.7808916639930192, 4.2388325613482216]], [[4.6757124590123524, -3.5638755880459838, -4.7378189508745336, 2.3196198253788047, 3.1999602313030628], [-3.3464375874868804, 2.1729445137704175, -0.79047057246752228, -0.78929561011899096, -3.653895778703542], [0.99327103826521324, -0.21535200041437186, -3.7957130892892321, 0.84832519423610186, -0.27428773475111523], [1.5870087168219094, -1.4537659702791981, -4.7808987729329822, 4.2123411526320869, -0.88864553583046924]]], [[[-2.9028089328824502, 4.096740255432108, -2.7626628632033787, 3.6033009921840335, 1.3924372856922602], [-2.2827039658392714, -1.5828175459807712, 0.71010048235872336, -2.4267390424640514, 0.41028296135019815], [1.9736695008870297, -4.3552374441195374, 1.0916415166670657, -4.5229986618785087, -0.28007944162133391], [-1.5775895204120207, 0.1569357499512769, -3.8990416213340664, 4.9400395280705283, 1.1320857282423189]], [[4.0733494484006787, 0.91448279144801337, -0.54152475285122659, -1.1250403998349432, -3.5640888681564342], [4.9334390077899855, -2.4929671409281315, 3.8119806548308866, -3.7336862847187744, 4.9942186590129314], [-0.88685252050242358, -2.1854570403303075, -2.3025135773567307, 4.5699650709878661, -2.6741119562654223], [-1.0623276058300268, 3.4312124262143051, 0.79341573173392632, 2.8193604069019687, 4.5739571796142897]], [[-0.30817272433454423, 0.65423962995370388, -2.4272757635884643, 4.2560439374497108, 0.58371385497249317], [0.66744175229626368, -3.480016203809102, 4.8931875006496117, 1.8741997771781858, -2.3817011367700269], [-2.6138611489526076, 4.7576519849041627, 1.0428556636634614, -0.84040986287318198, 2.0442697519732311], [2.8314490594874098, 2.7728241903940942, 3.9325165219267593, -4.2662492057014321, 4.8123123686299092]], [[2.0599478929631276, 0.90748726496648047, -4.5253089904133432, -1.9920381712144506, -1.0442965111087679], [-3.8257856570443738, -1.3510102065562704, -4.0168321817823704, -3.8460276082030322, -1.279301003521903], [-2.2036869054581532, -4.494299366941843, -3.3598881980296023, 0.86415361869505425, -4.801807626346049], [3.2312845452249501, -2.6489094561387692, 1.7622618420152536, 1.5442302510253123, -2.409826380122968]], [[-0.45078009257599394, -0.21015881714203122, -1.4937265745391306, 3.5273016943549358, 4.4706424937119174], [-0.03927850082723694, -3.5221397977478039, 1.6217749413252838, 3.3828411680616828, -2.9276587174993338], [-0.25857130136308548, -3.1801226886154188, 2.7225796555114687, 0.76204952771956691, 0.85209087003154949], [-1.6599057780601667, 3.4897698284810765, 4.7110875764914759, -0.18809301301689541, 0.079509828536909133]]]]))  
       arg1=Data(numpy.array([[4.3062348088902418, 4.824572540478961, 0.64998148040878334, -0.93685968650800344, -2.0649461266398483], [-4.3178554215892948, 1.0114681138114756, -0.48618419962879766, 3.7025387380224277, -0.13360705789388394], [-2.1512365893367305, 3.0274950470666671, -4.53087377370188, -1.1653747541509265, 1.5447573768262579], [4.7249977465965394, 3.9969185082139038, 1.5410854973828503, -2.6719087691700185, 0.34870628165953477]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[2.102175116657464, 3.006476369410537, 4.8199349466955006, -1.5059446300302115, 4.9164843936755158], [2.1922761138151738, 3.0167793803768443, -2.0577477361751315, -3.0122625624118382, 4.3918987334860304], [4.2240383244917155, -2.7870688413715614, -0.088861035884807649, -3.5880943030559811, -0.47808426651462277], [-1.6841328346538131, 0.86050004220043519, -2.5286669588483592, -2.9425467341549352, -1.6459581424527601]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[5.0055809094300461, 2.2795633016220398, -0.23865247344869189, 1.3650345940629762, 5.961707525600846], [-0.2571842973274725, 6.93179068018779, 3.6469014872129319, 6.6313113853207435, 6.7119574095831016], [1.3136908614280634, 6.1034183715961063, 1.9638015346727729, 3.3089597742565395, -0.10838090965921054], [1.8711043123632147, 0.77239502472821808, 8.1513983686168938, 3.6147116951775065, 5.4751039681381259]], [[7.0274221182866405, 6.2961436774920765, 6.4859478343463124, 8.4822131210696554, 4.0815023876660872], [2.6858228294609336, 6.9055663904316233, 6.7343960919905346, 4.5460709376041919, 2.5396463686845454], [2.8370085969834014, 6.1133302376751502, 8.4123484813599596, 7.013470694495763, 4.3136511806338662], [8.3311171620947029, 0.059230730184354208, 6.8416209698676607, 6.3080356388662286, 0.98718582125033816]], [[-0.40779038097259157, 2.315521990619315, 3.685213554866106, -1.3433751905341618, -2.8684817313031905], [4.9488007907413927, 0.25302643264329294, 3.8774351633623922, -2.3826555885351586, 5.1966992494691819], [0.60102686248337811, 0.15284473218388417, -1.1156523696232599, 1.556012375773113, 1.2553400139298985], [-3.6152461697698133, 5.3693060244268658, 1.2234513101339504, -3.2112848464167589, -3.1010767817997262]], [[3.5526155706167737, 1.1632278542949051, -2.2503814057164746, 0.054311065875956466, -0.054649430679589273], [-0.0092463754774945173, -4.2298799438711985, 2.2533322493785741, -1.9668370448343593, 3.2433506194820643], [1.5593847131884155, 3.5467282199781893, -0.5445150606029463, 0.78371863048840495, -4.7197500322997872], [2.1562493492054786, 2.2149351818509659, -4.0378281369433875, 3.4326080619448378, -1.7910912784576505]], [[-1.478238369080533, -6.4586541909785797, 2.6949540473680229, -2.2359409361936877, -4.4058738291230739], [0.49028758462616251, -2.7633696024872347, -1.7281211031362473, -4.553578194146386, 2.2622725832997364], [-4.0224709879626399, -2.8197018803637239, -6.7941306555404566, -0.50868886193827878, -2.0886765475218847], [-4.564431870871962, -6.9848604680926343, 1.4407195049105872, -6.6349298448944989, -6.9562236791248502]]], [[[-1.9324687129991824, -1.657908097250921, -4.4502649719741223, -6.1084741960877116, 0.58987239698427096], [-6.816274036192902, -0.52310862869694574, -2.2011353630975545, -5.0470356828041139, -1.0196225856730301], [-1.9657857139131281, -2.8500502511696606, -2.8085347568118699, -0.27200254484882969, -2.8756322778371652], [-5.6015214681756964, -7.9255714126548877, -5.3882793680990115, -5.6233845128471884, -8.9478549805983505]], [[-0.36894772621407412, -3.6270927446062862, -3.5036309362665543, 3.1028389919499855, -3.5635904651118899], [-0.53146813140187765, 0.050737860807773316, 3.2331027306393869, -1.8756991339914499, 0.090553108922921233], [3.8270880575479973, 1.1431104225253641, 1.1340577978118569, 1.8534890041568941, -2.2939151915115561], [0.65010210441495797, -3.7947923175594624, 5.8855264277664672, 2.9645724743896551, -3.2882180588641416]], [[0.25172220932978195, 3.352655956248765, -4.9968935946363127, 2.2897585817542003, 0.7068322913755285], [0.23467363300892785, -1.6589401395065275, 3.6276455580463365, 1.8180640487292532, -0.51543847809268417], [-2.0815834215661568, -1.0315690850121753, -4.1589971766846672, -1.2803403192485501, -3.8531544003228859], [-0.62475594096937659, -4.5196983743692085, -0.87831865604619086, -0.034487182781395731, 3.4075054123330579]], [[1.9201413441065354, 7.6774370083800942, 0.011384200036136605, 8.6380801328517318, 6.3772298895425958], [8.6912726090339767, -0.72041643384880949, 6.9486069433756068, 7.6313361132513187, -0.006807351867657907], [5.3067369455722488, 1.5611705497000541, 3.6460018404561829, 4.3396580901985109, 0.11675574687483969], [6.3463502105408907, 4.8827652068520129, -0.50692608134677464, 3.1268757491965395, 1.0843492582793131]], [[-3.4375072981593355, -3.796772882707824, 1.6443809769495346, 3.7233143877579797, 3.2787439506136851], [-1.4963011856682673, 4.7563223258728042, -2.8233895176133661, -2.1287640095692817, 2.6311334605373471], [0.87412157352820774, -5.0172148580286464, -1.4005659965987558, 0.94853214026055532, 3.4061214048786068], [-3.482168799904922, 0.89717674009696236, -1.6137893583274274, 2.0234561870227195, 4.6551937772338698]]], [[[-1.6079892199091672, -5.244804302190949, -3.9686321563678018, 2.1783328301245222, 0.20282263117453514], [-3.0966953917315463, -0.024417255785618153, -6.9409056880742428, 2.2620999710115379, -0.59413186666024753], [-1.8677260560692703, -3.9696997588036944, -3.9750325932376018, 2.6608512393784727, 1.004712380618721], [2.1016161720782973, -1.5884323594072107, -2.4824592335733611, -1.6133503166509016, 2.7325810600308662]], [[4.2406542918531676, 2.1699198336408596, 4.0137476394981162, -0.1314618557667071, 1.4592162950442908], [0.77100829277254457, 6.2644511852421232, 2.6609919068716392, 4.42603116273657, 1.9093759896707883], [1.7615461317199697, 2.2843027751893006, 5.6517342984488987, 6.5647697616789475, 1.2654976889083303], [-1.6812956999536102, 2.9642022358952209, 4.6306057601086001, 4.7208810889374995, -1.1443984661507702]], [[-3.2254638776663533, -7.6120387518460744, -1.2888875911534461, -1.0615826293384609, -8.616372281537668], [-6.2672923771068181, -0.67346553374510965, -0.939467316377816, -9.3600335529979581, -7.5534219361965773], [-6.0169539718182481, -9.2456944765399598, -1.4290141995721433, -0.79433129631266564, -4.4774270081462397], [-3.6921811717186737, -2.0494682485210092, -6.6928759375752476, -1.1785710773509583, -3.5006248269804709]], [[3.7256152538105596, -6.0159238376594439, 3.6265999539342957, -0.6930270172571138, -2.3105611759058498], [-4.5576523558613173, -2.0215089586663719, -2.1555274555755712, 1.2097855218858795, -0.15057206438675941], [0.51887193281995714, 1.8310976169822979, -5.9838991788312956, -2.2535755658940904, -2.5492346641438806], [3.102876321209358, -2.0391175936644093, -5.9985196271106886, -5.2346970777607504, -2.3864161633006744]], [[5.8865296269088443, -1.201791762952257, 0.028370298235889102, 5.9774916481850617, -1.4667286973767357], [2.4117507305539929, 1.0041651675256897, -1.8092277091901798, 3.87585566627879, 4.3811348802698564], [6.3686468916678596, 1.488585845008533, 4.121511706814128, -3.0649051240074598, 0.35145668658941309], [4.7692813774351119, 6.3477940722314372, -2.6896940957985604, -1.7580710973342883, -0.42926334958521606]]], [[[0.88640743815979128, 1.0938704102768355, 1.73457057343869, 4.1259934676462837, 3.8205101365373846], [6.8337620542772219, 1.6010494180505601, 2.6734844784678686, 0.40184915684033573, 2.9322179398421273], [9.0304398877469403, 7.6882944355732645, 0.79862440537842483, 3.9219286957725252, 6.6088031340982116], [2.5871598210138975, 2.6986535521261286, 0.95548425660702829, 1.5415044641311235, 6.146043434545744]], [[0.18537834501178452, 7.3339092309337399, 0.7280089028312986, 8.9285675205475155, 1.2954506052577157], [4.7688252829392086, 7.546687807718266, 3.2221110407877456, 8.2682031573204391, -0.036048510554170576], [5.9071418191740959, 7.0623183335101185, 5.9962681314750643, -0.51183605911517471, 2.4796163175487154], [6.8744460355265238, -0.78551917757858547, 3.5681858412910143, 6.4002750871060421, 4.4977409048532575]], [[5.3381654005998875, 0.0907652833301551, 2.0137626794177645, 1.5603183871134707, -0.54952895795728729], [0.11506549115585596, 3.5029048004377392, -3.3200401265834323, -2.4054416048921192, 2.7125720729523461], [2.2054662203287014, 3.5459099142605748, -1.7269008401891028, -0.48423764895776156, 1.362190166306986], [1.3630395364739467, 1.7622924632726313, -3.015164192525722, 2.3536208463666206, -0.17169549056871514]], [[1.8929658771094804, -2.4548761883206041, -1.548103013819329, -5.0724624070381807, 1.4245101552533193], [-2.8234606101528534, -6.9701373828860183, -4.9722425071229672, -1.1031903348466114, -4.9116893599342664], [0.25936169872315773, -6.9073560869528734, -5.1766440037958681, -0.71528672615671596, 2.2093983402022861], [-7.2727054759932956, 1.9252379539460218, 1.1056820639673841, 0.9133662655543251, -7.0611246433360169]], [[4.0859438820481895, 4.4562385411041685, 0.41327166570438933, -4.2529241733749945, 1.9545772673198538], [-0.64611587454236563, -1.2875434512901016, 0.51310019901741555, 2.27798950425003, 3.5843530283773468], [0.58209940334606269, -2.7134232293767555, 0.19434657953526635, 2.9830563027108861, 3.5788932235482029], [-2.1691972109877842, -3.8982488400141158, -0.87612460553354543, 1.9822612138856126, -2.7585498417513215]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[5.5293920607100082, 0.67820218851104874, 4.4925142165587575, -2.8936974792020917, 0.75979380519598028], [6.0966604119919703, -0.6706044886726672, 0.70760384854970493, -0.57511182771311864, 5.4363180263117554], [-1.1494313836774452, 5.9061128945592367, -0.31838945116209327, -2.630369788217112, 6.5583923955133718], [-2.61699794397712, 0.24446084560400649, 4.2566486571988831, 3.6065208032751768, 5.9696504606996461]], [[1.5698888704589198, 7.5096862301742924, -0.067762503743673541, 2.9353981368227116, 0.0067918158881066226], [3.7354128442143502, -0.40006616279351537, 1.1338254088898152, 3.7307360700870484, -1.3407863742352628], [7.7210103096076725, 0.58300034164520564, 7.8234628987874988, 1.2196498851741637, -1.1457108461066765], [5.5567041342642227, 3.9285216264936551, 4.1750115201119922, 0.21340845779349049, -1.4669017777190128]], [[1.2314781629962761, 0.73296974811577265, 5.1225303530689397, 2.4456296814450571, 4.102854625214654], [5.1714966724611351, 3.2648134710924701, 9.3956733888812352, 5.3138618856444975, 2.2176069189206666], [1.5204730572618113, 3.5734304740645202, 5.4710134020489463, 9.2239108195594461, 3.8683458102336719], [5.2803101358740419, 5.4858065352157199, 3.9960193031667117, 2.2709920265975407, 0.94124149833027015]], [[2.0694242723901679, -4.343759141950879, -4.4042073216802757, -2.8226794053990445, -2.6792529645935081], [-1.4156051307618611, 0.41895172638397593, 1.0405422009629559, 0.63146931024911357, -3.9304638880184317], [-3.5640629521818479, -2.2357062353023638, -1.2525033807816355, 0.43792428476944067, 0.99471151463692831], [-5.6706494811641148, -6.25666754324011, 1.1465936887238888, 1.3989804219923361, -2.2340112752505883]], [[6.2405471314176548, 2.6220094285946542, 1.3038962115010326, 6.7715218480678514, 4.8037173234462864], [6.7885549154286347, 1.5111442711277783, 0.72520171616789497, 1.7949380027410182, 0.61850350216628058], [3.591405969964562, 9.6113209336584671, 4.5079992343748838, 1.9862719615816919, 7.5934053978297609], [4.2931231021818892, 7.1665376054343817, 8.136436233380886, 4.7236474180013417, 1.0226727861266287]]], [[[-0.80827406837022231, -0.24754593720169282, 6.3773462342147944, 0.032043807715870454, -0.38277736447023791], [-2.3014874294123873, 6.8883654934492107, -1.1153081663916575, 3.5579410216502252, 4.6123943379687411], [5.3991960829888743, 0.94572491903901845, 0.057500653180871275, 3.2629157072597401, -0.86082265925509249], [0.87940892294583062, -1.0315231753312792, 0.26127565641606676, 1.6594269752160296, 0.48588834762222]], [[2.3585509732386782, 4.2065522340744721, 1.7336127297289532, -0.42762893951348868, 5.1177732507636602], [2.1237548855456403, -0.75929602798448359, 1.2244939636873613, 1.076331077858919, 6.300648069990773], [3.718473095787707, 2.5513866639664489, 7.1767093266203279, 1.9447822806774635, -1.7971650733706452], [2.7308769189648112, 3.6950898945478219, 2.6451580341872054, -0.97722157374452046, 4.4067347459997883]], [[1.6776093171876232, 2.5807005372767948, -0.93336432239150025, 1.7917489481469593, -7.015687191403563], [-0.48306389731283073, -6.0156223347362019, -2.1662863010117936, 2.2860715238176175, 1.0630370888011784], [-5.3415361324773087, 1.9895307299290641, -4.301661086765832, -6.0089935289207403, -3.3392754000534173], [1.3837057410357732, -5.2851690680575558, 2.7496436749588353, -4.0333570739019056, -3.199160806257507]], [[-5.6683620738572831, -2.1763756447877189, -5.0490241754491425, -0.090420758170700832, -4.0816310833208309], [-1.0777205352120798, -5.5983514684616082, 1.8619089750357278, -5.9278101735939206, -2.8994443674494002], [-4.1305191688643568, -1.1129630845347127, 1.9425197832373011, -2.3993663577635016, -1.378731045281985], [-2.7004254444860352, 0.59116881541592248, -1.167511925795599, -7.1168741037917567, -3.617303980607613]], [[5.7900781206465926, 4.7302185573339228, 1.619243019793938, 8.8699893742589282, 4.2552011739038669], [7.4591849864180801, 3.052227739333965, 7.8586286242280288, 7.3687138449446934, 6.4714984607049866], [8.6399867779730002, 5.3752499887294567, 8.5326472388114727, 1.539151377058702, 7.7558570863378744], [0.75080265887259046, 7.4760621265242051, 7.5638977958951177, 0.99609518884639847, 2.4697021453872292]]], [[[8.855699397810854, 2.3360277176617528, 5.5595154668402031, -0.67029084317542065, 1.713801275918466], [6.8438513290543401, 7.211728964904168, 6.2034571722723513, 4.3523068541393757, 5.2955579114408478], [-0.76858417267845258, 8.3458377748717165, 1.3040138879436531, 5.3075649387189916, 1.5063339869803491], [6.1116023081548665, 4.3377084853347059, 5.0778841207086085, 5.2822382006528894, 5.6407579162132757]], [[1.6008675140926867, 1.6682392380652908, 0.8554650032027018, -7.1769988908309168, -5.8580317596884992], [-7.660086177550812, -3.7418278577520487, -0.40046520033971067, -0.078334841113369968, -0.98165587185788006], [-5.7203452569078106, -2.0927773066033799, -3.7494972946655691, -3.4427283833968811, -3.3031904478901684], [-5.2175472453744041, -1.5017849840630522, 1.605387967929091, 1.3318806623363484, -1.0090275602793257]], [[-4.2136629551706344, 3.2434427471414686, 2.5664020925243136, 0.87081885910890922, -3.4576344841613285], [-4.4815324668981606, -2.9598578864894831, -3.8674390695329031, 1.5358402493088716, 1.1851887866849893], [4.0786708851335032, -5.0781111751150112, -4.2045054528841321, -3.9264125615418135, -1.9069117420169337], [-2.1013023039515502, 3.3568988486119782, 3.8345952196049176, -4.775703137601468, 3.9216705745029792]], [[0.94595358969420662, -3.2039384302032667, -3.3584298490131799, -0.98912775887907589, -0.89738050845073403], [-3.6811100063729691, -1.7190526194907418, -1.0204913132100986, -2.1111984224089078, -5.8177773968741615], [-1.0544612087435361, -5.1775943876013013, -3.7770267345362463, -0.46654204347751094, -6.8976735547984172], [-4.6489667084680448, -3.0196331847493951, -1.7754087156450584, -8.3689859670489994, 0.65073825829224052]], [[4.1976281924977297, -4.0419598545606066, -5.2159032173891564, 1.841535558864182, 2.7218759647884401], [-3.8245218540015031, 1.6948602472557948, -1.268554838982145, -1.2673798766336137, -4.1319800452181648], [0.51518677175059047, -0.69343626692899463, -4.2737973558038549, 0.3702409277214791, -0.752372001265738], [1.1089244503072866, -1.9318502367938208, -5.2589830394476049, 3.7342568861174641, -1.366729802345092]]], [[[-4.5869417675362634, 2.4126074207782948, -4.4467956978571923, 1.9191681575302204, -0.29169554896155292], [-3.9668368004930845, -3.2669503806345843, -0.97403235229508978, -4.1108718771178641, -1.273849873303615], [0.28953666623321661, -6.039370278773351, -0.59249131798674748, -6.2071314965323214, -1.9642122762751471], [-3.2617223550658339, -1.5271970847025362, -5.58317445598788, 3.2559066934167151, -0.55204710641149424]], [[4.9338494906011139, 1.7749828336484486, 0.3189752893492086, -0.26454035763450801, -2.703588825955999], [5.7939390499904206, -1.6324670987276964, 4.6724806970313217, -2.8731862425183392, 5.8547187012133666], [-0.026352478301988391, -1.3249569981298723, -1.4420135351562955, 5.4304651131883013, -1.8136119140649871], [-0.20182756362959164, 4.2917124684147403, 1.6539157739343615, 3.6798604491024038, 5.4344572218147249]], [[-2.8368396831829035, -1.8744273288946554, -4.9559427224368235, 1.7273769786013515, -1.9449531038758661], [-1.8612252065520956, -6.0086831626574613, 2.3645205418012525, -0.65446718167017348, -4.9103680956183862], [-5.1425281078009668, 2.2289850260558035, -1.4858112951848979, -3.3690768217215412, -0.48439720687512811], [0.30278210063905053, 0.24415723154573499, 1.4038495630784, -6.7949161645497913, 2.28364540978155]], [[-0.88259884119180754, -2.0350594691884547, -7.4678557245682784, -4.9345849053693858, -3.986843245263703], [-6.7683323911993085, -4.2935569407112055, -6.9593789159373056, -6.7885743423579674, -4.2218477376768382], [-5.1462336396130883, -7.4368461010967781, -6.3024349321845374, -2.0783931154598809, -7.7443543605009841], [0.28873781107001495, -5.5914561902937043, -1.1802848921396816, -1.3983164831296229, -5.3523731142779027]], [[-2.096738235028754, -1.8561169595947913, -3.1396847169918907, 1.8813435519021757, 2.8246843512591573], [-1.685236643279997, -5.168097940200564, -0.024183201127476295, 1.7368830256089227, -4.5736168599520939], [-1.9045294438158455, -4.8260808310681789, 1.0766215130587087, -0.88390861473319315, -0.79386727242121058], [-3.3058639205129268, 1.8438116860283165, 3.0651294340387158, -1.8340511554696555, -1.5664483139158509]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_taggedData_rank4(self):  
       arg0=Data(numpy.array([[-3.4824406931713145, 4.9707706711631943, -4.5865959886175709, 1.5003250433648461, 3.3260598382710569], [2.4640870802710326, 0.81478183629754497, 4.4033844939047171, -3.626735778806085, 2.482994762546749], [-4.8262552832760166, -1.7823195496625721, 2.7963337796631569, 2.3421927477085145, 2.1223135991694733], [3.3300261220846039, 3.32241378192521, -0.74335710583844694, -1.0039320326733305, -3.2787359335938069]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-0.65234751605846331, 0.39163069491204361, -1.7473804858161657, -3.7016270505482018, 0.54187606850935843], [-4.9250199626554894, -4.0969205244679454, -2.9137040116641453, 2.8689584807545243, 2.3139856286653169], [2.845222815710974, -1.5361988159710904, -0.021190378183463032, 1.0888258645199445, 4.1710232671261274], [3.8379988727969518, -3.3248120169470461, 4.0917682603767958, -2.0134910999214206, -2.1867174522445043]]))  
       arg1=Data(numpy.array([[[[2.3055758474375665, 1.7941929539552213, 1.8849574981412109, 3.4491407654219799, 3.4973180803303023], [-3.1130309249501087, -2.5935762916577207, 1.4266061385476947, -1.8626888167526854, -2.4328846655108824], [3.2410316458283148, -4.4526234796097173, 2.0756078845733654, -0.43580950657748119, -2.5525094336560548], [-3.1254547663484145, -4.4897819054005694, -1.0469140117561118, 1.4591452430602248, 0.35984057129552571]], [[4.8931157351467096, -0.87656983511799513, 3.7494602303888875, -4.0000044256278677, -3.6227159666837627], [-0.033037523416513892, 4.8080841988509135, -4.2720426822865374, -3.931743533444422, -2.4937564480583854], [-4.5336271150460501, -3.7360533124065434, -0.91371602016889497, 3.8610352160053498, -0.4148876530767307], [2.2664902959306756, -3.4838425765948822, 3.6217338962263117, -4.5920251332700301, -0.33425353287874593]], [[4.992338094210842, 4.5504669360132723, 4.2687703453910331, 2.5089192146286976, 4.3579923107479566], [-4.2453114942634329, 2.4062397083588483, -2.1196883039058556, 1.9207489777469622, -1.2709886097289802], [0.4187955827796479, -1.5486986355442802, 3.8311822586372131, 2.2643199940671437, -0.029747861194897141], [0.37951137255668677, 0.58945725986149444, 3.7525234687444815, 0.21232039671492764, 0.58451361585994022]], [[3.7712816493999348, 2.2228520850924838, -4.6922471323672843, -0.60369421526660894, -1.3067028997669041], [0.11115774844697768, 3.2545680825006365, -0.47691148003489392, -3.5536727409980795, -2.1009233391914481], [-1.092391944274318, 3.387235180831583, -3.0813440826727345, -2.1481073437658948, 3.3384182188861526], [-0.814307045151895, -1.7165419359616529, 3.09769918177318, -1.6910983191524744, 1.2859579008889046]], [[3.776231542359703, 0.60354820768464101, 1.4668432711913617, -2.9089932500562599, -1.6538816280490289], [3.5161359156064602, -4.558211395219125, -0.5495104495214278, -3.0482941048853385, -3.9650513795985756], [-3.5144387593902273, 1.2795546907864743, -4.8783334480828566, 3.557461253632594, -1.7457280478217507], [1.5311243784331818, -0.54127194874820184, 3.4383779639033119, 2.6680222892228809, 4.1047678008439341]]], [[[4.7981099886171954, 0.94479670460959042, 0.36501190944308348, -4.726314807562578, -1.2800179825390012], [-3.665184146919549, 2.0185622075017298, 1.5592982915958187, -2.9137631038539711, 1.3900845307192666], [3.7525523520861395, -1.9665305838681704, -3.67883869674827, -3.9680740157091332, -3.7208285432010255], [0.040280116728395932, 4.9179802623794924, 3.2493319320868235, -1.3294344202930999, 2.6655537372123383]], [[4.3244898243273902, 4.2677879341764342, 4.5355926724209432, 0.09780281366278043, 1.8624460389726991], [-3.7247594108341344, 0.81092765286892821, -1.1171611749818178, -1.3178695718253399, 0.29276694492606836], [1.5275259337975164, 1.1560409346393037, 1.387468574016343, 3.0337224990059255, 0.30798342721052308], [3.3646155716630286, 0.058627903012173022, -1.6133504409603527, -0.4272455889173834, -4.0315867820979889]], [[4.0571334986802849, 2.91820236770584, 2.7670349511195713, 1.8902460226816666, 0.011208751906912617], [-4.954777691280067, 0.48657653496994513, -1.9456379342791195, -1.6210574780598797, 0.29143840689240808], [4.3363118318399927, -2.342193058932299, 3.3774309506759614, -0.96543383468007082, 4.2990605963714028], [-1.2730508457126666, -4.7880386076272607, -2.6229570385371948, 4.850716042648088, 3.5902158989945789]], [[1.680047381829608, -0.29061217103639603, -1.6456030728904105, 4.9486521327108459, -0.18218541799269694], [-4.7808390735059607, -4.7049101884501612, 1.5658630801858466, -4.6016928479167838, 0.2359961895353937], [-4.8570659203447972, -4.3644874040603918, 2.0522996933086235, 3.3583213924605975, -0.72418819720607353], [-0.2193945388281584, 3.6272477819884674, -0.74660670442189847, 3.5424187306782624, 2.8646064106550728]], [[-1.3447114301278908, -1.8783851953505772, 2.5157798725728959, -2.1131781843943886, -1.1495160097794499], [-0.48317132836968391, -1.5938992147968181, -3.7599387093163328, 2.7276025696627562, -0.39977316588277301], [4.3977605515942244, -3.7705683702551127, -0.92200084947155236, 4.576757590280355, -0.34942483131048974], [-4.7006310193809231, 1.6802133231550673, -1.1939561253125355, 0.56172277318378683, -2.6298503833136913]]], [[[3.9917836443607939, -0.11430688781035769, -4.8349026035682607, 4.2558971230023008, -4.6995477264293237], [0.91772204537761048, 3.8350272433275752, 2.1409271459128041, 0.072229281606216666, 4.1280644985178796], [-0.022401949931500909, -0.29667440563844139, -0.059467700042141303, 0.44550399628782689, -2.4219673694124708], [-4.256462213485328, -0.24862953829702761, -3.3029397863152168, -1.9852359076139727, -4.7108371756565433]], [[1.1264867868348407, 4.113235537978758, -2.4318812703545278, -0.53054438794524561, -2.1402969402086103], [1.4624991546562294, 2.9037230401554206, 3.6311954894317076, 1.3525861042422669, -4.8348191736671478], [2.1314719597294065, 2.7686605889311711, -4.6697451502511207, 0.44355821989771638, -1.6853610499314331], [-0.20564503365646303, -0.094851737686054705, -2.7723210784192931, 1.5758163873211029, -4.4079626853897711]], [[0.4758236602357977, 3.5342353511615041, -0.94643822974582203, 3.6514019758169454, 4.0262990784355637], [-3.5199665039768711, -2.5362348538954347, -1.3742219290680504, -1.7449592165882821, 0.65688563519271082], [3.1823302535824567, 4.8168201272882936, 2.1397795882440152, 1.1220515612635822, -4.8588425071077603], [-1.5057997796795011, 0.94646164583126691, 0.082326953498796485, 1.7822563832981162, 4.0728034810597062]], [[-4.0323659187629088, 0.4612574132565932, 3.3182422152635915, -4.8577071213191818, -0.82549753535669534], [2.1403083757951968, 4.5626660875673597, -2.0285947449713371, -4.1191434118654966, -3.2030943250094559], [-0.032024878982987559, 0.74353043612112302, 1.1837797082184141, -3.941331061351061, -4.2057535094181295], [3.6090313552826032, -3.8457771863620804, 2.9928715541896009, 2.8054823814661134, -4.5261171267036175]], [[2.9062379915518513, -0.56580371435842736, 1.4143663055250508, -3.7717164598287911, -0.79593298710208948], [-1.4329316098399971, -0.77128173441827386, -2.9432431142631765, 2.4346229157285748, 0.70937762278963667], [-1.3228502683850429, 2.6675285489392948, 3.1820118982061754, -2.75942531689389, 3.2651125163516213], [-4.7638815379425274, -1.3964961467840933, -0.24926824885082599, 3.7734197353165619, -4.1985382006706189]]], [[[-0.72433445556474396, 4.4960926015779812, -1.2668794359022839, 3.8025501463571452, -4.1998084223532821], [2.9067809030704881, 2.3762924757968289, 3.725750354638123, 1.1840302751514962, 2.5421890000053171], [-3.0728477849297944, -0.23380513363281707, 0.37758161985221683, -2.3566298709530598, -3.0090775071568299], [0.72767913812986329, 4.1402729865257193, -0.31801058944745275, -1.8649320259705258, -0.68835653429959809]], [[-4.7024942321671768, -4.9311919214377049, -3.2241085269097427, 3.4309195324907567, -0.66830599299718685], [-1.96115974487192, 0.77506718581589062, 0.12617158001552653, 1.5737863542968409, 0.88088972680227684], [3.0853656080534204, 2.5608570484648023, -2.2288256647596261, -3.0881882071823852, -2.2655119501240248], [3.6049729423039292, -0.9181728275123282, -3.2761713225107081, 1.1957841731286445, 0.87749388353443258]], [[-4.0622557312079248, 1.3387798115592968, 0.32480042889815319, 2.1295013994128551, -3.7189456668108942], [-1.788647577735123, -1.842702687652876, -4.3026095652399974, -0.077152812459569731, -4.6664349406699257], [2.9413192903258825, -4.4859441770104871, 4.9594686742914202, -0.97460831370420564, 4.9284808460905225], [-0.24960319587420177, -3.7689429430500363, -3.5231961739958306, 0.71546834303276441, 4.5374101240060547]], [[-1.9174833857181692, 4.9157936147301822, -0.305551966573681, 2.5338890138277961, 4.3850372162103266], [-2.3654582641191144, 0.92108822434419224, -2.0075260985326704, -0.54529581692180074, -2.7784169189742149], [-3.9988863634302674, 2.4020952626785244, -0.072954224404554679, 1.4591774646019351, 4.3732008619537961], [-2.4632143526774639, -1.2478121134050859, 1.8200840488967067, 1.4084950778904615, 0.24132132158475006]], [[2.0206978788561614, -1.1119690846875097, 1.0915989279446334, -2.1102327409120889, 2.3430139781607284], [0.63442664223909961, -0.32907326153796301, -4.8769395546009591, -4.2203525086767479, -1.9729100243513353], [1.5465283113183155, -2.0014199220273312, -1.1162332286665233, -0.28142156667339879, -0.62558169399823349], [-0.7131003565943459, -1.4458980703530622, 3.0027156316762884, -3.7991487999903786, -1.1600402165442283]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-0.38881843904953151, 4.2329506166706548, 0.70493299507001428, -4.2256218175508495, -4.2834156934002596], [2.2140255713545445, -4.3636363416198076, -2.6478298029446212, -1.7130616737033888, -2.683797097583839], [-2.5823469662558116, -4.5134875494067135, -3.5530699968465793, -1.6965594133184969, -4.1725786582893427], [1.4325709566666154, 4.9655905080292193, -0.80271101412781753, 0.11089589191908189, 0.75030895984905577]], [[-2.3603063800166781, 0.33658598306043253, 1.0411374714198951, -3.3547601622306678, -2.7476558051147193], [4.6480613480737478, -1.3824160392194971, -2.0447967132705913, 3.1830562440547734, -3.2049910707824605], [-3.2062581168023083, -3.0840199432982027, 0.9103013610238655, -4.0393196933355018, -4.2002736211076774], [2.4242188207446258, 1.0022787332055678, 3.8744856334887707, -1.2747859133049966, -4.8821307477452134]], [[1.9476436079452881, -1.2235599784428528, -3.7471997491270894, -4.8072688350618797, -4.2153779927015922], [-0.73838239122821481, 0.65083868402136247, 1.986771476822681, 2.4271469238011267, 2.5223028766934394], [4.9013613952654893, 0.85467122932385386, -2.8007221390094394, -0.7115110118207566, -1.4914717761757013], [-1.1938932036885905, 4.8242855367036928, -0.20603522950642095, -2.536009578966917, 3.6327193199449077]], [[-3.7007374669837789, -0.7435885723269644, 0.22692065715828669, -1.9371563760151975, 0.79469811722201467], [-0.095381346916192378, 4.8615467848564347, -3.6073456351536093, -2.955825416008373, 3.4607014884861211], [2.8634262283812006, -0.68567700763022632, 3.3382385867337998, 3.6245105019914252, -3.263676851764552], [3.5115597410302222, 3.5106373126084769, -1.0249716615400253, -2.2899967107591057, -1.2095536101534385]], [[0.98118082043248211, -2.2044398211661829, 2.9460181590134784, 4.8800918635764159, 4.7226291208225728], [-3.4392629254410934, -1.8393478877017575, 2.9982525833590445, -0.10065467804172989, 0.068887519302557543], [-3.1156192551333284, 4.0454518527626551, 3.4421119134563529, -3.0477171078089995, -0.11148649903845254], [-2.2846798217615669, -0.52194017267226389, -2.0753332953626091, 1.0630466590537537, -1.5775582259954657]]], [[[-3.7773443022974496, 1.6226085592828419, -4.7047490144285522, 3.6322374150086496, -3.700923566695653], [-4.564968994565989, -4.0781604597787924, -3.6994712773306606, 1.1318694937004494, -2.2283420647134533], [0.026833334220281557, -3.9992985586904153, -2.8896930584546454, -4.172264272935081, -4.2031999914389502], [4.6569354254184727, -1.1419980118072628, 3.7270082499612229, -2.6520258428437824, -2.2160261501685197]], [[-3.2118115476872919, 0.51165065037500135, -4.711028262404735, -1.4974509514215129, -0.51885938578965263], [-2.0296548006566653, 0.91804154350204925, 1.6178521695621129, -2.7703802676972309, 3.9192389268498076], [4.4798972147040601, -4.7518898053142404, -4.419706635033565, 1.0694568972421443, 1.2956523009788059], [1.8615776433765028, 3.1487855082421863, -0.57192874201726163, 2.7183074965467853, -1.4207779886557348]], [[-4.5591407260252961, -0.19086707634497913, -1.8549562696031696, 2.1994008034025896, -4.6261741377683263], [3.4086906126373488, -4.3821206518374956, 1.9723649501816869, 0.71326618054008772, -0.16813860286266902], [-3.6694668781026216, -2.4025317711681415, -3.5968607177886436, 3.1767844446096998, -2.7375942421025234], [1.6998933129781637, 2.9507174776898211, -4.2740912388148029, -3.8525229948285409, -1.1850015096885391]], [[-2.4897312273658945, 3.9787820757174792, 0.96417174550834073, -1.6033396548542278, 0.68237142104838178], [-2.7435736339914749, -1.4254787949065371, 3.9914781830119423, 2.6057925794428591, 1.408220306333571], [-2.2650093664633064, 0.7653524485176435, -1.5089611922332944, -3.1314401886602794, -0.019821322485865878], [0.82600081824352767, 3.8783863728793193, 1.6679826483697946, 2.3943272965631817, 3.7434436695133062]], [[0.59107310308371463, -3.7297255487196104, -2.1957198565052884, -2.9527204624942796, 2.5172846601959984], [1.1527846074960184, -3.9488073811588587, -2.5567694905369187, 3.4436504367939165, 4.2693860578592115], [-0.20180186261942534, -3.0676103415471356, 4.1683391729143224, -3.251233755664086, 3.4758463371031905], [-2.0464577496976943, -0.038951048754589657, -3.4995533659951472, -1.5244553966055809, -4.8350822898358317]]], [[[-4.0710186007729146, 1.8472769361143069, -4.9444043777136297, -2.2956097478894733, 3.6806866224291301], [-2.0424554358617142, -0.76137697554607797, 1.6764221783138389, 0.10873917650598308, 2.7791201084194608], [0.56651115437166943, -3.5279012568183887, -1.0985919975384406, -1.4882726736839977, -3.8055806606007825], [-2.44545797591327, -2.3282334351760028, -1.9195339800445255, -2.755087221447261, 3.9058216364909555]], [[3.8526364758655323, 4.8465143572890366, -0.54001718004270494, 0.50878604071894173, 4.5985477981771243], [2.3688140456536653, -1.0544904299236277, 3.0989809013366152, 0.075997143985814475, 3.9641167837768432], [-0.94589488870034977, 1.9522334971887902, 1.4047053385530948, -2.4455761563273368, -4.2610284934786069], [4.7424814808929945, 3.2911937802143871, -2.8455161677229612, -4.3940886210814263, -1.2333031253140172]], [[0.3547988682946368, 4.6992516184770015, 1.0349639098229888, 3.0817853209637232, 3.6635801579146161], [2.0245511921206489, 3.2563908903201906, 1.2606433390466734, -3.0724362170266795, 2.6374634769298568], [2.7200152848311525, -2.5717760836265979, 2.4728006063336458, 2.047621886788126, -2.3235499088711209], [-3.7092692236473135, 3.0339894664470357, -0.14360783608197281, -1.022042596428212, 2.4135733065914176]], [[-3.470574683192039, -1.0606147434289093, 0.7421917919841361, -3.4960924903144743, -3.6449800211119356], [-4.5064313205803845, -2.8402473783343405, 4.0895701190004452, 4.700407417719223, -0.94636043430257999], [-4.1685739864701148, -4.0905894735961486, -2.4596934002238524, -2.4011845042417246, -2.5959886104127294], [-2.6179159156694256, 3.6470374095858134, -1.7921135029073323, -0.17096022891985285, 0.82905361812834677]], [[-2.4698436068439689, 0.8666367011726539, -4.999994784387539, 2.4257579119479065, -0.69651934013065997], [-4.140331853658374, -1.6605827306360101, 3.7713051925287306, -2.4005002190810432, 1.4992829965497751], [-3.8970560080616492, -2.6433229205477291, -1.1286693723863706, -2.5478779533748641, -0.46758908062439541], [-3.7430961403001661, -0.88924858398228146, 4.2838246709974506, -2.1185524934932576, -0.2719446399997425]]], [[[-0.76492442052692944, -4.8581071889419816, 1.9782144617419304, 3.2018127193108707, 4.4643426164167579], [-2.4573845952099918, -1.733485029722809, 4.0051724420653194, -1.7647252275633871, 2.0250124759759647], [0.72384713321318195, 1.824342447894109, 1.8477207868104353, 4.3380307217097798, -2.4936646654162287], [1.47803169722311, 1.2865803893969332, 3.5557737928443185, -0.83549957037625777, -1.1084126408098682]], [[3.7731008168652771, 1.5615037930569589, -1.2690714480339418, 2.6309116576304481, -3.7713631220582244], [-2.1443266289217036, -4.7615084721777636, -2.0061833229895365, -2.8802630034692402, 0.91124388797772227], [-1.645687085225477, 2.8062080416126092, 1.643859412490368, -2.4147573185539462, -0.083894059439310276], [3.6285169482111552, 3.6529343196332427, -2.354015963764283, 3.7298012730761894, 1.5127904905017298]], [[3.4522532033058244, 3.4850721422826609, -3.313387422592756, 1.0765238420260657, 0.97901268800012531], [3.1823409047740885, 1.7866989787905414, -1.394005513308981, -3.4984811543238639, 3.4803205110033257], [1.33027903334792, 4.4628128394862561, -1.4235194681294705, -2.4380945191658574, 0.20013223749123199], [-2.5774860851576009, -1.4191679072344963, 2.8465114114928838, -3.3325853915616923, -2.0815586976325298]], [[-4.8360637780967064, -0.9921501376213806, -1.3418090890696242, 4.4532874580797106, -2.7730943916053841], [-2.8662870928136153, 1.1455722416804095, 4.4576442825583289, -2.4301633407242007, -2.4706066077527611], [-3.9730306551021952, 4.7590749247248603, 3.6422919121263249, -1.7688724515082188, 4.1135576902345345], [-1.0036289823670619, -4.1947332955659462, -4.0932784843820489, -3.737720934737121, -2.3040309683203231]], [[0.79227535054762299, -4.4540383585724737, -4.3879033622325352, -0.57992898240292057, -3.5239236196630133], [-4.9033203124337614, 1.2455825958833007, 1.2226028230060013, 0.53762406927144291, -4.2296431739897011], [-2.4880055647726342, -3.0479790025818532, -2.1758242974214936, 4.5825829599379091, -4.543024959601091], [-2.3706260719983065, 2.4540702124387481, 0.41192691159422701, -0.29853964195741955, -1.7618576130118879]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.1768648457337481, -1.6882477392160933, -1.5974831950301036, -0.033299927749334657, 0.014877387158987787], [-6.5954716181214232, -6.0760169848290353, -2.0558345546236199, -5.3451295099239999, -5.915325358682197], [-0.24140904734299973, -7.9350641727810318, -1.4068328085979491, -3.9182501997487957, -6.0349501268273693], [-6.607895459519729, -7.972222598571884, -4.5293547049274263, -2.0232954501110898, -3.1226001218757888]], [[9.8638864063099039, 4.0942008360451991, 8.7202309015520818, 0.97076624553532653, 1.3480547044794315], [4.9377331477466804, 9.7788548700141078, 0.69872798887665688, 1.0390271377187723, 2.4770142231048089], [0.43714355611714417, 1.2347173587566509, 4.0570546509942993, 8.8318058871685441, 4.5558830180864636], [7.2372609670938699, 1.4869280945683121, 8.592504567389506, 0.37874553789316412, 4.6365171382844483]], [[0.40574210559327106, -0.03612905260429855, -0.31782564322653784, -2.0776767739888733, -0.22860367786961433], [-8.8319074828810038, -2.1803562802587226, -6.7062842925234261, -2.6658470108706087, -5.8575845983465511], [-4.167800405837923, -6.1352946241618511, -0.75541372998035783, -2.3222759945504272, -4.616343849812468], [-4.2070846160608841, -3.9971387287560765, -0.83407251987308939, -4.3742755919026433, -4.0020823727576307]], [[5.2716066927647809, 3.7231771284573298, -3.1919220890024382, 0.89663082809823713, 0.19362214359794194], [1.6114827918118237, 4.7548931258654825, 1.0234135633299521, -2.0533476976332334, -0.60059829582660207], [0.40793309909052811, 4.8875602241964291, -1.5810190393078885, -0.64778230040104878, 4.8387432622509987], [0.68601799821295106, -0.21621689259680688, 4.5980242251380261, -0.19077327578762837, 2.7862829442537507]], [[7.1022913806307599, 3.9296080459556979, 4.7929031094624186, 0.41706658821479703, 1.6721782102220279], [6.8421957538775171, -1.2321515569480681, 2.7765493887496291, 0.27776573338571842, -0.63899154132751868], [-0.18837892111917043, 4.6056145290575312, -1.5522736098117997, 6.8835210919036509, 1.5803317904493062], [4.8571842167042387, 2.7847878895228551, 6.7644378021743687, 5.9940821274939378, 7.430827639114991]]], [[[7.262197068888228, 3.408883784880623, 2.8290989897141161, -2.2622277272915454, 1.1840690977320314], [-1.2010970666485163, 4.4826492877727624, 4.0233853718668513, -0.44967602358293846, 3.8541716109902993], [6.2166394323571721, 0.49755649640286226, -1.2147516164772374, -1.5039869354381006, -1.2567414629299929], [2.5043671969994286, 7.382067342650525, 5.7134190123578561, 1.1346526599779327, 5.129640817483371]], [[5.1392716606249351, 5.0825697704739792, 5.3503745087184882, 0.9125846499603254, 2.6772278752702441], [-2.9099775745365895, 1.6257094891664732, -0.3023793386842728, -0.50308773552779495, 1.1075487812236133], [2.3423077700950614, 1.9708227709368487, 2.202250410313888, 3.8485043353034705, 1.122765263508068], [4.1793974079605736, 0.87340973930971799, -0.79856860466280777, 0.38753624738016157, -3.216804945800444]], [[8.460517992585002, 7.3215868616105571, 7.1704194450242884, 6.2936305165863837, 4.4145932458116297], [-0.55139319737534986, 4.8899610288746622, 2.4577465596255976, 2.7823270158448374, 4.6948229007971252], [8.7396963257447098, 2.0611914349724181, 7.7808154445806785, 3.4379506592246463, 8.7024450902761199], [3.1303336481920505, -0.38465411372254366, 1.7804274553675223, 9.2541005365528051, 7.993600392899296]], [[-1.946688396976477, -3.917347949842481, -5.272338851696496, 1.3219163539047609, -3.8089211967987819], [-8.4075748523120453, -8.3316459672562466, -2.0608726986202384, -8.2284286267228683, -3.3907395892706913], [-8.4838016991508827, -7.9912231828664773, -1.5744360854974615, -0.26841438634548753, -4.3509239760121581], [-3.8461303176342434, 0.00051200318238242559, -4.373342483227983, -0.084317048127822591, -0.76212936815101218]], [[1.1382833324188582, 0.60460956719617176, 4.9987746351196449, 0.36981657815236035, 1.3334787527672991], [1.9998234341770651, 0.88909554774993094, -1.2769439467695838, 5.2105973322095052, 2.083221596663976], [6.8807553141409734, -1.2875736077083637, 1.5609939130751966, 7.059752352827104, 2.1335699312362593], [-2.2176362568341741, 4.1632080857018163, 1.2890386372342135, 3.0447175357305358, -0.14685562076694225]]], [[[-0.83447163891522269, -4.9405621710863743, -9.6611578868442773, -0.57035816027371578, -9.5258030097053403], [-3.9085332378984061, -0.99122803994844144, -2.6853281373632125, -4.7540260016697999, -0.69819078475813701], [-4.8486572332075175, -5.122929688914458, -4.8857229833181579, -4.3807512869881897, -7.2482226526884874], [-9.0827174967613438, -5.0748848215730442, -8.1291950695912334, -6.8114911908899893, -9.537092458932559]], [[-0.6558327628277314, 2.3309159883161858, -4.2142008200170995, -2.3128639376078177, -3.9226164898711824], [-0.31982039500634274, 1.1214034904928485, 1.8488759397691354, -0.42973344542030523, -6.6171387233297203], [0.3491524100668344, 0.98634103926859895, -6.4520646999136932, -1.3387613297648557, -3.4676805995940052], [-1.9879645833190351, -1.8771712873486268, -4.5546406280818648, -0.20650316234146926, -6.1902822350523437]], [[3.2721574398989546, 6.330569130824661, 1.8498955499173348, 6.4477357554801022, 6.8226328580987206], [-0.72363272431371417, 0.2600989257677222, 1.4221118505951065, 1.0513745630748748, 3.4532194148558677], [5.9786640332456136, 7.6131539069514504, 4.936113367907172, 3.9183853409267391, -2.0625087274446035], [1.2905339999836558, 3.7427954254944238, 2.8786607331619534, 4.5785901629612731, 6.8691372607228631]], [[-1.6901731710543944, 2.8034501609651077, 5.660434962972106, -2.5155143736106673, 1.5166952123518191], [4.4825011235037113, 6.9048588352758742, 0.31359800273717742, -1.7769506641569821, -0.86090157730094141], [2.3101678687255269, 3.0857231838296375, 3.5259724559269285, -1.5991383136425465, -1.863560761709615], [5.9512241029911177, -1.5035844386535659, 5.3350643018981154, 5.1476751291746279, -2.1839243789951031]], [[5.0285515907213245, 1.5565098848110459, 3.5366799046945241, -1.6494028606593178, 1.3263806120673838], [0.68938198932947614, 1.3510318647511994, -0.82092951509370327, 4.5569365148980481, 2.8316912219591099], [0.79946333078443033, 4.7898421481087681, 5.3043254973756486, -0.63711171772441677, 5.3874261155210945], [-2.6415679387730542, 0.72581745238537998, 1.8730453503186473, 5.8957333344860352, -2.0762246015011456]]], [[[2.60569166651986, 7.8261187236625851, 2.06314668618232, 7.1325762684417491, -0.8697823002686782], [6.236807025155092, 5.7063185978814328, 7.0557764767227269, 4.5140563972361001, 5.872215122089921], [0.25717833715480953, 3.0962209884517868, 3.7076077419368207, 0.97339625113154415, 0.32094861492777405], [4.0577052602144672, 7.4702991086103232, 3.0120155326371512, 1.4650940961140781, 2.6416695877850058]], [[-1.3800804502419668, -1.6087781395124949, 0.098305255015467274, 6.7533333144159666, 2.6541077889280231], [1.36125403705329, 4.0974809677411006, 3.4485853619407365, 4.8962001362220509, 4.2033035087274868], [6.4077793899786304, 5.8832708303900123, 1.0935881171655839, 0.23422557474282479, 1.0569018318011851], [6.9273867242291391, 2.4042409544128818, 0.046242459414501891, 4.5181979550538545, 4.1999076654596426]], [[-4.8056128370463718, 0.59542270572084988, -0.41855667694029375, 1.3861442935744082, -4.4623027726493412], [-2.5320046835735699, -2.586059793491323, -5.0459666710784443, -0.82050991829801667, -5.4097920465083726], [2.1979621844874355, -5.229301282848934, 4.2161115684529733, -1.7179654195426526, 4.1851237402520756], [-0.99296030171264871, -4.5123000488884832, -4.2665532798342776, -0.027888762805682532, 3.7940530181676078]], [[-2.9214154183914998, 3.9118615820568516, -1.3094839992470115, 1.5299569811544655, 3.3811051835369961], [-3.3693902967924449, -0.082843808329138291, -3.0114581312060009, -1.5492278495951313, -3.7823489516475455], [-5.0028183961035975, 1.3981632300051938, -1.0768862570778852, 0.45524543192860456, 3.3692688292804656], [-3.4671463853507944, -2.2517441460784164, 0.81615201622337619, 0.40456304521713093, -0.76261071108858047]], [[-1.2580380547376455, -4.3907050182813165, -2.1871370056491735, -5.3889686745058958, -0.93572195543307846], [-2.6443092913547073, -3.6078091951317699, -8.1556754881947668, -7.4990884422705548, -5.2516459579451418], [-1.7322076222754914, -5.2801558556211381, -4.3949691622603302, -3.5601575002672057, -3.9043176275920404], [-3.9918362901881528, -4.7246340039468695, -0.27602030191751847, -7.0778847335841855, -4.4387761501380352]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-1.0411659551079948, 3.5806031006121914, 0.052585479011550973, -4.8779693336093128, -4.9357632094587229], [1.5616780552960812, -5.0159838576782709, -3.3001773190030845, -2.3654091897618521, -3.3361446136423023], [-3.2346944823142749, -5.1658350654651768, -4.2054175129050426, -2.3489069293769602, -4.824926174347806], [0.78022344060815207, 4.313242991970756, -1.4550585301862808, -0.54145162413938142, 0.097961443790592462]], [[-1.9686756851046345, 0.72821667797247613, 1.4327681663319387, -2.9631294673186241, -2.3560251102026757], [5.0396920429857914, -0.99078534430745346, -1.6531660183585477, 3.574686938966817, -2.8133603758704169], [-2.8146274218902647, -2.6923892483861591, 1.3019320559359091, -3.6476889984234582, -3.8086429261956338], [2.8158495156566694, 1.3939094281176114, 4.2661163284008143, -0.88315521839295297, -4.4905000528331698]], [[0.20026312212912245, -2.9709404642590185, -5.4945802349432551, -6.5546493208780454, -5.9627584785177579], [-2.4857628770443805, -1.0965418017948032, 0.23939099100651529, 0.67976643798496106, 0.77492239087727377], [3.1539809094493236, -0.89270925649231181, -4.5481026248256047, -2.4588914976369223, -3.2388522619918669], [-2.9412736895047562, 3.0769050508875271, -1.9534157153225866, -4.2833900647830827, 1.885338834128742]], [[-7.4023645175319803, -4.4452156228751658, -3.4747063933899152, -5.6387834265633998, -2.9069289333261872], [-3.7970083974643942, 1.1599197343082328, -7.3089726857018107, -6.6574524665565749, -0.24092556206208071], [-0.8382008221670012, -4.3873040581784277, -0.36338846381440204, -0.077116548556776632, -6.9653039023127539], [-0.19006730951797968, -0.19098973793972496, -4.7265987120882276, -5.9916237613073076, -4.9111806607016408]], [[1.5230568889418405, -1.6625637526568244, 3.4878942275228368, 5.4219679320857743, 5.2645051893319312], [-2.8973868569317349, -1.2974718191923991, 3.540128651868403, 0.44122139046762854, 0.61076358781191598], [-2.5737431866239699, 4.5873279212720135, 3.9839879819657114, -2.5058410392996411, 0.4303895694709059], [-1.7428037532522085, 0.019935895837094542, -1.5334572268532507, 1.6049227275631122, -1.0356821574861073]]], [[[-8.7023642649529389, -3.3024114033726475, -9.6297689770840407, -1.2927825476468398, -8.6259435293511419], [-9.4899889572214775, -9.0031804224342817, -8.6244912399861491, -3.7931504689550399, -7.1533620273689422], [-4.8981866284352078, -8.9243185213459046, -7.8147130211101352, -9.0972842355905712, -9.1282199540944404], [-0.26808453723701664, -6.0670179744627522, -1.1980117126942664, -7.5770458054992718, -7.141046112824009]], [[-7.3087320721552373, -3.5852698740929441, -8.8079487868726805, -5.5943714758894583, -4.615779910257598], [-6.1265753251246107, -3.1788789809658962, -2.4790683549058325, -6.8673007921651763, -0.17768159761813784], [0.38297669023611469, -8.8488103297821858, -8.5166271595015104, -3.0274636272258011, -2.8012682234891395], [-2.2353428810914426, -0.94813501622575913, -4.668849266485207, -1.3786130279211601, -5.5176985131236798]], [[-7.4728447376894414, -3.1045710880091244, -4.7686602812673149, -0.71430320826155569, -7.5398781494324716], [0.49498660097320357, -7.2958246635016408, -0.94133906148245838, -2.2004378311240576, -3.0818426145268143], [-6.5831708897667669, -5.3162357828322868, -6.5105647294527884, 0.2630804329455545, -5.6512982537666687], [-1.2138106986859816, 0.03701346602567579, -7.1877952504789482, -6.7662270064926862, -4.0987055213526844]], [[0.37922725338862984, 6.8477405564720035, 3.833130226262865, 1.2656188259002965, 3.5513299018029061], [0.1253848467630494, 1.4434796858479872, 6.8604366637664667, 5.4747510601973834, 4.2771787870880953], [0.60394911429121789, 3.6343109292721678, 1.3599972885212299, -0.26248170790575509, 2.8491371582686584], [3.694959298998052, 6.7473448536338436, 4.5369411291243189, 5.263285777317706, 6.6124021502678305]], [[2.9050587317490315, -1.4157399200542935, 0.11826577216002843, -0.63873483382896268, 4.8312702888613153], [3.4667702361613353, -1.6348217524935418, -0.24278386187160184, 5.7576360654592333, 6.5833716865245284], [2.1121837660458915, -0.75362471288181876, 6.4823248015796393, -0.93724812699876914, 5.7898319657685073], [0.26752787896762253, 2.2750345799107272, -1.1855677373298303, 0.78953023205973594, -2.5210966611705148]]], [[[-1.2257957850619405, 4.6924997518252809, -2.0991815620026557, 0.54961306782150077, 6.5259094381401042], [0.80276737984925983, 2.083845840164896, 4.5216449940248129, 2.9539619922169571, 5.6243429241304348], [3.4117339700826435, -0.68267844110741471, 1.7466308181725334, 1.3569501420269763, -0.96035784488980847], [0.39976483979770405, 0.51698938053497123, 0.92568883566644855, 0.090135594263712981, 6.7510444522019295]], [[2.3164376598944418, 3.3103155413179461, -2.0762159960137954, -1.0274127752521487, 3.0623489822060339], [0.83261522968257484, -2.5906892458947182, 1.5627820853655248, -1.460201671985276, 2.4279179678057528], [-2.4820937046714402, 0.41603468121769982, -0.13149347741799566, -3.9817749722984273, -5.7972273094496973], [3.2062826649219041, 1.7549949642432967, -4.3817149836940512, -5.9302874370525167, -2.7695019412851076]], [[0.33360849011117377, 4.6780612402935384, 1.0137735316395258, 3.0605949427802601, 3.6423897797311531], [2.0033608139371859, 3.2352005121367275, 1.2394529608632103, -3.0936265952101425, 2.6162730987463938], [2.6988249066476895, -2.592966461810061, 2.4516102281501828, 2.0264315086046629, -2.3447402870545839], [-3.7304596018307765, 3.0127990882635727, -0.16479821426543584, -1.0432329746116751, 2.3923829284079545]], [[-2.3817488186720945, 0.028211121091035185, 1.8310176565040805, -2.4072666257945299, -2.5561541565919912], [-3.4176054560604401, -1.751421513814396, 5.1783959835203897, 5.7892332822391674, 0.14246543021736446], [-3.0797481219501703, -3.0017636090762041, -1.370867535703908, -1.3123586397217801, -1.507162745892785], [-1.5290900511494812, 4.7358632741057578, -0.70328763838738784, 0.9178656356000916, 1.9178794826482912]], [[1.7011796602821585, 5.0376599682987813, -0.82897151726141161, 6.5967811790740338, 3.4745039269954674], [0.030691413467753392, 2.5104405364901172, 7.942328459654858, 1.7705230480450842, 5.6703062636759025], [0.27396725906447816, 1.5277003465783983, 3.0423538947397568, 1.6231453137512633, 3.703434186501732], [0.42792712682596123, 3.2817746831438459, 8.4548479381235779, 2.0524707736328698, 3.8990786271263849]]], [[[3.0730744522700224, -1.0201083161450297, 5.8162133345388822, 7.0398115921078226, 8.3023414892137097], [1.3806142775869601, 2.1045138430741428, 7.8431713148622713, 2.0732736452335647, 5.8630113487729165], [4.5618460060101338, 5.6623413206910609, 5.6857196596073871, 8.1760295945067316, 1.3443342073807232], [5.3160305700200619, 5.124579262193885, 7.3937726656412703, 3.0024993024206941, 2.7295862319870836]], [[0.44828879991823101, -1.7633082238900872, -4.5938834649809879, -0.69390035931659799, -7.0961751390052701], [-5.4691386458687496, -8.0863204891248088, -5.3309953399365826, -6.2050750204162863, -2.4135681289693238], [-4.9704991021725231, -0.51860397533443692, -1.680952604456678, -5.7395693355009918, -3.4087060763863564], [0.30370493126410913, 0.32812230268619658, -5.6788279807113291, 0.40498925612914327, -1.8120215264453163]], [[7.5440214636826202, 7.5768404026594567, 0.77838083778403977, 5.1682921024028614, 5.0707809483769211], [7.2741091651508842, 5.8784672391673372, 2.6977627470678147, 0.59328710605293189, 7.5720887713801215], [5.4220472937247157, 8.5545810998630518, 2.6682487922473253, 1.6536737412109384, 4.2919004978680277], [1.5142821752191948, 2.6726003531422995, 6.9382796718696795, 0.75918286881510344, 2.010209562744266]], [[-6.849554878018127, -3.0056412375428012, -3.3553001889910448, 2.43979635815829, -4.7865854915268047], [-4.8797781927350359, -0.86791885824101112, 2.4441531826369083, -4.4436544406456218, -4.4840977076741817], [-5.9865217550236158, 2.7455838248034397, 1.6288008122049042, -3.7823635514296394, 2.1000665903131139], [-3.0171200822884825, -6.2082243954873668, -6.1067695843034695, -5.7512120346585416, -4.3175220682417432]], [[-1.3944421016968813, -6.6407558108169784, -6.5746208144770399, -2.7666464346474249, -5.7106410719075171], [-7.0900377646782662, -0.94113485636120364, -0.964114629238503, -1.6490933829730614, -6.416360626234205], [-4.6747230170171381, -5.2346964548263575, -4.3625417496659979, 2.3958655076934048, -6.7297424118455957], [-4.5573435242428104, 0.26735276019424381, -1.7747905406502773, -2.4852570942019239, -3.9485750652563922]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_taggedData_rank3(self):  
       arg0=Data(numpy.array([[[0.027044763162558993, 3.5582109887869393], [-0.91809250161700895, -2.2990717377890713]], [[2.3365280031955677, -1.2876385425725054], [1.2039708994742284, 0.95586002229713252]], [[0.64432776882704523, 0.20534591259147739], [-1.8596312854541353, -3.0041451556147347]], [[1.6980724863111014, -3.0015413885505362], [3.137677630682056, 3.0800923798364384]], [[0.63496022925968987, -2.7135911336842042], [-4.4322361710665295, -1.9660916517300473]], [[3.499072100041797, -0.63211426669379644], [2.964854840933933, 1.8592009356618391]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[1.6371173973449196, 2.9000595294628937], [-1.1707952589444623, 0.92506412047434505]], [[2.7814559810252657, -4.1559041330380797], [-3.8149613731243956, 3.0106350733642575]], [[0.14000588215651, -2.3327702384360336], [-0.064799890779553948, -1.7829116081454002]], [[-3.4202358193551561, 2.9159022138257171], [-1.9940207947479536, 4.5946140930229102]], [[0.90071145299579314, -2.5071690801445259], [-4.0049907537059024, -4.4840521073146578]], [[-4.1364231333643584, 2.2994985777486363], [-0.18573275007238355, 3.322440939777545]]]))  
       arg1=Data(numpy.array([[[-4.8211576375593452, -3.7484303817810813], [3.7127635714296652, 4.6241927874317454]], [[0.64414955225911186, -3.5797972325172633], [-1.7376852225562214, -3.1377420720741709]], [[0.18945177070384389, 4.0497951336001865], [3.858450824956595, -2.9580978077279441]], [[4.8011910923991223, -2.7912993882859274], [3.2900493958183716, -0.21529876738589859]], [[-2.2831578071263947, -2.1638639926071401], [1.2603613868155374, 0.9117260808280383]], [[4.4745914323235407, -2.5172865720380577], [-2.3780299182718725, 2.044623899449598]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[1.569510414911278, 4.8494336065523687], [-3.5814120851584805, 3.4413922794692944]], [[-2.7451522140365969, 4.6398496047921292], [0.096371684936597646, 2.4827965915652168]], [[-4.2466627892918467, 4.4383795885575914], [0.2773580875790902, -1.4499730526240526]], [[-2.7706635155570547, -3.2457780389872148], [-4.6119236218568371, 3.6684091881611014]], [[-2.3041038836490788, 3.8711825799071349], [-3.3373461608487154, -3.6977790212133899]], [[-1.6552091316098752, -1.1783312439052196], [4.9840169422835121, 2.7362124607223723]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[-4.7941128743967862, -0.19021939299414203], [2.7946710698126562, 2.3251210496426742]], [[2.9806775554546796, -4.8674357750897688], [-0.53371432308199296, -2.1818820497770384]], [[0.83377953953088912, 4.2551410461916639], [1.9988195395024597, -5.9622429633426783]], [[6.4992635787102238, -5.7928407768364636], [6.4277270265004276, 2.8647936124505398]], [[-1.6481975778667048, -4.8774551262913448], [-3.171874784250992, -1.054365570902009]], [[7.9736635323653378, -3.1494008387318542], [0.58682492266206054, 3.9038248351114371]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[3.2066278122561975, 7.7494931360152624], [-4.7522073441029429, 4.3664563999436394]], [[0.036303766988668773, 0.48394547175404945], [-3.718589688187798, 5.4934316649294743]], [[-4.1066569071353367, 2.1056093501215578], [0.21255819679953625, -3.2328846607694528]], [[-6.1908993349122108, -0.32987582516149772], [-6.6059444166047907, 8.2630232811840116]], [[-1.4033924306532857, 1.364013499762609], [-7.3423369145546182, -8.1818311285280476]], [[-5.7916322649742336, 1.1211673338434167], [4.7982841922111286, 6.0586534004999173]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_taggedData_rank3(self):  
       arg0=Data(numpy.array([[[[-4.0755129086765693, -0.40469556917525829], [-2.5150010435412637, -0.39937436614193444]], [[-1.1013788037182182, 4.2064370978620307], [2.8044791270677347, 1.850202601674904]]], [[[4.00507206266618, -0.35861422391364783], [-0.86755835799420211, 0.42677595166423288]], [[3.8200808002662647, 1.3172387421028677], [-3.9881717950727658, 0.35561550891203719]]], [[[-2.9569234497501218, -4.0829429055278679], [-2.3632178036696039, -4.2623990471631199]], [[-3.920335580564478, -3.0950140055000719], [-0.62661910763230644, 0.38729534640980745]]], [[[3.6470098995041749, -0.25823683566011013], [-3.6317501598924085, 4.1362175946110842]], [[3.4148200805225724, 2.5466530379784373], [-3.4660672477681564, -3.7366572751937666]]], [[[3.1613418807046472, -4.9183647010685245], [0.80943266499965993, -0.22509405621346978]], [[-4.9134007377043076, 3.2487743810355738], [1.2213833247497705, -4.7331599477550821]]], [[[4.8020456714764634, 2.2667527540360783], [-3.4341636708572008, -0.66636519070498323]], [[-4.5216072970643637, -4.7634677799285186], [3.0506538686301568, -2.2492321111434643]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-3.7684943523197898, -0.63459086313410662], [-4.8552525636313462, 2.9957079314232988]], [[-2.3244378698817036, 2.4518942389294196], [2.8922011049757916, -2.8063570183882502]]], [[[1.7714152050344101, -0.032215058325721024], [1.7736844790674811, 3.3548779605949104]], [[-1.4020869713122175, -4.2007913137620188], [-4.5556159851790143, -2.9902679879689775]]], [[[-4.3424631406060197, -1.7813380197951991], [-3.9193209432445828, -0.31798139663766278]], [[0.96670617607344766, -3.1311540149489838], [-4.4779270147282437, 3.0498914716872818]]], [[[3.6669489896820302, -0.51463354094774694], [2.9796313705403357, 1.8608145611823801]], [[0.87842595103152554, 4.6741645803619942], [-3.3805765472899276, -3.8294209209409305]]], [[[-1.1921738802219917, -1.7242188972411276], [-1.9113525313679167, 0.58651381318080364]], [[4.7554029135407543, -1.0697506390659903], [-1.417627729875349, 4.2060591246511549]]], [[[-1.9660172317008118, -4.6347809190917282], [-2.3383537597244972, 4.9195271641594545]], [[4.7570552411321856, -2.9513817712797232], [-1.1168010582011592, 3.4468589711940378]]]]))  
       arg1=Data(numpy.array([[[-1.1950931395112163, 3.480397968521725], [4.6158366666994848, 4.8635402409051753]], [[-1.2326655000646536, -4.8337828042113529], [-1.766131398443048, 3.2371908914142917]], [[3.0368773277161161, 4.2608843092247142], [4.4678991667036012, 4.6689953412482943]], [[4.4894894518832409, -4.5927289520799706], [3.7401402848288061, -3.8753161005236878]], [[-4.5413237938887372, -4.5616921091033467], [0.77782319791915455, -3.9021288887558345]], [[4.4088572708990945, 1.3138382965933904], [-4.617906159233848, -4.1496952649632215]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[4.2660226146754212, 4.848883346646975], [2.7465226057821459, -0.82823295103589345]], [[3.2899196416737091, -2.937212464480401], [2.6650379874546672, -3.6594144987740873]], [[-4.9120418348586306, 0.39328288588135862], [-1.2492245893463529, -1.9120254527921556]], [[0.95396180713282064, 0.45215637701467504], [-2.0781644639365036, -0.56940431761878507]], [[-0.92928150266622112, -3.1332056299452904], [-0.030442762424557124, 1.2958925057369139]], [[2.0822555967555179, 2.1957382220429604], [-2.9142316950811811, -0.64719707980500196]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-5.2706060481877852, -1.5997887086864746], [0.96539692498046126, 3.0810236023797906]], [[3.5144578629812666, 8.8222737645615155], [7.6680193679729101, 6.7137428425800794]]], [[[2.7724065626015264, -1.5912797239783014], [-5.701341162205555, -4.40700685254712]], [[2.0539494018232167, -0.44889265634018027], [-0.75098090365847403, 3.5928064003263289]]], [[[0.079953877965994291, -1.0460655778117518], [1.8976665055551103, -0.0015147379384057302]], [[0.54756358613912326, 1.3728851612035293], [4.0423762336159879, 5.0562906876581017]]], [[[8.1364993513874158, 4.2312526162231308], [-8.2244791119723786, -0.45651135746888638]], [[7.1549603653513785, 6.2867933228072435], [-7.3413833482918438, -7.6119733757174544]]], [[[-1.37998191318409, -9.4596884949572626], [-3.7522594441036867, -4.7867861653168164]], [[-4.1355775397851531, 4.0265975789547284], [-2.680745564006064, -8.6352888365109166]]], [[[9.210902942375558, 6.6756100249351729], [-2.1203253742638104, 0.64747310588840712]], [[-9.1395134562982108, -9.3813739391623656], [-1.0990413963330647, -6.3989273761066858]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[0.49752826235563141, 3.6314317515413146], [-0.0063692169843712065, 7.8445912780702738]], [[0.42208473590044226, 5.1984168447115655], [2.0639681539398982, -3.6345899694241437]]], [[[5.0613348467081192, 3.2577045833479881], [-1.1635279854129199, 0.41766549611450943]], [[1.2629510161424498, -1.5357533263073515], [-8.2150304839531021, -6.6496824867430648]]], [[[-9.2545049754646502, -6.6933798546538297], [-3.5260380573632242, 0.075301489243695841]], [[-0.28251841327290528, -4.3803786042953368], [-6.3899524675203994, 1.1378660188951262]]], [[[4.6209107968148508, 0.4393282661850737], [3.4317877475550107, 2.3129709381970551]], [[-1.199738512904978, 2.5960001164254907], [-3.9499808649087127, -4.3988252385597155]]], [[[-2.1214553828882128, -2.6535003999073488], [-5.0445581613132067, -2.5466918167644867]], [[4.7249601511161972, -1.1001934014905475], [-0.12173522413843507, 5.5019516303880689]]], [[[0.11623836505470608, -2.5525253223362103], [-0.14261553768153679, 7.1152653862024149]], [[1.8428235460510045, -5.8656134663609043], [-1.7639981380061611, 2.7996618913890359]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_taggedData_rank4(self):  
       arg0=Data(numpy.array([[[-3.1969329253304792, 4.6614454465150086], [-2.7367675433702408, 3.0602376625086052]], [[1.4934047183954204, -0.13534714204000764], [-3.2342048196314233, -2.5096352862497806]], [[4.122270393777983, -3.3962974129725709], [-2.7202152499530707, -0.31468915333916581]], [[3.1393707125890877, 4.9190448167125957], [2.5226812838629398, 0.091970053082550685]], [[4.550516817149985, 3.9360795409463893], [1.3164848559999021, -4.2647870849748513]], [[-3.5853821817796785, 4.5851304607574122], [1.1428273520557619, 1.0025885723597199]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-1.6434395198877514, 4.7518656613097168], [-0.38670309632970223, -4.3730915045888725]], [[3.5700385098670395, 2.815603943812329], [2.0115025121920329, -4.7634626233815283]], [[0.10780056361727119, 3.2357116957360699], [0.13884282765307621, -2.7208653810374672]], [[0.071970157451555217, -3.071539733503247], [0.63738033462010257, 0.75709711515479938]], [[1.8960553263422142, -1.4187261214320745], [-2.0398081840300843, 2.3872268391012961]], [[3.028613637433212, -0.48312962773749302], [3.130309741751649, 2.4273730843257768]]]))  
       arg1=Data(numpy.array([[[[1.3043830516278208, 3.7040092131611786], [2.4326796343301149, 3.9727502121229659]], [[2.898562213963749, 4.6069103753328235], [0.70413586651508631, -4.5336826213550854]]], [[[-0.72611589699528967, -1.4073543076343933], [-0.30622855611380562, 3.5405932488334653]], [[-0.70045621120246171, -3.5073845166155513], [1.3503716433070823, -4.8533980158041068]]], [[[1.2843488348439731, -0.57846075360012872], [-0.67582825586738515, -3.6442514552235696]], [[-3.5329998631770678, 4.7919992993304064], [0.54917679023299559, 4.3567722769963009]]], [[[-0.39139155240655832, 2.4096972259745986], [2.0038699152196306, 0.34522618751809908]], [[-0.19598262859071536, -3.2653678030937536], [-2.7325931248589796, 2.9748600968776202]]], [[[2.8670509665399777, 0.10809363351282908], [2.7801983866771485, -1.9544116225525379]], [[0.60623576926910339, -0.45252660659454769], [-0.15301624998613406, 1.1878339034247709]]], [[[3.2810291535454752, -1.7325522980426431], [-1.1732430759425769, -3.6520878830896706]], [[-3.6980359950108896, 4.810071025847769], [-2.7084613421757844, -0.73022085073340737]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-1.3766263512791199, -0.97691603490333101], [3.2909673231363694, -3.4440233123599437]], [[0.42486917432448124, -4.7569205792224807], [2.3564982041187319, 1.5487424110873995]]], [[[4.3898332189624263, -0.44364699009436137], [1.8566050696474923, -2.0791165700937064]], [[-3.5458569287041009, -2.8934982217353644], [-0.24015956696932594, -4.3030975047588047]]], [[[1.4176525980671117, -3.8992914592814687], [-4.3417860630948111, -3.612822049321549]], [[-0.26676279974547601, -3.7551318798154343], [0.4935050780679191, -4.9472815533049994]]], [[[-2.7782830735468291, -3.01480156246999], [-2.2220733034114817, -4.2874069868809741]], [[-3.1130187707057342, 0.67508405012798622], [-1.133869868193905, 3.1193060565584947]]], [[[2.2992461790643706, -4.0752446983968369], [3.6284059445604075, -4.9711094727160692]], [[-3.1145861762765281, -0.71499175975120366], [-2.4070373253580426, 4.0060865727597932]]], [[[3.8311977709921017, -1.135782763710742], [0.53671434575224186, -0.75197077931661394]], [[3.0372622432250722, 1.0800676955815458], [2.4076441732741625, 3.5881328789891338]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-1.8925498737026585, 0.50707628783069936], [7.0941250808451235, 8.6341956586379744]], [[0.16179467059350827, 1.8701428319625828], [3.7643735290236915, -1.4734449588464802]]], [[[0.76728882140013077, 0.086050410761027152], [-0.44157569815381326, 3.4052461067934576]], [[-3.934661030833885, -6.7415893362469745], [-1.1592636429426983, -7.3630333020538874]]], [[[5.4066192286219561, 3.5438096401778543], [-4.0721256688399556, -7.0405488681961401]], [[-6.253215113130139, 2.0717840493773356], [0.23448763689382979, 4.0420831236571351]]], [[[2.7479791601825294, 5.5490679385636863], [6.9229147319322264, 5.2642710042306948]], [[2.3266986552722244, -0.74268651923081386], [-2.640623071776429, 3.0668301499601709]]], [[[7.4175677836899627, 4.6586104506628141], [6.7162779276235378, 1.9816679183938515]], [[1.9227206252690054, 0.86395824940535437], [-4.4178033349609853, -3.0769531815500804]]], [[[-0.30435302823420329, -5.3179344798223216], [3.4118873848148352, 0.93304257766774157]], [[-2.5552086429551277, 5.9528983779035309], [-1.7058727698160645, 0.27236772162631251]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[-3.0200658711668713, -2.6203555547910824], [8.0428329844460862, 1.307842348949773]], [[0.038166077994779002, -5.1436236755521829], [-2.0165933004701406, -2.824349093501473]]], [[[7.9598717288294658, 3.1263915197726782], [4.6722090134598213, 0.73648737371862261]], [[-1.5343544165120679, -0.88199570954333151], [-5.0036221903508542, -9.066560128140333]]], [[[1.5254531616843829, -3.7914908956641975], [-1.1060743673587412, -0.37711035358547917]], [[-0.1279199720923998, -3.6162890521623581], [-2.2273603029695481, -7.6681469343424666]]], [[[-2.7063129160952739, -2.9428314050184348], [-5.2936130369147287, -7.3589467203842212]], [[-2.4756384360856316, 1.3124643847480888], [-0.37677275303910562, 3.8764031717132941]]], [[[4.1953015054065848, -2.1791893720546227], [2.209679823128333, -6.3898355941481437]], [[-5.1543943603066129, -2.754799943781288], [-0.019810486256746529, 6.3933134118610893]]], [[[6.8598114084253137, 1.8928308737224699], [0.053584718014748844, -1.235100407054107]], [[6.1675719849767212, 4.2103774373331948], [4.8350172575999393, 6.0155059633149106]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_taggedData_rank4(self):  
       arg0=Data(numpy.array([[[[0.45697624525279945, 0.78408705024449077, -2.7080159229095169, -2.551975352421664], [-2.4919690837581578, 0.69733527768645942, 3.3998993138798177, -2.9960927605095744], [4.8165401563002312, -0.77713733308440069, -2.6970997851916345, -1.4176654502401331]], [[-1.0787259235322502, 2.0759634852289839, -4.3071840194742244, 3.4666556431683642], [0.42501371234705942, -3.2599508022209687, -0.89392588178343679, -4.3165865279468925], [4.6143670927153444, 0.66573603413059423, 0.43876992531250458, 4.2993315623471666]]], [[[-3.1493885805786692, -3.9605772090762592, -1.9194657885873601, 4.6366409126537462], [-3.1381142417364991, -0.18447543951084366, 4.7464062393762845, -4.8140259368935601], [4.1880867202099399, -2.9194017160901131, -4.0893976567565851, -2.6655318879473224]], [[3.8957099415597316, 4.9405731408327362, 2.717324941901448, -2.433075706758089], [0.16954563719633065, 3.8339616846793962, 0.87326384644512789, -3.7341724975414192], [-3.2867830972519316, -0.10244282235593083, 2.5043638198913651, -1.7222194149710681]]], [[[1.188800085052419, -3.5434510872053151, 3.6115169765352455, -1.1048226287994858], [3.3890569572355176, -1.01878275013499, 1.2137543582733912, -3.2216667041070202], [-1.8801271836848752, 1.4115081594143835, 1.9278958297469009, -0.32958772740554387]], [[-4.0893771652074475, 2.3018980423060587, 3.2456946477908932, -1.5599193191473129], [2.6653712461496539, 1.1988084808302366, -4.6417016743617783, -1.1110042418852419], [-3.3621058245009792, 0.82802777929944416, 4.048790823315894, 3.4003980962732623]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[3.4756403354250871, 3.0540571869050819, 4.9380453159789788, 2.8311452687372789], [1.8248622333615021, 1.7702356339021925, -3.881696258032421, 4.1245024564985169], [2.9744693489351697, -0.57969716258619819, -3.1026947236670424, 1.3609862890271929]], [[0.11840499113278113, 4.8368369639791187, -0.74164418938721965, 3.0746686913710803], [-3.0734490921800237, -2.8801015344892935, -3.5928150577239681, -2.9283218943007205], [-4.1062513514749472, -0.6356636215288276, 2.3511475683328271, 1.8656344883595866]]], [[[-3.4133961137932167, -4.2213893640191067, -0.44316328502723135, -4.9056659018903561], [4.3889810268771416, 0.11171361170918903, -2.013311208040891, 0.92467508932298159], [-0.44246667206348178, -4.7587567568761919, 4.4436692146166852, -3.5503426230606405]], [[3.8533997958879258, 0.81518652215657106, -4.5230871928040024, 4.9271428205554475], [1.1024811382993374, 4.5568683972425497, 0.16522019991075787, 3.5388500011317383], [3.3873862847102583, -2.1709874307614307, 1.112552739198037, -1.139767311829333]]], [[[-3.0087451404309009, -1.5033235801037392, -2.8073317657953032, -4.2741756748884461], [3.2997759226745789, -1.4641655397333886, -1.2938318499423138, -1.7199127081280685], [-0.43518962024129326, 4.0755186013612335, 1.3190406639562271, 0.11655960933950027]], [[-1.681415213462488, -1.2036817374479689, -2.2750536662953813, 2.029162360124154], [4.9465289910606103, -3.5338955909581706, 1.6176672420558909, -3.8883006139712641], [2.7163805948279318, 2.6513965492216087, -4.5388325197814297, -2.6205328061240643]]]]))  
       arg1=Data(numpy.array([[[[-1.3661505232807327, 3.8113825628777978, -1.7824098815152025, -4.4886688406723625], [4.9655637501169778, -1.4072741690652557, -2.0622106674933716, 4.3623095410611192], [-2.0919655721475419, -2.4131370843208897, -1.8349559710124428, -4.5233001325506104]], [[-2.3912000997395544, 0.31933712957666582, -2.5727551641870838, 4.7434517053450982], [-4.3601989573079241, -4.1846264747677173, 3.79812685680103, 4.7716370401207815], [-1.8356727794687631, -2.0131241573547354, 4.2557478759034488, -0.65127995353420065]]], [[[-4.4057999217475814, 1.3331541315970572, -3.9794887758088828, -4.68461282336433], [2.9668188791943599, -3.9701792549868764, -2.6245002306194918, 2.959608553471627], [-0.75053821950750255, -4.1660783278083571, 1.1794789994773751, 3.310425370732597]], [[-3.3333441251970051, 2.1844053130558638, -0.50511812156186764, -2.3889459472348005], [4.5292329557619961, 3.5851849689260131, -4.0303186903168298, 0.2663405436689823], [-4.8761099797137044, 1.6250146823981462, 4.2763038196606882, 1.7254274497673885]]], [[[-2.4097026927394838, 1.0383999878371508, -1.2943824399051485, 4.9509791260170779], [4.8602817089508346, 3.1901420833944822, 2.0869661295167212, -1.444247563894173], [-1.1337444722965397, 1.5072471860871151, -2.3580639802267389, -0.40513101968795073]], [[1.4599923999454294, 2.3009466990944984, -4.189163739623579, 0.38334360838053527], [4.1741745755458144, -0.47926514757519811, -2.8061918502142849, -3.4407602039240883], [-4.2944603916588644, 3.4342899216890448, 1.4748423966063831, -0.9992735572563145]]]]),self.functionspace)  
       arg1.setTaggedValue(1,numpy.array([[[[-3.0445868061974624, 0.71557572484014198, -0.88910003303277474, 2.0977229058778182], [-0.70548605915823259, -3.8237289363059368, -2.7816913793761833, -4.6586526828516659], [-4.3123954616538454, -1.9725243797414524, 1.1324573534109996, -4.8621151364868105]], [[4.8111588975643276, 3.635170050257285, 4.7700987217908803, 2.5863484047202032], [2.1553523135989296, 4.6241249255852956, 0.96501848132614931, 4.1486010352971636], [3.0643353028412328, -1.7932776307238498, 1.65520917693852, 3.1189111992238097]]], [[[-4.0142950043927428, -3.823557837524485, 4.319366328171526, -4.6160783736533819], [4.122159043366949, -0.55941991305216288, -3.4270091951801396, 3.7571056649923467], [0.76412303430518502, 1.1504739992890745, 3.7626808190574135, -0.68939806918294178]], [[0.39688983526976429, -0.32222349129218308, -4.2048794003690171, -2.2128591342405581], [-0.60927189725549447, -2.7079367523260522, 1.658206136380544, -2.0040359153028611], [-2.1186908560792461, 2.5071364357072978, -4.8769473569754549, -4.9689315518404928]]], [[[-3.7428612873472278, 1.6298315201796392, -0.29541047093200312, 0.91134134462515703], [-4.4652482653467906, 0.54802519414707707, 4.596231816268979, -2.1648332709874216], [1.957687352600975, -1.8641349589481173, -2.7364511958842352, -2.7164358961994264]], [[3.9521751846517823, -2.9529701965927502, -0.73258387722877405, 4.2017702937727677], [-2.9949479760424422, -1.7181147326145085, -0.78430714889767117, 1.1261231773378322], [-4.2678877911308426, -4.3630273957537424, 1.9232639485602903, -3.0447596527788958]]]]))  
       res=add(arg0,arg1)  
       ref=Data(numpy.array([[[[-0.90917427802793327, 4.5954696131222885, -4.4904258044247189, -7.0406441930940264], [2.47359466635882, -0.70993889137879629, 1.3376886463864461, 1.3662167805515448], [2.7245745841526894, -3.1902744174052904, -4.5320557562040769, -5.9409655827907439]], [[-3.4699260232718045, 2.3953006148056497, -6.8799391836613086, 8.2101073485134624], [-3.9351852449608646, -7.444577276988686, 2.9042009750175932, 0.45505051217388903], [2.7786943132465813, -1.3473881232241411, 4.6945178012159534, 3.648051608812966]]], [[[-7.5551885023262511, -2.627423077479202, -5.8989545643962433, -0.047971910710583821], [-0.17129536254213917, -4.1546546944977205, 2.1219060087567927, -1.8544173834219331], [3.4375485007024373, -7.0854800438984702, -2.90991865727921, 0.64489348278527459]], [[0.56236581636272653, 7.1249784538886001, 2.2122068203395804, -4.8220216539928895], [4.6987785929583268, 7.4191466536054094, -3.1570548438717019, -3.4678319538724369], [-8.162893076965636, 1.5225718600422153, 6.7806676395520533, 0.0032080347963203693]]], [[[-1.2209026076870648, -2.5050510993681643, 2.3171345366300971, 3.8461564972175921], [8.2493386661863521, 2.1713593332594923, 3.3007204877901124, -4.6659142680011936], [-3.0138716559814149, 2.9187553455014985, -0.43016815047983803, -0.73471874709349461]], [[-2.6293847652620181, 4.6028447414005571, -0.94346909183268579, -1.1765757107667776], [6.8395458216954683, 0.7195433332550385, -7.4478935245760631, -4.5517644458093303], [-7.6565662161598436, 4.2623177009884889, 5.5236332199222771, 2.4011245390169478]]]]),self.functionspace)  
       ref.setTaggedValue(1,numpy.array([[[[0.43105352922762474, 3.7696329117452239, 4.048945282946204, 4.9288681746150971], [1.1193761742032695, -2.0534933024037443, -6.6633876374086043, -0.53415022635314902], [-1.3379261127186757, -2.5522215423276506, -1.9702373702560427, -3.5011288474596176]], [[4.9295638886971087, 8.4720070142364037, 4.0284545324036607, 5.6610170960912836], [-0.91809677858109406, 1.7440233910960021, -2.6277965763978188, 1.2202791409964431], [-1.0419160486337145, -2.4289412522526774, 4.0063567452713471, 4.9845456875833962]]], [[[-7.42769111818596, -8.0449472015435912, 3.8762030431442946, -9.5217442755437389], [8.5111400702440907, -0.44770630134297384, -5.4403204032210306, 4.6817807543153283], [0.32165636224170324, -3.6082827575871175, 8.2063500336740987, -4.2397406922435827]], [[4.2502896311576901, 0.49296303086438797, -8.7279665931730186, 2.7142836863148894], [0.49320924104384289, 1.8489316449164974, 1.8234263362913019, 1.5348140858288772], [1.2686954286310121, 0.33614900494586708, -3.7643946177774179, -6.1086988636698258]]], [[[-6.7516064277781282, 0.12650794007589994, -3.1027422367273063, -3.362834330263289], [-1.1654723426722118, -0.91614034558631152, 3.3023999663266652, -3.8847459791154901], [1.5224977323596818, 2.2113836424131161, -1.4174105319280081, -2.5998762868599261]], [[2.2707599711892943, -4.1566519340407186, -3.0076375435241554, 6.2309326538969216], [1.9515810150181681, -5.2520103235726792, 0.83336009315821968, -2.762177436633432], [-1.5515071963029108, -1.7116308465321337, -2.6155685712211394, -5.6652924589029601]]]]))  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_expandedData_rank0(self):  
       arg0=Data(2.40692128115,self.functionspace)  
       arg0.setTaggedValue(1,4.58276710489)  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*(-2.06978776562)+(1.-msk_arg1)*(0.778812640117)  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*(0.337133515531)+(1.-msk_ref)*(5.36157974501)  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_expandedData_rank0(self):  
       arg0=Data(numpy.array([-1.0651205752714632, 2.1384003461483179]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-1.42018205492516, -3.4426214861294966]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*(0.308744697483)+(1.-msk_arg1)*(3.91018914097)  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([-0.75637587778864424, 2.4471450436311368])+(1.-msk_ref)*numpy.array([2.4900070860419756, 0.46756765483763907])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_expandedData_rank1(self):  
       arg0=Data(-4.0082096112,self.functionspace)  
       arg0.setTaggedValue(1,0.917767997361)  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([-3.3713834314617475, 1.017232070729488])+(1.-msk_arg1)*numpy.array([-3.8808274420324205, 0.92821535530986488])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([-7.3795930426576035, -2.9909775404663677])+(1.-msk_ref)*numpy.array([-2.9630594446713605, 1.8459833526709248])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_expandedData_rank0(self):  
       arg0=Data(numpy.array([[0.67401962620985501, 4.1827648743701822, 1.7509259177107399, 0.44328298213616701, 1.4207715774664091], [4.5200859098820789, -3.64665489230822, 3.5841077702985675, -2.9934230610347434, 4.4891762896806107], [-2.0314111638933188, 1.4526276762488912, -2.3947030233101909, -3.6905650655437814, -1.5113228975530788], [-3.0024609503808088, 1.6765951721290726, -4.4352094596972078, -1.2692745556551133, -4.8647863341411366]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[2.0437038696735339, 4.5607480041573538, 0.3735923264912886, 1.6561603607770872, 1.1696963326749863], [-0.087349912436516242, -3.2010086908343949, -0.12372987702575688, -0.39700575714796127, 0.8867768203345392], [-1.0471888644804062, -0.29523751359826189, 2.5149267515122027, -0.096808973389962638, 2.1347390058976634], [-2.5807107459930534, 2.8862199540578706, -2.2754772896832334, 1.8507983293878887, 3.1992918934731733]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*(2.98640490902)+(1.-msk_arg1)*(-1.76910188099)  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[3.6604245352266815, 7.1691697833870087, 4.7373308267275664, 3.4296878911529936, 4.4071764864832357], [7.5064908188989055, -0.66024998329139351, 6.5705126793153941, -0.0070181520179168899, 7.4755811986974372], [0.95499374512350776, 4.4390325852657178, 0.59170188570663562, -0.70416015652695485, 1.4750820114637477], [-0.01605604136398231, 4.6630000811458991, -1.4488045506803813, 1.7171303533617133, -1.8783814251243101]])+(1.-msk_ref)*numpy.array([[0.27460198868326824, 2.7916461231670882, -1.3955095544989771, -0.11294152021317849, -0.59940554831527937], [-1.8564517934267819, -4.9701105718246605, -1.8928317580160225, -2.1661076381382269, -0.88232506065572647], [-2.8162907454706718, -2.0643393945885276, 0.74582487052193702, -1.8659108543802283, 0.36563712490739775], [-4.3498126269833186, 1.1171180730676049, -4.044579170673499, 0.081696448397623023, 1.4301900124829077]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_expandedData_rank2(self):  
       arg0=Data(-2.09922320047,self.functionspace)  
       arg0.setTaggedValue(1,1.64059634833)  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[-4.2020895674539691, -2.345768731957846, -3.7074409583190562, -0.71521944725161379, -3.3640402563820579], [-1.7696027784365018, -3.4575886399054778, -3.7784924455220361, 4.5197118566402601, 2.5467556106695346], [-1.433776798150145, -4.4622491780247495, -0.98347669852342356, 0.5673119164503948, 2.110260889711002], [4.4384181603926471, -3.2913761250163374, -0.073340094828859392, 0.44063707211639702, -3.1146360546364282]])+(1.-msk_arg1)*numpy.array([[0.3031423747994042, 3.3478589149891516, 1.8587177847647283, -1.7211223527770492, 2.0597595776378927], [0.3970529567645773, 4.4385663060231355, -3.9887108857146245, 4.6935511803852812, -0.98209565437719171], [0.82555824137784306, 3.4665289912733339, -0.5871095332614642, -0.55502381053032845, -1.4084959834101785], [-3.7439832279461771, 2.6476350330003182, 4.4669592247750849, 3.56587863113241, 0.66006587264770733]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[-6.3013127679255065, -4.4449919324293834, -5.8066641587905936, -2.8144426477231512, -5.4632634568535954], [-3.8688259789080393, -5.5568118403770157, -5.8777156459935735, 2.4204886561687227, 0.44753241019799717], [-3.5329999986216825, -6.561472378496287, -3.082699898994961, -1.5319112840211426, 0.011037689239464576], [2.3391949599211097, -5.3905993254878748, -2.1725632953003968, -1.6585861283551404, -5.2138592551079661]])+(1.-msk_ref)*numpy.array([[1.9437387231254837, 4.988455263315231, 3.4993141330908077, -0.08052600445096969, 3.7003559259639722], [2.0376493050906568, 6.079162654349215, -2.348114537388545, 6.3341475287113607, 0.65850069394888777], [2.4661545897039225, 5.1071253395994134, 1.0534868150646153, 1.085572537795751, 0.23210036491590103], [-2.1033868796200976, 4.2882313813263977, 6.1075555731011644, 5.2064749794584895, 2.3006622209737868]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_expandedData_rank0(self):  
       arg0=Data(numpy.array([[[-1.605897259441357, 3.94881452384978], [-1.8860533671835156, -2.6012190195178988]], [[4.7755977356476933, -4.4856983121095766], [1.5860487631292948, 0.65101805660808143]], [[-4.3538332309775267, 0.40099712029606938], [-3.7317939079409959, -2.982003492741585]], [[4.2232180951298908, 0.43337904474882016], [4.5268714262649326, 1.3114911585886277]], [[2.6474354944457854, -0.48318178764324404], [2.6696527681069249, -4.8115177543149477]], [[2.6056920109370285, -4.9512232090336328], [3.273152010677677, -0.84440961293366623]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[2.1545358845995741, 3.9136512923822924], [3.8424341442570267, 4.9866859105393466]], [[3.6710295074191119, 3.4752789118760994], [-4.4479273706346927, 3.0977510626881557]], [[-4.8297624930531304, 0.12440294207382596], [0.3573996532477981, -1.4729927313916304]], [[2.6676813863964233, -3.558457095520092], [-1.7215283910459735, 4.5419901620729988]], [[0.58083963080025036, -0.24729292748733833], [-0.29507259338299452, 0.20417602454225303]], [[-1.3946425203953372, -0.98805004761827497], [4.4076105310242077, 4.5056859388969759]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*(-3.10729512126)+(1.-msk_arg1)*(3.27914831931)  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[-4.71319238069783, 0.84151940259330749], [-4.9933484884399881, -5.7085141407743709]], [[1.6683026143912207, -7.5929934333660487], [-1.5212463581271778, -2.4562770646483911]], [[-7.4611283522339988, -2.7062980009604032], [-6.8390890291974689, -6.0892986139980572]], [[1.1159229738734182, -2.6739160765076524], [1.41957630500846, -1.7958039626678448]], [[-0.45985962681068715, -3.5904769088997166], [-0.43764235314954769, -7.9188128755714207]], [[-0.50160311031944405, -8.0585183302901058], [0.16585688942120447, -3.9517047341901388]]])+(1.-msk_ref)*numpy.array([[[5.4336842039093307, 7.192799611692049], [7.1215824635667833, 8.2658342298491032]], [[6.9501778267288685, 6.754427231185856], [-1.1687790513249361, 6.3768993819979123]], [[-1.5506141737433738, 3.4035512613835825], [3.6365479725575547, 1.8061555879181261]], [[5.9468297057061799, -0.27930877621033545], [1.557619928263783, 7.8211384813827554]], [[3.8599879501100069, 3.0318553918224183], [2.9840757259267621, 3.4833243438520096]], [[1.8845057989144194, 2.2910982716914816], [7.6867588503339643, 7.7848342582067325]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_expandedData_rank3(self):  
       arg0=Data(2.96783962413,self.functionspace)  
       arg0.setTaggedValue(1,4.58545042025)  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[-1.0107776618681519, 0.22887495412393211], [-3.9041752171570741, 2.9454047735115179]], [[2.3392249754199632, 1.840363855278798], [-3.2897280955172494, -0.91314114284903081]], [[-4.7800295947753373, 4.5595789561543505], [-4.0249952090345129, 1.7656739241411881]], [[-2.4067568420486407, -4.6094356474780742], [-3.2238366711957878, 4.9158640569384264]], [[-3.4940467169428491, 3.0560571883051928], [3.1188459559490589, 2.9178822680175145]], [[-1.5881856461431711, -3.4229596502262916], [-2.5272618273299252, 3.9116238986924401]]])+(1.-msk_arg1)*numpy.array([[[-3.3488284831578321, -3.6791256261418317], [3.8636899178850896, -2.5930739210871421]], [[-3.110321827307402, 0.59953199957024861], [3.8764894420368829, -1.4612712893186899]], [[1.8425619409254388, -4.3141804006805717], [-0.55739608525827222, 2.8765503990800436]], [[-1.700938030746201, 2.3972870970534998], [3.7319057052119611, -1.2197005777289416]], [[2.709647085594983, -2.7848987604180975], [-2.3152664890316133, 2.9755329413089759]], [[1.4603446020442465, 1.0612840613239634], [2.6789858160903615, 0.37043397314306059]]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[1.9570619622663554, 3.1967145782584394], [-0.93633559302256675, 5.9132443976460252]], [[5.3070645995544705, 4.8082034794133053], [-0.32188847138274213, 2.0546984812854765]], [[-1.81218997064083, 7.5274185802888578], [-1.0571555849000056, 4.7335135482756954]], [[0.56108278208586659, -1.6415960233435669], [-0.25599704706128046, 7.8837036810729337]], [[-0.52620709280834177, 6.0238968124397001], [6.0866855800835662, 5.8857218921520218]], [[1.3796539779913362, -0.45512002609178426], [0.44057779680458209, 6.8794635228269474]]])+(1.-msk_ref)*numpy.array([[[1.2366219370931271, 0.90632479410912747], [8.4491403381360488, 1.9923764991638171]], [[1.4751285929435571, 5.1849824198212078], [8.4619398622878421, 3.1241791309322693]], [[6.428012361176398, 0.27127001957038743], [4.0280543349926869, 7.4620008193310028]], [[2.8845123895047582, 6.982737517304459], [8.3173561254629202, 3.3657498425220176]], [[7.2950975058459422, 1.8005516598328617], [2.2701839312193459, 7.5609833615599351]], [[6.0457950222952057, 5.6467344815749225], [7.2644362363413206, 4.9558843933940198]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_expandedData_rank0(self):  
       arg0=Data(numpy.array([[[[-2.0543438147199389, 3.7925270973681862, 4.9819257419011294, 2.5461008394242928], [-2.2037215218345176, -4.7139312943927738, 3.6741560860835296, 3.1023363244349618], [-1.3528871296528475, -4.5541584733114249, -4.0722543425303694, -4.5615889332960062]], [[-2.0642139239887394, 4.6643003219812122, 0.63229443011066255, 2.888421170849556], [3.3740102522470856, 0.97781290751269712, 0.97931483269287867, 2.3986621900491247], [-1.3731894400211564, 4.7888825679520703, 4.9162643064906426, -2.1724055356442626]]], [[[-2.9714473969421649, -4.7820170429120976, 1.1780685478422281, 3.136029484080332], [-1.3684513541008636, 0.33817411136606079, 0.95404569472184431, -0.21158326713454123], [-4.6093692604080765, 2.9155957063349982, -0.57616894984411182, -0.95645163409084599]], [[0.28861118082903303, 2.625513546169449, 1.210542369007972, 2.0974160595146207], [-3.9434035210041807, 1.1375893200844081, -1.6718773692668676, -1.5767759178968968], [-1.3030013784734971, -3.0467826385282293, 0.8952135056477637, 2.4889366899211769]]], [[[-3.0293543178753959, 0.052335057950755548, -0.25373780950039926, 2.7758713064558815], [-1.7143700975100518, 2.0601536746452176, 2.0820030050682634, -4.3141380606535149], [-3.0327381246561567, -0.96503985949187854, -0.75648809473719858, -0.059758299337909548]], [[4.4264484105530162, -1.3897491569161424, 3.2670479074608618, -3.283385057830924], [-0.75154596148570096, -2.1278954823356591, 2.5816756804860486, 1.4044348638576931], [-1.5657627617403538, 3.4138146772853908, 4.4492717288755141, -0.39625734609092778]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[0.86681687994930279, 3.8222266948285295, -3.5491429263828431, 0.084506231211904925], [4.0350285712440677, 0.46549115494876503, -3.245138253606811, 1.71063394563771], [3.5714550787508887, -1.1854059260646266, -4.8403172692565111, -3.1293921007558434]], [[-3.9612810003917187, -4.5713490297346757, -0.25204638139524871, -3.0845024162342796], [1.4470025652907452, -0.17462170112188868, 2.2716168941836345, 1.3268386663311045], [-1.9019063157973779, 2.4989396579676928, -0.23659371984359989, -1.1180327503279495]]], [[[4.1934308946030079, -3.6616724618574725, -3.983018373380264, 1.1076724688514137], [-0.49715475968821465, -1.4975014940701348, 4.1959854547762205, 0.8003071889128508], [3.8738382149145867, 2.6071051516473442, 2.4712550383591916, 2.1169088549296022]], [[-4.4184571588532497, 3.3935730737458734, 1.7000615684377527, 2.7836638034373484], [1.9355983409132502, -0.078560290248584685, -1.4100991219452776, 1.5204723251156063], [-1.0163988839170344, -0.22882774679547424, 4.6304734666614298, 2.5159039031694412]]], [[[-4.802741213814075, -0.6350192356838793, -3.3903980961389326, -3.416335674771581], [0.0997916336706961, -0.16865899068473311, 2.7381236147848362, 2.9154551242548354], [-0.63642397574935039, -1.2241347755118559, -4.5568447785445461, 4.9242932238493129]], [[1.2257241435359409, 2.2874010343330218, -2.8989117480768201, -4.3485951730412777], [2.0747535607039893, -0.50629463404073505, -1.9766343056698754, 1.982714593716298], [3.0808472917735799, 1.1404277703663679, 4.7205501585359517, -2.3901127243493479]]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*(-0.922392061595)+(1.-msk_arg1)*(-3.02662961353)  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[[-2.9767358763154093, 2.8701350357727158, 4.059533680305659, 1.6237087778288224], [-3.126113583429988, -5.6363233559882442, 2.7517640244880592, 2.1799442628394914], [-2.2752791912483179, -5.4765505349068953, -4.9946464041258398, -5.4839809948914766]], [[-2.9866059855842098, 3.7419082603857419, -0.29009763148480783, 1.9660291092540856], [2.4516181906516152, 0.055420845917226735, 0.056922771097408287, 1.4762701284536544], [-2.2955815016166268, 3.8664905063566, 3.9938722448951722, -3.094797597239733]]], [[[-3.8938394585376352, -5.704409104507568, 0.25567648624675776, 2.2136374224848616], [-2.290843415696334, -0.58421795022940959, 0.031653633126373926, -1.1339753287300116], [-5.5317613220035469, 1.9932036447395278, -1.4985610114395822, -1.8788436956863164]], [[-0.63378088076643735, 1.7031214845739786, 0.28815030741250158, 1.1750239979191504], [-4.8657955825996506, 0.21519725848893767, -2.594269430862338, -2.4991679794923671], [-2.2253934400689674, -3.9691747001236997, -0.027178555947706684, 1.5665446283257065]]], [[[-3.9517463794708663, -0.87005700364471483, -1.1761298710958696, 1.8534792448604112], [-2.6367621591055221, 1.1377616130497472, 1.159610943472793, -5.2365301222489853], [-3.955130186251627, -1.8874319210873489, -1.678880156332669, -0.98215036093337993]], [[3.5040563489575458, -2.3121412185116128, 2.3446558458653914, -4.2057771194263944], [-1.6739380230811713, -3.0502875439311294, 1.6592836188905782, 0.48204280226222274], [-2.4881548233358242, 2.4914226156899204, 3.5268796672800438, -1.3186494076863982]]]])+(1.-msk_ref)*numpy.array([[[[-2.1598127335825774, 0.7955970812966493, -6.5757725399147233, -2.9421233823199753], [1.0083989577121875, -2.5611384585831152, -6.2717678671386912, -1.3159956678941702], [0.54482546521900854, -4.2120355395965063, -7.8669468827883913, -6.1560217142877232]], [[-6.9879106139235994, -7.5979786432665559, -3.2786759949271289, -6.1111320297661598], [-1.579627048241135, -3.2012513146537689, -0.75501271934824565, -1.6997909472007757], [-4.9285359293292581, -0.52768995556418741, -3.2632233333754801, -4.1446623638598297]]], [[[1.1668012810711277, -6.6883020753893527, -7.0096479869121442, -1.9189571446804665], [-3.5237843732200949, -4.524131107602015, 1.1693558412443403, -2.2263224246190294], [0.84720860138270648, -0.41952446188453596, -0.55537457517268862, -0.90972075860227797]], [[-7.4450867723851299, 0.36694346021399316, -1.3265680450941275, -0.24296581009453178], [-1.09103127261863, -3.1051899037804649, -4.4367287354771578, -1.5061572884162739], [-4.0430284974489146, -3.2554573603273544, 1.6038438531295496, -0.51072571036243897]]], [[[-7.8293708273459552, -3.6616488492157595, -6.4170277096708128, -6.4429652883034612], [-2.9268379798611841, -3.1952886042166133, -0.28850599874704397, -0.11117448927704476], [-3.6630535892812306, -4.2507643890437361, -7.5834743920764263, 1.8976636103174327]], [[-1.8009054699959393, -0.73922857919885843, -5.9255413616087003, -7.3752247865731579], [-0.9518760528278909, -3.5329242475726153, -5.0032639192017552, -1.0439150198155822], [0.054217678241699652, -1.8862018431655123, 1.6939205450040715, -5.4167423378812281]]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank0_expandedData_rank4(self):  
       arg0=Data(0.920681203441,self.functionspace)  
       arg0.setTaggedValue(1,1.52056741268)  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[[2.9583390138446228, -2.4946837553476566, -3.7985189489364735, -0.51683986187066999], [-4.8073097822937161, -2.4940102544577849, 0.12612844722999395, -1.158186403722874], [-4.5426786547978306, 3.3588560560911098, 1.2047142802767326, 0.53982534303685448]], [[-4.1480841322909452, 2.5717029664314381, 4.1880202195446454, -1.0499096448494507], [-1.1588256970728636, -1.1097535529194333, -2.4978641459410711, -2.5871843744197296], [-3.7503802849513024, -0.34132966151974742, 4.030399140089191, 1.1131681806623721]]], [[[2.2739735525922935, -2.0983850732083988, 3.9591270252910782, -2.9021721968584724], [-4.7000766932067828, 1.2244820118870816, -3.9452419826739771, 2.5740565135257141], [1.5236761223797268, 0.58141183302406318, -2.5421604629612427, 3.8213200004188863]], [[4.1073891148926513, 1.3712460244705271, -3.5503183019406248, -3.7996826145092575], [0.15718626482878761, 3.6452428812286346, 2.2190960785543554, -1.7410968301038956], [-4.1330148081150133, 4.9861282148661275, 4.2939470611200257, 1.0877098517596897]]], [[[-2.573107596524312, 2.4490808294208026, -0.37930258830526853, -2.1713963336527975], [-1.5544288199974696, -4.1609878062634582, -0.40085475706002871, -1.1027486091505345], [2.780940874807678, 1.8935064020316075, -3.1707873945575802, -3.7767761524110135]], [[4.014707012380466, 0.72327588523105391, 0.073438809173238084, 0.95569186034013409], [2.1726953402530311, 1.1385890951894364, -2.8444035447817595, -0.087705506629269792], [-0.87668431164672533, 1.0245730999114464, 0.05725576471151772, 0.62034681236746181]]]])+(1.-msk_arg1)*numpy.array([[[[-2.3452702772497904, 2.5786476213791909, 3.1127751307254989, 1.7483351664375864], [-2.2652946439003507, -0.64659737961742625, 4.1707651566822683, 4.7918863964939806], [3.5919844015081352, 2.1743492168723257, 3.0583666012265329, 0.90499550318866273]], [[-3.5860561748558393, 1.1323175984157166, -0.42155389528373099, 3.6918862138968063], [-4.0454842056690516, -2.0768515736349857, 0.9842573903339602, 0.87541078490239244], [-2.6486479273040233, -0.75078538785365279, -3.4780256285434885, 0.95521083642287863]]], [[[2.1530789361931841, 2.5009540145088511, 0.70364176322303074, 0.32043601595833238], [-4.7907741796446146, 4.1588007607322517, 3.3334070601929824, -2.9956503415174272], [-3.1930470846122461, 2.6788433727544723, 4.8740458367845498, 2.8066501504326]], [[3.8408139040570592, 2.1014065608137278, 4.9259725948563133, 3.1328452838390373], [0.096889900044441646, 4.2224292276821735, 0.55023028525441653, -0.36205612136047272], [3.1084930209331691, -1.0172901326605244, -3.7169293869594333, -3.5215414501287592]]], [[[-3.9646352624136871, -3.5022457907576987, -0.68726090778455262, 4.5576079626991604], [3.1295390750659742, -3.2995464065837132, -4.4842646373739248, -2.7583619923245561], [-3.1325124539440918, -4.9136987467904802, -3.4544357297857098, 1.1872352513430018]], [[-1.7904933942482106, -2.9962468375544518, 4.5471037528804104, 4.4483587132448328], [-4.9684509905009824, 1.4917338550522228, 3.1152749913413231, -2.6702393989387163], [-2.2667078709221302, 0.62678100453811947, -0.94725635370747074, -1.8654812776103071]]]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[[3.8790202172854382, -1.5740025519068412, -2.8778377454956581, 0.4038413415701454], [-3.8866285788529007, -1.5733290510169695, 1.0468096506708093, -0.23750520028205857], [-3.6219974513570152, 4.2795372595319252, 2.1253954837175479, 1.4605065464776699]], [[-3.2274029288501298, 3.4923841698722535, 5.1087014229854608, -0.12922844140863532], [-0.23814449363204826, -0.18907234947861795, -1.5771829425002557, -1.6665031709789142], [-2.829699081510487, 0.57935154192106797, 4.9510803435300064, 2.0338493841031875]]], [[[3.1946547560331089, -1.1777038697675835, 4.8798082287318936, -1.981490993417657], [-3.7793954897659674, 2.145163215327897, -3.0245607792331617, 3.4947377169665295], [2.4443573258205422, 1.5020930364648786, -1.6214792595204273, 4.7420012038597017]], [[5.0280703183334667, 2.2919272279113425, -2.6296370984998094, -2.8790014110684421], [1.077867468269603, 4.56592408466945, 3.1397772819951708, -0.82041562666308021], [-3.2123336046741979, 5.9068094183069428, 5.2146282645608411, 2.0083910552005051]]], [[[-1.6524263930834966, 3.369762032861618, 0.54137861513554686, -1.2507151302119821], [-0.63374761655665424, -3.2403066028226428, 0.51982644638078668, -0.18206740570971913], [3.7016220782484934, 2.8141876054724229, -2.2501061911167648, -2.8560949489701981]], [[4.9353882158212814, 1.6439570886718693, 0.99412001261405347, 1.8763730637809495], [3.0933765436938465, 2.0592702986302518, -1.9237223413409441, 0.8329756968115456], [0.043996891794090054, 1.9452543033522618, 0.97793696815233311, 1.5410280158082772]]]])+(1.-msk_ref)*numpy.array([[[[-0.82470286456798014, 4.0992150340610012, 4.6333425434073092, 3.2689025791193966], [-0.74472723121854045, 0.87397003306438403, 5.6913325693640786, 6.3124538091757909], [5.1125518141899455, 3.694916629554136, 4.5789340139083432, 2.425562915870473]], [[-2.065488762174029, 2.6528850110975268, 1.0990135173980793, 5.2124536265786166], [-2.5249167929872414, -0.55628416095317545, 2.5048248030157705, 2.3959781975842027], [-1.128080514622213, 0.7697820248281575, -1.9574582158616782, 2.4757782491046889]]], [[[3.6736463488749944, 4.0215214271906614, 2.224209175904841, 1.8410034286401427], [-3.2702067669628043, 5.679368173414062, 4.8539744728747927, -1.4750829288356169], [-1.6724796719304358, 4.1994107854362825, 6.3946132494663601, 4.3272175631144103]], [[5.3613813167388695, 3.6219739734955381, 6.4465400075381236, 4.6534126965208475], [1.6174573127262519, 5.7429966403639838, 2.0707976979362268, 1.1585112913213376], [4.6290604336149794, 0.50327728002128591, -2.196361974277623, -2.0009740374469489]]], [[[-2.4440678497318769, -1.9816783780758884, 0.83330650489725766, 6.0781753753809706], [4.6501064877477845, -1.7789789939019029, -2.9636972246921145, -1.2377945796427459], [-1.6119450412622816, -3.39313133410867, -1.9338683171038995, 2.7078026640248121]], [[-0.26992598156640035, -1.4756794248726415, 6.0676711655622206, 5.9689261259266431], [-3.4478835778191721, 3.0123012677340331, 4.6358424040231334, -1.149671986256906], [-0.74614045824031994, 2.1473484172199298, 0.57331105897433954, -0.34491386492849685]]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_expandedData_rank1(self):  
       arg0=Data(numpy.array([-0.47601076552948562, -3.971336996591023]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-0.62434603622511098, -3.7950440497170557]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([-1.8804507838787332, 2.5424814250703944])+(1.-msk_arg1)*numpy.array([4.1775730456985212, -2.1327072009727646])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([-2.3564615494082188, -1.4288555715206286])+(1.-msk_ref)*numpy.array([3.5532270094734102, -5.9277512506898198])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2,),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_expandedData_rank1(self):  
       arg0=Data(numpy.array([[-3.6436399569372382, -4.5777881968273872], [-2.247649635910113, -2.5302822600473074]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-3.1398797748642115, 4.7708545661194748], [4.8881084224624427, 1.0619597145993147]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([2.017045790923218, -2.0754783995264567])+(1.-msk_arg1)*numpy.array([3.5950238091411126, -4.4237723802120312])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[-1.6265941660140202, -2.5607424059041692], [-4.3231280354365698, -4.6057606595737646]])+(1.-msk_ref)*numpy.array([[0.45514403427690109, 8.3658783752605874], [0.46433604225041147, -3.3618126656127165]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_expandedData_rank2(self):  
       arg0=Data(numpy.array([-0.55420008423312961, -1.1878489780171373]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([-2.3957097201075497, -4.3030790976427857]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[-2.3087330405446469, 1.4037515273691508], [-0.65252955803284429, -4.1293970268992242]])+(1.-msk_arg1)*numpy.array([[-4.6113803799901429, -1.4262675979312722], [3.3464652145005616, 2.3284001894430979]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[-2.8629331247777765, 0.84955144313602116], [-1.8403785360499816, -5.3172460049163615]])+(1.-msk_ref)*numpy.array([[-7.0070901000976926, -3.8219773180388219], [-0.95661388314222418, -1.9746789081996878]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_expandedData_rank1(self):  
       arg0=Data(numpy.array([[[-4.3269011538857391, 4.4205568439483844, 0.22236736428477499, -4.543088549269453, 0.21786669367482681], [-0.90706427218369168, 0.29412096691022604, 3.4577716795943694, -1.995169502485854, -3.1655293236324642], [-4.1668185123852384, -4.5970527541748654, 3.2987113903117198, 3.4028729178881036, 3.885485493602145], [-2.0197655035982223, -4.7923310571377655, -1.0664906572309629, 2.7791710349511547, 3.114306548477737]], [[1.8002900772554273, 4.2886113672904553, -3.8376246541378189, -4.1295390816481703, -0.60871729234518135], [2.0437070183643851, 1.7126200712557669, -4.8056512996605658, 3.7930134262306652, 2.2167640315291361], [3.58395200346434, -2.7572989280754436, 2.4022340558789494, 3.3974857891676375, 4.6323395382970745], [-1.2375967596712578, -4.2252526014604408, 1.7424276000205339, 2.1906382574958103, -4.1196083188800694]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[-3.6758493496566338, 1.2859818274151982, -4.5325618795461686, -1.7144286539966402, 0.029270101111348978], [4.2668159236687426, 1.8642520166273702, 3.1389437523837209, -1.7961098266956776, -0.82762911965615871], [3.7607026993425823, -2.9827346006602227, -1.5666598530037112, 0.85185974870011805, 1.596022090265139], [-0.43641013194260747, -0.87316225041482198, 3.9905011516501361, 3.5391862197724588, 2.5267582467272973]], [[-2.1864931510859265, 3.9596913169245944, 1.7839408749997929, -0.37901538172433291, 3.1363648999562095], [3.1037497767901083, 4.5000883238338112, 4.7508188503383568, 4.193302834783303, 3.2313984965528828], [4.317595432326506, -0.88468225104948228, -1.240138232313619, 2.923061274288016, -2.0319319423093276], [3.3247868951318882, 3.303064875704246, 4.2914437523375177, 0.97703610881040603, 3.7654284176969028]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([-0.32011214978728653, 3.6276119210702227])+(1.-msk_arg1)*numpy.array([-4.5617200827460067, -1.6701320515382023])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[-4.6470133036730257, 4.1004446941610979, -0.097744785502511533, -4.8632006990567396, -0.10224545611245972], [-1.2271764219709782, -0.025991182877060481, 3.1376595298070828, -2.3152816522731405, -3.4856414734197507], [-4.4869306621725249, -4.9171649039621519, 2.9785992405244333, 3.0827607681008171, 3.5653733438148585], [-2.3398776533855088, -5.1124432069250521, -1.3866028070182495, 2.4590588851638682, 2.7941943986904505]], [[5.42790199832565, 7.916223288360678, -0.21001273306759627, -0.50192716057794762, 3.0188946287250413], [5.6713189394346077, 5.3402319923259896, -1.1780393785903431, 7.4206253473008879, 5.8443759525993588], [7.2115639245345626, 0.87031299299477904, 6.0298459769491721, 7.0250977102378602, 8.2599514593672971], [2.3900151613989649, -0.59764068039021812, 5.3700395210907566, 5.818250178566033, -0.49199639780984672]]])+(1.-msk_ref)*numpy.array([[[-8.2375694324026405, -3.2757382553308085, -9.0942819622921753, -6.2761487367426465, -4.5324499816346577], [-0.29490415907726408, -2.6974680661186365, -1.4227763303622858, -6.3578299094416844, -5.3893492024021654], [-0.80101738340342443, -7.5444546834062294, -6.1283799357497184, -3.7098603340458887, -2.9656979924808677], [-4.9981302146886142, -5.4348823331608287, -0.57121893109587063, -1.0225338629735479, -2.0349618360187094]], [[-3.8566252026241288, 2.2895592653863921, 0.1138088234615906, -2.0491474332625352, 1.4662328484180072], [1.433617725251906, 2.8299562722956089, 3.0806867988001545, 2.5231707832451007, 1.5612664450146805], [2.6474633807883037, -2.5548143025876846, -2.9102702838518213, 1.2529292227498137, -3.7020639938475299], [1.6546548435936859, 1.6329328241660437, 2.6213117007993154, -0.69309594272779629, 2.0952963661587005]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_expandedData_rank3(self):  
       arg0=Data(numpy.array([-2.2809626914454451, -4.8903799272295743]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([3.0642111228351663, -4.4985205961110015]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[1.7754441240905336, 4.0529099729642635, 4.7043912512013382, -2.704617781649965, 1.4698776084757634], [4.5671784439941874, -1.7079006307437314, -3.6573973509647075, 2.7191976629083436, 4.2224125788127225], [-4.7271382312816188, 2.4306439107959585, -2.7916712096768959, 4.4588655619663982, 1.6326808784353872], [2.8679862905417366, -2.1634558950988101, -4.5103762844422199, 2.9646504931139814, -1.4392708782644812]], [[-0.27346159438262418, -3.3121813535650988, -1.7665668038855542, -3.3582004555495484, -4.1054858983173981], [-0.40969513902910393, 2.8934834908896709, -2.9124374828211117, -3.9567708090265317, 3.619914332846939], [3.4106485261471953, 0.59340821254075582, 2.0993184350851966, 1.6731156594793637, 4.1083758024191468], [0.24650469130243824, -4.40822445729368, 2.2530855111351986, 3.2240462472607785, -1.1603983396196451]]])+(1.-msk_arg1)*numpy.array([[[-2.17708054567197, -4.7187481639621343, 0.01584043834162685, 1.7724691875617964, 2.8319694130772346], [3.4208167650331287, 4.7099984429939514, 0.279297927774115, -3.6435488605894353, 1.54124394433871], [3.6858118109446796, 1.6177472546189406, -3.6493228984208059, 0.72559567280824044, -3.8073829706357296], [0.30542906299962613, 3.5404050123898791, -3.9172380193040968, 0.54860475655834495, 0.49882163892340348]], [[1.1967333964785345, -0.66667867478553333, -2.1126318253863197, -0.89752388455982324, -1.8253058606442729], [-4.419524542530187, 1.2608261909328808, -0.47493192732799816, 1.6363915259433508, -4.7043927920367512], [-3.7793494024501593, -4.7093035871219335, 0.91808071673963632, -2.2774755182068418, -4.1772965036203669], [3.8681722531246514, 0.09905632299260958, 4.869723287807469, -4.8754151025103916, -2.1510859972343246]]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[-0.50551856735491141, 1.7719472815188184, 2.4234285597558931, -4.9855804730954105, -0.81108508296968163], [2.2862157525487423, -3.9888633221891765, -5.938360042410153, 0.43823497146289858, 1.9414498873672774], [-7.0081009227270634, 0.14968121935051348, -5.0726339011223409, 2.1779028705209531, -0.64828181301005783], [0.58702359909629154, -4.4444185865442556, -6.7913389758876654, 0.68368780166853638, -3.7202335697099262]], [[-5.1638415216121984, -8.2025612807946722, -6.6569467311151289, -8.2485803827791226, -8.9958658255469715], [-5.3000750662586782, -1.9968964363399033, -7.802817410050686, -8.8471507362561059, -1.2704655943826353], [-1.479731401082379, -4.2969717146888184, -2.7910614921443777, -3.2172642677502106, -0.78200412481042747], [-4.643875235927136, -9.2986043845232551, -2.6372944160943756, -1.6663336799687958, -6.0507782668492194]]])+(1.-msk_ref)*numpy.array([[[0.88713057716319632, -1.654537041126968, 3.0800515611767931, 4.8366803103969627, 5.8961805359124009], [6.485027887868295, 7.7742095658291177, 3.3435090506092813, -0.579337737754269, 4.6054550671738763], [6.7500229337798459, 4.6819583774541069, -0.58511177558563965, 3.7898067956434067, -0.74317184780056333], [3.3696401858347924, 6.6046161352250454, -0.85302689646893048, 3.6128158793935112, 3.5630327617585698]], [[-3.301787199632467, -5.1651992708965349, -6.6111524214973212, -5.3960444806708248, -6.323826456755274], [-8.9180451386411885, -3.2376944051781207, -4.9734525234389997, -2.8621290701676507, -9.2029133881477527], [-8.2778699985611617, -9.2078241832329351, -3.5804398793713652, -6.7759961143178433, -8.6758170997313684], [-0.63034834298635012, -4.3994642731183919, 0.37120269169646747, -9.3739356986213931, -6.6496065933453261]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_expandedData_rank1(self):  
       arg0=Data(numpy.array([[[[-4.9761068010263614, -2.330957656498641], [3.2016031249438015, -0.54142230749998177]], [[-4.2688566178077183, 0.78304250243196272], [-2.9068505357289864, 3.5772086925275524]], [[1.5964382239427088, 1.2000151705248587], [1.7177227763109002, -3.4204226649128087]], [[4.3786665561330356, -0.45856253857608831], [-0.048747978965418604, 2.7467152366301182]], [[0.25481243758262728, -1.2889956906640254], [-3.4599239315739529, 2.9265721998255749]], [[-3.8105082870905038, 2.8763977599596426], [-4.2453237211282504, -0.06954578165181946]]], [[[0.35721384918730781, 3.7704400314838367], [-3.8543837782680845, 4.8651030347519466]], [[-1.7790508121379633, -0.030283759452368386], [4.8232398347602619, -4.9738353872769858]], [[0.6462642562197507, -4.7830647420422334], [-3.6352923529148837, -0.36914201478608533]], [[1.3318811051039212, -3.5587655297238663], [1.9044199241903845, 0.86565227679411727]], [[2.9316245505784391, 0.52103718338664429], [-2.10188529814199, 1.0715083664473184]], [[-0.70411721517569337, -0.86964958251028346], [4.3107639247544238, 0.3709958217615803]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[4.1930979408302278, 3.4548797361332575], [-3.2109304532151195, 3.6065586942657983]], [[2.1496603490480961, -0.27294900359776264], [4.3423450876050467, -2.4181487923671297]], [[-1.7059873740485374, -1.583269777156886], [-4.5452656873708852, -2.370313398233761]], [[-0.72828692588611155, -3.9349842541833571], [-1.8309490152253396, -3.7536229394244467]], [[-1.4048183232730906, 0.63687025718848123], [4.9473053089650847, 2.1979510455769748]], [[1.7289146800302877, 4.6381893104780154], [3.7161984084014925, 4.5995448790165625]]], [[[-1.6160272241403328, -1.6203169184164201], [-3.3679032713587431, -2.9411488967179622]], [[3.4131592736106597, -3.8273134492050787], [-3.4631261485478571, -1.7153525072385989]], [[-3.014621477185532, -2.9174593934400495], [0.31162291317797131, 2.2471602355421938]], [[0.42699496010309534, 1.4555292776003128], [3.4543994663589235, 1.2103109670033421]], [[3.0150413200430322, -1.0356322790444397], [4.3444170923722361, -2.377505269050558]], [[0.26965949934675493, 3.2658340124438272], [-1.1356798254262701, -1.5574026586996528]]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([0.065857724577657706, 0.78873862791560168])+(1.-msk_arg1)*numpy.array([-3.6691266393881996, 4.8396807240752064])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[[-4.9102490764487037, -2.2650999319209832], [3.2674608495214592, -0.47556458292232406]], [[-4.2029988932300606, 0.84890022700962042], [-2.8409928111513287, 3.6430664171052101]], [[1.6622959485203666, 1.2658728951025164], [1.7835805008885579, -3.354564940335151]], [[4.4445242807106933, -0.3927048139984306], [0.017109745612239102, 2.8125729612077759]], [[0.32067016216028499, -1.2231379660863677], [-3.3940662069962952, 2.9924299244032326]], [[-3.7446505625128461, 2.9422554845373003], [-4.1794659965505927, -0.0036880570741617547]]], [[[1.1459524771029095, 4.5591786593994383], [-3.0656451503524829, 5.6538416626675483]], [[-0.99031218422236167, 0.75845486846323329], [5.6119784626758635, -4.1850967593613841]], [[1.4350028841353524, -3.9943261141266317], [-2.8465537249992821, 0.41959661312951635]], [[2.1206197330195229, -2.7700269018082646], [2.6931585521059862, 1.6543909047097189]], [[3.7203631784940407, 1.309775811302246], [-1.3131466702263883, 1.8602469943629201]], [[0.084621412739908308, -0.080910954594681783], [5.0995025526700255, 1.159734449677182]]]])+(1.-msk_ref)*numpy.array([[[[0.52397130144202819, -0.21424690325494211], [-6.8800570926033195, -0.062567945122401269]], [[-1.5194662903401035, -3.9420756429859622], [0.67321844821684707, -6.0872754317553293]], [[-5.375114013436737, -5.2523964165450856], [-8.2143923267590857, -6.0394400376219606]], [[-4.3974135652743112, -7.6041108935715567], [-5.5000756546135392, -7.4227495788126463]], [[-5.0739449626612902, -3.0322563821997184], [1.2781786695768851, -1.4711755938112248]], [[-1.9402119593579119, 0.96906267108981581], [0.047071769013292908, 0.9304182396283629]]], [[[3.2236534999348736, 3.2193638056587863], [1.4717774527164633, 1.8985318273572442]], [[8.2528399976858662, 1.0123672748701278], [1.3765545755273494, 3.1243282168366076]], [[1.8250592468896745, 1.922221330635157], [5.1513036372531777, 7.0868409596174002]], [[5.2666756841783018, 6.2952100016755193], [8.2940801904341299, 6.0499916910785485]], [[7.8547220441182386, 3.8040484450307668], [9.1840978164474425, 2.4621754550246484]], [[5.1093402234219614, 8.1055147365190336], [3.7040008986489363, 3.2822780653755537]]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank1_expandedData_rank4(self):  
       arg0=Data(numpy.array([-2.2556692590794691, -2.6681053592082673]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([2.863700134134108, -3.9488832397206819]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[[-0.072215602031625359, -2.069140076257765], [-2.316930191990425, 2.7522986163601191]], [[-4.5160191009329909, -0.73115381797841383], [2.7813318160148048, -1.8509458303791337]], [[0.098493034932795709, 1.847992468033171], [1.1788179300639881, 2.6287632570770043]], [[3.8838743569491179, -0.25168899766695585], [4.8136407846762133, 1.7155948931212244]], [[2.2695333244069813, -1.0547127732996131], [-0.21458278285434762, 3.7236887298486483]], [[-4.0972658164601263, 3.6965073107369033], [0.29932213894322679, -4.4562678981271517]]], [[[-1.794413425954815, -3.8605149622831867], [-3.720307473201574, 4.2653609784611373]], [[2.999602398170973, -0.87265408021619884], [0.072175797119182761, -1.6395351630887411]], [[4.5026516850484946, 2.0117162381940465], [-0.39823130719128841, 0.62478243386167787]], [[-4.6450435892705393, 4.8906138795612506], [0.042491443124056616, -4.6862363995787018]], [[4.345850568853038, -1.2505190220117068], [-3.6514580238932592, 1.4904987151914275]], [[4.8821494267344292, 0.077246189915283203], [-4.2517236866799779, 1.6153406088337166]]]])+(1.-msk_arg1)*numpy.array([[[[-0.32805503406503256, -0.48391450188312835], [-3.4161202090084677, -0.44721029172954907]], [[4.6793198520762491, 1.3306336018074569], [0.29928547621234891, 4.0920059848983357]], [[2.4395522585757732, -4.0843468210973928], [4.6196674376197002, 3.6893010273500586]], [[1.8879384964144492, -2.0267418806128932], [1.1860068140815718, 2.5798387978543333]], [[1.5848702173621296, -2.2545313535260716], [3.327359095616341, -3.7908172830306821]], [[-2.5153951604877745, 3.8965532528204498], [2.7288735259340999, 2.0860574272741967]]], [[[3.5189162491049011, 1.9860032663023102], [2.4086968032302298, 3.5098981240674227]], [[-3.3760621782830293, 3.1850656396939261], [3.3115134203892467, -0.94354174662541368]], [[-0.5011116722233746, 2.188604948233948], [0.48663541989570103, 4.2172672366421935]], [[0.09928805869946622, -2.3733223201797871], [-3.9467252050788257, -3.7403226202592768]], [[1.4397405491464053, 2.8208589979423229], [1.1236402834259032, 0.57394728630067426]], [[3.4174880203139288, 1.8964486839896031], [3.5399269207357591, 3.9727083620311436]]]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[[-2.3278848611110945, -4.3248093353372337], [-4.5725994510698946, 0.49662935728064994]], [[-6.77168836001246, -2.986823077057883], [0.5256625569353357, -4.1066150894586029]], [[-2.1571762241466734, -0.40767679104629817], [-1.0768513290154811, 0.37309399799753518]], [[1.6282050978696487, -2.507358256746425], [2.5579715255967441, -0.54007436595824476]], [[0.013864065327512165, -3.3103820323790822], [-2.4702520419338168, 1.4680194707691792]], [[-6.3529350755395955, 1.4408380516574342], [-1.9563471201362423, -6.7119371572066209]]], [[[-4.4625187851630823, -6.528620321491454], [-6.3884128324098413, 1.59725561925287]], [[0.33149703896270566, -3.5407594394244661], [-2.5959295620890845, -4.3076405222970084]], [[1.8345463258402273, -0.65638912101422076], [-3.0663366663995557, -2.0433229253465894]], [[-7.3131489484788066, 2.2225085203529833], [-2.6256139160842107, -7.3543417587869691]], [[1.6777452096447707, -3.9186243812199741], [-6.3195633831015261, -1.1776066440168398]], [[2.2140440675261619, -2.5908591692929841], [-6.9198290458882452, -1.0527647503745508]]]])+(1.-msk_ref)*numpy.array([[[[2.5356451000690754, 2.3797856322509796], [-0.55242007487435973, 2.4164898424045589]], [[7.5430199862103571, 4.1943337359415649], [3.1629856103464569, 6.9557061190324436]], [[5.3032523927098811, -1.2206466869632848], [7.4833675717538082, 6.5530011614841666]], [[4.7516386305485572, 0.83695825352121478], [4.0497069482156798, 5.4435389319884413]], [[4.4485703514962376, 0.60916878060803636], [6.191059229750449, -0.92711714889657415]], [[0.3483049736463335, 6.7602533869545578], [5.5925736600682079, 4.9497575614083047]]], [[[-0.42996699061578081, -1.9628799734183717], [-1.5401864364904521, -0.43898511565325915]], [[-7.3249454180037112, -0.76381760002675581], [-0.63736981933143522, -4.8924249863460956]], [[-4.4499949119440565, -1.7602782914867339], [-3.4622478198249809, 0.2683839969215116]], [[-3.8495951810212157, -6.3222055599004694], [-7.8956084447995076, -7.6892058599799586]], [[-2.5091426905742766, -1.128024241778359], [-2.8252429562947787, -3.3749359534200076]], [[-0.53139521940675305, -2.0524345557310788], [-0.4089563189849228, 0.023825122310461744]]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_expandedData_rank2(self):  
       arg0=Data(numpy.array([[1.7152692280060329, -1.2300464860743099, -1.9498701034859067, 4.9728542805682903, 4.6992154069303123], [4.099244493040473, -3.2801010093693614, 4.3385500210790848, 3.9730092559560486, 0.46869522504508065], [1.0737430954270835, 2.7561941043401141, -3.1438560774173729, -2.2410109059034022, 0.5213253226610215], [-3.581204447457834, -3.5795059671075191, 4.579972723696434, 1.5944505826912927, -4.7963293971832899]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[1.5404263218529257, 1.0711784897607934, 1.3858975032065395, 3.5086187684716279, 3.5381271295487942], [1.2658353172730132, 3.8143521178101363, 2.2702025613433294, 4.0907738431796439, 2.9204000015564375], [-0.68025132201919103, -2.1355924007023344, 1.7527807389108299, 2.8951187849915625, -2.6423590779591088], [-3.3862716334523713, 3.2281268959512062, 4.718779302332031, 3.8927249043916827, 1.2018653614968597]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[-1.9540602742577318, -2.250261958175177, -0.66735985740135284, -3.3104693257130693, -3.3799859376688701], [4.5332772234993755, -0.13777176141983016, -2.5466813485540882, -0.47845487842231549, 3.2036102098265911], [2.3628806302325565, 3.6247949499061711, -2.7520272018769365, -1.5075580583576853, 1.8859246085914814], [-0.72225105324651739, -4.8701149159205421, -0.62724187141152488, 1.0187127507998799, -0.15076291519388718]])+(1.-msk_arg1)*numpy.array([[4.3792225378955472, 1.7333370002641875, 4.3922902879732959, 4.7427198533203061, 1.3601688028530692], [4.4311772423288041, -4.9791237150142065, -1.4894702045336885, 3.9624475860056734, -0.54055470835717845], [-3.6519043550820438, 3.2492657366497379, 1.6351236094415134, -4.5258707960354938, -4.4394735215634178], [-4.3785044540498363, 3.4671872445822078, -0.21397749774029773, -0.25313877408510344, -1.2896309989864738]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[-0.23879104625169889, -3.4803084442494869, -2.6172299608872596, 1.662384954855221, 1.3192294692614421], [8.6325217165398485, -3.4178727707891916, 1.7918686725249966, 3.4945543775337331, 3.6723054348716717], [3.4366237256596399, 6.3809890542462853, -5.8958832792943099, -3.7485689642610875, 2.4072499312525029], [-4.3034555007043513, -8.4496208830280608, 3.9527308522849092, 2.6131633334911726, -4.9470923123771771]])+(1.-msk_ref)*numpy.array([[5.9196488597484729, 2.8045154900249809, 5.7781877911798354, 8.251338621791934, 4.8982959324018633], [5.6970125596018173, -1.1647715972040702, 0.78073235680964093, 8.0532214291853172, 2.3798452931992591], [-4.3321556771012348, 1.1136733359474036, 3.3879043483523432, -1.6307520110439313, -7.0818325995225262], [-7.7647760875022076, 6.695314140533414, 4.5048018045917333, 3.6395861303065793, -0.087765637489614079]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank3_expandedData_rank2(self):  
       arg0=Data(numpy.array([[[-1.9572743983074314, -2.6602761617350215], [0.91029556063278338, 4.7675976179607282], [1.965420705710752, -2.8964061247550377], [-4.5721264308622462, -0.32534760798207163], [2.2851753525872018, 4.9452322759710583]], [[3.3437530551727832, 2.1823932797100358], [-0.88110644412299965, 2.7739028901731366], [-2.9191167974014256, -4.6796230252555757], [-4.3594847032190822, 0.78926397151927752], [-3.1597397213754874, 1.0636752807765166]], [[-1.3664075122669384, 1.4651940557037122], [4.2894483057313799, 3.2014136326349636], [-2.1217188060176051, 4.9098728505880054], [-0.42296426121522757, -0.32938680915271235], [-2.847014838372004, -4.0938305438841773]], [[1.8457341637712581, 3.1658456555137704], [-4.6360705143634364, -2.783875223489324], [-0.33880338142721733, 2.5997700021548784], [2.391848266778636, 4.9854577725401867], [1.6985185546695298, 1.0395766903884152]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[3.0371820608455842, 2.2856670013721825], [-2.3542352912274609, 0.90376984544323857], [-0.75818518752667519, 4.0097199175605933], [0.4357922411363413, 0.11672730595592729], [4.7178951526230044, 3.6606019365713269]], [[-3.8225293204324018, 3.2893953189012599], [2.0059947758958865, 3.5568385865105743], [0.08489686332407409, 1.932933538030821], [-2.7408504915058609, 0.55646335073841779], [-3.8030090813055564, 1.5071187087926994]], [[-4.5696055847489845, 1.3080372561446749], [-1.5594564706523872, -3.2645380721920123], [0.10559443023763926, 2.1478071516294754], [4.5514005512887579, 3.4390454360914173], [-0.30156380332224586, 1.2028684442081872]], [[-4.8474496002398517, 1.0597237661007917], [4.4517876427676057, -0.73422068297053933], [4.865782777153953, -2.6891777413812323], [4.6786618490919754, -2.9789121096602944], [-0.012766235515209168, 0.65730180320093012]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[4.385624185470272, 1.2936939943521697, -0.73287479855595716, -2.9894751416877821, -3.3873828442419338], [1.1338460712454523, -1.4612294904072543, 0.42764983223519071, -2.8652095196640004, 0.99623966198282332], [0.027224654768652989, -4.7107112601445724, 3.3881379080805178, 0.99158813905735776, 4.0707314709011619], [1.4689903424015549, -2.6400292184324581, 0.49213856034389192, 0.52567665814035891, -1.0903162790185239]])+(1.-msk_arg1)*numpy.array([[3.2533645063193308, 4.7324021229016502, 1.4353863205548478, 0.67721871992603067, -4.9617653619476565], [-3.6388840617866314, -2.9754930407962488, 3.6935149320489007, -3.4243894789764306, -0.85773987038326727], [3.0105051122097457, -4.0518170747685929, -0.48549539435581579, -4.0585675507536854, 0.28087052926519718], [3.5101313436180863, 4.2984118036078769, 2.4095998323537495, 3.6779527058464208, -0.15315595198178578]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[2.4283497871628406, 1.7253480237352505], [2.2039895549849531, 6.0612916123128979], [1.2325459071547948, -3.6292809233109948], [-7.5616015725500283, -3.3148227496698537], [-1.102207491654732, 1.5578494317291245]], [[4.4775991264182355, 3.3162393509554882], [-2.3423359345302539, 1.3126733997658824], [-2.4914669651662349, -4.251973193020385], [-7.2246942228830822, -2.0759455481447229], [-2.1635000593926641, 2.05991494275934]], [[-1.3391828574982854, 1.4924187104723652], [-0.4212629544131925, -1.5092976275096088], [1.2664191020629127, 8.2980107586685232], [0.5686238778421302, 0.66220132990464542], [1.223716632529158, -0.02309907298301539]], [[3.314724506172813, 4.6348359979153253], [-7.2760997327958945, -5.4239044419217821], [0.15333517891667459, 3.0919085624987703], [2.917524924918995, 5.5111344306805456], [0.60820227565100593, -0.050739588630108745]]])+(1.-msk_ref)*numpy.array([[[6.290546567164915, 5.5390315076915133], [2.3781668316741893, 5.6361719683448888], [0.67720113302817264, 5.4451062381154411], [1.113010961062372, 0.79394602588195795], [-0.24387020932465209, -1.3011634253763296]], [[-7.4614133822190336, -0.34948874288537146], [-0.96949826490036228, 0.58134554571432551], [3.7784117953729748, 5.6264484700797217], [-6.1652399704822916, -2.8679261282380129], [-4.6607489516888236, 0.64937883840943211]], [[-1.5591004725392388, 4.3185423683544206], [-5.6112735454209801, -7.3163551469606052], [-0.37990096411817653, 1.6623117572736597], [0.49283300053507251, -0.61952211466226803], [-0.020693274057048683, 1.4837389734733843]], [[-1.3373182566217654, 4.569855109718878], [8.7501994463754826, 3.5641911206373376], [7.2753826095077025, -0.27957790902748281], [8.3566145549383961, 0.69904059618612635], [-0.16592218749699494, 0.50414585121914435]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_expandedData_rank3(self):  
       arg0=Data(numpy.array([[-1.292308752846838, -3.8744426660520714, 3.3729189878151615, -3.2055544279443238, -0.12770372571958788], [-2.7437379416637797, 0.10136818867967534, 4.6672035329693902, -3.8191747425957736, -1.025591794976469], [-3.727446821620537, -0.49681034107543809, -4.8769876570928181, -0.25193828349912195, -0.55850666089597656], [-0.65632260416509425, -4.3864574290971703, -0.37400406675909537, -2.937666945863866, 3.6779950787492837]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[-1.3635555303487479, 2.5979990596006353, 1.0689000562312678, 1.5389754383921819, -1.6785148163951966], [4.5101355919308794, 2.7718961118447973, 1.8661350064652238, 0.52568890498238119, 4.3425703584650641], [-3.1861283512192431, -1.5049162911768699, -4.0189136172558646, 2.349550700293138, -1.119328526051925], [-3.4803180445555517, 1.4354205043126047, -0.45086351878125441, 1.6501728918496203, -1.1857208444012199]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[-4.5286766643501517, 1.4610772953667865], [1.2456218097078198, 0.094340537105392031], [-3.6745086386921755, 4.925269709580185], [-0.60141065982651032, 2.0021121785616947], [-1.9642920945247688, 0.89595637367091641]], [[-3.219629223824275, -1.7173427457003863], [-3.9267638960292972, 3.9945197620266271], [4.9426873061157224, 3.2862897024149991], [-1.2561509733292739, 2.6964273619309491], [-1.8396467768014189, 0.28929685736348798]], [[4.8401133570172625, -3.0791510910013931], [-2.3104738107821934, -3.8877612797155092], [-4.8388130385402572, 4.5860809984784119], [-1.0257231975724324, -2.8597168087791411], [2.7749746473673307, 1.6109451519882603]], [[3.8716004178264924, -4.1934098614782975], [0.26294326566585013, 3.064167424588387], [-0.13958414372954664, 1.2743132107299084], [-2.1606580079959778, -2.3972577553196919], [0.71744533313449743, -2.5213347854561494]]])+(1.-msk_arg1)*numpy.array([[[1.716359035785552, -1.3112587150238331], [0.29567049158006142, 0.064602808662549194], [4.5440096688599318, -3.9071071412184266], [4.1990240636757079, 2.7791879602144292], [-2.5649244721801159, -1.5953302683410331]], [[1.2896612169027613, -4.1659600536704406], [3.8447387638667649, -2.0058176581950704], [3.9122168198414986, 4.8121495275574127], [-0.23828614169578177, 2.3764534909317518], [4.4050571093304818, 3.7329165022495143]], [[1.8208608162572677, -2.6258822836714826], [4.6435047236112243, -1.164259854452653], [1.028943720868492, -2.8511771865484379], [-3.0286357912569963, -2.689180481808938], [-1.4778166703612197, 3.6734010876057681]], [[1.964084395792705, -1.244379172494996], [-0.53168794737986325, 2.8883247436155193], [-2.2748425890159716, 2.8815495426554616], [1.4353364480986608, 1.2649651414265097], [0.95036861659304073, -0.024667568224740144]]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[-5.8209854171969901, 0.16876854251994855], [-2.6288208563442517, -3.7801021289466794], [-0.30158965087701395, 8.2981886973953465], [-3.8069650877708341, -1.2034422493826291], [-2.0919958202443567, 0.76825264795132853]], [[-5.9633671654880551, -4.4610806873641664], [-3.8253957073496219, 4.0958879507063024], [9.6098908390851125, 7.9534932353843892], [-5.0753257159250476, -1.1227473806648245], [-2.8652385717778879, -0.73629493761298104]], [[1.1126665353967256, -6.80659791262193], [-2.8072841518576315, -4.3845716207909469], [-9.7158006956330745, -0.29090665861440623], [-1.2776614810715543, -3.1116550922782631], [2.2164679864713541, 1.0524384910922837]], [[3.2152778136613982, -4.8497324656433918], [-4.1235141634313202, -1.3222900045087833], [-0.51358821048864201, 0.90030914397081307], [-5.0983249538598443, -5.3349247011835583], [4.3954404118837811, 1.1566602932931342]]])+(1.-msk_ref)*numpy.array([[[0.35280350543680417, -2.6748142453725809], [2.8936695511806967, 2.6626018682631845], [5.6129097250911997, -2.8382070849871588], [5.7379995020678898, 4.318163398606611], [-4.2434392885753125, -3.2738450847362297]], [[5.7997968088336407, 0.34417553826043878], [6.6166348757115623, 0.76607845364972693], [5.7783518263067224, 6.6782845340226364], [0.28740276328659942, 2.902142395914133], [8.7476274677955459, 8.0754868607145784]], [[-1.3652675349619754, -5.8120106348907257], [3.1385884324343545, -2.6691761456295229], [-2.9899698963873726, -6.8700908038043025], [-0.67908509096385838, -0.33962978151580003], [-2.5971451964131447, 2.5540725615538431]], [[-1.5162336487628467, -4.7246972170505472], [0.90373255693274146, 4.323745247928124], [-2.725706107797226, 2.4306860238742072], [3.0855093399482811, 2.9151380332761301], [-0.23535222780817922, -1.2103884126259601]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank4_expandedData_rank2(self):  
       arg0=Data(numpy.array([[[[-2.8453731169188967, -1.3769218476461633, 2.5379741615977913, 1.1826853429539153, 1.6943453979471403], [4.0327196635323705, -2.6902240578706618, 1.7672817994600631, 4.8234903803538387, -2.2817970895942818], [1.026360493105849, -1.5279057061225276, 0.70236228614436325, -1.2283213852818839, 3.11838762259584], [3.4645055049592894, 2.1871052252796552, 3.7417045820890618, 0.71466312396194276, -3.8819081982059824]], [[4.5619453888733421, -2.0045953533291905, -2.6045705607605618, 3.339733166371305, 0.65950554483112178], [-3.7214781461384661, -0.18874335172988843, 3.5535224549796212, 1.7457204969108027, 0.44973522511172792], [1.3329043253493023, 2.3957676082725063, 0.13532098003140014, -2.9757419228658377, -2.9181931158975081], [-2.2740256896735245, -0.88320071773755249, -0.054078139639930356, -4.5064932075206627, -4.6716474822679057]], [[-0.33217452715205198, 0.030438939185635228, -1.4391054954805274, -1.8617265865897483, 4.5106280561362038], [-4.7571305813055629, -1.1013242944806221, -2.9750985171785818, 4.7892416065169332, -2.1257305362436285], [1.6248180726214407, 1.8975284199467701, -3.8272565641530942, 1.3237786092229564, -0.74070390021447974], [-4.4449265081572733, -1.7225461243829807, -0.18543927029126461, -1.7969594551648491, -2.7823954306563659]], [[3.4442819326814682, -2.8993417704575917, 0.64088565117562979, 4.8073321035346819, -2.1711409094679599], [1.4283128690154454, -3.7189087058443748, 2.6238730296708015, 0.41533387662272148, -1.2970964093746931], [3.1073401421427604, -2.2979223292066422, 0.3216080708323874, 4.9987830863209908, 0.56663443045246975], [0.70210208652499162, 3.9336234699865269, 2.9598780085218914, 4.8764784908296139, -0.2282073451187685]], [[-1.2823896212354358, -3.2086826943019906, -3.392364187282999, -3.3824208108978482, 1.8414915648576162], [4.1940296464567179, -0.13352158333853037, -0.92992216480995182, 2.379127647439736, 1.2848452883362462], [1.2516756994566975, -2.3758159860893824, -3.5757608189501622, -1.4932709552816403, -3.3047112863486152], [-0.93326173469202889, -1.3852833316761037, 3.4855709985078427, -3.3712729967935493, 4.8543115926470577]]], [[[-4.7960920635014057, -1.4587729537203789, 3.1501427999527252, 3.3863334251313333, -2.2917807809200195], [-2.3544777076697487, -3.6476202247389433, -3.6838755773636036, 2.1297362295475883, 1.7572352123298511], [-1.8804671142626539, -2.281145533267579, 2.5515492413420935, -3.0260246657486745, -2.0363760009772927], [2.9310643170847852, -0.76319067656995365, -0.85525805288733103, -4.344562308254007, 2.6963418544322941]], [[4.2597716096071014, -2.4443366905773676, -4.1392364479651302, 1.4905590357076184, 2.8202671188652229], [1.8733444419482428, 1.1319474376114611, 0.6184305024886303, -3.2616211377581052, -4.7157454494014317], [1.6120375675402068, 0.92330409316762285, -3.4449643818826683, -3.2483332399056151, 2.0259083673117031], [-3.579095721892541, 4.2199717483174943, -2.9972779652176742, 4.732665823422721, -2.886833184868979]], [[2.7493674522614597, -4.716125639596914, 4.8817221443351926, 3.4074092325885807, -2.8714964786678143], [-0.82208435419430081, -4.3246712016204638, 1.7197313651595838, -3.6096906655149361, -0.66507009593026289], [1.614397910539056, 3.768330129719482, -4.1012317705530341, 0.64541037482037922, -3.7255413653001526], [2.3346186154199984, -0.81308479859774252, 1.1883275999647083, -2.865525041822047, -2.6967631442592896]], [[0.83687178901183579, 2.3558403369004211, -4.6587734677396009, -0.40082216116198577, 3.17004062820995], [4.9747688859410388, 1.3875396933215765, 2.3245533606260462, 2.5507725301350064, -3.1692264222355826], [0.13580445639862848, 3.6983125500655802, -4.1165847163016718, 1.8839988171290765, -3.9540137598180749], [-4.9403544796419041, -0.0020801786761666108, 0.52561612247551714, 0.95449342578446306, -0.73167955418583652]], [[-0.47166544835603297, 1.5591182610705587, -4.8848104392249638, -0.72773665115706976, -3.9774906131085763], [0.6975180014780058, 2.30708507818537, 4.4102899382347935, -4.4548560378004085, -3.8030810866293931], [-1.5589672218831407, 4.4172720651898469, -0.97773260526593653, 3.5267684923927867, 4.3154626138528638], [2.588764328843423, -3.2101855119832257, 2.7712491648661679, -3.5794922027197518, -0.42289944806608482]]], [[[-1.1391589265855337, 4.5742147394736783, -2.2374316469808253, 1.9135133911627715, 3.2741296753020812], [4.7008909341839136, -4.2811479570545483, 4.0377850442284853, 2.2522760747661339, 2.1707254143678085], [1.7242106088075602, -4.9488433009310899, 4.9868678358150458, -2.0106605509452624, -4.4573119508842218], [1.2676429595362233, 2.8854843359122908, -0.9844824980910527, 2.1497819611310485, 3.2358066239472123]], [[-1.7989009973513648, -0.41145351958334242, 3.7345310739364166, 1.2143250018156078, -0.21277651482622506], [2.8143546286685162, 1.0433998506143727, 0.040200875788375612, -2.8120108431723558, 4.6613686576458502], [3.546109174328274, 0.5150722373594121, -4.0730566462871618, -1.5041422847095975, -2.5464305824489433], [-1.0985457905882079, 3.1992840764831669, -3.0294489695114635, 4.3216711898452083, -0.054240724724284206]], [[0.13082368690128909, -1.7832547936914334, 1.0298210083330606, 2.0213553693601449, -1.208631035871548], [-3.4792075914049891, -2.358168192291481, 2.4529700194915618, 0.28658516877741658, -0.94730077198306084], [-1.1473858712200502, 0.53853641134868369, 3.4975988641231677, 0.89234667593475869, 1.5371474121880979], [-2.8859750319650743, 2.192166547053727, 0.74776913979134818, -4.0017317616717216, -1.4960525451040994]], [[3.4989552432042608, -1.4563637277961385, 4.3213044329656611, -2.2000297227126975, 3.2727219741464708], [4.0292143647967524, -3.2252947067495139, -0.58030233243022256, 4.9596905132231015, -1.9428451775580999], [2.413868074407187, 3.3907678611440222, -0.51401312728365056, -4.8762120897923005, -4.3426521799427373], [3.1536144507544712, -2.1995817743986681, 4.8583230208260311, 1.5534094102503913, 4.6089054653570614]], [[3.4264054127990278, -4.8284789925813998, 1.2660344991904147, 4.0509559808778679, -3.7032973292497129], [-1.9071368206998454, -2.695947259511672, 1.5583227891885878, 0.99277303690683638, 1.2799121185486051], [0.32437927850897452, 3.6329544663672007, 1.0059159008412886, 2.784273580863676, 3.3035037366427407], [4.3636269280637823, 1.0599972844720078, -2.8812024333333239, 1.6486994627540339, -1.938953063773444]]], [[[-2.2670683700537553, 4.7671744166103771, 4.0896157932997959, -3.9128073794556171, -4.6251192696984003], [-3.6372628682337158, -2.6928336104276207, -0.92479070899447002, 1.5723494925486072, 4.9657976501689163], [-0.96162586209275336, -3.3070528331634987, -0.39998264384422466, 1.6830399102367366, 1.3188464263664788], [1.7507615736739606, -3.7843075417135532, 0.039864488372558071, 0.31813107930437123, -1.9448556101238124]], [[-3.6216092208041264, -0.02450872620649136, 2.2555293744389528, -3.0448567133835014, 4.5753879735828278], [-2.8571374517841939, -1.1727129306756545, 1.6234528920531064, 4.9850084112823705, 4.7757159130035252], [-4.7996173190635139, 3.3400662454948424, -4.9227307531048723, 2.5455084666587471, 1.9187794094742863], [3.0334006116251526, -2.5014372844977673, -3.1298159997215746, -4.8129301467924526, 4.7571758985393622]], [[3.9973387756877603, -0.2828375011036357, -4.0978101559278386, 4.508249474486508, -1.5761400776102876], [-4.0626292066691096, -3.9683616454955217, -3.3553261202687912, -0.15604387457601288, 3.8599776213721366], [-0.60559284155949378, -1.4886670149859063, 2.1359230758812302, -3.3202837639731575, -4.7408170929686548], [-3.907931039970598, 0.70313022259722135, -4.7653297895022027, 1.4496372228581365, 1.6882274070393555]], [[3.4777122172271042, 2.538630252826982, -1.3418379394626578, -2.3809302933616818, -3.5605297269787419], [1.6983282434784028, -4.2411565638069781, -3.3381436303137146, -2.1124732596672304, 4.5482947031028367], [0.52466244167652132, -2.8612814586773014, -0.95368915227141215, 3.7633612773132814, 3.9187916726769032], [3.8337830583359143, 0.61448649892148577, -4.4742721185488934, 4.4230144074890205, 1.0286188316542599]], [[-2.1705935161417909, 4.6363264108891968, -1.8874193845783269, -4.933061031234331, -3.5776899548047836], [3.5816383883074039, -3.7968690855138085, -0.95229232340472159, 3.2737175715077456, 2.9631251795488911], [2.6780203713406001, -0.94969124503178826, 0.018995622411011936, -2.8849055949580582, 4.8136947386340161], [4.4821584486185841, 1.7084304101746657, 4.9606029015551165, -3.9190155911284874, 3.1911098730111007]]]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[[[-0.11181438844288216, -3.1641576847013839, 4.5576781634983892, -2.0860504241394273, 4.9090504271050719], [-0.66457593768691314, -3.6872113844468126, 0.97505470536009398, 4.8989186628311039, -1.6293123388061259], [-0.89745915128823661, -2.6662945922526946, 1.313425265399605, -3.785158292238334, 0.74244867695162498], [-3.9074824224369209, -1.7656231425911342, 4.6875719131621807, 0.75052642137113956, 1.015491798168668]], [[3.5966720337882361, -2.1524442618302544, -3.3400026703767072, 1.8632188385951629, -2.7936108739129937], [0.15515601230817211, 1.3498545171946219, 3.7945658620690104, 1.1613100062131174, -4.2285451191733063], [3.1923099918135769, -1.3933622905698329, 0.15710183800920063, -3.5545828127655623, -4.7528219751030516], [2.2684164104623381, -3.9403546025769733, -0.81829087752217511, -2.8683151706462198, 4.7392818054161943]], [[1.5979624459626498, -1.903842429644873, 0.20741656190621072, -3.2297837262731055, -0.028635329696563794], [4.1298224416415348, -0.9184070753179272, 0.42034430994233674, -3.1084259507949783, 0.93704455901861472], [2.5153701642146, 2.4841728038402602, -4.2140863135135778, 1.6597580806855063, 2.5006837803432989], [1.2443724125620728, 3.9225227354155994, -1.6878671647123022, 4.1601227017616242, 3.1418604276065096]], [[-1.3904575686378253, -0.57018805506858961, -4.0438934315836992, -1.9167919773049356, 2.7455663985014747], [-4.867134305662959, -0.14086341272003278, -4.6302837701521602, -0.45552673213782757, 1.0878736860585008], [-3.4961122110416532, 2.9004320387284288, -0.36494776387344352, -4.8183420802454116, -0.11683610248815057], [0.77076778188569683, 3.7821439317903849, 0.46126816988515085, -4.571879656706809, -4.6213590790598307]], [[-4.7623184808431187, 4.5583086805486737, -2.2739249038116549, -1.8254573694596665, -4.0311172640774195], [-2.894562279541212, -0.3759433788151707, -4.7014555791903359, -2.621266381000332, 0.45401046375740695], [-0.69971263554736218, -2.3117687394733233, 0.54740757193517364, -2.8629907343468264, -4.0863856389290394], [0.076804379651703947, -1.3469708776094014, -4.9241858597944743, -3.5286875260635417, -2.9634446712084586]]], [[[-0.17372513421081948, -2.3981750514924793, 4.2184175245328746, 1.556219429090544, 1.781321163512998], [-2.4883789994964056, 0.62697066566118931, 3.6663987622529035, 2.3159475511502317, -3.6517424718073608], [-2.7693381705644127, -1.7597337987165074, -3.7712783617688528, -0.51975615809827858, -0.34257273168531643], [-4.2109157369414394, 2.5905891650486126, 3.4796855610467645, 1.5198265486007854, -0.13933356867135149]], [[-3.1106809958494699, 0.74270527956689758, 2.3582370537080841, 2.2678295714826566, -0.63258279447204835], [1.1124295336911336, 2.2577991470328032, -2.3158661370816191, 3.2390643292111783, 2.0232104980668915], [-3.0632805446141029, -2.8505221241334922, 1.2744135182329988, 4.7276774850747412, -3.7144674410223888], [-2.6687538249961209, -3.6634587703684907, 0.31213660674335131, 2.123963095665296, -4.8701558920003851]], [[-3.9255842621796244, 4.0318317025189891, -4.6131237071917788, -3.1594366627209283, -2.7873364507811083], [0.26144342320231129, 2.505764822876321, 2.112752081782336, -0.45907056577054561, 1.5468888504780729], [-3.013700096029992, 0.27839253406547382, -4.1170335631008488, 4.3694308561700499, -3.9647257322918938], [1.019054330443474, -0.51264709946004849, 0.25327019671925388, 2.3133404062497931, 2.538245414676183]], [[3.7892071181269955, 2.6998695871281875, -2.0836356515020493, -3.5012044652035557, -4.9301990275040009], [-2.4301914217533604, -0.71543378376133937, 3.9632367558756538, -4.6735042303755359, -1.013953521559583], [-3.8065193305897504, -4.0658797658003767, -4.3865651052499732, 2.695418565114899, -4.6556783944806455], [-2.8978957217712864, 1.2367592469014781, 0.22976759460087504, 4.5816273851359277, 0.5594789231416577]], [[2.9464351803576392, -2.1243842852833703, 0.2913374720786237, -3.6486990800118289, 4.7606555705130784], [1.6084519848212864, 3.869050648453543, -4.9641779091935287, 0.88205946505982169, 1.4662161170337207], [3.6354228718447477, 1.4310014963969584, 3.0602794542412859, -2.0732750482050677, 4.2537611469950072], [0.62583197774822441, 2.0123401863756545, -4.4873627867696078, -4.8731283642943444, -1.2329543554530065]]], [[[-4.5851542766937143, -3.5428698198782693, 0.88994812990841776, -4.1361425093767998, 2.3488295472383269], [-0.18242883828240508, 0.087322800837581482, 1.5222886148693622, 3.2574192966192133, 3.2930555309280631], [-2.5120258737374956, 1.2482154396827516, 4.5619815916434696, 3.0705296740930628, -1.8006532580591394], [-3.4936176726332402, -1.0441281330495111, -1.5349662687069632, 1.1869231726549359, 2.8255922123200969]], [[2.2269444531227611, 4.6010289495529157, -0.31502856982408201, -1.8179650059667471, -1.2299763779654729], [2.2754015182981204, -3.9549934936588214, 2.9089790479401492, 3.3051149387875327, 3.9097922318493534], [3.7462903411569712, 4.8924935885733003, 1.3091407965048827, -3.2116049489741618, 1.299738163398608], [-4.7483108431248269, 4.0837496341390924, -0.86363505380954741, -4.2267540980295957, 2.0134349287502751]], [[3.1271888644073726, -3.54436833355114, 2.1908483813788449, -4.8894466449841953, 3.1071869325818682], [3.2962106227954706, 1.5667704140895538, -3.3986116742905228, 2.4461563030304312, -2.1411642874116099], [2.4509572810532276, -4.235540496224651, 2.9641364587230274, -1.2977187533944887, 4.3787756944527914], [2.5977243550072835, 2.6035534689639759, -1.4405220425464216, 3.0026169041443787, -2.1172705318662466]], [[1.3913312008819956, 4.3786708018032066, -1.2708868922720029, -2.0071526453555446, 3.4115265142773978], [-1.3082803231649756, 1.5597865367086472, -2.5997718741976286, -0.83006612218284559, 2.1707935533942724], [1.3261648570215145, 4.3730258797329196, 3.7855550516960275, 0.68326325074712368, -4.8280919286451702], [-1.7319610587865197, -1.678535433758459, 4.3018734854022398, 4.9843187422767627, -3.5895882265960113]], [[-4.2501924091165844, -2.9517256980505002, -4.0504144503773176, -2.027919528247125, 2.8068883088474541], [2.5364770278545326, -0.31778693125965063, 0.23358796489686995, 1.1772123385834856, -1.831963282170773], [3.4633717903994903, -1.2508375308796937, 3.9650430041974598, -2.3062826221568153, 4.2220404127977975], [3.3967885394945565, -2.2413223177821706, -1.3226467981944112, -2.1267482423351813, 0.14036218231397424]]], [[[-4.8671513454043493, -3.5973561926885491, -1.3823888723052891, -4.1752318885149053, 1.3691477407480743], [-4.830732320750589, 0.98314400983130668, 3.3464509193883369, -2.7990585956773115, -2.0444167090249312], [4.6861501190694774, -0.74949411977350611, -4.5111255370584971, -2.5386314623415931, 3.2819524238698801], [0.32970782837018398, -2.6819330730908444, -1.4744892343688898, 3.5383287159931029, -4.9087435587471724]], [[-4.8109695543341005, -0.64778179723435159, 0.91404273380590428, 2.5859918740630796, -1.9318412487361449], [3.8488767746529735, 4.6146877031969886, -2.2563008540019047, -2.552154111361852, -0.0042697392590280714], [1.1618931104701335, -3.3962646760010173, 1.86578314362988, 3.8986905559144631, 1.5591140624140003], [1.410479265635681, 0.33403723119667017, -4.9993433396004248, -4.5845567928930269, -1.7444147894101647]], [[-2.2020590196071268, -2.1757622946932011, 4.0794471183654437, -0.80780758077291459, 2.1407437678761809], [3.6322801640250368, -4.458931021590824, -1.4186575208855787, 3.542474254425759, 0.26538148407835305], [3.1329458014181366, -3.4085525030373578, -0.1575481279054225, -3.3554538590735641, 1.5843879344546252], [1.5918771567303578, -3.0241757487611496, -3.751829747241989, 0.20301003908379123, 2.1508344105625854]], [[4.1484621175443266, 4.0673891320004945, 3.7241063841237647, 0.49370397612792338, 0.33711015529796384], [3.9126543433433145, -3.6694282459128633, -1.2450640150870109, 1.0346610190174745, 4.4802774752033585], [4.1860811653885186, -2.7160967234617193, -4.9003595110927929, 1.4338796000524603, 4.2382291600810049], [3.5761041392617194, -1.6420028927519059, 1.1207610924237397, 4.0215584065806329, 1.2100967786986807]], [[-1.4614069877561198, -4.2360534613109877, 4.7179320353691114, -2.6327676825109627, -2.0619636480108907], [1.4356875929932595, 0.055345062843269233, 4.2910712443246037, -1.7426585973869479, -2.0948808048439496], [0.065911060422342516, -4.1290260910218155, -4.4705726220482731, 4.5732440110280663, 1.6179986219550226], [-1.0887389329551809, -3.5890529734382071, -2.6788511954144134, -4.9413386313463112, 0.38689748678649849]]]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[-1.6479555830996659, -3.451483181781426, -2.144947010492404, -1.8600870456041885, -1.5065972809185202], [-3.2443636240388987, -3.4307397560499364, -4.9221917196056344, -4.69151947590729, 4.212860114388306], [-3.0661876739204583, -4.0392839887899257, 2.9206742623581849, 0.95080441840138796, 3.2608224543769477], [-3.8058017230159589, -3.159398627438863, -0.53931774515208453, 1.1161819335951151, 1.0646390947755169]])+(1.-msk_arg1)*numpy.array([[3.9546595939516624, -0.73879221046685561, 4.7285318618491559, 0.23922698904589002, -0.07199259229390087], [1.4640287048814677, 2.5224078963712131, -4.1143938614847926, -2.6883900129091662, -3.1407612243519898], [2.1354725669076551, -2.1739519340830049, -0.63427737483688329, 2.622777269073798, -0.082196248504796898], [4.1168851520794529, -4.0011032527816255, -1.8061701016094944, 2.0591611802621497, 4.6213041193811595]])  
       res=add(arg0,arg1)  
       msk_ref=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       ref=msk_ref*numpy.array([[[[-4.4933287000185622, -3.0248774307458293, 0.89001857849812538, -0.46527024014575069, 0.046389814847474398], [2.3847640804327046, -4.3381796409703277, 0.1193262163603972, 3.1755347972541728, -3.9297526726939478], [-0.62159508999381696, -3.1758612892221936, -0.9455932969553027, -2.8762769683815499, 1.4704320394961741], [1.8165499218596235, 0.53914964217998929, 2.0937489989893958, -0.93329245913772318, -5.5298637813056484]], [[1.1104622070919161, -5.4560785351106169, -6.0560537425419874, -0.11175001541012097, -2.7919776369503042], [-7.172961327919892, -3.6402265335113144, 0.10203927319819517, -1.7057626848706233, -3.0017479566696981], [-2.1185788564321237, -1.0557155735089196, -3.3161622017500259, -6.4272251046472633, -6.3696762976789341], [-5.7255088714549505, -4.3346838995189785, -3.5055613214213563, -7.9579763893020887, -8.1231306640493308]], [[-2.477121537644456, -2.1145080713067688, -3.5840525059729313, -4.0066735970821519, 2.3656810456437998], [-6.9020775917979673, -3.2462713049730261, -5.1200455276709853, 2.6442945960245292, -4.2706775467360325], [-0.52012893787096326, -0.24741859054563387, -5.9722035746454978, -0.82116840126944757, -2.8856509107068837], [-6.5898735186496769, -3.8674931348753847, -2.3303862807836686, -3.9419064656572531, -4.9273424411487703]], [[1.5841948870772797, -4.7594288160617797, -1.2192013944285587, 2.9472450579304934, -4.0312279550721488], [-0.43177417658874306, -5.5789957514485629, 0.76378598406661302, -1.444753168981467, -3.1571834549788815], [1.247253096538572, -4.1580093748108311, -1.5384789747718011, 3.1386960407168023, -1.2934526151517187], [-1.1579849590791969, 2.0735364243823384, 1.099790962917703, 3.0163914452254255, -2.088294390722957]], [[-2.7889869021539559, -4.7152799752205112, -4.8989614682015192, -4.8890180918163679, 0.33489428393909604], [2.6874323655381978, -1.6401188642570506, -2.436519445728472, 0.87253036652121585, -0.22175199258227396], [-0.25492158146182264, -3.8824132670079026, -5.0823580998686824, -2.9998682362001605, -4.811308567267135], [-2.4398590156105491, -2.8918806125946239, 1.9789737175893225, -4.8778702777120699, 3.3477143117285375]]], [[[-8.0404556875403053, -4.7031365777592775, -0.094220824086173494, 0.14196980109243462, -5.5361444049589181], [-5.5988413317086474, -6.8919838487778424, -6.9282392014025023, -1.1146273944913103, -1.4871284117090475], [-5.1248307383015526, -5.5255091573064776, -0.69281438269680518, -6.2703882897875731, -5.2807396250161913], [-0.31329930695411345, -4.0075543006088523, -4.0996216769262297, -7.5889259322929057, -0.54802176960660454]], [[0.82903185355716502, -5.875076446627304, -7.5699762040150667, -1.940180720342318, -0.61047263718471356], [-1.5573953141016936, -2.2987923184384753, -2.8123092535613061, -6.6923608938080417, -8.1464852054513681], [-1.8187021885097296, -2.5074356628823136, -6.8757041379326047, -6.6790729959555515, -1.4048313887382333], [-7.0098354779424774, 0.78923199226755791, -6.4280177212676106, 1.3019260673727846, -6.3175729409189154]], [[-2.1728242673441747, -9.6383173592025493, -0.040469575270441815, -1.5147824870170536, -7.7936881982734487], [-5.7442760737999352, -9.2468629212260982, -3.2024603544460506, -8.5318823851205714, -5.5872618155358973], [-3.3077938090665784, -1.1538615898861524, -9.0234234901586685, -4.2767813447852552, -8.6477330849057878], [-2.587573104185636, -5.7352765182033769, -3.7338641196409261, -7.7877167614276814, -7.618954863864924]], [[-3.8546476868954542, -2.335679139006869, -9.3502929436468918, -5.0923416370692758, -1.52147884769734], [0.28324941003374882, -3.3039797825857136, -2.3669661152812438, -2.1407469457722836, -7.8607458981428726], [-4.5557150195086615, -0.99320692584170978, -8.8081041922089618, -2.8075206587782136, -8.6455332357253649], [-9.6318739555491941, -4.6935996545834566, -4.1659033534317729, -3.737026050122827, -5.4231990300931265]], [[3.741194666032273, 5.7719783754588647, -0.67195032483665784, 3.4851234632312362, 0.23536950127972966], [4.9103781158663118, 6.519945192573676, 8.6231500526230995, -0.24199592341210252, 0.40977902775891284], [2.6538928925051652, 8.6301321795781529, 3.2351275091223695, 7.7396286067810927, 8.5283227282411698], [6.801624443231729, 1.0026746024050803, 6.9841092792544739, 0.63336791166855422, 3.7899606663222212]]], [[[-4.2053466005059921, 1.50802706555322, -5.3036193209012836, -1.1526742827576868, 0.20794200138162289], [1.6347032602634552, -7.3473356309750066, 0.97159737030802695, -0.81391159915432443, -0.8954622595526498], [-1.3419770651128982, -8.0150309748515483, 1.9206801618945875, -5.0768482248657207, -7.5234996248046802], [-1.798544714384235, -0.18070333800816751, -4.050670172011511, -0.91640571278940985, 0.16961895002675398]], [[-5.8381849861412904, -4.4507375083732681, -0.30475291485350908, -2.8249589869743179, -4.2520605036161507], [-1.2249293601214095, -2.995884138175553, -3.9990831130015501, -6.8512948319622815, 0.62208466885592451], [-0.49317481446165168, -3.5242117514305136, -8.1123406350770875, -5.5434262734995237, -6.5857145712388689], [-5.1378297793781336, -0.83999991230675874, -7.0687329583013891, 0.28238720105528259, -4.0935247135142099]], [[3.051497949259474, 1.1374194686667516, 3.9504952706912455, 4.9420296317183299, 1.712043226486637], [-0.55853332904680419, 0.56250607006670394, 5.3736442818497467, 3.2072594311356015, 1.9733734903751241], [1.7732883911381347, 3.4592106737068686, 6.4182731264813526, 3.8130209382929436, 4.4578216745462829], [0.034699230393110625, 5.112840809411912, 3.6684434021495331, -1.0810574993135367, 1.4246217172540856]], [[4.4497596616056487, -0.50555930939475058, 5.2721088513670491, -1.2492253043113095, 4.2235263925478588], [4.9800187831981404, -2.2744902883481259, 0.37050208597116541, 5.9104949316244895, -0.99204075915671197], [3.3646724928085749, 4.3415722795454101, 0.4367912911177374, -3.9254076713909125, -3.3918477615413494], [4.1044188691558592, -1.2487773559972801, 5.809127439227419, 2.5042138286517792, 5.5597098837584493]], [[6.6872278671759755, -1.5676565382044521, 4.5268569535673624, 7.3117784352548156, -0.44247487487276516], [1.3536856336771024, 0.56487519486527571, 4.8191452435655355, 4.2535954912837841, 4.5407345729255528], [3.5852017328859223, 6.8937769207441484, 4.2667383552182363, 6.0450960352406238, 6.5643261910196884], [7.62444938244073, 4.3208197388489555, 0.3796200210436238, 4.9095219171309816, 1.3218693906035037]]], [[[-6.0728700930697137, 0.96137269359441824, 0.28381407028383698, -7.7186091024715759, -8.4309209927143591], [-7.4430645912496747, -6.4986353334435796, -4.7305924320104289, -2.2334522304673516, 1.1599959271529574], [-4.7674275851087122, -7.1128545561794576, -4.2057843668601835, -2.1227618127792223, -2.4869552966494801], [-2.0550401493419983, -7.5901092647295121, -3.7659372346434008, -3.4876706437115876, -5.7506573331397712]], [[-6.7810078482429894, -3.1839073536453544, -0.90386925299991017, -6.204255340822364, 1.4159893461439648], [-6.0165360792230569, -4.3321115581145175, -1.5359457353857566, 1.8256097838435075, 1.6163172855646621], [-7.9590159465023769, 0.18066761805597942, -8.0821293805437353, -0.61389016078011593, -1.2406192179645767], [-0.1259980158137104, -5.6608359119366298, -6.2892146271604377, -7.9723287742313156, 1.5977772711004992]], [[3.4580210305356758, -0.82215524625572023, -4.6371279010799231, 3.9689317293344235, -2.1154578227623722], [-4.6019469518211942, -4.5076793906476063, -3.8946438654208757, -0.6953616197280974, 3.3206598762200521], [-1.1449105867115783, -2.0279847601379908, 1.5966053307291457, -3.859601509125242, -5.2801348381207394], [-4.4472487851226825, 0.16381247744513683, -5.3046475346542872, 0.91031947770605193, 1.1489096618872709]], [[4.5938941508222193, 3.654812186422097, -0.22565600586754275, -1.2647483597665667, -2.4443477933836268], [2.8145101770735179, -3.1249746302118631, -2.2219616967185996, -0.99629132607211535, 5.6644766366979518], [1.6408443752716364, -1.7450995250821864, 0.16249278132370293, 4.8795432109083965, 5.0349736062720183], [4.9499649919310293, 1.7306684325166009, -3.3580901849537783, 5.5391963410841356, 2.144800765249375]], [[-1.105954421366274, 5.7009655056647137, -0.82278028980281004, -3.8684219364588142, -2.5130508600292667], [4.6462774830829208, -2.7322299907382916, 0.1123467713707953, 4.3383566662832624, 4.027764274324408], [3.742659466116117, 0.11494784974372863, 1.0836347171865288, -1.8202665001825413, 5.878333833409533], [5.546797543394101, 2.7730695049501826, 6.0252419963306334, -2.8543764963529705, 4.2557489677866176]]]])+(1.-msk_ref)*numpy.array([[[[3.8428452055087803, 0.79050190925027852, 8.5123377574500516, 1.8686091698122351, 8.8637100210567343], [3.2900836562647493, 0.26744820950484982, 4.9297142993117564, 8.8535782567827663, 2.3253472551455365], [3.0572004426634258, 1.2883650016989678, 5.2680848593512675, 0.16950130171332844, 4.6971082709032874], [0.047177171514741545, 2.1890364513605283, 8.6422315071138431, 4.705186015322802, 4.9701513921203304]], [[2.8578798233213805, -2.89123647229711, -4.0787948808435628, 1.1244266281283073, -3.5324030843798493], [-0.58363619815868351, 0.61106230672776629, 3.0557736516021548, 0.4225177957462618, -4.9673373296401619], [2.4535177813467213, -2.1321545010366885, -0.58169037245765498, -4.2933750232324179, -5.4916141855699072], [1.5296241999954825, -4.679146813043829, -1.5570830879890307, -3.6071073811130754, 4.0004895949493386]], [[6.3264943078118057, 2.8246894322042828, 4.9359484237553666, 1.4987481355760504, 4.6998965321525921], [8.8583543034906906, 3.8101247865312287, 5.1488761717914926, 1.6201059110541776, 5.6655764208677706], [7.2439020260637559, 7.212704665689416, 0.5144455483355781, 6.3882899425346622, 7.2292156421924547], [5.9729042744112286, 8.6510545972647552, 3.0406646971368536, 8.8886545636107801, 7.8703922894556655]], [[-1.1512305795919353, -0.33096106602269959, -3.8046664425378092, -1.6775649882590455, 2.9847933875473647], [-4.627907316617069, 0.098363576325857238, -4.3910567811062702, -0.21629974309193756, 1.3271006751043908], [-3.2568852219957631, 3.1396590277743188, -0.12572077482755351, -4.5791150911995215, 0.12239088655773944], [1.0099947709315868, 4.0213709208362749, 0.70049515893104086, -4.3326526676609189, -4.3821320900139407]], [[-4.8343110731370196, 4.4863160882547728, -2.3459174961055558, -1.8974499617535674, -4.1031098563713204], [-2.9665548718351129, -0.44793597110907157, -4.7734481714842367, -2.6932589732942329, 0.38201787146350608], [-0.77170522784126305, -2.3837613317672242, 0.47541497964127277, -2.9349833266407273, -4.1583782312229403], [0.0048117873578030768, -1.4189634699033022, -4.9961784520883752, -3.6006801183574426, -3.0354372635023594]]], [[[1.2903035706706483, -0.93414634661101159, 5.6824462294143423, 3.0202481339720118, 3.2453498683944657], [-1.0243502946149379, 2.0909993705426571, 5.1304274671343713, 3.7799762560316994, -2.187713766925893], [-1.3053094656829449, -0.29570509383503962, -2.307249656887385, 0.94427254678318917, 1.1214559731961513], [-2.7468870320599716, 4.0546178699300803, 4.9437142659282323, 2.9838552534822531, 1.3246951362101163]], [[-0.58827309947825679, 3.2651131759381107, 4.8806449500792972, 4.7902374678538697, 1.8898251018991647], [3.6348374300623467, 4.7802070434040163, 0.20654175928959395, 5.7614722255823914, 4.5456183944381046], [-0.54087264824288983, -0.32811422776227905, 3.7968214146042119, 7.2500853814459543, -1.1920595446511757], [-0.14634592862490781, -1.1410508739972776, 2.8345445031145644, 4.6463709920365091, -2.347747995629172]], [[-8.039978123664417, -0.082562158965803434, -8.7275175686765714, -7.2738305242057208, -6.9017303122659008], [-3.8529504382824813, -1.6086290386084716, -2.0016417797024566, -4.5734644272553382, -2.5675050110067197], [-7.1280939575147846, -3.8360013274193188, -8.2314274245856414, 0.25503699468525731, -8.0791195937766869], [-3.0953395310413185, -4.6270409609448411, -3.8611236647655387, -1.8010534552349995, -1.5761484468086095]], [[1.1008171052178293, 0.011479574219021238, -4.7720256644112151, -6.1895944781127223, -7.6185890404131671], [-5.1185814346625271, -3.4038237966705056, 1.2748467429664876, -7.3618942432847021, -3.7023435344687492], [-6.4949093434989162, -6.7542697787095429, -7.0749551181591395, 0.0070285522057327299, -7.3440684073898117], [-5.5862857346804526, -1.4516307660076881, -2.4586224183082912, 1.8932373722267615, -2.1289110897675085]], [[-0.19432604399435061, -5.2651455096353601, -2.8494237522733661, -6.7894603043638186, 1.6198943461610886], [-1.5323092395307034, 0.72828942410155317, -8.1049391335455176, -2.2587017592921681, -1.6745451073182691], [0.49466164749275787, -1.7097597279550314, -0.080481770110703899, -5.2140362725570579, 1.1129999226430174], [-2.5149292466037654, -1.1284210379763353, -7.6281240111215975, -8.0138895886463342, -4.3737155798049958]]], [[[-2.4496817097860593, -1.4073972529706142, 3.0254206968160728, -2.0006699424691448, 4.484302114145982], [1.95304372862525, 2.2227953677452366, 3.6577611817770173, 5.3928918635268683, 5.4285280978357182], [-0.37655330682984056, 3.3836880065904067, 6.6974541585511247, 5.2060022410007178, 0.33481930884851563], [-1.3581451057255851, 1.0913444338581439, 0.6005062982006919, 3.3223957395625909, 4.961064779227752]], [[0.052992519039756214, 2.4270770154699108, -2.4889805039070869, -3.9919169400497521, -3.4039283120484778], [0.10144958421511552, -6.1289454277418258, 0.73502711385714425, 1.1311630047045278, 1.7358402977663485], [1.5723384070739663, 2.7185416544902954, -0.86481113757812222, -5.3855568830571663, -0.87421377068439687], [-6.9222627772078322, 1.9097977000560875, -3.0375869878925523, -6.4007060321126001, -0.16051700533272983]], [[2.4929114895704894, -4.1786457083880233, 1.5565710065419616, -5.5237240198210786, 2.4729095577449849], [2.6619332479585873, 0.93249303925267046, -4.0328890491274061, 1.8118789281935479, -2.7754416622484932], [1.8166799062163443, -4.8698178710615343, 2.3298590838861442, -1.931996128231372, 3.7444983196159081], [1.9634469801704002, 1.9692760941270926, -2.0747994173833049, 2.3683395293074954, -2.7515479067031299]], [[4.0141084699557936, 7.0014480708770046, 1.3518903768017951, 0.61562462371825344, 6.0343037833511959], [1.3144969459088225, 4.1825638057824452, 0.023005394876169483, 1.7927111468909525, 4.7935708224680704], [3.9489421260953126, 6.9958031488067176, 6.4083323207698255, 3.3060405198209217, -2.2053146595713722], [0.89081621028727831, 0.94424183531533901, 6.9246507544760378, 7.6070960113505608, -0.96681095752221324]], [[-4.3323886576213813, -3.0339219465552971, -4.1326106988821145, -2.1101157767519219, 2.7246920603426572], [2.4542807793497357, -0.39998317976444753, 0.15139171639207305, 1.0950160900786887, -1.9141595306755699], [3.3811755418946934, -1.3330337793844906, 3.8828467556926629, -2.3884788706616122, 4.1398441642930006], [3.3145922909897596, -2.3235185662869675, -1.4048430466992081, -2.2089444908399782, 0.058165933809177339]]], [[[-0.75026619332489641, 0.51952895939090382, 2.7344962797741639, -0.058346736435452407, 5.4860328928275273], [-0.71384716867113607, 5.1000291619107596, 7.4633360714677899, 1.3178265564021414, 2.0724684430545217], [8.8030352711489304, 3.3673910323059468, -0.39424038497904412, 1.5782536897378598, 7.398837575949333], [4.4465929804496369, 1.4349520789886085, 2.6423959177105631, 7.6552138680725559, -0.79185840666771945]], [[-8.8120728071157259, -4.6488850500159771, -3.0870605189757212, -1.4151113787185459, -5.9329445015177704], [-0.15222647812865198, 0.61358445041536314, -6.2574041067835307, -6.5532573641434775, -4.0053729920406536], [-2.8392101423114919, -7.3973679287826428, -2.1353201091517455, -0.10241269686716237, -2.4419891903676252], [-2.5906239871459444, -3.6670660215849553, -9.0004465923820511, -8.5856600456746524, -5.7455180421917902]], [[-4.0082291212166208, -3.9819323963026956, 2.2732770167559493, -2.613977682382409, 0.3345736662666865], [1.8261100624155424, -6.2651011232003189, -3.2248276224950732, 1.7363041528162646, -1.5407886175311414], [1.3267756998086422, -5.2147226046468518, -1.9637182295149169, -5.161623960683059, -0.2217821671548692], [-0.21429294487913664, -4.8303458503706445, -5.5579998488514839, -1.6031600625257032, 0.34466430895309097]], [[6.2076232978064763, 6.1265503122626441, 5.7832675643859144, 2.5528651563900731, 2.3962713355601135], [5.9718155236054642, -1.6102670656507136, 0.81409716517513875, 3.0938221992796242, 6.5394386554655082], [6.2452423456506683, -0.65693554319956959, -2.8411983308306432, 3.49304078031461, 6.2973903403431546], [5.6352653195238691, 0.41715828751024375, 3.1799222726858893, 6.0807195868427826, 3.2692579589608304]], [[3.1598971316250397, 0.38525065807017178, 9.3392361547502709, 1.9885364368701968, 2.5593404713702688], [6.056991712374419, 4.6766491822244287, 8.9123753637057632, 2.8786455219942115, 2.5264233145372099], [4.687215179803502, 0.49227802835934398, 0.15073149733288638, 9.1945481304092258, 6.2393027413361821], [3.5325651864259786, 1.0322511459429524, 1.9424529239667461, -0.32003451196515176, 5.008201606167658]]]])  
       self.assertTrue(isinstance(res,Data),"wrong type of result.")  
       self.assertEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")  
       self.assertTrue(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")  
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
    def test_add_taggedData_rank2_expandedData_rank4(self):  
       arg0=Data(numpy.array([[-0.74112341263355752, 4.4570737177717472, -0.88303727267573073, 2.8505542896924441, 0.24751543531618214], [-2.6500972506044498, 2.4407738740277267, 4.3753631908684376, 3.7569205686737703, 4.5481173063520224], [-4.0784831637890857, 0.12967500959919853, -1.5653433867654334, 4.6082361472963562, -1.8004067104610377], [-3.8569701658538613, 1.1922059673662719, -1.2551253063998704, 3.8940832175052016, 3.5241677497340245]]),self.functionspace)  
       arg0.setTaggedValue(1,numpy.array([[0.24430032160695525, 2.1679490108070789, 1.7212508033844296, 0.77438379900937804, -0.70594019599319413], [1.1794100359587336, 2.7579012098420019, -0.6383941233429633, -3.4917277700608098, 2.4850097552824923], [2.9392779476530864, -2.412190846158786, -2.3897537165538574, -2.9652763510334825, -3.8640799254421276], [-4.000448153280117, -3.9481857962286249, 2.7131157791816465, 2.9296600274136564, -3.6275769658500421]]))  
       msk_arg1=1.-whereZero(self.functionspace.getX()[0],1.e-8)  
       arg1=msk_arg1*numpy.array([[[[-4.8987584143724643, 2.2429532432381274, -1.3822780961502747, 3.9652299519226002, -0.36524937009713287], [2.6299867353180009, -0.51448824488480405, 4.6886307698708727, 2.2403696573895449, 0.4695696041371562], [-1.4401464007987954, 2.6033592474139864, 1.8280349806372893, 4.8939182754301864, -4.0500971045793417], [0.46675401885550727, -2.3505119021880194, 0.12955280803773395, 1.7234329923915563, -2.0621721054517494]], [[-4.4098592949296229, 3.5796256144360825, 0.46428661941529725, 4.4156960938433425, -2.9802460244514863], [-1.6430548025362492, -0.5069668336706199, 3.833444617848242, -4.3102580404362545, -2.687207481731221], [4.4655031766440043, -3.9673958400210974, 0.63828662756889365, -0.92069573588461928, -4.2337379006227094], [-0.72202955725754592, 3.3723320328533308, -3.5124490618761515, -3.7738014376670801, 1.0336594284951106]], [[2.4209711849880371, 0.58181128005009342, -1.691110444858166, -1.977504587493828, 2.2586604769042351], [-1.1257165249205361, -3.6878029288363354, 1.7559691976888328, 1.7383240214862363, 0.42229444618616796], [-2.884830254802301, -4.8637649156338831, -4.2620501085101186, 2.6514472504809259, 3.2352785513562807], [0.26783133064026554, -3.7958388107390806, -3.3760435279304648, 1.6810754314991607, 3.967596363848191]], [[1.137990009176538, 0.35632368258145242, -4.8618113314883473, 3.1671677602452775, 0.30008402557649738], [0.93520891407146678, 3.5051177860142086, 1.0094387990980378, -3.2578681315560134, 2.7093072079004141], [2.68283903480551, 4.4206955316471568, 1.0162995771424912, 3.4505247265868437, -0.97292258927282482], [-1.4193367757343633, -0.29631524465268644, 4.9717699607707448, 3.3933085712824163, 2.5297074954922527]], [[-4.1214969839661801, -1.6830293834027765, -3.5915008019374781, -3.3358395371612315, 0.7067060449824929], [-2.9173918431765067, 3.2488504880217928, -1.7808669140173405, -2.6851690135115103, 3.4538161030015591], [-0.36143309547219005, 1.4532854856470765, 0.17848588361167561, 4.86459129024216, 4.3082283829388874], [-1.8596000060319398, -1.2165057631365417, 2.6745137673760304, -3.3014892146675709, -1.2801003297305655]]], [[[0.38981768199009359, 0.60493430105969637, 4.7779376687565076, 0.26223536189238761, 2.6284402790791734], [-3.1328830270979733, -1.9837094776323907, -1.0999653487522587, 1.1648684754046617, 0.19104363317376638], [-1.2192213782789239, -2.8973620898636754, -0.64912056886304637, -3.768157207776095, -4.269598004480609], [-3.3884748233488704, -0.95563211814461191, -2.5900921809392119, 1.3354851237458654, 1.2044404227821737]], [[-3.237198006915043, -1.8124121662359007, -2.5618530745710197, -2.4521066861930549, -0.90224734789165151], [4.2106409564431946, 4.3636335814954599, 4.350644352213159, -1.8594010422137708, 0.13580512559590296], [0.9785115080525717, 2.8737869075705991, 3.3498281041967566, -4.4839167716260508, -2.5681669918665695], [3.2522124267608419, -2.4043454366250741, -4.2385799108711462, 2.0833487012044651, -3.3400887175941349]], [[-3.3154373367624701, 3.5171109302496486, 1.2201210694650575, 2.6342214143758298, -0.47211508895067311], [1.6173948046051105, -2.0686691717652828, -2.1883623360032054, -4.0026930824183999, -2.9397646045417991], [2.8316557761682475, -4.2470353439639421, 4.7212025140594189, 1.150200247548324, 1.6289608928238657], [1.842221331277317, -2.5845140371168904, 1.9732883226243221, 4.7149636149717544, -2.8023621614983285]], [[1.6614801565533552, 3.4227826531262462, 3.1453194321537072, -4.2018368045042234, 0.65289335206474775], [-3.0962995897811707, 0.64179306841823447, -1.3335229088076339, 0.14351294273393655, 0.86123306231586838], [0.57042884320435228, 3.4962727279527623, -2.7913744475081836, 4.5115466145187568, 0.11327219459246063], [4.4423766209878348, 3.9204759597480354, 0.48704424971596882, 2.2473472837318207, -3.662313874704437]], [[-1.7303686417259145, 3.4602568787999317, -3.272055917156973, 2.0845661809173937, -3.5051089465295018], [-0.93947484290832239, 1.1671708359722981, 2.2882641967876127, -4.9393028944455031, -1.9162912894788295], [-3.6031503184894476, -3.9071625852147998, 2.3748711369129847, 4.8432421297916086, 4.3927204605815451], [3.8777156257751528, 2.7132938250275442, -1.7338022448192127, -0.95295300427313556, -0.5429582775577888]]], [[[-2.4921838838802355, 0.18388022486033506, 3.3184566774327742, -3.7880639532289075, 2.267318720862864], [-3.2594897175351178, 4.8081179103995666, -3.5135300879455045, -3.6869807118759268, 3.969392210039512], [-3.880680424388574, 4.2757124948109233, -2.5693084664075205, 4.7487279233664239, 3.2302500826960721], [-1.3590997698990579, 3.9420894119969621, 2.2367154367858202, -1.2637103660515936, 1.5343196698472452]], [[4.1522980846451372, 0.66636188412523545, 4.5082489127808341, -4.9385416106750446, 1.7417870340465846], [-2.8710033380814881, 0.27505014061073663, -1.1329506510683185, 3.4945290376149423, 4.5241440730938933], [-1.5351375308174839, 2.4072580952601985, 1.8186476178996323, -3.5640399618248022, 0.84791141406375736], [1.4323759474120834, -3.8526617877675315, -2.1989044292417246, 2.7452014370410733, -2.6986145057027877]], [[-3.6427572137564601, 3.6693920415139001, 3.2843944618016181, 1.1029835704455992, 3.2995695479993792], [1.6720766582995132, 4.0230713141107692, 1.7972454246606775, -4.3082380753510119, -2.3201463783116028], [0.89099098658345088, -1.5597053952228945, -4.914