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

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

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

revision 396 by gross, Wed Dec 21 05:08:25 2005 UTC revision 429 by gross, Wed Jan 11 05:53:40 2006 UTC
# Line 16375  class Test_util_binary_with_tagged_data( Line 16375  class Test_util_binary_with_tagged_data(
16375        self.failUnless(isinstance(res,Data),"wrong type of result.")        self.failUnless(isinstance(res,Data),"wrong type of result.")
16376        self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
16377        self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16378       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16379       def test_generalTensorProduct_float_rank0_taggedData_rank0_offset0(self):
16380          arg0=-0.26757248589
16381          arg1=Data(-0.845346619976,self.functionspace)
16382          arg1.setTaggedValue(1,-0.164939544191)
16383          res=generalTensorProduct(arg0,arg1,0)
16384          ref=Data(0.22619149654580534,self.functionspace)
16385          ref.setTaggedValue(1,0.044133283860763033)
16386          self.failUnless(isinstance(res,Data),"wrong type of result.")
16387          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16388          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16389       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16390       def test_generalTensorProduct_float_rank0_taggedData_rank1_offset0(self):
16391          arg0=0.796750749318
16392          arg1=Data(numarray.array([0.71795366535495631, 0.52653855960302054]),self.functionspace)
16393          arg1.setTaggedValue(1,numarray.array([0.24254790248497127, -0.89703657103420276]))
16394          res=generalTensorProduct(arg0,arg1,0)
16395          ref=Data(numarray.array([0.57203012084690563, 0.41951999190833605]),self.functionspace)
16396          ref.setTaggedValue(1,numarray.array([0.19325022305032208, -0.71471456013682511]))
16397          self.failUnless(isinstance(res,Data),"wrong type of result.")
16398          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16399          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16400       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16401       def test_generalTensorProduct_float_rank0_taggedData_rank2_offset0(self):
16402          arg0=0.695709993643
16403          arg1=Data(numarray.array([[0.020860044940730571, -0.029660347286396993, -0.52432778011587056, 0.16323818055966832, 0.23656513789445799], [-0.94714247989983846, 0.88028874793065404, -0.80492047695032132, -0.1705466841006269, 0.26041675138028464], [0.51077512727642538, 0.30844961603752541, 0.92974442192889684, -0.29528156956238738, 0.82263550865498036], [0.64585924254051674, -0.53641015540398373, -0.99798834032979333, 0.30966027448251321, 0.043112098114223008]]),self.functionspace)
16404          arg1.setTaggedValue(1,numarray.array([[0.64188692087685117, 0.39360124259112728, -0.75019784742320894, -0.526723465119322, -0.39782285568476472], [-0.81062105747380531, 0.41798281693760542, -0.85685874165134712, -0.19118971519642813, -0.84993495899479599], [0.89086613100115342, 0.94117717592473626, 0.23970421209032811, 0.84662298079483556, 0.61042317686862524], [0.43617096051797755, 0.47613540926509823, 0.87963467661658368, 0.52339361553568819, 0.84472192299856874]]))
16405          res=generalTensorProduct(arg0,arg1,0)
16406          ref=Data(numarray.array([[0.014512541733110847, -0.020635000022071963, -0.36478007657132311, 0.11356643355948121, 0.16458073058073699], [-0.65893648867024479, 0.61242567922694469, -0.55999121990232459, -0.11865103251150221, 0.18117453644733958], [0.35535136055054534, 0.21459148041268938, 0.6468324858698784, -0.2054303388831788, 0.57231574449696054], [0.4493307295222127, -0.37318590580621014, -0.69431046190674761, 0.21543374759175582, 0.029993517504987622]]),self.functionspace)
16407          ref.setTaggedValue(1,numarray.array([[0.44656714564283551, 0.273832317980997, -0.52192013966188244, -0.36644677856984526, -0.27676933639953522], [-0.56395717074207974, 0.29079482291459452, -0.59612518970730988, -0.1330125955439368, -0.59130824491933431], [0.61978447033568274, 0.65478636707964721, 0.16676461586959107, 0.58900406858689369, 0.42467750449888392], [0.30344849616927538, 0.33125216255308548, 0.61197063527719064, 0.36413016893718281, 0.58768148367953776]]))
16408          self.failUnless(isinstance(res,Data),"wrong type of result.")
16409          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16410          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16411       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16412       def test_generalTensorProduct_float_rank0_taggedData_rank3_offset0(self):
16413          arg0=0.484037306122
16414          arg1=Data(numarray.array([[[0.68265538612757171, -0.1110965724433548], [-0.5662762533652177, 0.78934646910807293]], [[-0.1302879130937733, 0.44955885333630219], [-0.70642464431652807, -0.38736932551572267]], [[0.91760749190540047, -0.47273734671155543], [-0.15302376331735901, -0.70016811030317783]], [[0.45013141661922829, 0.81567106675810264], [-0.59615473801203045, 0.34671300912721348]], [[0.23903112608792654, -0.31114947887937272], [0.62016389414155948, -0.82747459961955983]], [[-0.91511460631251573, -0.32568238555751816], [-0.40329157753955713, -0.82101250044004104]]]),self.functionspace)
16415          arg1.setTaggedValue(1,numarray.array([[[0.018775740122862317, -0.11443654923919833], [0.43486736144027782, 0.38480797876112471]], [[0.55181515928391778, 0.11140381764071683], [0.18926828403697682, -0.20016270876144659]], [[0.7280994039969968, 0.073961476761866152], [-0.6697897808718698, 0.030058399297158145]], [[-0.15297116577480252, 0.54959167221419425], [-0.73596162012515909, -0.62944147322810307]], [[-0.130497384390585, -0.074648690607898249], [0.89655273131792357, 0.57515634235572155]], [[-0.53168430120443966, 0.91631417471415899], [-0.19868649938767047, 0.97447626383861796]]]))
16416          res=generalTensorProduct(arg0,arg1,0)
16417          ref=Data(numarray.array([[[0.33043067411119004, -0.053774885644922214], [-0.27409883220002995, 0.38207313850436164]], [[-0.063064210474229596, 0.21760325631241403], [-0.34193588181350215, -0.1875012047971118]], [[0.44415625845969386, -0.22882251180574931], [-0.074069210168858174, -0.33890748594401643]], [[0.21788039830146622, 0.39481522583564016], [-0.28856113341949502, 0.16782203093555464]], [[0.11569998235102241, -0.15060795555818454], [0.30018246067470628, -0.40052857608462805]], [[-0.4429496088328424, -0.15764242455680341], [-0.1952081687741318, -0.3974006790058775]]]),self.functionspace)
16418          ref.setTaggedValue(1,numarray.array([[[0.0090881586695260048, -0.055391559015693904], [0.21049202615214219, 0.18626141741397065]], [[0.26709912317733386, 0.053923603782572403], [0.09161291033968233, -0.096886218335068802]], [[0.35242727410008834, 0.035800113968653971], [-0.32420324120158489, 0.014549386622150223]], [[-0.07404375099605047, 0.26602287248590667], [-0.35623288001491671, -0.30467315506309506]], [[-0.06316560239644832, -0.036132751107417413], [0.43396496886387781, 0.27839712655312132]], [[-0.2573550368626093, 0.44353024469048347], [-0.096171677926513446, 0.47168286562874207]]]))
16419          self.failUnless(isinstance(res,Data),"wrong type of result.")
16420          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
16421          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16422       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16423       def test_generalTensorProduct_float_rank0_taggedData_rank4_offset0(self):
16424          arg0=-0.82612164061
16425          arg1=Data(numarray.array([[[[0.49137230608321159, 0.21103397397591972, 0.36894695797613597, -0.98934457807391096], [0.72704960548443953, 0.40167275033472238, 0.58725780128843574, -0.10728333413432201], [0.99124949932668827, -0.646519831641438, 0.029197269026953077, 0.030911350424682515]], [[-0.2062470776840899, 0.47074529044667623, 0.39284725161264755, -0.79430925885241277], [-0.39637287434231028, -0.9461043990096667, 0.98357675278498369, 0.09119868886628546], [0.91396857840844747, 0.85432450564711382, -0.35423417818924774, -0.4192775306299914]]], [[[-0.83191415405301505, -0.10956248737146823, 0.25400718228889407, -0.11693553662376077], [-0.0080216603023453015, 0.23885756457584106, -0.34713262645684284, 0.46501360266582159], [-0.29131559484184577, -0.33852545531854772, 0.13787465227116202, -0.25170735763681362]], [[0.28495381018787858, 0.65120424561293389, 0.35994204133054541, 0.9204717883540452], [-0.88451718169770621, 0.30533185395629858, -0.082085559206255709, 0.59340273277123412], [-0.53028926744778127, 0.71911169474982639, -0.92543659627885555, -0.25163796630716662]]], [[[-0.2406854475941016, 0.73809304974413026, 0.68357891676627713, -0.40738060369549856], [0.69230516626747285, 0.61465390677783716, -0.50936848663217682, 0.29742832750319681], [0.36009425257419814, -0.10656686018273454, 0.44342857915480227, -0.18332317751439375]], [[0.80444079297957383, -0.087904217723211442, -0.76307780635792777, 0.12779018458029689], [0.23309964011556872, 0.5126085720989233, -0.98215495805790787, 0.37699412625362849], [0.93486132495407115, -0.4472239943844849, 0.026263762762378962, -0.66190224340523462]]]]),self.functionspace)
16426          arg1.setTaggedValue(1,numarray.array([[[[0.16616967377174974, -0.34107493762952257, -0.013366504122305445, 0.3916585189816173], [-0.51443295867620642, -0.061956143344672032, -0.46825145806797974, 0.93626982523512203], [-0.38827530515953357, 0.76492363380102857, 0.9106638908219844, 0.82366217715856216]], [[0.0777021432639875, -0.1266865881760002, 0.94159533967464126, -0.52875807266097596], [0.72286575971810585, -0.77732888911952047, -0.34573213185526286, -0.50543303426366437], [-0.30623465226307678, 0.72745029312048759, 0.029705243092159828, -0.46235736717130349]]], [[[-0.023779335438608662, 0.062125873920558128, 0.55432211434727252, -0.4910628288412513], [-0.34836515769635312, 0.75268152200559157, 0.18972705449311222, 0.20609273075803891], [0.40002294900947777, -0.069504408378212146, 0.33361971327149709, 0.96462084486009525]], [[-0.37425750917278622, -0.36854032805550929, -0.76003840737679318, 0.28810224841584242], [-0.63434214294045788, -0.64508629082812363, -0.88595356937835024, 0.018348107926466239], [0.19521376070150187, 0.27345548434566203, 0.38107788831816691, 0.11669712593060977]]], [[[0.38397614572939998, 0.86441444697364211, 0.84537640188458707, -0.87984981292402931], [-0.89945185236059189, -0.18316500042027717, 0.52176022932540378, 0.90446948037966424], [0.84249247342924782, -0.5831061613180073, 0.81322201875229028, -0.72602553774982126]], [[0.65265301490599925, -0.35965776340528843, -0.74966085019277862, 0.50894589155692227], [0.59793303791118579, 0.89854331043644731, -0.59261270886988227, -0.02537886281454127], [0.66860854165544392, -0.87533172628080691, 0.94974216080754914, 0.60985323529838964]]]]))
16427          res=generalTensorProduct(arg0,arg1,0)
16428          ref=Data(numarray.array([[[[-0.40593329565157654, -0.17433973280534668, -0.30479506622115998, 0.81731896596661413], [-0.60063141288735467, -0.33183055149468393, -0.48514637826117851, 0.088629084005112088], [-0.81889266263719063, 0.53410402400225565, -0.024120495789865814, -0.025536535526296422]], [[0.17038517418731228, -0.38889287165304243, -0.32453961601120573, 0.65619606807453645], [0.32745220924480511, 0.78159731829780854, -0.81255404067617609, -0.075341210467658584], [-0.7550492214603941, -0.70577596221816385, 0.29264052044568839, 0.34637424147478285]]], [[[0.68726228579260951, 0.090511941816583966, -0.20984083015911836, 0.096602977361183132], [0.0066268671693862575, -0.19732540311940303, 0.28677377487764028, -0.38415780034006092], [0.24066211714590197, 0.27966320453586446, -0.11390123393272802, 0.2079408952444273]], [[-0.23540650917036171, -0.53797391975768227, -0.29735590970835218, -0.76042166392987987], [0.73071878529147294, -0.25224125212074272, 0.067812656841826954, -0.49022283913918141], [0.43808343962161456, -0.59407373304826361, 0.76452319919803569, 0.20788356956533524]]], [[[0.19883545683729081, -0.60975464117715084, -0.56471933620507786, 0.33654593267744726], [-0.57192827975937421, -0.50777889387439601, 0.42080032985139393, -0.24571197788070506], [-0.29748165471067783, 0.088037189368772611, -0.36632594530454121, 0.15144724416995262]], [[-0.66456594766955879, 0.072619576562001339, 0.63039508930117227, -0.1055702369392762], [-0.19256865711777679, -0.42347703457289781, 0.81137946528363425, -0.31144300608082354], [-0.77230917151350498, 0.36946141996088122, -0.021697062781837358, 0.54681176724509539]]]]),self.functionspace)
16429          ref.setTaggedValue(1,numarray.array([[[[-0.13727636351587694, 0.28176938704531207, 0.011042358314733717, -0.32355757825981285], [0.424984199805229, 0.051183310785742904, 0.38683266275694839, -0.7734727640764858], [0.32076263210658001, -0.63191996729674893, -0.75231914752976314, -0.6804451491022917]], [[-0.06419142207212615, 0.10465853206718778, -0.77787228680235143, 0.43681848647224614], [-0.59717504735881366, 0.64216821717264227, 0.28561679597971812, 0.41754916748417759], [0.25298707333907788, -0.60096242961461865, -0.024540144158001535, 0.38196342671548422]]], [[[0.019644623605148966, -0.051323528887555536, -0.45793749453074117, 0.40567762980471694], [0.28779199560732704, -0.62180649381577657, -0.15673762552587348, -0.17025766485154001], [-0.33046761491719301, 0.057419095879007002, -0.27561046486754759, -0.79689415492202309]], [[0.30918222748827789, 0.30445914044401096, 0.62788417602841029, -0.23800750212460514], [0.52404377183376916, 0.53291974491367955, 0.73190541623875793, -0.015157769022293969], [-0.16127031226029109, -0.22590749336132623, -0.31481669029743919, -0.096406021128218347]]], [[[-0.31721100346491593, -0.71411148110048983, -0.69838374005752057, 0.72686297094283303], [0.74305663992145987, 0.15131657064945417, -0.4310374166551344, -0.74720181101254446], [-0.69600126435059506, 0.48171661863758786, -0.67182030831147843, 0.59978540837033645]], [[-0.53917077942293423, 0.2971210615623498, 0.61931105146203247, -0.4204512149145111], [-0.49396542225386031, -0.74230607377652291, 0.48957018329767582, 0.020966027785154353], [-0.55235198535797547, 0.72313048179271788, -0.78460255204242213, -0.50381295527576719]]]]))
16430          self.failUnless(isinstance(res,Data),"wrong type of result.")
16431          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
16432          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16433       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16434       def test_generalTensorProduct_array_rank0_taggedData_rank0_offset0(self):
16435          arg0=numarray.array(-0.0102127620888)
16436          arg1=Data(-0.229005763458,self.functionspace)
16437          arg1.setTaggedValue(1,0.607738889454)
16438          res=generalTensorProduct(arg0,arg1,0)
16439          ref=Data(0.0023387813791681139,self.functionspace)
16440          ref.setTaggedValue(1,-0.0062066926901362569)
16441          self.failUnless(isinstance(res,Data),"wrong type of result.")
16442          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16443          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16444       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16445       def test_generalTensorProduct_array_rank1_taggedData_rank1_offset1(self):
16446          arg0=numarray.array([-0.81150477379380859, -0.73587893035477503, 0.27818054841543649])
16447          arg1=Data(numarray.array([0.053483962561304388, -0.0042571315280595101, 0.83151744596001032]),self.functionspace)
16448          arg1.setTaggedValue(1,numarray.array([0.30066592295644945, 0.87745173727212933, -0.45405038562992828]))
16449          res=generalTensorProduct(arg0,arg1,1)
16450          ref=Data(0.19104222158949891,self.functionspace)
16451          ref.setTaggedValue(1,-1.0159980629408079)
16452          self.failUnless(isinstance(res,Data),"wrong type of result.")
16453          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16454          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16455       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16456       def test_generalTensorProduct_array_rank2_taggedData_rank2_offset2(self):
16457          arg0=numarray.array([[-0.62605686995587884, -0.72929095095918695, 0.4214186314345667], [-0.85483526226718332, -0.33406596197755456, 0.93287608203809058]])
16458          arg1=Data(numarray.array([[-0.93868821320947071, 0.71743669634732843, -0.9363554874116542], [-0.72841321266812575, 0.62456893465181174, -0.48655379087510675]]),self.functionspace)
16459          arg1.setTaggedValue(1,numarray.array([[-0.57443404126190778, 0.10887243568313831, 0.00061471288556869119], [-0.085390418078078012, 0.38307914000270271, -0.78776523313850433]]))
16460          res=generalTensorProduct(arg0,arg1,2)
16461          ref=Data(-0.37001385036509371,self.functionspace)
16462          ref.setTaggedValue(1,-0.50937855806283105)
16463          self.failUnless(isinstance(res,Data),"wrong type of result.")
16464          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16465          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16466       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16467       def test_generalTensorProduct_array_rank3_taggedData_rank3_offset3(self):
16468          arg0=numarray.array([[[0.86883447826937132, 0.97325833302667242, -0.071522808192899578], [0.32113897493125232, 0.54800038651893357, -0.69343772406267701], [-0.10212755477106628, 0.42020867036993614, 0.64244693405959641], [-0.32714722303726496, 0.39492940125511034, -0.28509015499323831]], [[-0.22658357894136105, -0.55394354325330775, 0.25179354148662747], [0.25368652940318426, 0.95083690434953394, 0.26073816945524531], [-0.66933686181802154, -0.65545265142391451, -0.747708988224695], [-0.91415569034671429, -0.6807068113459025, 0.98006373141429948]]])
16469          arg1=Data(numarray.array([[[-0.11198855242982608, 0.79843327477455861, -0.90494891601357152], [0.55551817149205518, 0.73698837688900976, -0.16791015090254402], [-0.76554690630950684, 0.67339179748468236, 0.82732663029929476], [-0.732763959593981, -0.12026973749619319, -0.0094463456757079012]], [[-0.24350864090647728, -0.2119063679675417, 0.070472523613789528], [0.57111505730538226, 0.93787468279206654, -0.39143680271366321], [0.34039581332629565, 0.67185435411187444, -0.43437841675905275], [0.23295582653355118, -0.99609080306487097, -0.56516572190345205]]]),self.functionspace)
16470          arg1.setTaggedValue(1,numarray.array([[[0.37662867699049896, 0.18670139809775721, -0.89991915637376607], [-0.13363681073289313, 0.35731067515164239, 0.43760700193387425], [0.98049776027741564, -0.61083838250889011, -0.56317193133285559], [0.68051023955452572, 0.75186330901953524, -0.93914363223259567]], [[-0.77507351317097828, -0.39401581699087473, -0.30219396622800621], [-0.49635536015912063, 0.99958173243776227, -0.60017647351193304], [0.40262135749217465, -0.85130379852049964, 0.91534014247622664], [0.92547162623221846, 0.14277112080183629, 0.78769427784298318]]]))
16471          res=generalTensorProduct(arg0,arg1,3)
16472          ref=Data(3.2234503848434359,self.functionspace)
16473          ref.setTaggedValue(1,0.46485630943087264)
16474          self.failUnless(isinstance(res,Data),"wrong type of result.")
16475          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16476          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16477       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16478       def test_generalTensorProduct_array_rank4_taggedData_rank4_offset4(self):
16479          arg0=numarray.array([[[[0.63858810145799172, -0.55320224350092806], [-0.065465869663912546, 0.0071510902302500678], [-0.96026607434360045, 0.34535275577055824]], [[0.2357434014948816, 0.74902526877312803], [0.05916209892193014, 0.050231845572323852], [0.21241397832314424, 0.7980749192608414]]], [[[-0.99734371539495315, -0.63811234751267754], [-0.37921775291358562, 0.57918693993930326], [-0.61869100903708252, -0.60931759110848227]], [[0.55290353158673766, -0.30821017407074502], [-0.78705790903275452, -0.77101989637883461], [-0.56072604812729465, 0.18522694644085624]]], [[[-0.25495079078062188, 0.3640643797006422], [0.25992158376471108, 0.24306141621815192], [0.10818066453792441, 0.64722047258592963]], [[-0.2457097682304612, -0.81174030154562749], [0.98356321362361054, -0.87401304345915376], [-0.85393948464423475, 0.033089134015780841]]], [[[0.70735936535490218, 0.86654159429498745], [-0.10220632038685951, -0.67792783829704772], [0.99473473361256648, -0.63819896364880435]], [[-0.74696846320322585, -0.28249884289217331], [-0.59906245718739082, 0.35842438303043256], [0.18267370125116966, 0.37419240157333156]]]])
16480          arg1=Data(numarray.array([[[[-0.27338610365113292, -0.69941687164857469], [0.96041442269000377, 0.14947987866291101], [0.24205187951344054, -0.66249364226801122]], [[-0.95036798683289914, -0.93371239428923913], [-0.20692236402935826, -0.17715629492434104], [0.73767702970444304, 0.31151235744893557]]], [[[0.75255271591089601, 0.91384191105966361], [0.61192355817863819, -0.24224148764215014], [-0.82142070491023556, -0.28210832813750275]], [[-0.79158161174906039, 0.21852307437879936], [-0.84107518537691095, -0.063759290970212934], [0.59934349486300476, 0.44818165737795246]]], [[[-0.80000689071967779, -0.1180797235748472], [0.13362776392406084, 0.48306899711621254], [-0.32295130096289459, 0.90514191780022246]], [[-0.93481762421204606, 0.97785675665689675], [0.14424912459319827, 0.20296806616924212], [-0.93265092738291844, -0.41649448774686815]]], [[[0.52903709102043295, 0.046338963704659841], [-0.80770405114770538, 0.4009150936706487], [-0.76170364921368239, -0.49565245476858744]], [[0.83314254291881329, 0.33180501826174469], [-0.22475028459570678, 0.11148664823922361], [0.96717010076239007, 0.61165031610874432]]]]),self.functionspace)
16481          arg1.setTaggedValue(1,numarray.array([[[[-0.13354686484545741, 0.86759773467117141], [-0.74796939099902371, 0.22742151340850003], [0.10014487420830642, -0.89440562345228503]], [[0.0096960607877947247, -0.91032884354826438], [-0.93275279094762453, 0.14969186045954119], [0.34168402124262554, 0.37730133502290908]]], [[[0.8152733448213465, 0.76167626660345911], [-0.39794288252225751, -0.64665109463402182], [0.92027071530795945, -0.17284316507878916]], [[0.95108208711677844, -0.70723370777515271], [-0.92065464061774849, 0.69296454624741188], [0.50467776595823799, 0.52314005463612068]]], [[[-0.35805631296738127, -0.79128285558381073], [0.10586782228350877, 0.53754619043445251], [0.8156391710668407, -0.16295842240024849]], [[-0.91682927048081386, 0.12878647356532835], [0.47464488857490461, -0.5292559411292701], [0.35780514690980803, 0.84457459679176394]]], [[[0.69231673242905645, 0.93345428019305321], [0.25973721344056133, -0.45384073586554519], [-0.38819559882810517, -0.34981743990222447]], [[0.2417716413724571, -0.34597744971571776], [0.4506352179368085, 0.55601884817522773], [-0.59878566046623516, 0.69774156231643536]]]]))
16482          res=generalTensorProduct(arg0,arg1,4)
16483          ref=Data(-1.2279131717080729,self.functionspace)
16484          ref.setTaggedValue(1,-0.38028445735883404)
16485          self.failUnless(isinstance(res,Data),"wrong type of result.")
16486          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16487          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16488       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16489       def test_generalTensorProduct_array_rank0_taggedData_rank1_offset0(self):
16490          arg0=numarray.array(0.69487888948)
16491          arg1=Data(numarray.array([-0.085411859244966859, -0.93976988791956928]),self.functionspace)
16492          arg1.setTaggedValue(1,numarray.array([-0.17110762709715743, 0.13308663639577833]))
16493          res=generalTensorProduct(arg0,arg1,0)
16494          ref=Data(numarray.array([-0.05935089790057875, -0.65302625608444964]),self.functionspace)
16495          ref.setTaggedValue(1,numarray.array([-0.11889907789885898, 0.09247909410334898]))
16496          self.failUnless(isinstance(res,Data),"wrong type of result.")
16497          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16498          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16499       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16500       def test_generalTensorProduct_array_rank1_taggedData_rank2_offset1(self):
16501          arg0=numarray.array([-0.32613135700346207, 0.63748147302895064, 0.89226805858255775])
16502          arg1=Data(numarray.array([[-0.24713405338076999, -0.93371680139605906], [0.96171369766723491, 0.52912048660806432], [-0.52027265624071983, -0.15173627714919369]]),self.functionspace)
16503          arg1.setTaggedValue(1,numarray.array([[-0.30174403541125216, -0.10659890826349483], [0.68506814425883755, 0.076052956971514041], [-0.6386793142448135, 0.60048580620335112]]))
16504          res=generalTensorProduct(arg0,arg1,1)
16505          ref=Data(numarray.array([0.22945015589436679, 0.50642940128047687]),self.functionspace)
16506          ref.setTaggedValue(1,numarray.array([-0.03474671031435328, 0.61904190215291544]))
16507          self.failUnless(isinstance(res,Data),"wrong type of result.")
16508          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16509          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16510       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16511       def test_generalTensorProduct_array_rank2_taggedData_rank3_offset2(self):
16512          arg0=numarray.array([[-0.66023662685401807, -0.6337825435454385, 0.29167431468884431], [0.94451796051735859, -0.46614319856030928, -0.73737604523225175]])
16513          arg1=Data(numarray.array([[[-0.0060283542426766701, 0.71406187318960157], [0.92212413020320705, 0.89112593211943336], [0.64525035258227614, -0.51627877735664796]], [[-0.35826829628537338, -0.81040252251512035], [-0.87556249165537858, 0.677296367513883], [0.99375934249904518, -0.11604810185775438]]]),self.functionspace)
16514          arg1.setTaggedValue(1,numarray.array([[[0.61310976502454229, 0.62241916467380132], [-0.92023902084014209, -0.25732227835122035], [-0.81498828919605315, 0.70489623209589447]], [[-0.72779245586313923, 0.99173129910639624], [-0.47667764076270491, -0.52944752798384442], [0.6355937890106369, 0.63794148710475773]]]))
16515          res=generalTensorProduct(arg0,arg1,2)
16516          ref=Data(numarray.array([-1.0552707560523431, -2.1824008634573371]),self.functionspace)
16517          ref.setTaggedValue(1,numarray.array([-0.99316188704323527, 0.67084618106069027]))
16518          self.failUnless(isinstance(res,Data),"wrong type of result.")
16519          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16520          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16521       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16522       def test_generalTensorProduct_array_rank3_taggedData_rank4_offset3(self):
16523          arg0=numarray.array([[[-0.74685877344840801, -0.16360461431784912, 0.89253201770767854], [0.89860614630092472, 0.47676723892163486, 0.48020432075163932], [0.013580892482476958, 0.25313284444681972, -0.72832906654802665], [0.26289995867973825, -0.1360145930930865, 0.94781534365153175]], [[0.47953323688846838, -0.8523199123772367, -0.78669408239144056], [0.47064706798376865, -0.52917691133499445, 0.38705915220782594], [-0.51179429530166454, 0.89291169791364888, -0.37093149308364692], [-0.59098447214724015, 0.20392341234660272, 0.75021054578123447]]])
16524          arg1=Data(numarray.array([[[[-0.948726908067689, -0.61359244635228216], [0.51406989321292351, -0.20831361699124851], [-0.90887786246436675, 0.71557916436556557]], [[-0.33948934639119055, -0.11879393723738341], [0.66775794225840568, 0.38619015351541419], [-0.50169383818448554, 0.77809610456164169]], [[0.46281994107991742, -0.12121076996123858], [0.45900624905883958, 0.13335478380393551], [0.64177917199497481, -0.36723521898217437]], [[-0.21115889555960488, -0.92200311409040769], [-0.35381854759532994, 0.28459921984618863], [-0.56501090309887148, -0.42917182777686236]]], [[[-0.28147914690114639, -0.43376256312999462], [-0.18080881572087293, -0.7480329684389726], [-0.9362532384762221, -0.17001401319349574]], [[0.68258052502730049, -0.15250537079951965], [-0.491822032621269, 0.31288325262049366], [0.7292840447092217, 0.78949294782556589]], [[-0.27348585811977233, -0.93508885485956417], [-0.089855343129160659, 0.17963413276601603], [0.39170832397406197, 0.022221855343987906]], [[-0.36665620287309819, 0.59902334934212997], [-0.75219744958946966, -0.57660766622631288], [0.57891388936935617, 0.23998616632484904]]]]),self.functionspace)
16525          arg1.setTaggedValue(1,numarray.array([[[[-0.35731026425218015, 0.99152998811224546], [0.79800053990160791, 0.27164889730872921], [-0.95279011187792828, 0.31036848513884108]], [[-0.21537138768454889, 0.10894661998552935], [0.90897136217505681, -0.56164069232482583], [0.69957436310479881, 0.16551674625297719]], [[-0.10499888039026151, -0.73434354160487425], [0.40904030171036698, -0.72447746397597257], [-0.30469361993786692, -0.56304032593086295]], [[-0.69946972076599057, 0.88812864772400646], [0.044511443534362538, 0.8450203105358105], [0.25449548459351878, -0.92842541838005133]]], [[[-0.2086920545125277, 0.41567438517325517], [-0.69642364513634414, 0.52837637336666488], [0.90713301716266415, -0.49475890473689677]], [[-0.88844899113900211, -0.026939483778334772], [-0.61677873926225968, 0.27404045611980465], [0.99954591637071166, -0.60794701713577792]], [[-0.93898753827103998, 0.72421176195554837], [0.48954923821785079, 0.14541684755214557], [-0.047368487689250838, 0.97197315297147746]], [[0.25890938559966403, 0.47985481856960965], [0.04573552164070005, 0.48384639750352409], [0.1800915705972943, -0.29781619273194293]]]]))
16526          res=generalTensorProduct(arg0,arg1,3)
16527          ref=Data(numarray.array([0.72928212095209821, 2.1644559316464433]),self.functionspace)
16528          ref.setTaggedValue(1,numarray.array([1.2386553559099351, -2.4075383396127519]))
16529          self.failUnless(isinstance(res,Data),"wrong type of result.")
16530          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16531          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16532       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16533       def test_generalTensorProduct_array_rank0_taggedData_rank2_offset0(self):
16534          arg0=numarray.array(-0.0076382108537)
16535          arg1=Data(numarray.array([[-0.075123626895323259, 0.11399208783031467, 0.60140159468235499, -0.98165605446860571, 0.060573134459918299], [-0.97590893810982315, -0.13712945450626957, -0.8678711738674707, -0.93647549303944011, 0.0036135746306817929], [0.46790176650093729, -0.0031086896429830535, 0.79123192468144699, -0.86737865848473561, -0.69107968660714869], [0.48522695497603041, 0.4362608490834381, -0.7023029697526848, 0.93155259344417329, -0.32450611701628529]]),self.functionspace)
16536          arg1.setTaggedValue(1,numarray.array([[-0.7082078622672543, -0.52202390988029146, -0.64107419017997391, -0.41105073481237553, -0.97052336964914154], [-0.74928802689753127, 0.70062301179706465, -0.80287402010931563, 0.46013161789334478, 0.36560859855389038], [0.24429050931245033, -0.91368022088344514, 0.8183212394058752, 0.9809479061635149, 0.75105884497194331], [-0.15985102541033358, 0.70866470229741796, -0.9309045534066176, 0.89989361052339345, 0.66014865163971725]]))
16537          res=generalTensorProduct(arg0,arg1,0)
16538          ref=Data(numarray.array([[0.00057381010232110733, -0.00087069560250134211, -0.0045936321879347713, 0.0074980959298416383, -0.00046267037307432907], [0.0074541982432925133, 0.0010474236877716389, 0.0066289830198471809, 0.0071529972751571622, -2.7601244964725752e-05], [-0.0035739323513524885, 2.3744826971815454e-05, -0.0060435962748951371, 0.00662522108350516, 0.0052786123630137651], [-0.0037062657940053292, -0.0033322523525131458, 0.0053643381661501385, -0.007115395130036924, 0.0024786461450855735]]),self.functionspace)
16539          ref.setTaggedValue(1,numarray.array([[0.0054094409802448503, 0.0039873286943381357, 0.0048966598374591023, 0.0031396921840649186, 0.0074130621358227946], [0.0057232199395955826, -0.0053515062930597629, 0.0061325210545520852, -0.0035145823179231197, -0.0027925955656800797], [-0.0018659424196860639, 0.006978882179962214, -0.0062505101726425382, -0.0074926869437716651, -0.0057367458214314833], [0.0012209758372641567, -0.0054129304207216509, 0.007110445263588434, -0.0068735771430743454, -0.0050423545960093814]]))
16540          self.failUnless(isinstance(res,Data),"wrong type of result.")
16541          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16542          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16543       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16544       def test_generalTensorProduct_array_rank1_taggedData_rank3_offset1(self):
16545          arg0=numarray.array([0.52740927894754619, 0.92711635622544497, 0.21953387453373652])
16546          arg1=Data(numarray.array([[[-0.22392083741334945, -0.30235339921774051, -0.44301386367935147, -0.44316180861534993, -0.34678833213783067], [0.24961880731273012, -0.34290109081328413, 0.30476011903078648, -0.54998551867196577, -0.60074692863908941], [-0.054957962474853961, -0.31713965784080411, 0.67226015328839228, -0.40104591242338672, -0.27476582162654783], [-0.55431697141969027, -0.98638218261212662, -0.50493365105734789, -0.61607491179943263, -0.45151520465277417]], [[0.62037337363985312, -0.4699399301026328, -0.43684235853569309, -0.81141634353422165, -0.10467810077998818], [-0.95312119770637804, 0.80983653946537681, 0.42287272543192134, -0.9508587478867887, 0.61493229981631248], [-0.75010300220466064, -0.54128732884328623, -0.27407300025939274, 0.74075697682554398, 0.38349161839485557], [0.081815350248955809, 0.0010176467460347727, 0.31177535891296349, -0.3669373686248969, -0.87042994098830673]], [[0.49295499304477453, 0.055622465425793299, -0.010386088290052387, 0.81505746647294064, -0.77343467126360155], [-0.58146206038521808, 0.95689279311332753, 0.74334666823582407, 0.44198050892095098, -0.12228012023773438], [-0.0086209706464153157, -0.47622892188030197, 0.21304959604044371, -0.24780747212868359, -0.41185326075899065], [0.75057587354167299, -0.94687789776507936, 0.86807083386192563, 0.61905742512961437, -0.87380510227827601]]]),self.functionspace)
16547          arg1.setTaggedValue(1,numarray.array([[[-0.47772886840682971, 0.82937879318125907, 0.76787340171351004, 0.16621086364583793, 0.18152740122415612], [0.91497129773452923, -0.30525725027576911, -0.36759867967555082, 0.31289389636080789, 0.077081290109164868], [-0.012168268656227443, 0.12902953418448226, 0.1653049562908786, 0.96836951312686659, -0.35988740090935911], [-0.7027905520405886, -0.15582576511362611, 0.20893018306932798, 0.1043578739462987, 0.95038966575449146]], [[-0.34180614792928532, 0.55817412305655556, 0.80340700894833295, -0.38906512510488467, -0.055328925918995742], [0.87269858310438142, -0.77333065440838111, 0.81333771330487292, 0.32356542101737107, -0.23253008388033614], [-0.43032440113284087, 0.24272854626442864, -0.85853886191583628, 0.18931503172877528, 0.75173310356815737], [0.077368186035134068, 0.97387660394662023, -0.84595593322080997, -0.7471304205282947, -0.65158921764464806]], [[-0.67980354539778176, -0.16189355298404062, 0.88985599897969214, 0.18548328718475338, -0.18500125474439311], [0.089257110145460006, -0.45151890952274298, 0.63995871137991989, -0.26764206985479366, -0.61832181853185442], [-0.83242006142831837, -0.52355863033399275, 0.92733756893871022, 0.53040270974090964, -0.70935580393293662], [-0.16990796114502094, 0.45594468811813837, -0.40363535084664948, 0.23305336309042524, 0.11799611368699803]]]))
16548          res=generalTensorProduct(arg0,arg1,1)
16549          ref=Data(numarray.array([[0.56528069386063218, -0.58294196856431812, -0.64093341630099909, -0.80707229015567794, -0.44974327365320321], [-0.87965359569295198, 0.78003386693678067, 0.71597530917911589, -1.0745944698684531, 0.22642966009329638], [-0.72631069664728998, -0.7736471146410886, 0.14723028465734023, 0.42085043921217474, 0.12021156595197509], [-0.051722735148578641, -0.72715541236178716, 0.2133162954231993, -0.52921318607469647, -1.2369529634488794]]),self.functionspace)
16550          ref.setTaggedValue(1,numarray.array([[-0.71809261466547358, 0.91937331144502155, 1.3451888710559841, -0.23232762467601459, 0.0038288413493277468], [1.3112524420666287, -0.97708670036676659, 0.70067635800104822, 0.40624943781746714, -0.310671640974157], [-0.58812284989616681, 0.17815012428895433, -0.50520004402371166, 0.80268549100072839, 0.3514084731578524], [-0.3362295006025029, 0.92080827799982512, -0.76271949760214919, -0.58647441428250191, -0.076950548866088903]]))
16551          self.failUnless(isinstance(res,Data),"wrong type of result.")
16552          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16553          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16554       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16555       def test_generalTensorProduct_array_rank2_taggedData_rank4_offset2(self):
16556          arg0=numarray.array([[-0.76138663657763317, 0.80092007493119932, -0.98971611690740446], [0.75715842943795186, 0.01562270901778029, -0.38091063327663566]])
16557          arg1=Data(numarray.array([[[[-0.83560266279859596, 0.94972397975532652, 0.51790321138093542, -0.35108261741873115, -0.7558030663647346], [0.76866496798455497, 0.32329226903774777, 0.18277980840079411, -0.41611349763614047, -0.4525356521615802], [-0.62407471049943641, 0.32997092851807164, 0.39298327813600942, 0.61459204766562525, -0.40374203768111694], [-0.36958010356839588, 0.130290489890591, 0.52784207925456461, -0.013331249269650014, -0.48885545816485432]], [[-0.60656815128196495, -0.92171018240763503, 0.83493650000587016, -0.11537767407957666, -0.73241479886343486], [0.69662876488115466, -0.087621660009356006, -0.90948252971332599, -0.71217814456830242, 0.20256163098854674], [-0.97342367325530232, -0.57072983710846326, 0.03503208896765031, 0.70699915978400285, 0.72440201922663094], [0.74547327019524356, 0.97297254530034283, -0.58951415091607595, -0.41980643030845344, 0.29443960392186463]], [[0.81240516981927713, 0.17076029887909439, 0.60923893487117731, -0.65823188302962343, 0.19929739541515312], [-0.54576807848190523, -0.87664684771412693, 0.7118913928917272, 0.32860264688503271, -0.40950453449411039], [-0.43908673805979204, 0.21041762838464684, -0.09981594555110318, -0.75062986784109698, -0.17311623787883579], [0.22543750122783401, 0.69863807744901796, 0.75262958723213336, -0.53295555007159501, 0.85046365633145293]]], [[[-0.074036833028703342, -0.92720818819344886, 0.72032563471394706, 0.64441117277034921, 0.045442245710698215], [-0.78568537805326177, 0.35074022872924404, 0.31824612766681404, 0.29228555462829897, 0.83224024774781702], [-0.0046869498532340348, 0.59996749812581229, -0.18882966967554982, 0.87421098203459002, -0.61295306962921736], [-0.97960434870771862, -0.25937841927809524, -0.28323316224046646, 0.16847602797927097, -0.77946458750487246]], [[0.56763161211707347, -0.71441422905678742, -0.27214555251106165, 0.84727293819297866, 0.62628776695923127], [0.20926041225147207, -0.33859524655723838, -0.87617609217009451, -0.54354868398764422, 0.75200065121873916], [0.9834287056106954, 0.14876321381519064, 0.71015677349810402, -0.17349392311933332, 0.34178317580874418], [-0.33072036523627535, 0.054308903287552113, 0.41789047604471818, 0.4908857254600163, 0.60690408590192035]], [[-0.37349313311496157, 0.17229126932529448, -0.45309742100365535, -0.21421206402079895, -0.25944799274278929], [-0.88837643198407057, 0.12396242411471858, -0.48501999385140415, 0.76676098267292869, -0.31038593086399779], [0.76221633431653291, -0.043016731102265116, 0.83645122278429795, 0.87282057354773968, -0.97056738175325097], [0.89228999713355339, -0.45326930544372179, -0.024369698992643629, -0.74354718806835263, 0.14533480220560291]]]]),self.functionspace)
16558          arg1.setTaggedValue(1,numarray.array([[[[-0.54616467991324735, 0.57976852853613936, 0.87163217022266126, 0.71011664635055594, 0.50754000460374971], [-0.78853022483669521, 0.72142688375821606, 0.10151618279453345, -0.66935246313485708, 0.70871039280972581], [0.0034131995502404422, 0.93219696292007304, 0.14725236304446976, -0.28615780109996458, 0.67600289302425476], [0.91233652376908148, -0.51809013667738624, 0.06302259539682864, 0.47885132598761948, -0.52093582320586607]], [[0.94999034900719725, 0.1975211900443965, -0.048413626501447871, 0.82151298158854247, -0.34962118595097302], [0.75566873370493193, 0.10471544578061809, -0.3099457447634919, -0.36447232118223027, -0.43103358490236943], [-0.8494665093926812, 0.81143768027144403, -0.31237288709870081, -0.22268973845108597, 0.87542232699259093], [-0.5643206003802943, 0.60819778774195354, 0.90949825644039461, -0.53257175928094114, -0.78146968055884325]], [[-0.090586768142021823, -0.52471831864791896, 0.38046081371520724, -0.87361293455675804, 0.11260402434948946], [0.89892173200322256, -0.63820307236641494, 0.66205833636038491, -0.7957983919689875, -0.70891832300808733], [0.65933150514376959, 0.93240803419396845, -0.78634040125152627, 0.12092377170633051, 0.62601033740309497], [-0.11408834710747562, 0.41385372129246845, 0.74295472908869642, 0.81468219143823251, 0.48346774551718208]]], [[[-0.066272271442725961, 0.3753925200719368, 0.75857190268529484, 0.046011153717615549, 0.28863549112330622], [0.030112130465934195, 0.75777389859688893, -0.21405833739685987, -0.94453677876875797, 0.9240945675018446], [0.36824884990768991, -0.76613538827943906, 0.40520295835890252, 0.9447577968236347, -0.047156645282012466], [-0.95076389050031174, -0.55975642463374919, -0.38375619207501988, -0.72414130365717311, -0.54397128836307385]], [[-0.82355282945908725, -0.3641967149858707, -0.69125020596022768, -0.0021277378568234084, 0.023294816806539664], [-0.32021514108363802, -0.63832842229099795, 0.12688907386527437, -0.99733790248339216, 0.37167480564299438], [0.61512520175202301, -0.80837769263390458, -0.98056282722667731, -0.89126884506029591, 0.19639999711538403], [-0.82428132190749781, -0.48132118639227772, -0.42991106475729324, 0.89257199639701001, -0.23988407656889144]], [[0.29537576510772245, -0.6825254346998586, -0.53347892938144836, -0.027034592242984434, 0.79998183116566612], [-0.78222470426821711, 0.01719557578261921, -0.56604241752467988, 0.46161110357886903, -0.79642373068196659], [-0.12251174175032631, 0.66818100405956393, 0.18270975218241503, -0.5806255802463951, -0.31811949714885945], [-0.94534450094670319, -0.3659484714049297, 0.26582629308042072, -0.94695118235117159, 0.86122803933277337]]]]))
16559          res=generalTensorProduct(arg0,arg1,2)
16560          ref=Data(numarray.array([[-0.55856856111300834, -2.4091597125703794, 0.38515782812896204, 1.4091177241855979, -0.065377415116906423], [0.25962112825162037, 0.7643606944057818, -1.1601355373594284, -0.65805049511175451, 1.6721988202763136], [-0.14842244482558523, -0.44361809414647629, -0.62285743148322625, 1.1679572576959438, 0.96986427396587116], [-0.43142645493959875, -0.03426856532053163, -1.817576373339632, 0.61985057479541072, -0.86974325330188351]]),self.functionspace)
16561          ref.setTaggedValue(1,numarray.array([[1.0908075096580985, 0.77461592037346438, -0.31220502451238352, 1.0270239706055124, -0.86371368384610814], [0.63168404145424284, 0.72345627877112817, -0.92526678767769799, 0.09875963454669584, 0.82566064277544293], [-1.0004058938966083, -1.8299170077110427, 0.63783977134757019, 0.8424135912158347, -0.34459042594026901], [-1.406366087735972, 0.18003685414173182, -0.45340009253688762, -1.77108403392749, -1.4514280038897776]]))
16562          self.failUnless(isinstance(res,Data),"wrong type of result.")
16563          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16564          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16565       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16566       def test_generalTensorProduct_array_rank0_taggedData_rank3_offset0(self):
16567          arg0=numarray.array(0.84121522304)
16568          arg1=Data(numarray.array([[[-0.24663267372525488, -0.10945073511887027], [0.07976282727299, 0.88633763806907062]], [[0.53808827163431161, 0.6076693685094583], [0.96671768664174396, 0.58574426669171742]], [[-0.21762565032479775, 0.64396881762222979], [0.60007030508547787, 0.99010151798972967]], [[0.36959047235068376, -0.53305754128374727], [-0.8905661243165508, 0.74527279917455913]], [[-0.69200858827200951, -0.057174151772140247], [0.96690253534400239, 0.050290458877692013]], [[-0.22433285107592305, 0.025151062814394942], [-0.61874077043938303, -0.98454723496273244]]]),self.functionspace)
16569          arg1.setTaggedValue(1,numarray.array([[[-0.4779573584418142, -0.0045526128203858818], [0.54735205145689259, -0.93002745869130887]], [[-0.62140461535825908, -0.43216463942865202], [-0.92150865752954636, -0.16114691786312174]], [[-0.46941067876706266, -0.37180115368988087], [0.89405889226075397, 0.97023721849019973]], [[-0.70666390709389337, 0.48146728631103541], [-0.68371114216712026, -0.22462783564116995]], [[-0.66876253568521737, 0.67427863310824754], [0.59421080091382783, 0.96155507641187588]], [[-0.14702837535604285, -0.39837316006264301], [-0.71270454603859346, 0.38307482381540092]]]))
16570          res=generalTensorProduct(arg0,arg1,0)
16571          ref=Data(numarray.array([[[-0.20747115963676183, -0.092071624554921294], [0.067097704534755748, 0.74560071389709193]], [[0.45264804543810921, 0.51118072336530918], [0.81321763438512584, 0.49273699394952181]], [[-0.18307000997721745, 0.54171637254694138], [0.50478827553220984, 0.83288846928805338]], [[0.31090513163196937, -0.44841611848420471], [-0.74915778089888785, 0.62693482398333233]], [[-0.58212815892889014, -0.048095766835128409], [0.81337313192742489, 0.042305099581585716]], [[-0.18871220935304991, 0.021157456915106333], [-0.52049415520915721, -0.82821612185267013]]]),self.functionspace)
16572          ref.setTaggedValue(1,numarray.array([[[-0.40206500588527871, -0.0038297272091160424], [0.46044087804775585, -0.78235325609640927]], [[-0.52273502210673373, -0.36354347354700972], [-0.77518711087708303, -0.13555924045244758]], [[-0.39487540883643046, -0.31276479042779259], [0.75209595046409805, 0.81617831815402131]], [[-0.5944564362203647, 0.40501761064064024], [-0.5751482209531027, -0.18896035485989746]], [[-0.5625732256172904, 0.56721345074131546], [0.49985917142355091, 0.80887476806913838]], [[-0.12368250756835435, -0.33511756669527815], [-0.59953791365753517, 0.32224837335691225]]]))
16573          self.failUnless(isinstance(res,Data),"wrong type of result.")
16574          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
16575          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16576       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16577       def test_generalTensorProduct_array_rank1_taggedData_rank4_offset1(self):
16578          arg0=numarray.array([0.42093743503457759, 0.73232104743133641, -0.14878028119271147])
16579          arg1=Data(numarray.array([[[[0.78710133320156928, 0.904724510416687], [0.93931026404524087, 0.33920904332744928]], [[-0.2134005921995239, 0.72390751268435372], [0.70865659976324258, 0.98172103290744883]], [[-0.79074618041986167, -0.93341388720727814], [0.38353829871662426, 0.37510038487326991]], [[0.69463855148963516, 0.52754187859703827], [0.80642127398576968, -0.67835838831204365]], [[0.24239534106723437, -0.94389821715748812], [-0.15941542047845481, 0.10399532721392379]], [[-0.85811785598565238, 0.87283109258759617], [-0.95715898043356629, 0.96715075002913675]]], [[[0.35114265767724029, -0.45652844828617067], [-0.49969511579070458, -0.071084423661412321]], [[0.90148295948000401, 0.76115766848635191], [0.13596698489371928, 0.55564758782612578]], [[-0.027187721926189568, 0.71252579494387103], [-0.084338009995321039, -0.031439903447676221]], [[0.26131987950229241, 0.21349573526510168], [-0.80575084479471548, -0.42163110489689082]], [[0.76330786219251001, -0.097052741051362412], [-0.049644380109131525, -0.21398058844109635]], [[0.61692348762788818, 0.78743716730880053], [-0.93025574372390896, -0.63110722448927659]]], [[[-0.45922726881258291, 0.81781316410212512], [-0.094373391050986521, -0.80898932595614026]], [[-0.27291296745026328, -0.14257988381332853], [0.52608589713760812, -0.38588992920541965]], [[-0.41893846259883638, 0.8437687258479718], [0.79421526301617784, -0.68484288241585789]], [[0.14738914609420384, -0.18098211922538043], [0.55329310979645951, -0.044039760411740403]], [[0.073553284988028045, -0.82310691807778436], [0.38518083347142995, 0.076513809513227393]], [[0.9563736030517862, -0.25691712039803405], [-0.3159249966356894, -0.40807898933024167]]]]),self.functionspace)
16580          arg1.setTaggedValue(1,numarray.array([[[[-0.59902293892645742, 0.4070901207828046], [-0.58232546518699757, 0.016474213083368383]], [[-0.0063369947838824991, -0.27273602166135791], [0.49777404662155611, 0.8968769635346312]], [[-0.1947627413450721, 0.55225148576229288], [-0.41409491470290827, -0.00037383529193713017]], [[0.88420803364689848, 0.59274534715690419], [0.14686033077843708, -0.051809538429408164]], [[-0.75154817288548004, -0.069156268280767375], [-0.81540598499408379, -0.61361644721131858]], [[-0.9375451831238315, 0.28241674539865769], [0.13820212902557283, -0.94335883578878055]]], [[[0.31973402954805219, 0.65088994807161171], [-0.96912795413198638, 0.53303010014969732]], [[0.068703252510207369, 0.85202495380431698], [0.23775787160462536, 0.21090896562691852]], [[0.80605616424216842, -0.43022031403036332], [-0.53971829450800479, 0.74403488368144433]], [[0.57493907808226519, 0.81629775999724274], [-0.93354186509027159, -0.24530797435127139]], [[0.45780232465399995, 0.14244524006220605], [0.68820230081584288, 0.54350829611983786]], [[-0.82440439539658161, -0.94278875347999214], [0.48863959060190076, 0.35307808213677983]]], [[[0.0048311838336423385, 0.56093315064741223], [0.39594424465558009, -0.78995903451792149]], [[-0.97450267991323059, -0.15338149665392442], [-0.21339127777779088, -0.64160851143172914]], [[-0.2747128459425876, 0.17586609366777384], [-0.48934715104038151, 0.75585706624331261]], [[-0.60605449209671014, 0.26414574917197986], [-0.74638775621562625, -0.26512756020803163]], [[-0.7242484515935883, -0.1470599651505875], [-0.49430181346352131, 0.57217102808038067]], [[0.88200942050607933, -0.004129854055393567], [0.41075967962180182, -0.86332013700981358]]]]))
16581          res=generalTensorProduct(arg0,arg1,1)
16582          ref=Data(numarray.array([[[0.65679353736348178, -0.075167449121632299], [0.043494502314359279, 0.2110908244446677]], [[0.61095071525095745, 0.88334462784410306], [0.31960036851046053, 0.87756836920769954]], [[-0.29043502767968787, 0.0033526406751779037], [-0.018480442277836823, 0.23676080748375314]], [[0.46184081941128147, 0.40533611631062733], [-0.33293450445737099, -0.58776352444026603]], [[0.65007640786339993, -0.34593378072352088], [-0.16076685535568036, -0.12431070845865026]], [[-0.05171740819865478, 0.98228829389823713], [-1.0371464969316624, 0.0056509591109529522]]]),self.functionspace)
16583          ref.setTaggedValue(1,numarray.array([[[-0.018722004909768934, 0.56456408792092538], [-1.0137440821925492, 0.51481410153988194]], [[0.19263214225060102, 0.53197114740987628], [0.41539523829205621, 0.62744085793888238]], [[0.54918082017080083, -0.10876147395429514], [-0.49674991127522072, 0.4322584172169564]], [[0.88340520734295869, 0.80800105784027532], [-0.51078556526914831, -0.16200701397729445]], [[0.12665740598926073, 0.097084808184588325], [0.23429248874403077, 0.054600664869816032]], [[-1.1296021645545062, -0.57092982618838128], [0.35490256587758595, -0.010083524975030317]]]))
16584          self.failUnless(isinstance(res,Data),"wrong type of result.")
16585          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
16586          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16587       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16588       def test_generalTensorProduct_array_rank0_taggedData_rank4_offset0(self):
16589          arg0=numarray.array(0.464020914261)
16590          arg1=Data(numarray.array([[[[0.11755054365974438, -0.40139218168795487, 0.072053551538426852, -0.63910577791810352], [-0.9885988547294926, -0.51537118206750909, 0.017311984926075663, -0.71554041516954614], [0.25716158315488369, -0.88728977354765681, -0.6512584186524295, 0.68403791372467526]], [[-0.63913374179799098, -0.64105966578682705, -0.95279874560421329, -0.23077283221130096], [-0.3326978349817924, -0.61138317009375087, 0.48993034100732724, 0.84778608858395454], [-0.35571974316190991, -0.29304817739334843, -0.72513731196938713, -0.98942127245414069]]], [[[-0.39657781945210124, 0.37692677760236193, -0.31404653104418712, 0.41778097807877179], [-0.34710424161643005, 0.12962754032322188, -0.96696015549094971, 0.20848949876280631], [0.025666093688795355, 0.87242748402315495, -0.61910922207732333, -0.044747570019129324]], [[-0.3891671617621455, 0.12759808814452844, -0.84124650726607753, 0.54935118507065783], [-0.48136806482263128, 0.16087111290615841, 0.86835387578259549, 0.33110786434002559], [-0.32761023920530863, -0.69432465536524446, -0.28222797289790558, 0.66513243224571172]]], [[[0.6222624392443965, -0.53063302368843623, -0.47302474748247691, 0.13453245785733903], [-0.49870171866403679, 0.65281221055036598, 0.34202992462184656, 0.086433419350200769], [0.70716969703380084, -0.14193436916590918, 0.38041134593159431, -0.35589153091671943]], [[0.012712130264437294, -0.43705521649742418, 0.080814362740557089, 0.14475814648714169], [0.85058446626966422, 0.27223143191434351, -0.49974204521291887, -0.21680225173838563], [-0.32862029476237842, -0.55064101990928904, -0.074830426465927413, 0.56014719098101096]]]]),self.functionspace)
16591          arg1.setTaggedValue(1,numarray.array([[[[0.94235013960670733, 0.23753869332318622, 0.34445182508806926, -0.43898912547214897], [0.6484129358186046, 0.50652938193724073, 0.14349385661291381, 0.1555221218478291], [0.91342837368031393, -0.87492912091299946, 0.65119952454917862, 0.28616208790855735]], [[-0.12350894618284292, -0.079138253112442269, -0.65818254675768939, -0.28326940787473243], [0.7340736177001439, 0.74023518082487083, 0.17736271698233086, -0.9074183880543305], [0.23742924822012035, 0.96963692173118532, 0.49276573413361269, -0.75334982863930433]]], [[[0.61167448833554627, -0.38184812763530651, 0.11645034265615961, -0.0097980587298938104], [-0.49419370788806272, -0.85192409314259043, -0.54550910351696724, -0.84478106898579086], [0.1255336192447527, -0.5729965356597122, -0.47505660164996732, -0.69958280725247368]], [[0.47768102726509931, -0.042787916060617714, -0.77318323993787486, -0.85897627930666265], [0.66247649900125816, 0.78050397294784135, 0.66574531944311421, -0.30518127411058704], [-0.51160104022414243, -0.85653020373257127, 0.17642821423058619, 0.48136904697170735]]], [[[-0.39952034191463071, -0.46045030874902393, -0.24889982425522517, 0.90030435639981743], [0.98071830657317527, 0.72124751798397924, -0.31609723237781506, 0.89766269999854198], [-0.67621439651540105, 0.11408732098376295, 0.56058240438295281, 0.43992669788420891]], [[-0.89857052858038888, 0.2556546028438913, 0.32676286327184934, 0.66749218006576982], [-0.37365600978104041, -0.52585609277581868, -0.81382732296486404, 0.19119409464947301], [0.67596105053607691, 0.60253883499193339, 0.57689653606691316, 0.38803565768413417]]]]))
16592          res=generalTensorProduct(arg0,arg1,0)
16593          ref=Data(numarray.array([[[[0.054545910740921112, -0.18625436712422933, 0.033434354860642904, -0.29655844737931203], [-0.45873054440936817, -0.23914300708695238, 0.0080331230730774847, -0.33202571763796612], [0.11932835292844235, -0.41172101193638866, -0.30219752684354451, 0.31740789811599557]], [[-0.2965714232044237, -0.29746509221452144, -0.44211854504239761, -0.10708342058938428], [-0.15437875356104511, -0.28369457755094524, 0.22733792475862741, 0.3933904759228366], [-0.16506140044282561, -0.13598048319670322, -0.33647887846510083, -0.45911216343386418]]], [[[-0.18402040235796288, 0.17490190795265748, -0.14572415845574993, 0.19385911140914039], [-0.16106362753887138, 0.060149889774240017, -0.44868973540527168, 0.096743487829821798], [0.011909604258993985, 0.40482459876321147, -0.28727962725599376, -0.020763808351253125]], [[-0.18058170220139122, 0.059208181518832864, -0.39035597342082845, 0.25491043914707912], [-0.22336484953524605, 0.074647560888967138, 0.40293435934308419, 0.15364097393020365], [-0.15201800271744859, -0.32218116137682346, -0.13095968201423236, 0.30863535931557462]]], [[[0.28874278596872383, -0.2462248207892079, -0.21949337579509448, 0.062425874092797907], [-0.23140802743822594, 0.30291851878059695, 0.15870903832779251, 0.040106914269620549], [0.32814152935559299, -0.065860515745482545, 0.17651882053459428, -0.16514111355387123]], [[0.0058986943075144118, -0.20280276114185597, 0.037499554484327034, 0.067170807479751501], [0.39468898169500832, 0.12632107792758815, -0.23189076071456863, -0.10060077906557942], [-0.15248668962049491, -0.25550894948814701, -0.034722882903291313, 0.25992001167997281]]]]),self.functionspace)
16594          ref.setTaggedValue(1,numarray.array([[[[0.43727017333467755, 0.11022292164828704, 0.15983285079637932, -0.20370013535240614], [0.30087716329747793, 0.23504022690678852, 0.066584150536420833, 0.072165517167705029], [0.42384986906745781, -0.40598541059998722, 0.3021701987479094, 0.13278519365828453]], [[-0.057310734127226821, -0.036721804562286832, -0.30541046709741038, -0.13144292962432336], [0.34062551122040613, 0.34348460537482134, 0.082300010090029976, -0.421061110042591], [0.11017213683150097, 0.4499318109233299, 0.22865360646937691, -0.34957007624389125]]], [[[0.28382975530784416, -0.1771855172943449, 0.054035394465366378, -0.0045465041698323763], [-0.22931621615645811, -0.3953105965813527, -0.25312763295186869, -0.39199608398152319], [0.058250224772494662, -0.26588237634544382, -0.22043619862353925, -0.32462105382286094]], [[0.22165398699688388, -0.019854487929788566, -0.35877319388757661, -0.39858295845274722], [0.30740295074326601, 0.36217016711192501, 0.30891975179325248, -0.14161049382825847], [-0.23739358242189815, -0.39744792822850483, 0.081866381268785607, 0.22336530527295825]]], [[[-0.18538579432126054, -0.21365857323767345, -0.1154947240104154, 0.41776005057017918], [0.45507380524899266, 0.33467393270370327, -0.14667572676345708, 0.41653426675169486], [-0.31377762250780822, 0.052938902988521344, 0.26012195980064073, 0.20413518856023646]], [[-0.41695551820023607, 0.1186290825467617, 0.15162480256208166, 0.30973033165646441], [-0.17338420327787105, -0.24400822493977151, -0.37763289845307707, 0.088718058600632213], [0.3136600646748578, 0.27959062109096555, 0.26769205810001312, 0.18005666064462189]]]]))
16595          self.failUnless(isinstance(res,Data),"wrong type of result.")
16596          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
16597          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16598       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16599       def test_generalTensorProduct_array_rank1_taggedData_rank0_offset0(self):
16600          arg0=numarray.array([-0.29596901469549852, -0.49790487372373438])
16601          arg1=Data(0.76831355123,self.functionspace)
16602          arg1.setTaggedValue(1,-0.977087069153)
16603          res=generalTensorProduct(arg0,arg1,0)
16604          ref=Data(numarray.array([-0.22739700473472377, -0.3825470617053755]),self.functionspace)
16605          ref.setTaggedValue(1,numarray.array([0.28918749712898151, 0.48649641378381187]))
16606          self.failUnless(isinstance(res,Data),"wrong type of result.")
16607          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16608          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16609       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16610       def test_generalTensorProduct_array_rank2_taggedData_rank1_offset1(self):
16611          arg0=numarray.array([[0.84839100899258657, 0.63995278205392858, -0.22518927308060821], [0.62417961980622882, -0.4093347205638358, -0.51820930075503857]])
16612          arg1=Data(numarray.array([0.65029528476596887, 0.29675757149284943, -0.14657175516773702]),self.functionspace)
16613          arg1.setTaggedValue(1,numarray.array([-0.72595920843424988, 0.47967681592024913, 0.87755655741797622]))
16614          res=generalTensorProduct(arg0,arg1,1)
16615          ref=Data(numarray.array([0.77462189325851005, 0.36038273276068944]),self.functionspace)
16616          ref.setTaggedValue(1,numarray.array([-0.50654307574813429, -1.1042352881135549]))
16617          self.failUnless(isinstance(res,Data),"wrong type of result.")
16618          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16619          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16620       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16621       def test_generalTensorProduct_array_rank3_taggedData_rank2_offset2(self):
16622          arg0=numarray.array([[[0.8857634315941374, -0.64922027003957394, 0.85767802430130113], [0.42528203997287828, -0.98510131120740763, 0.45263861034439823]], [[-0.95501468604731632, -0.34680321085215726, 0.077101031514611007], [0.14296036018536684, 0.66344300477160645, -0.62889213379515763]]])
16623          arg1=Data(numarray.array([[-0.35560670830392649, -0.61743818620771229, 0.45709664415266604], [0.12643609028121605, -0.50595462018719806, -0.62871884269372935]]),self.functionspace)
16624          arg1.setTaggedValue(1,numarray.array([[0.2522731192686205, 0.59077343967396301, 0.54825792352365998], [0.12661367864362116, -0.49523494116892963, 0.21035303725414334]]))
16625          res=generalTensorProduct(arg0,arg1,2)
16626          ref=Data(numarray.array([0.7455168493135651, 0.66678142718364053]),self.functionspace)
16627          ref.setTaggedValue(1,numarray.array([0.94705800434800325, -0.84628419890463791]))
16628          self.failUnless(isinstance(res,Data),"wrong type of result.")
16629          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16630          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16631       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16632       def test_generalTensorProduct_array_rank4_taggedData_rank3_offset3(self):
16633          arg0=numarray.array([[[[0.87551146721810813, 0.28771538582234579, -0.15437310094017409], [0.68756318950966588, 0.26445838583723247, 0.32373630114498408], [-0.42086758680556158, -0.44783064702669684, -0.96968127630088774], [-0.40709420019735032, -0.37187645584025053, -0.70581627335802555]], [[0.62630296308633016, -0.68840738003201962, 0.57242186156020569], [0.57690971093873333, -0.38540897970548937, 0.34128114677934795], [0.37546178565646726, -0.61921118479761872, 0.19502756047360448], [0.6034121430542152, 0.61080731194605797, -0.38418196703132956]]], [[[0.55965256611451597, 0.58288566512371065, 0.8987568378413251], [0.53992736465257307, -0.1882635916615969, 0.48973640021427478], [0.85203661150963406, 0.73584633064344884, -0.83545478061497325], [0.31840175110958402, -0.5256509231279165, 0.38644604785950043]], [[0.99756206683886961, -0.20610203025004581, -0.82590744308615416], [-0.80000573771481376, -0.26824634148243276, 0.088637756291022773], [-0.63150830084355314, -0.94550055175344494, 0.071483302182796749], [-0.71377309004963307, -0.25811353825233896, 0.98811890657582868]]]])
16634          arg1=Data(numarray.array([[[-0.51467600396146573, 0.70926095678837009, -0.63163248147737239], [0.89624331515459543, -0.17156805907961159, -0.66137665466444351], [-0.30885327027632603, 0.45453584110717959, -0.73658812703020882], [-0.92589776828624393, 0.24725623516500517, 0.021740237804729334]], [[0.85508637600310866, 0.055474021033104615, 0.17700727428001617], [-0.75254843473403477, 0.48904243298864114, -0.96428353955560886], [0.82776641672164297, -0.50627909794708992, -0.24334660876215253], [0.075193245557573896, 0.73737517900426397, -0.80335726058193346]]]),self.functionspace)
16635          arg1.setTaggedValue(1,numarray.array([[[0.71678653318238461, -0.12311602951580936, 0.78030860477591557], [-0.81933373807095333, -0.62288568144102952, -0.67387286214342379], [0.49544626539819636, -0.26546931588256939, 0.73901268961381517], [0.66246297549622035, -0.034973761870373599, 0.60053617311110807]], [[0.68982518244318047, 0.97893984565288683, -0.96628203885355646], [0.77657969122611714, -0.90916620475638554, 0.66453360641437875], [-0.62638542087033366, 0.039691984103488176, -0.94760416787934099], [-0.69310132536482261, 0.83247979072344003, -0.30187713547481998]]]))
16636          res=generalTensorProduct(arg0,arg1,3)
16637          ref=Data(numarray.array([2.1462111553154131, 0.0018289197595722229]),self.functionspace)
16638          ref.setTaggedValue(1,numarray.array([-1.9694567861709098, 1.6841424416510264]))
16639          self.failUnless(isinstance(res,Data),"wrong type of result.")
16640          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16641          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16642       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16643       def test_generalTensorProduct_array_rank1_taggedData_rank1_offset0(self):
16644          arg0=numarray.array([0.059107512318066879, -0.86443238423224034])
16645          arg1=Data(numarray.array([0.26323295908478461, -0.87200177116993149]),self.functionspace)
16646          arg1.setTaggedValue(1,numarray.array([-0.47160488168708659, 0.42588097415230286]))
16647          res=generalTensorProduct(arg0,arg1,0)
16648          ref=Data(numarray.array([[0.015559045371625101, -0.051541855430802863], [-0.22754709443016813, 0.75378657010716033]]),self.functionspace)
16649          ref.setTaggedValue(1,numarray.array([[-0.027875391353579942, 0.025172764925737563], [0.40767053229233186, -0.36814530588562427]]))
16650          self.failUnless(isinstance(res,Data),"wrong type of result.")
16651          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
16652          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16653       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16654       def test_generalTensorProduct_array_rank2_taggedData_rank2_offset1(self):
16655          arg0=numarray.array([[0.87928940892560026, 0.45857057701152892, -0.71636944869938413], [0.76469394956908654, -0.50617870808981302, -0.083669068487796316]])
16656          arg1=Data(numarray.array([[-0.83918291402612999, 0.8724655907290082], [-0.094317633486005636, -0.80716341399646141], [0.99731604189303447, -0.45791272693117469]]),self.functionspace)
16657          arg1.setTaggedValue(1,numarray.array([[-0.22043261953143589, -0.11771151518581213], [-0.30304403419134207, 0.52493670858736796], [0.38255222091814534, 0.85310429105915486]]))
16658          res=generalTensorProduct(arg0,arg1,1)
16659          ref=Data(numarray.array([[-1.4955826831745032, 0.72504304882519865], [-0.67742102328262799, 1.1140512238628213]]),self.functionspace)
16660          ref.setTaggedValue(1,numarray.array([[-0.6068398689526, -0.47391980992915317], [-0.047176840694213712, -0.4271035097947341]]))
16661          self.failUnless(isinstance(res,Data),"wrong type of result.")
16662          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
16663          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16664       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16665       def test_generalTensorProduct_array_rank3_taggedData_rank3_offset2(self):
16666          arg0=numarray.array([[[0.37992305691385031, 0.61876747772662832, 0.045342680899379761], [-0.40047632827023083, 0.15466055705712312, -0.44357459958403056]], [[0.26840869814605517, 0.35523465362518025, 0.12287957687473106], [0.96647751860299635, -0.83792974311338519, 0.11310600361644152]]])
16667          arg1=Data(numarray.array([[[-0.33392279167171579, -0.16857351354564298], [0.48812062095085551, -0.90127622553897191], [0.095331239457839168, -0.67514724967494399]], [[-0.227343232057865, -0.87380676579834726], [0.71691550383695035, 0.56596215351114809], [-0.1787430650852746, -0.61636758001639991]]]),self.functionspace)
16668          arg1.setTaggedValue(1,numarray.array([[[0.19105980102157649, 0.55225511738960664], [0.31364782767761445, 0.066291571998562615], [0.89294308496599561, 0.37611031397199723]], [[-0.69376612638867541, 0.44512740294672049], [-0.0021026829686792148, 0.62442153616194274], [-0.94301525256393903, 0.7585189049994816]]]))
16669          res=generalTensorProduct(arg0,arg1,2)
16670          ref=Data(numarray.array([[0.46070078917902513, 0.058537581927444071], [-0.74518002023611196, -1.8368389438660175]]),self.functionspace)
16671          ref.setTaggedValue(1,numarray.array([[1.0029608541597337, -0.15026195374089973], [-0.50298299195057006, 0.21077270944283164]]))
16672          self.failUnless(isinstance(res,Data),"wrong type of result.")
16673          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
16674          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16675       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16676       def test_generalTensorProduct_array_rank4_taggedData_rank4_offset3(self):
16677          arg0=numarray.array([[[[-0.61546786905714113, 0.34200095706599187, -0.67725239113864366], [0.17407072378649335, 0.84698639438965584, -0.42975648201283567], [-0.57536506925096598, -0.79317715559584712, -0.73361547399143356], [-0.7002702232491993, 0.98896696424550123, 0.65605734602693122]], [[-0.30808828957772616, -0.070763991246238112, 0.60774598069649932], [-0.63600270873331155, 0.90222920400083306, -0.012275760089776711], [0.87283900920781021, 0.056673859347249556, 0.9432602104953689], [0.4343386152088522, 0.7107991114815817, 0.60797773546841971]]], [[[-0.69884981878846908, -0.25757270411503752, 0.11220990577376755], [-0.84541038008283231, -0.19034334027332811, 0.074447637946352785], [-0.92533114503742264, -0.32731062957647827, 0.24029755350320103], [-0.15299749270921947, -0.88849469120659563, 0.60409851902810163]], [[0.71870093649187239, 0.72975851765435706, -0.28581724447909718], [0.664496911158583, -0.42258317841023563, 0.92299811801373566], [-0.98627335468525934, -0.65705514628041994, -0.09471298660013594], [0.74351034831609031, 0.26572364611908172, -0.27564782915741848]]]])
16678          arg1=Data(numarray.array([[[[-0.96921695920171946, -0.5922961744113111], [0.56190773201135058, 0.76518603343873259], [-0.17647849278961325, -0.50945810515064949]], [[0.31126802113913499, 0.23258593772300729], [0.97455326060444847, -0.28369994849870439], [0.98035521753269084, -0.85511927625213602]], [[0.38339994997336069, -0.65721861891924882], [0.075926095106743086, -0.57399673715209554], [-0.90753911660658404, -0.54289774857786566]], [[-0.62402562744698176, 0.66703809474065334], [0.82414796342391683, -0.57305964310379354], [-0.85623483030897729, -0.13909735365466758]]], [[[-0.62593854542200256, 0.52575575419030862], [0.74899377632797459, -0.039698835476366323], [-0.61817268137373804, 0.57286255922030938]], [[0.91905663496752221, 0.027610009453794548], [0.025214277099854687, -0.087764585983104215], [0.36798094858842911, -0.71891970910694347]], [[-0.22343883963304356, -0.90043265375422066], [0.76482057048380625, -0.2894811449114616], [-0.52726175037652601, 0.15862094154987227]], [[0.53659080546361282, 0.49607298862018956], [-0.37678803022644169, -0.16916353550817376], [-0.24755481351496988, -0.73079475063142141]]]]),self.functionspace)
16679          arg1.setTaggedValue(1,numarray.array([[[[-0.59444047512941078, 0.53901487019967731], [-0.31319432109864609, 0.36940660854357721], [-0.6672875825163096, 0.95564332389476592]], [[0.23939308181449048, -0.68257836162101415], [-0.24928289801867032, 0.31742773731707974], [-0.20563742773914284, 0.44419533719687676]], [[-0.87273092703619004, -0.87182077844058625], [-0.63464610808657018, 0.9956113250522074], [0.16620779844743439, -0.13008744379427717]], [[0.4219543335847582, 0.91568937346148371], [-0.89783154145263411, 0.16469762532269905], [-0.056535595551029383, 0.57627853197835277]]], [[[-0.86295991570102748, 0.93732150602472575], [-0.8977138529577815, 0.47639603485582982], [0.23188662733580179, 0.4243051486476237]], [[-0.76772154085180988, -0.84446394855099927], [0.35459670897292916, -0.26919624579062162], [-0.18543153201953366, 0.10806739277464006]], [[-0.90268407049897781, -0.075622028793681517], [-0.6963545495159067, -0.72392206054995811], [-0.13118357172955375, 0.66158888699708829]], [[0.34057044179408491, -0.40966284225674565], [0.35900784813561559, -0.044626226028205318], [0.22461046221218828, 0.15862503012972917]]]]))
16680          res=generalTensorProduct(arg0,arg1,3)
16681          ref=Data(numarray.array([[0.8053545834640129, 0.34481884841545885], [-0.26662556839391527, 2.1076275303048049]]),self.functionspace)
16682          ref.setTaggedValue(1,numarray.array([[1.1620281025951451, -0.55433761671616688], [1.4794244899203972, 1.3761904293335239]]))
16683          self.failUnless(isinstance(res,Data),"wrong type of result.")
16684          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
16685          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16686       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16687       def test_generalTensorProduct_array_rank1_taggedData_rank2_offset0(self):
16688          arg0=numarray.array([0.66484862689771274, 0.72553508726535809])
16689          arg1=Data(numarray.array([[-0.51221898631706297, -0.51809842019505048, -0.02187182893195061, -0.7962451876597898, 0.12143693258814547], [0.45620444128430182, -0.6046263745508067, -0.5134609878933003, -0.086509872094893803, 0.5733979856537581], [-0.56026806868308721, -0.39193072466011092, 0.60062602131125997, 0.38888432064924983, 0.34665168732642582], [-0.44179592020373004, 0.53383139073126173, 0.41057201198526605, -0.69715124606327605, -0.69175332417877922]]),self.functionspace)
16690          arg1.setTaggedValue(1,numarray.array([[-0.0041382735503339152, -0.69484345181630047, 0.9593286736949711, 0.19264539868155439, -0.28449996479281303], [0.47632162141551704, 0.89774914930591199, -0.73449846172960198, -0.044225409872406862, -0.41843152689395513], [-0.60194886015824411, -0.1098618632946633, -0.10258058007083726, -0.45778840146333399, -0.062624769043876594], [0.45037818310025113, -0.60866396866914707, -0.73432087482115671, -0.19303524626358159, 0.26259632947310374]]))
16691          res=generalTensorProduct(arg0,arg1,0)
16692          ref=Data(numarray.array([[[-0.3405480897238376, -0.34445702326455352, -0.014541455433149031, -0.52938251968952288, 0.080737177885898626], [0.3033068963725063, -0.401985014906246, -0.34137383276640382, -0.057515969675386899, 0.38122286342781547], [-0.37249345615858392, -0.26057460412930028, 0.39932538554782754, 0.25854920660570357, 0.23047089833074946], [-0.29372741091646137, 0.35491706712257576, 0.2729682384110354, -0.46350004868519856, -0.45991124773218972]], [[-0.37163284693652354, -0.37589858250826014, -0.015868779312795768, -0.57770382171336698, 0.088106755482577528], [0.33099232911804988, -0.43867764942265663, -0.37253396265852262, -0.062765947599683736, 0.41602035755907996], [-0.40649414210397733, -0.2843594925182486, 0.43577525278590984, 0.28214921951838295, 0.251507962215062], [-0.32053844151849248, 0.38731340465919345, 0.29788440054444365, -0.50580769014967208, -0.50189130842415208]]]),self.functionspace)
16693          ref.setTaggedValue(1,numarray.array([[[-0.002751325487666626, -0.46196571484893439, 0.63780835144970549, 0.12808002879159389, -0.18914941094494936], [0.31668177595979868, 0.59686728921462529, -0.48833029373940806, -0.02940320302765825, -0.27819362610615944], [-0.40020487313885189, -0.073041508959881124, -0.068200557806467027, -0.30435999012259646, -0.041635991708607739], [0.29943331661888861, -0.40466940381179489, -0.48821222532717323, -0.12833921842120405, 0.17458680907857241]], [[-0.0030024626614694404, -0.50413330444930216, 0.69602661298544111, 0.13977099614369126, -0.20641470678294491], [0.34558804916008401, 0.6513485073840658, -0.53290440552725804, -0.032087086611122945, -0.30358675437958277], [-0.43673501878419446, -0.079708636572628375, -0.074425810113425958, -0.33214154780476879, -0.045436467273221898], [0.32676517437805414, -0.44160706562364882, -0.53277555999414206, -0.14005384424313755, 0.19052285081983106]]]))
16694          self.failUnless(isinstance(res,Data),"wrong type of result.")
16695          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
16696          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16697       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16698       def test_generalTensorProduct_array_rank2_taggedData_rank3_offset1(self):
16699          arg0=numarray.array([[0.95322201885270963, -0.48200264234421142, -0.37020216926657001], [-0.70595367061499514, -0.60747507159722836, 0.80480718386176364]])
16700          arg1=Data(numarray.array([[[-0.31322950695610285, -0.99499481700580406, 0.58546341180249728, 0.28384135329916638, -0.1984389488706666], [-0.78686313407124264, -0.89653210958071883, -0.80262437307241963, -0.96230437203829622, -0.48621126148303984], [-0.69219670884665785, 0.95556284182638551, -0.046202966615932262, -0.024201411944125617, 0.38164363750859298], [-0.76334599583993712, -0.36949735602723566, 0.084190155548220513, 0.068607556568999639, 0.029669754951712646]], [[0.030986270509970826, 0.96766026127592952, 0.53478944495752323, 0.66397904661804485, -0.79460537857981239], [0.29951865537893085, 0.22451524083321295, 0.15719465627174523, -0.67196781733483513, 0.65466821560762001], [0.79381818886643218, 0.49053548421964632, -0.73636225696901136, -0.83445161304546378, -0.34227808107644764], [-0.6948373185554837, 0.85546741629875278, -0.29047823422142383, 0.69958367831181612, 0.47192056256679682]], [[0.072418924746935343, -0.19448736954170021, -0.15161502091328449, 0.96142366925202483, -0.87117031462984951], [0.36642822255508567, 0.67684254902181573, -0.77753268558809285, -0.0062228787228446603, 0.89280565188288818], [0.29154792964993415, -0.93927842693402508, 0.041070093952475961, 0.67189354145444158, 0.54819065803803935], [-0.59083725800019571, 0.069344530416675099, -0.02946230968310326, -0.53771686934796437, -0.60508705376318628]]]),self.functionspace)
16701          arg1.setTaggedValue(1,numarray.array([[[-0.56354100231698689, -0.70490986460644445, -0.67097817037855401, 0.95857752023009191, 0.54446439378400391], [0.16080153145239007, -0.14858740739811749, 0.52435513112404841, 0.32013093642198731, -0.33184072028109024], [-0.56176273620507655, 0.51316092184560369, -0.98702898765093883, 0.59376858435936142, -0.65309467088958595], [-0.2736022409756369, 0.16600692055009292, 0.36151844930580745, -0.98082007027832474, 0.20780486533878828]], [[0.57801309242457211, -0.82473156778595591, -0.012720481006593953, 0.76230058755900809, 0.97881700035566666], [0.10665039307478086, 0.071384350937912844, -0.87092249175846903, -0.83055751456791516, -0.95375591914865665], [-0.49728118783721809, -0.87198976072779733, 0.75622885382502592, -0.36401727314002796, -0.19289550346643725], [0.16475426037693897, -0.67897218363485323, -0.35286923301517503, -0.11066256566767341, -0.48972704669247791]], [[0.68036554365556179, 0.66691199771725995, 0.31121469680603187, 0.70382368348875723, 0.007303501281651803], [-0.2609379113027559, 0.65295747116197367, -0.015430180390434645, 0.77442378963256431, -0.11296582799335697], [-0.49096751497710067, -0.41185842938267281, 0.56380341452230076, 0.24943737026852908, -0.48607875340021023], [0.22850877967859207, 0.73884012848509562, -0.61849192850118895, -0.62805870772334171, 0.49532178198341126]]]))
16702          res=generalTensorProduct(arg0,arg1,1)
16703          ref=Data(numarray.array([[[-0.3403223702844016, -1.3428661249414564, 0.35643489943094564, -0.40539695504669626, 0.51635465691149618], [-1.0300765714145763, -1.2133796666887582, -0.55300317808547961, -0.59109572953719092, -1.109537679101928], [-1.1503712848261121, 1.0221470528651806, 0.29568263059379896, 0.13040211708120517, 0.32582868734623605], [-0.17399555309938264, -0.79022206635541914, 0.23117019743369371, -0.072738996422079621, 0.02481944547842313]], [[0.26058540416788833, -0.041934075369783108, -0.86020215895012786, 0.17003111163153528, -0.078332463988673107], [0.66844286703022138, 1.0412504673789538, -0.15464010382647331, 1.0825377841353594, 0.66408440601736385], [0.24107391450339019, -1.7285091997308237, 0.51299237530439656, 1.064738377928093, 0.37969045475694863], [0.48547318781863713, -0.20301813895435741, 0.093312458306060719, -0.90617180079743309, -0.79460385767823971]]]),self.functionspace)
16704          ref.setTaggedValue(1,numarray.array([[[-1.0676563299485886, -0.52130507761666178, -0.74867221658250593, 0.28574924718783973, 0.04449929607563001], [0.19847356998472965, -0.41777050649320058, 0.92532608524314275, 0.41879340730033793, 0.18521518643334137], [-0.11403652391207814, 1.0619285426740668, -1.5140833171314259, 0.64910832065721591, -0.34962066937702929], [-0.42481011527804446, 0.21198762023412565, 0.7436583024200768, -0.64909094243561305, 0.25076470562361464]], [[0.5942683716089886, 1.5353731413273577, 0.7318747011043607, -0.57334756633767081, -0.97309565438381151], [-0.38831059209664409, 0.58703647551030325, 0.14647495348727874, 0.90180720523298175, 0.72273140991312412], [0.3035302077277372, -0.16402241676410789, 0.69115959800767479, 0.0027072949547045921, 0.18703411729359298], [0.2769719076476258, 0.8898893240864324, -0.5386227609103964, 0.25417211896526259, 0.54943489375849952]]]))
16705          self.failUnless(isinstance(res,Data),"wrong type of result.")
16706          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
16707          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16708       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16709       def test_generalTensorProduct_array_rank3_taggedData_rank4_offset2(self):
16710          arg0=numarray.array([[[-0.20115544979504363, -0.10426060898394729, 0.23321087065509727], [0.82881689391239144, -0.59021651882393966, -0.74482747740833122]], [[0.083292845684861172, -0.17116430430443663, 0.05955894127476169], [0.6256115035535379, 0.030493783347750547, 0.36257173345990279]]])
16711          arg1=Data(numarray.array([[[[0.06400882468549618, -0.25231790485272576, -0.88481418693171499, -0.89872896533103264, 0.30356836951057264], [0.82744828785793545, -0.41112123230833597, 0.055863040996112279, 0.35076577115425578, 0.56370988196498661], [-0.39928198117711378, -0.98234699133660519, 0.19992835360698691, -0.097354804151298602, -0.64149765151343652], [0.85752789322011291, 0.95083977102613382, -0.26352142819452884, -0.83589075322103734, -0.98302534551661158]], [[-0.4555971920642683, 0.64268176344885175, -0.79808901629752227, -0.40720314428976145, -0.76663216671528134], [-0.15506620691027195, -0.087529516693947595, -0.22616631293793654, -0.45536674360059148, 0.67359530765165299], [0.68547933048150989, 0.92718611605211931, 0.28936782965944907, 0.12803237092160002, 0.6249711001717273], [0.46877756894613376, -0.47081665245959647, -0.97362346992708448, -0.34896780061130772, -0.68827999040627796]], [[0.40076937131619927, -0.3788002231033718, 0.77909962910922825, -0.0086251102034939908, 0.21006155678822469], [0.41201467165861017, -0.11218953318580027, 0.85481405246992614, -0.97607140842928586, 0.11467431413459206], [-0.081308549567401966, 0.49994426757353705, 0.66688575333019862, 0.55116191203534548, -0.39133483970082183], [0.60030008843098592, 0.31494153264668534, 0.41127784123378919, 0.40201623277116427, -0.21990382801920405]]], [[[0.40056255472115221, -0.47452333734600716, 0.47473421522536619, -0.17821798793926891, 0.29449277396325568], [0.14014974348771081, 0.46519319912855583, 0.26529870554232637, 0.13424549971514987, -0.3352374089871033], [-0.032403164287071906, -0.11760474652456576, 0.68042233020582876, -0.56189181213484884, -0.44364370901054384], [0.090975354339726922, -0.091417417619367169, 0.29870972560772335, 0.96523897744135967, -0.61511337345955552]], [[-0.57683406853394592, -0.544107682768461, 0.72318743551010045, 0.11531385554559193, -0.75021409139011674], [0.85075533367234346, -0.03460583108605686, 0.16072060205355521, 0.14236821737348504, 0.96388409066918213], [0.55892453688973776, -0.95245273059231872, -0.48190409193064987, -0.17053192632216585, -0.49306096248669062], [-0.66093818083888234, -0.3791663435248136, -0.5947955160169931, -0.59686135867030798, -0.99629344781475515]], [[0.45123927451689139, -0.00023079043286933221, -0.96609902973249717, 0.63960051498495107, -0.45082964506061396], [-0.34593939922137729, -0.30636058181877202, 0.71324906144185385, 0.91748765008496491, 0.24783605815808785], [-0.92459450672605858, -0.06121876373741908, 0.41936488290413454, 0.55040342522471941, 0.39153063657720066], [-0.96084935105307645, -0.2928200413392319, -0.20687690184198471, -0.63184051275385089, 0.26078369392211997]]]]),self.functionspace)
16712          arg1.setTaggedValue(1,numarray.array([[[[0.98120809834875899, 0.26617920243837512, -0.025551809426254568, -0.037552784001149364, -0.033986968598348932], [0.40603768535472029, 0.47705066349326897, 0.9455645928092371, 0.49741063043814537, 0.34381856289637769], [0.01060961405479155, -0.65430240866499356, 0.81259523822628688, 0.72331145854880385, 0.086355882347096236], [-0.68898728702530798, -0.014829478859357481, -0.81262523651734897, 0.95538018114569057, 0.37429408436602496]], [[-0.8382948465362603, 0.080834596199491626, 0.63193793966774781, 0.16365252729099433, -0.19256673756218734], [-0.83666574838729346, 0.13305912175455381, 0.76458430637043229, -0.24417922474927201, 0.86030671986479335], [-0.67263248203825943, -0.2483151853416059, -0.0092308857864205063, -0.27123064976135214, -0.81563649857126075], [-0.85690968837383741, -0.067784923047385481, 0.18914087842449856, 0.30419871937760035, 0.74914171038862865]], [[0.20587774316035268, 0.450619024816582, 0.34467783615050362, 0.27735548251050846, -0.72246936529842753], [0.3211573003128565, 0.91144856458654777, 0.41540125250241267, 0.25481920034176331, -0.66326985735203725], [0.83398199294768705, 0.15763273908912367, 0.86219814538120798, -0.35538255215022141, 0.073891808078063503], [0.80962804332580207, -0.084079329886502574, -0.17568296590268018, -0.21938332631256596, 0.48005623047788193]]], [[[-0.74666255256748792, -0.43156374213987281, 0.62897284922345165, 0.16886597738567222, -0.62818588314662449], [0.77583442363108501, -0.41619548664379713, 0.6808789336151162, -0.82039996336200494, 0.96663698437680234], [0.84816088102778453, 0.57914746190234911, 0.9080686099429458, 0.54011108914090711, -0.5342931551205985], [-0.14675849544344555, -0.41508711808093213, 0.92668050598478491, 0.58532432668039336, -0.68447282021523592]], [[-0.50892577819528895, 0.49050230953278406, 0.66588777272999145, 0.69832917328993682, -0.94387968812427459], [-0.74594948153098017, 0.98654549368671129, 0.89775124891782832, 0.15327688814022356, 0.55436001391885603], [-0.70037355161374371, 0.64043700360416356, 0.26649516076660862, -0.77287041653467936, -0.75067270809771247], [0.58388579979978839, -0.95930079777754029, 0.45509662598276468, 0.066258199403117501, 0.085791938753821517]], [[-0.25187405801218121, -0.34643313833975053, -0.30185340525829507, -0.57470259088422959, -0.4718693333845505], [-0.44866959613698842, 0.50051300676940769, -0.30695990654524352, 0.78203730328499366, 0.64089954182796105], [-0.43350108608521531, -0.073580561924833532, -0.88360765618067827, -0.3918977387159448, 0.51412103057562297], [-0.67672207271504026, 0.52053729602280319, -0.9349073508126462, -0.63997953029688448, -0.9911100939502282]]]]))
16713          res=generalTensorProduct(arg0,arg1,2)
16714          ref=Data(numarray.array([[[0.46444348853685213, -0.17657131733551781, 1.1290966157468236, -0.47093425211196371, 1.0905133860659175], [-0.18249834133340231, 0.69983203326615262, -0.19452839255356902, -0.90684524297154878, -1.1882253217971495], [0.32180782608519387, 0.72780585135122511, 0.62115745309338255, -0.64023859547872464, -0.39569210998181453], [1.0997906035617753, 0.29739117005037208, 1.0031552175183163, 1.9211781112531385, 0.1021910673041633]], [[0.50379614801032724, -0.46712423191675478, 0.07807971602267233, 0.11824944722197427, 0.1669192939872933], [0.10819567253849852, 0.15295384847211146, 0.52375526109549997, 0.47000699364308296, -0.15199014889647866], [-0.49388947793373128, -0.33556245440258531, 0.56987697829734318, -0.1543623314775518, -0.33433835759949337], [-0.28467490255074918, 0.0036204649399823319, 0.26292636507314826, 0.37062730952423484, -0.29781721487390689]]]),self.functionspace)
16715          ref.setTaggedValue(1,numarray.array([[[-0.19282871464665902, -0.34603897168095399, 0.37275034003870544, 0.21102159079714616, 0.24632963607627767], [1.4979297877072959, -1.1972955902382447, 0.090043110229474116, -1.3680827494324976, -0.31692578477597388], [1.7017141840622438, 0.3510831821100141, 1.2920464575412998, 0.99561184267869152, -0.29780305641158689], [0.45453576429916204, -0.17510440551511242, 1.2985604703804141, 0.64763589538471023, 0.07882464049468374]], [[-0.33648653906175718, -0.34546761608930665, 0.21458972125298689, -0.096052068402981222, -0.60576908991865108], [0.49610433899196588, 0.022423535684276047, 0.31467662369795313, -0.12663076589092154, 0.69589598402722785], [0.51777238478008136, 0.35256485521113712, 0.37646843112549744, 0.25774639167828101, -0.019543442891586327], [-0.18186398291752573, -0.094844383161166557, 0.14412509702426224, 0.15060974075746128, -0.85340511365081695]]]))
16716          self.failUnless(isinstance(res,Data),"wrong type of result.")
16717          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
16718          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16719       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16720       def test_generalTensorProduct_array_rank1_taggedData_rank3_offset0(self):
16721          arg0=numarray.array([-0.28830826619867556, 0.51785028715795067])
16722          arg1=Data(numarray.array([[[-0.067702749520540229, 0.92793411828539685], [0.10341905614488822, 0.67457913821200655]], [[0.24335712711469193, -0.32655548077163732], [0.92163595348050764, -0.56461270504568173]], [[0.70281949062250915, 0.4949031338984724], [0.89164031858407156, -0.52816005485009465]], [[0.18585167940247938, 0.060040974202638875], [0.470063328222045, 0.46847177881613322]], [[-0.4827557519357013, -0.25037842031504165], [0.37508441154911787, 0.8391653125014622]], [[-0.61493161328444579, -0.4726227710794515], [0.29819516122237832, -0.56382300584954215]]]),self.functionspace)
16723          arg1.setTaggedValue(1,numarray.array([[[0.77370685669720074, -0.78659228154590344], [0.48346687966119717, 0.69606325210085473]], [[-0.37494320050678631, 0.92152158030255271], [-0.34260824402042056, 0.21082430573726385]], [[0.96433276722036099, -0.3026491443454391], [0.96957176973519044, -0.12076341653246758]], [[-0.52649849414921435, -0.58994693520606911], [-0.8681962354972832, 0.35048228962873695]], [[-0.38978379796424067, -0.3764469265569601], [0.0031439409462998835, 0.51192267060998753]], [[0.24085097843900827, -0.31908467461996626], [0.7834775485254053, -0.33643091832834005]]]))
16724          res=generalTensorProduct(arg0,arg1,0)
16725          ref=Data(numarray.array([[[[0.019519262331150165, -0.26753107678945948], [-0.029816568769036208, -0.19448674175170033]], [[-0.070161871385527527, 0.094148644478945692], [-0.26571526381432836, 0.16278251006546468]], [[-0.20262866879201191, -0.14268466447055955], [-0.25706727432380838, 0.15227290968922816]], [[-0.053582575458640931, -0.017310309173242222], [-0.13552314316327674, -0.1350642863134888]], [[0.13918247383801996, 0.072186168254592897], [-0.10813993637187665, -0.24193829630136632]], [[0.17728986725679302, 0.1362610516959302], [-0.085972129920858426, 0.1625548332594072]]], [[[-0.035059888280594566, 0.4805309496177525], [0.053555587922234589, 0.34933100043385046]], [[0.12602255815827712, -0.16910684949059501], [0.47726944316497255, -0.29238485144093357]], [[0.36395527503907099, 0.25628573000469362], [0.46173619502036806, -0.27350783606948048]], [[0.096243345547361331, 0.03109223573207965], [0.24342242950220802, 0.24259824518533055]], [[-0.24999520476705533, -0.1296585368582984], [0.19423757022918164, 0.43456199805187362]], [[-0.31844251252185213, -0.24474783772088035], [0.15442044986812001, -0.29197590548544428]]]]),self.functionspace)
16726          ref.setTaggedValue(1,numarray.array([[[[-0.22306608240039708, 0.22678105689775988], [-0.13938749783960347, -0.20068078937780903]], [[0.10809922406109393, -0.26568228908169256], [0.098776788818900202, -0.060782390059650027]], [[-0.27802510815587328, 0.087256250072746233], [-0.27953555588753426, 0.034817091240704201]], [[0.15179386800437353, 0.17008657803848418], [0.25030815137643875, -0.1010469412562032]], [[0.11237789098340507, 0.10853276071145732], [-0.00090642416325874275, -0.14759153759136118]], [[-0.069439328006005066, 0.091994749310251006], [-0.22588305362094829, 0.096995814758871937]]], [[[0.4006643179167208, -0.40733703887477368], [0.25036346246390934, 0.36045655498052465]], [[-0.19416444405036037, 0.4772102149819254], [-0.17741977754865601, 0.10917542726591767]], [[0.49938000042088515, -0.1567269463073937], [0.50209301937761075, -0.062537369929513545]], [[-0.27264739638339924, -0.30550418980441579], [-0.44959566986171989, 0.18149735432801747]], [[-0.20184965170529867, -0.19494314901724977], [0.0016280907218490339, 0.26509930197804704]], [[0.12472474834691381, -0.16523809037965079], [0.40572407348568834, -0.17422084766514395]]]]))
16727          self.failUnless(isinstance(res,Data),"wrong type of result.")
16728          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
16729          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16730       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16731       def test_generalTensorProduct_array_rank2_taggedData_rank4_offset1(self):
16732          arg0=numarray.array([[-0.96461849532995259, -0.8659993297919848, 0.53640564380180988], [-0.040321483021674265, 0.88194098878283489, -0.88833259283583987]])
16733          arg1=Data(numarray.array([[[[0.92355522878680851, 0.68800685011804252], [-0.35435914027371251, 0.84468321698284088]], [[0.34292454898307456, 0.71245359372014505], [0.21721341674729833, -0.26026400634808988]], [[-0.16202493099652537, -0.98136614038307357], [-0.85725738434172749, -0.63737518099150758]], [[-0.31756275107870024, 0.89925117118555442], [0.21115762924963133, 0.34273345404821409]], [[0.28908545866110558, -0.27873486262640812], [-0.9384364179156679, -0.30958792208457164]], [[0.42004254816485531, 0.92940824714251646], [-0.28416393637051929, -0.96144721859954885]]], [[[-0.82305589374618493, 0.33583911012139156], [-0.48452231851359673, 0.95034864436654276]], [[0.1609191448435161, 0.51422308908261494], [0.019477384643793005, -0.51688718250406729]], [[-0.96969459013710391, -0.46031324755998315], [0.20452219128743643, 0.72259889640138586]], [[-0.45466164329288428, 0.46621685835597071], [0.87788999980684723, 0.16467875822998312]], [[0.25986390952809013, 0.61356373498147176], [0.19048624667810699, -0.70470806447934531]], [[-0.3028087578316494, 0.16494292761644203], [0.39118785501856768, -0.83358745752163088]]], [[[-0.98235167763796549, -0.06749602767659324], [0.98493944933424382, 0.57417485666836221]], [[-0.099336772784693217, -0.28240932688051301], [0.16982108069221269, 0.026640475470107283]], [[0.49095487107432834, -0.85832427716922366], [0.89619644536847809, -0.93168603448021692]], [[-0.85379375008844782, -0.44036784129967055], [0.43363915877017645, 0.75900554579177215]], [[0.88465779450791793, 0.61958511392629756], [-0.029005739141984233, 0.74591302319697816]], [[0.76976798260645296, -0.27177624454159655], [0.30922548958859397, 0.112855687934027]]]]),self.functionspace)
16734          arg1.setTaggedValue(1,numarray.array([[[[-0.33244902563807899, -0.80768241532344276], [-0.055910392338577974, 0.2148013390726462]], [[-0.55893702924428257, 0.16033477262861395], [0.63132322565968746, 0.49660959731787258]], [[0.31414658833325682, -0.27747064620635542], [-0.12154885398577431, -0.054951326438927639]], [[0.44498909088933436, -0.6367413650432272], [-0.14950359408316749, 0.49597754652117265]], [[-0.97246357881926371, -0.12334010237544635], [-0.74148984795187567, -0.049510683398589439]], [[0.01933628939617682, -0.21458882283421277], [0.27729032138144194, -0.54981647257490862]]], [[[0.13768120625938352, 0.23674808881347809], [0.3635202879867252, -0.54523319840137763]], [[0.91444740650717016, -0.45178034921952848], [-0.67169605241794583, 0.53488299134002104]], [[-0.87214268257116045, -0.11387034478271785], [-0.26448544548312647, 0.45984120545759355]], [[-0.0092187880136218592, 0.37652331297852282], [0.45543376079636144, 0.43657609655352103]], [[-0.65895078552003494, 0.69745935933719516], [-0.39944235686314844, 0.5954872482838609]], [[0.48928184230489524, 0.25361189307894727], [0.64923116558548433, -0.061233367000464556]]], [[[-0.71571172030753072, -0.79162794768463796], [0.14156455957950032, -0.85495728506607893]], [[0.3549375107231747, 0.49591429321842417], [-0.24258541933596511, 0.35893544355848128]], [[-0.31092340781198891, 0.44238778634629727], [-0.75284335775883959, -0.76433343023166955]], [[-0.3114967813177052, 0.66916433308351042], [-0.43777633266033855, 0.043431747176143842]], [[0.081514927013966343, -0.10927509160380522], [-0.87129957803214952, -0.68305315607494554]], [[0.21511490285304102, 0.99674941737047296], [-0.57160380130876587, 0.17625050969603095]]]]))
16735          res=generalTensorProduct(arg0,arg1,1)
16736          ref=Data(numarray.array([[[[-0.70505158686408298, -0.99070582700055587], [1.2897444632252126, -1.3298077092405944]], [[-0.52343203959570772, -1.2840487208768299], [-0.1353024951560568, 0.71296952921435841]], [[1.2593980740017128, 0.88486490709972032], [1.1305350788624722, -0.5107079190898598]], [[0.24208379530198088, -1.5073935939686656], [-0.73133221393024306, -0.066083864561787775]], [[-0.029363717836586922, 0.069875972429718769], [0.72471332127640742, 1.3090229025397953]], [[0.26995926084004479, -1.1851471610990028], [0.10121166628262254, 1.7098523768243497]]], [[[0.10952916764161502, 0.32840774159864489], [-1.2879856214325047, 0.29403430394343555]], [[0.21633805626961372, 0.67566064374635793], [-0.14243806415330332, -0.46903536476243329]], [[-1.2848115337254624, 0.39607844809629722], [-0.58117811932442964, 1.4906365684431619]], [[0.37027267759168703, 0.76610972247777065], [0.38051718744406438, -0.5428319387534708]], [[-0.56834207346269405, 0.0019683594051507214], [0.23160352029584694, -1.2716467329726946]], [[-0.96780618163916099, 0.34942250580224316], [0.081767434053480137, -0.79666135470130539]]]]),self.functionspace)
16737          ref.setTaggedValue(1,numarray.array([[[[-0.18245715956872749, 0.14944801100247218], [-0.1849400985105854, -0.19363367301409917]], [[-0.062359361082538201, 0.5025908182395652], [-0.15742191682067722, -0.7497121168634947]], [[0.2854622984981019, 0.60356426485196324], [-0.057536934831586839, -0.75520787563377545]], [[-0.58834987457553756, 0.64708708566874851], [-0.48501709520523129, -0.8332066873557884]], [[1.5524323596944551, -0.54363896963915359], [0.59380162366921063, -0.83432620492603105]], [[-0.32698104194178218, 0.52203063089700663], [-1.1363246318982145, 0.677932961390036]]], [[[0.7706215851518402, 0.94459370366498341], [0.19710141990012719, 0.26996180714485102]], [[0.51372326062427454, -0.84544537363472982], [-0.40235563481274833, 0.1328571455818976]], [[-0.50564183911934035, -0.48222638580460375], [0.44041576674138405, 1.086750824269197]], [[0.25063969631873806, -0.23669478795348503], [0.79658489262665555, 0.32645396747180311]], [[-0.61435690012734878, 0.71716387831029382], [0.45161719643137688, 1.1339593379198454]], [[0.23964446452220456, -0.65312173101464088], [1.0691771060308763, -0.18840387294183944]]]]))
16738          self.failUnless(isinstance(res,Data),"wrong type of result.")
16739          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
16740          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16741       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16742       def test_generalTensorProduct_array_rank2_taggedData_rank0_offset0(self):
16743          arg0=numarray.array([[-0.3892584490959401, -0.33577445592520094, 0.55394562403743186, -0.72254584494657714, 0.67372719753051968], [0.014677243288410136, 0.4280444513920163, 0.0070366694707448829, 0.027462227985203036, 0.87722162869312093], [0.27276707326054117, -0.93879042125255463, 0.99546427933437398, -0.061260432860653635, 0.016977506928772756], [0.50407957563580386, -0.04030245615703465, -0.23999141800007728, -0.54091629978512157, -0.25122928009656742]])
16744          arg1=Data(-0.945239857493,self.functionspace)
16745          arg1.setTaggedValue(1,-0.286469622324)
16746          res=generalTensorProduct(arg0,arg1,0)
16747          ref=Data(numarray.array([[0.3679426009514663, 0.31738739886859013, -0.52361148272411795, 0.68297913150959866, -0.63683380018303426], [-0.013873515354329666, -0.40460467623453988, -0.006651340447753569, -0.025958392467178792, -0.82918484729582898], [-0.25783030945762825, 0.88738212400073591, -0.94095251353758402, 0.057905802827175334, -0.016047816229942793], [-0.47647610623921455, 0.038095487914500945, 0.22684945374998147, 0.51129564612463152, 0.23747192891659594]]),self.functionspace)
16748          ref.setTaggedValue(1,numarray.array([[0.11151072089904668, 0.096189181575030966, -0.15868859370618749, 0.20698743531381955, -0.19300237582615964], [-0.0042045843415923394, -0.12262173232827206, -0.0020157920457050372, -0.0078670940791042265, -0.25129734866640302], [-0.078139480459444854, 0.26893493741786562, -0.28517027613822393, 0.017549253065013003, -0.0048635399978932802], [-0.14440348565376915, 0.011545429394046335, 0.06875025087554916, 0.15495608810848766, 0.071969556986062971]]))
16749          self.failUnless(isinstance(res,Data),"wrong type of result.")
16750          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16751          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16752       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16753       def test_generalTensorProduct_array_rank3_taggedData_rank1_offset1(self):
16754          arg0=numarray.array([[[-0.32172363035345031, 0.14499624949202183, -0.45611378928770696], [0.56406557247396893, -0.14353446769287914, 0.3925299170507961], [0.91800570446354079, -0.8242550750499964, -0.18953471105491149], [0.033358006966433873, 0.26074211199858421, 0.476071556546799], [0.39683919195503581, 0.96976017580404839, -0.66744478808777208]], [[-0.08032318878323963, -0.060702805719327735, -0.96465904355518695], [0.48031114267932895, -0.050099798155710529, -0.075567260700116101], [0.21151748581138952, -0.27607101910529419, -0.64806739705491623], [0.54237082457705887, 0.37723009166313926, -0.079221030456413155], [0.4691460968199419, -0.23642008788996471, 0.20046866106345407]], [[-0.79899416232988663, -0.37072171768814655, 0.51481993615742017], [0.29449526313966978, -0.41927604915786043, -0.84624291379545036], [0.80170474982347284, 0.25841996076897167, 0.079542409118780411], [0.080543009159201429, -0.31569641023103601, 0.3146334686490142], [-0.22736254847266713, 0.61404600670169107, -0.91025061278305319]], [[-0.080364959730342855, 0.68095888792923254, -0.9188976511741378], [-0.92344259901949965, -0.80745521132215958, 0.57707834414708925], [0.477510166859765, 0.17356017984827488, 0.54469285528980405], [-0.15673711707838667, 0.17897824162100751, -0.1828288701177998], [0.095795110018410234, -0.15108268926816915, -0.68843761318710617]]])
16755          arg1=Data(numarray.array([0.096764415194981357, -0.53029956611873641, -0.21595031634951312]),self.functionspace)
16756          arg1.setTaggedValue(1,numarray.array([0.709317644235822, 0.34185637918602718, 0.81199180756327682]))
16757          res=generalTensorProduct(arg0,arg1,1)
16758          ref=Data(numarray.array([[-0.0095249300519657243, 0.045930781428916004, 0.56686247461977279, -0.23785136406684149, -0.33172857499875019], [0.23273667077110455, 0.089363701911464283, 0.30681806687736146, -0.13045495168827814, 0.12747884695477538], [0.0081038351025302796, 0.43358499381045501, -0.076640710208902424, 0.10726216946119593, -0.15106002718320918], [-0.1704524326801645, 0.21421651418718118, -0.16345949043633964, -0.070596707009989157, 0.23805696272109167]]),self.functionspace)
16759          ref.setTaggedValue(1,numarray.array([[-0.54899701494867004, 0.66976456651662353, 0.21548015557736513, 0.49936398095688467, 0.071044043229091969], [-0.86102153687351701, 0.26220623602156268, -0.47056897139656301, 0.44934488112988524, 0.41473079944255037], [-0.27544467054642907, -0.62158381896607184, 0.7215936211736268, 0.204687544721077, -0.69047276317469775], [-0.57035150885553998, -0.46246495605138044, 0.84032517744300006, -0.19844709373841976, -0.54270512126968018]]))
16760          self.failUnless(isinstance(res,Data),"wrong type of result.")
16761          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16762          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16763       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16764       def test_generalTensorProduct_array_rank4_taggedData_rank2_offset2(self):
16765          arg0=numarray.array([[[[0.34394142670491901, 0.42181785763440138, -0.78053682698696836], [-0.21339997592323345, -0.25562372239682252, 0.37851419787675078]], [[-0.90903384152478717, -0.78901523864928036, -0.85972464421312922], [-0.60874105736015882, 0.87895662304292199, -0.91924490466595921]], [[-0.26010492366888904, -0.33304325039617821, -0.56061112482850928], [-0.8831997202589954, 0.59692575176610174, 0.4297534428119838]], [[-0.98297094637089777, -0.61755457981928341, 0.76652377626228785], [0.48310116073776732, -0.41977320248746142, -0.26493812422923946]], [[0.59948677069099898, 0.83106531027612962, -0.55831956801788296], [-0.80926577711085401, 0.16423627369625726, 0.64943473539690921]]], [[[0.60106824562496053, -0.067641295547717251, -0.88618637595206273], [0.92444262005463251, -0.026049792677669936, 0.79344758817061778]], [[-0.98368629659098095, -0.057525167303634328, 0.61260839864426941], [-0.45575307302007362, -0.91573103026900915, -0.0005366725202806677]], [[0.26291472884239275, -0.52596042952849364, -0.64751584546129037], [-0.074417820048855443, 0.28672617905052689, -0.14303430832454711]], [[-0.54100510321841155, 0.26684883293285244, -0.7446117628259743], [-0.25415023481085242, 0.3069962355525897, 0.7058869685782212]], [[-0.66608658382621733, 0.37518004777645664, -0.30208329639878961], [0.90585453729478815, -0.79849785406077722, 0.38714006068582885]]], [[[0.68982021045953235, -0.069134518433657144, -0.092494954721243028], [-0.047968254539919597, -0.89840935363937979, 0.74913248541370669]], [[0.50330424341259161, -0.88835387914840469, -0.093176844280321136], [0.71037947004371027, -0.14024272069589827, -0.19419207191705956]], [[-0.48595552662549535, 0.59180666107469526, -0.48390535342607732], [0.47499108984307958, -0.33346753162158604, -0.72265698339587536]], [[0.47409543906098328, -0.59901741170413847, -0.28700914492164875], [0.24931557956873718, -0.47221932344089157, 0.41262174310096777]], [[-0.64994446871361622, 0.88638041231936837, -0.0030157682651761331], [0.48189478968277877, 0.23056139766060935, 0.88323073629279136]]], [[[-0.6065224118758521, -0.5004568738888262, 0.60805360921696017], [0.43243425271086489, 0.46744736881152971, 0.57125340750980924]], [[-0.11513469999721182, -0.2303049507029491, 0.30451179750693202], [0.51880307538501502, 0.99649402950333421, 0.30571594821796322]], [[0.84479162813785269, 0.48016393111996392, 0.19160227116354855], [0.73826679933103456, 0.62800508822190859, -0.48618883903375498]], [[-0.88938478603580773, -0.4496096452212639, 0.42508575884863764], [-0.1489201846211381, -0.18500101610795916, -0.33969169544003575]], [[-0.21543886054319206, 0.93365614743230707, -0.67477086868569769], [0.15609116682528024, -0.32562832877017756, -0.37696736348528348]]]])
16766          arg1=Data(numarray.array([[0.416301626002056, 0.95180601572720858, 0.82466132418882032], [0.80681126538239512, -0.72771350887478303, 0.38703615287081283]]),self.functionspace)
16767          arg1.setTaggedValue(1,numarray.array([[0.2628734536927313, -0.33499940834651487, -0.47506070215672391], [-0.21931025455150177, 0.43880363489548091, 0.5729696203998329]]))
16768          res=generalTensorProduct(arg0,arg1,2)
16769          ref=Data(numarray.array([[0.061339626626125493, -3.3249521430293214, -1.8682252824890153, 0.22782340152160929, 0.059068745757442365], [0.52694107383205868, 0.33940686420283583, -1.2491968441202654, -0.74053830565874701, 1.292457807730655], [1.050118263026993, -0.11281420208299336, 0.30812564579608959, 0.095023515762209826, 1.1334600096952978], [0.0024249479137856689, -0.20428017476318658, 0.91717955564578513, -0.56463742381595772, 0.45951479912270909]]),self.functionspace)
16770          ref.setTaggedValue(1,numarray.array([[0.47141603181717784, 0.42627327909139301, 1.0113825389280993, -0.85761041414978756, 0.76607258789768329], [0.84210787498585871, -0.83252257239257232, 0.61310183500593496, 0.71702631096523306, -0.4845011282464296], [0.29396095796712501, 0.14556932996626556, -0.76067295123865319, 0.43617505456861494, 0.035193702160263407], [0.15694292753133937, 0.4008768962315078, -0.19471404815638724, -0.52827064082611574, -0.44196042662507129]]))
16771          self.failUnless(isinstance(res,Data),"wrong type of result.")
16772          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
16773          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16774       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16775       def test_generalTensorProduct_array_rank2_taggedData_rank1_offset0(self):
16776          arg0=numarray.array([[-0.20638740454294613, -0.46982967124083563, 0.61274231631602594, 0.59055732442665998, -0.62101753905962465], [-0.92022976426769731, -0.83164439946045299, -0.31845096911905091, 0.42772928890422524, -0.49576097264016106], [0.010195000771948015, -0.95999569921397554, 0.40243901535163817, -0.087677977862951284, 0.72857983178155061], [-0.052645968656485964, -0.19822425590114379, -0.42613204525544024, 0.98161872665017036, -0.50009635161373756]])
16777          arg1=Data(numarray.array([0.82859455535615578, -0.63395112558791578]),self.functionspace)
16778          arg1.setTaggedValue(1,numarray.array([-0.19989299907040969, 0.43791619466699894]))
16779          res=generalTensorProduct(arg0,arg1,0)
16780          ref=Data(numarray.array([[[-0.17101147969837349, 0.13083952741716923], [-0.38929830753492906, 0.29784904891772818], [0.50771494713577847, -0.38844868112389136], [0.48933258364562937, -0.37438448054446904], [-0.51457175164548374, 0.3936947678966865]], [[-0.7624973723488927, 0.58338069485700916], [-0.68909602138537129, 0.52722190312684047], [-0.26386673915993686, 0.20188235031758492], [0.35441415995240122, -0.27115946414775238], [-0.41078484268770954, 0.31428822662779005]], [[0.0084475221314879306, -0.006463132214746114], [-0.79544720953402592, 0.60859035407625806], [0.33345877698325976, -0.25512666676266355], [-0.072649495081878984, 0.055583552755490331], [0.60369728175649673, -0.46188400443856836]], [[-0.043622162990215103, 0.033374971087445408], [-0.16424753917921309, 0.12566449014735717], [-0.35309069256144077, 0.27014688973876699], [0.81336393233797377, -0.62229829665805214], [-0.41437711410062061, 0.31703664500793904]]]),self.functionspace)
16781          ref.setTaggedValue(1,numarray.array([[[0.041255397264447401, -0.090380386824645456], [0.093915662036595252, -0.20574602177143389], [-0.12248289926576006, 0.26832978347255665], [-0.11804827470264198, 0.2586146162456473], [0.12413705835795366, -0.27195363752645518]], [[0.18394748741332614, -0.40298351658741949], [0.16623989316825977, -0.36419055072784318], [0.063656119274085515, -0.13945483658463276], [-0.085500090349319297, 0.18730958254455973], [0.099099147643105123, -0.2171017586029895]], [[-0.0020379092798298308, 0.0044645559426785917], [0.19189641941057653, -0.42039766349646907], [-0.0804447417215816, 0.17623456218832337], [0.017526213947454322, -0.038395606421840998], [-0.14563800763702875, 0.31905690744489884]], [[0.010523560563711766, -0.023054522258606432], [0.039623641000579989, -0.0868056118349263], [0.085180812526117491, -0.18661012368392776], [-0.19621871121377926, 0.42986673738850761], [0.099965759548240121, -0.21900029126553744]]]))
16782          self.failUnless(isinstance(res,Data),"wrong type of result.")
16783          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
16784          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16785       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16786       def test_generalTensorProduct_array_rank3_taggedData_rank2_offset1(self):
16787          arg0=numarray.array([[[0.42755025064893437, -0.28215544807457271, 0.30981263016541205], [-0.72628827469501189, 0.18289260582950018, 0.12961604333074539], [0.22884007759478453, -0.14789371345617308, 0.87255923698023485], [-0.84973208273614453, 0.76887809306454225, -0.48984860182559653], [0.78555581135814867, -0.32758380456486935, 0.052588360850076787]], [[-0.40981427009095772, 0.36768280837279388, 0.52107289203710594], [-0.69467790563691323, 0.21709929167288577, 0.6842873048643725], [0.7537219893748075, -0.18136604297427361, -0.5074278384153903], [0.12775029577949648, -0.49553225168880832, 0.42637231271498632], [0.92563798043710843, -0.32028382833624458, 0.42405325823388251]], [[-0.61424144461332775, -0.26841376712118969, 0.46903796892346539], [-0.74867582255602305, 0.36399532336283857, 0.98443512517672316], [-0.51827247943733923, 0.8632431190107035, -0.1426266789655839], [-0.74220887454679074, 0.38296298321562072, 0.16038704163831774], [0.92931648050543325, 0.32730270971029629, 0.20311810123090357]], [[0.55637022912337919, -0.59716175984911546, 0.76585232270996739], [-0.92236850733908815, 0.14133291962252259, -0.14108294052082559], [-0.2574358002206949, 0.52547314126271072, -0.53118509022417459], [-0.070006870815329414, -0.88913284281045457, -0.73060433594114205], [-0.93492520324576889, 0.11497007562327499, -0.66300948139030802]]])
16788          arg1=Data(numarray.array([[0.15176526988904859, -0.29595753284131221], [-0.70585048133843342, 0.85795688884304377], [-0.10600582704861039, 0.37407844797358725]]),self.functionspace)
16789          arg1.setTaggedValue(1,numarray.array([[-0.093552243615000252, 0.84278948392042397], [-0.92637043494223814, -0.62544883433330911], [-0.76373622773095295, 0.42906183258782926]]))
16790          res=generalTensorProduct(arg0,arg1,1)
16791          ref=Data(numarray.array([[[0.23120489392577459, -0.25271969989302634], [-0.25306022575637721, 0.42035102532182655], [0.046624461402577186, 0.13179223007811403], [-0.61974598478489051, 0.72790706269497529], [0.34487060316942514, -0.4938717692302842]], [[-0.37696142344754585, 0.63166575738622754], [-0.33120606105149697, 0.64783412489706171], [0.2961964375493284, -0.56849176464861673], [0.32396178685066335, -0.30345727833963465], [0.32160007596490536, -0.3901100652022117]], [[0.046518710288640769, 0.12695893741028041], [-0.47490512209027946, 0.90212450828421198], [-0.67285707472072653, 0.84065845834834052], [-0.39995809719393882, 0.60822537259665688], [-0.11152051102566365, 0.081755505797582603]], [[0.42475978474157627, -0.3905121577175833], [-0.22478780100563928, 0.34146337238746338], [-0.35366656858519557, 0.32831847160891314], [0.69441855030493438, -1.0154219228890191], [-0.15275799059902262, 0.12731996714531524]]]),self.functionspace)
16792          ref.setTaggedValue(1,numarray.array([[[-0.015232949518136141, 0.66973742605112441], [-0.20047287318784265, -0.67088479024763337], [-0.55080923915148827, 0.65974582684298366], [-0.25865646736058256, -1.407214509321334], [0.18980980653924268, 0.88950874403591618]], [[-0.70023368361791327, -0.35178145112506409], [-0.65874069349185671, -0.42765016745235435], [0.48504078010289758, 0.53094622835398531], [0.12145911901035028, 0.60053676090221142], [-0.11375887628490222, 1.1623841710111176]], [[-0.052107045590758572, -0.14855086184366645], [-1.0190029720284706, -0.436253021943599], [-0.64226818859659884, -1.0379046622595376], [-0.40782367404119113, -0.79623362777678797], [-0.54527184774974335, 0.6656572834873723]], [[-0.083765847958285344, 1.1709951059512218], [0.063113157869583644, -0.92629229312233707], [-0.057013788689795508, -0.77353199714178134], [1.3882046776445547, 0.18363161030240444], [0.48732383168226578, -1.1443250924379207]]]))
16793          self.failUnless(isinstance(res,Data),"wrong type of result.")
16794          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
16795          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16796       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16797       def test_generalTensorProduct_array_rank4_taggedData_rank3_offset2(self):
16798          arg0=numarray.array([[[[0.6446513576364028, 0.80028804838252299, -0.14360652937626761], [0.32302010953836713, -0.60604301917287318, 0.5134766598938918]], [[-0.19580528894333993, 0.99422108250674168, 0.038214245374039724], [0.19589109134359961, 0.7505908134810837, 0.29158432744876039]], [[-0.36723230223067849, -0.93326043575299278, -0.62645429881920012], [0.94644308742651662, 0.74368884950369196, -0.60826123233240215]], [[-0.81573856941822442, 0.8841849749987456, 0.36237815646150251], [-0.74159572037253185, 0.60984108812104543, 0.589596356918068]], [[-0.78843485947541514, 0.4111284112397513, -0.55161605208043873], [-0.51028668061112259, -0.98732626866358797, 0.47705400586186664]]], [[[-0.1766026414717401, -0.38285517652364454, 0.71825911131865916], [0.72938956683799638, 0.15483132795919108, 0.97641123799618801]], [[-0.011286708295776604, 0.19452785900201608, -0.70912898541553271], [-0.91778721168094557, 0.26311626496118157, -0.76995304223547545]], [[0.048559305085811744, -0.12641830968371126, 0.66981820192244035], [-0.49053403582962662, -0.9819926749063701, 0.00010572712329492973]], [[0.36888442432725776, 0.0052647747818306279, -0.86247272133228803], [0.59292352989852137, -0.13388840094145849, -0.45354959536044626]], [[0.5902506282477884, -0.46413945778632071, -0.15279521399471552], [-0.27418596263846706, 0.91315283309755779, -0.25385906672411296]]], [[[0.87973752850541231, -0.24753415270333012, -0.3321949064471732], [0.81408819781812136, 0.34502077804447984, -0.10291635981290703]], [[0.29441983963832752, -0.60375817169409229, -0.7152568662238592], [-0.887307545278464, 0.69906752840147113, 0.05848532257691641]], [[-0.84967154412476509, 0.35087886838912419, 0.036102452676464614], [0.83726275694075913, 0.96944086593539303, 0.28282705297688482]], [[-0.89782755121886271, 0.11540215173671209, -0.1192345607042582], [0.44248313300899444, 0.44386524392427029, 0.1103615588836353]], [[-0.35875597823354233, -0.36467473494987779, 0.9650274689160292], [0.10968307586687986, 0.22941547717903199, 0.43273310992979908]]], [[[-0.90154945908529971, -0.46451295367949852, -0.81398919952822912], [0.18275229132820936, -0.12197220442451617, -0.22848150824543878]], [[0.82893248829801891, -0.71227718889552416, 0.35266254481389758], [0.49074642871667318, -0.27459280301816746, 0.73348581034901317]], [[-0.94431103927943738, 0.74129811715390326, 0.392460128373191], [0.76150054683136537, 0.59849843819543813, -0.1206193839256422]], [[0.30923022856451166, -0.96914430247262828, 0.96234737367655687], [0.54252606723144203, -0.63943874596282768, 0.36440143174735939]], [[0.96775783223731193, 0.48070358857609086, -0.75690885877994374], [-0.6745342962753158, 0.22436230260793111, -0.80538877647492479]]]])
16799          arg1=Data(numarray.array([[[0.25844500961342676, -0.24057576647031964], [-0.4557699928422243, -0.44332305123307236], [-0.4003119865366993, -0.73083691857074462]], [[0.51899190049650712, -0.15001177493549744], [0.10509905236496708, -0.22779166263021811], [-0.27868125954458356, -0.1192892142667259]]]),self.functionspace)
16800          arg1.setTaggedValue(1,numarray.array([[[-0.24234882833461246, -0.99048408132677723], [-0.88689279477074456, -0.95029799025034922], [0.31361448341549303, 0.96572893160361706]], [[-0.67081795212362727, 0.19415851959805575], [0.26462840562762802, -0.91137043638672455], [-0.54215522435513841, 0.67875609105144941]]]))
16801          res=generalTensorProduct(arg0,arg1,2)
16802          ref=Data(numarray.array([[[-0.17979898549265788, -0.37657818083974842], [-0.41974547056010975, -0.65673066274350334], [1.3200882074285079, 0.72109426347490846], [-1.2439707690626269, -0.55857309587630433], [-0.67187625087518588, 0.65510330010716189]], [[-0.035963512306954631, -0.57387707332754134], [-0.041803497008610052, 0.60432455767420346], [-0.55578782810394323, -0.14790289857194006], [0.85824171870762056, 0.53490498206578274], [0.4496708903376449, 0.038837276126462969]], [[0.96061141449142351, -0.047564493043498787], [0.23425923504379673, 0.68645391741405648], [0.063635632142889961, -0.35769534869071135], [0.0086344162995526837, 0.071324710494647586], [-0.35238158492590838, -0.57763406961539476]], [[0.4502610508330297, 1.0453382456638425], [0.41911821913206471, -0.23995571722824288], [-0.24729181023606536, -0.62445895341993318], [0.24919709077631394, -0.32726392283973205], [0.23197078768452847, 0.25340529353670216]]]),self.functionspace)
16803          ref.setTaggedValue(1,numarray.array([[[-1.5664852326111789, -0.57414180429287098], [-0.91319336825572539, -1.1620773870970198], [0.61191731867845811, -0.26124883367810792], [-0.13363270658959539, 0.018109785362887876], [-0.52414777626370923, 0.98207287199569615]], [[-0.37007390097060877, 1.8956457928337405], [0.71054708343665918, -1.7991094147993127], [0.37955444762292662, 1.5186901568244755], [-0.55183207534405954, -1.2739985800010647], [0.7838826641440928, -1.3488862405035746]], [[-0.49685427392356929, -1.1831797258155898], [0.98830838918575459, -1.1783027653772415], [-0.5523982466355849, 0.014024375697666014], [-0.16135493999032618, 0.4207639887839465], [0.46554203630743651, 1.7397803540127461]], [[0.34418546003658312, 0.53986475417900315], [-0.25810696283901607, 1.0398038938617242], [-0.59257222524953734, 0.13040793630310121], [0.35567956862079175, 2.479496283450457], [0.05026297986769801, -3.028435452767507]]]))
16804          self.failUnless(isinstance(res,Data),"wrong type of result.")
16805          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
16806          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16807       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16808       def test_generalTensorProduct_array_rank2_taggedData_rank2_offset0(self):
16809          arg0=numarray.array([[-0.86736935003086435, 0.84535952205984666, 0.18654935911191228, -0.97290443815535044, -0.041146078452910961], [0.7715753639040086, -0.9016974914949285, -0.37705471864412687, 0.036699168751018529, -0.18786439329735716], [-0.078656941195251573, -0.78154725219550381, -0.13304107060699821, -0.92478925432589887, -0.99685724223988914], [0.14499199361245219, 0.46757568422600482, -0.69195411677140495, -0.88566041750293123, -0.62741454349407322]])
16810          arg1=Data(numarray.array([[-0.59222744720075426, 0.41594254787990481, -0.47337739967064918, -0.95528482283443772, -0.19737685412720185], [0.046286272318936117, 0.38529318753412012, 0.35544746009379469, -0.92311602992588226, -0.81148384650552652], [0.53414350723379234, -0.90813290473925878, 0.37531695853840685, 0.71460321617606404, 0.52658026888255094], [-0.46003086980639218, 0.05069994221038443, 0.92651004111077029, -0.13634797345474858, 0.26561273167238997]]),self.functionspace)
16811          arg1.setTaggedValue(1,numarray.array([[-0.22932975435162972, -0.46088679837245783, 0.27362719346863673, -0.3475766380511458, 0.83715896373429], [0.0060625596157315442, -0.58774624531312769, 0.73802945018602162, -0.43159817378079657, 0.36762242847379323], [-0.40298914046960577, 0.36413753237448954, 0.75352858501328335, 0.99216000271882598, -0.09067551717619815], [0.046971777975209905, 0.2331976311861359, -0.68597585256510385, 0.95860115472180629, -0.080016842972410851]]))
16812          res=generalTensorProduct(arg0,arg1,0)
16813          ref=Data(numarray.array([[[[0.51367993594895622, -0.36077581740477471, 0.41059304747163167, 0.82858477587625567, 0.1711986336754478], [-0.040147293936627207, -0.33419150164278971, -0.30830423243167632, 0.80068255087988438, 0.70385621650404417], [-0.46329970669258075, 0.78768664732533178, -0.32553842638301883, -0.61982492714459791, -0.45673958555973598], [0.39901667653810358, -0.04397557592162353, -0.80362641215531827, 0.11826405311347082, -0.23038434243060327]], [[-0.50064511171635273, 0.35162099348011122, -0.40017409233951301, -0.80755912126234553, -0.16685440307064742], [0.039128541045467743, 0.32571126486675867, 0.3004808949822767, -0.78036492586392692, -0.68599559664119791], [0.45154329998652892, -0.7676987983172, 0.3172777646909829, 0.60409663328902674, 0.44514964442869881], [-0.38889147623230724, 0.04285967891543243, 0.78323408553704965, -0.11526305767353492, 0.22453825189958188]], [[-0.11047965072378457, 0.077593815734372129, -0.088308250526623167, -0.17820777146910102, -0.036820525640954907], [0.0086346744367769793, 0.071876197204675946, 0.066308495878454415, -0.17220670376860617, -0.15138179149527536], [0.099644128948253044, -0.16941161136754801, 0.070015138079171951, 0.13330877199695607, 0.098233211681018326], [-0.085818463934078021, 0.0094580417263582049, 0.17283985437996571, -0.025435627064191377, 0.049549884865448673]], [[0.5761807117790273, -0.40467235085000375, 0.4605509730620137, 0.92940084383807209, 0.19202881736949587], [-0.045032119764760091, -0.37485345214296723, -0.34581641145629965, 0.89810368244723815, 0.78949623575660188], [-0.51967058879962114, 0.88352653345573495, -0.36514753467698369, -0.69524064053778001, -0.51231228064087153], [0.44756607492310513, -0.049326198790702797, -0.90140573099216459, 0.1326535485076128, -0.25841580547463444]], [[0.024367837004489419, -0.017114404706970236, 0.01947762362468352, 0.039306224265220922, 0.0081212835247066097], [-0.0019044985921277465, -0.015853303721651044, -0.014625269078907214, 0.037982604588470054, 0.033389378011586347], [-0.021977910653754634, 0.03736610774407146, -0.015442821020729219, -0.029403119995482823, -0.02166671305519639], [0.018928466259814682, -0.0020861037997465296, -0.038122254838953512, 0.0056101844126645066, -0.010928922295484146]]], [[[-0.45694810808786401, 0.32093102274359808, -0.36524633941481444, -0.73707423481045764, -0.15229111804942419], [0.035713347408243175, 0.29728273138137418, 0.27425450337062524, -0.71225358671568628, -0.6261209441697263], [0.41213197097087678, -0.70069297644739803, 0.28958531886361699, 0.55137023656802153, 0.40629636258772495], [-0.35494848577794463, 0.039118826360889571, 0.71487232213076057, -0.10520273723592174, 0.20494024009766207]], [[0.53401000353536532, -0.37505435202931936, 0.42684321381341656, 0.86137792841298966, 0.17797421424565835], [-0.041736215640635843, -0.34741790068960116, -0.32050608312481838, 0.83237140854292535, 0.73171294878268889], [-0.48163586057101376, 0.81886116214739246, -0.33842236002958753, -0.64435592744016501, -0.47481610752212117], [0.41480868131465387, -0.045716010710041478, -0.83543177991444462, 0.1229446256345639, -0.23950233385810957]], [[0.2233021534776099, -0.15683310036297879, 0.17848918224530502, 0.36019465009884349, 0.074421874199794971], [-0.017452457386301894, -0.14527661442117648, -0.13402314205843527, 0.34806525493958695, 0.30597381342839514], [-0.20140132983562473, 0.34241579688793489, -0.14151503020406841, -0.269444514617454, -0.19854957512705892], [0.17345681018246217, -0.019116652445409991, -0.3493449828719799, 0.051410646768677105, -0.10015053380903097]], [[-0.021734255023805396, 0.015264745755373231, -0.017372557073431497, -0.035058158918487868, -0.0072435664771593484], [0.0016986677186882342, 0.014139939707932503, 0.013044626320103095, -0.033877590959020223, -0.029780782621631936], [0.019602622709233831, -0.033327722719378693, 0.013773820396520017, 0.02622534402046595, 0.019325058148677448], [-0.016882750521702621, 0.0018606457348457855, 0.034002148348237275, -0.0050038572866752135, 0.009747766462064043]], [[0.11125845006241232, -0.078140794404015251, 0.088930757989807069, 0.17946400366796497, 0.037080082951547744], [-0.0086955424671931909, -0.072382870917702333, -0.066775921439607311, 0.17342063290509085, 0.15244892049436645], [-0.1003465459201989, 0.17060583718220748, -0.07050869271002716, -0.13424849965525643, -0.098925682735979639], [0.086423420254233371, -0.0095247138835649406, -0.17405824675718429, 0.025614929310400502, -0.049899174687687266]]], [[[0.046582799488683685, -0.032716768529192787, 0.037234418289055354, 0.075139782134404684, 0.015525059608387064], [-0.003640736599937959, -0.030305983594802324, -0.027958409966599138, 0.072609483282274206, 0.063828837195481755], [-0.042014094438313838, 0.071430956485548883, -0.029521283937336142, -0.056208503152698319, -0.041419193244074573], [0.036184621074361822, -0.0039879023730448613, -0.072876445820459976, 0.010724714530121882, -0.020892285015865313]], [[0.4628537340345073, -0.32507875536673636, 0.36996680596404863, 0.74660022835032347, 0.15425933799010738], [-0.036174908945237332, -0.30112483200693851, -0.27779898573617623, 0.72145879664619572, 0.63421297043743219], [-0.41745839035663962, 0.70974877632728894, -0.2933279376480657, -0.55849618001247248, -0.41154736220552723], [0.35953586222229339, -0.039624400520996791, -0.72411137676166581, 0.10656238399598425, -0.20758890058669804]], [[0.078790573618437859, -0.055337441880945151, 0.062978636053340045, 0.12709211556451019, 0.026259227986124248], [-0.0061579752237183264, -0.05125981816712228, -0.047289110635416721, 0.12281234491582117, 0.10796067971938025], [-0.071063024060160629, 0.12081897389995411, -0.049932569980912007, -0.095071576939267738, -0.070056802732655563], [0.061202999431311023, -0.0067451745913824843, -0.12326388779751081, 0.018139880363514323, -0.035337402188544101]], [[0.54768557928811623, -0.38465919869627163, 0.43777433245615266, 0.8834371389779081, 0.18253199374948673], [-0.042805047263354427, -0.35631499959652768, -0.32871399157217507, 0.85368778497144082, 0.75045154130735803], [-0.4939701757577592, 0.83983155180263169, -0.3470890902225976, -0.66085737542635137, -0.48697577420262561], [0.4254316050551481, -0.046886761751107585, -0.85682653004428722, 0.12609314070006439, -0.24563580006277458]], [[0.59036621979531345, -0.41463534120979495, 0.47188968917437313, 0.95228259404435867, 0.19675654648722732], [-0.046140805777419178, -0.38408230437907942, -0.35433037483027324, 0.92021489985935001, 0.80893354934971662], [-0.53246482358142055, 0.9052788630056775, -0.37413742825445906, -0.71235739137302656, -0.52492535465619905], [0.45858510422041759, -0.050540604573565573, -0.92359824448924877, 0.13591946480309827, -0.2647779751987423]]], [[[-0.08586823824165063, 0.060308339245350243, -0.068635932909325986, -0.13850865093048331, -0.028618063572857157], [0.0067111389004114079, 0.055864427385868484, 0.05153703586348183, -0.13384443351456574, -0.11765866068913743], [0.077446531988974832, -0.13167200032321225, 0.054417954055045667, 0.10361174495523767, 0.076349922982262175], [-0.066700792936499234, 0.0073510856971197545, 0.13433653796260561, -0.019769364496221707, 0.038511719494029144]], [[-0.2769111538423128, 0.19448462142365427, -0.22133976154813073, -0.44666795466753001, -0.092288617618902752], [0.021642335449797743, 0.18015372578888461, 0.1661985893597516, -0.43162660931258756, -0.37943011476817184], [0.24975251586971842, -0.42462086430160817, 0.17548908369021868, 0.33413108775362677, 0.24621612952267236], [-0.21509924871480796, 0.023706060169239401, 0.43321356641463227, -0.063752996980933216, 0.12419405475085596]], [[0.40979422015558176, -0.28781315834588733, 0.32755544048864843, 0.66101326584953135, 0.13657572676870638], [-0.03202797668109017, -0.26660520727821135, -0.24595333330784092, 0.63875393716488971, 0.56150958828299391], [-0.36960279877713931, 0.6283863020099042, -0.25970211455477332, -0.49447263729111374, -0.36436938486387449], [0.3183202542044633, -0.035082033732547833, -0.64110243717664117, 0.094346541545451523, -0.18379182314760878]], [[0.52451240814451516, -0.36838385061254947, 0.4192516254287591, 0.84605795502576175, 0.17480886703171275], [-0.040993919266643329, -0.341238925332504, -0.3148057459070267, 0.81756732846780522, 0.71869912229296917], [-0.4730697616231605, 0.80429736755952164, -0.33240337419505572, -0.63289578278743031, -0.46637130078732586], [0.40743113221696592, -0.044902931985423562, -0.82057326983082279, 0.12075800309561122, -0.23524268282706295]], [[0.37157211343012159, -0.26096840379783215, 0.29700386511477178, 0.59935959102548531, 0.12383710882851463], [-0.029040680417027662, -0.24173854936809633, -0.223012905910876, 0.5791764225080086, 0.50913676710807954], [-0.33512940475141301, 0.56977579185892868, -0.23547931820695855, -0.44835245065650176, -0.33038411901393205], [0.288630058172759, -0.03180988109710424, -0.58130587448618898, 0.085546701521453092, -0.16664929078844631]]]]),self.functionspace)
16814          ref.setTaggedValue(1,numarray.array([[[[0.19891359997471086, 0.39975908274212479, -0.23733584094966101, 0.30147732263233534, -0.72612602624672307], [-0.0052584783934204364, 0.50979307878032853, -0.64014412451148572, 0.37435502746675758, -0.31886442684208194], [0.34954042883861863, -0.31584173477750382, -0.65358759901264851, -0.86056917668484867, 0.078649164396831464], [-0.040741880532151886, -0.20226847779065593, 0.59499442937626212, -0.83146126050988911, 0.069404157080501738]], [[-0.19386609153279574, -0.38961504359583388, 0.23131335349322393, -0.29382722062208494, 0.70770030147053586], [0.0051250424992141455, -0.49685688503037501, 0.62390022327534667, -0.36485562590923681, 0.31077312043308603], [-0.34067070718269432, 0.30782713033215042, 0.63700256448526171, 0.83873190570528289, -0.076653411862600287], [0.039708039779424678, 0.19713583804500023, -0.57989621886903198, 0.81036261400164333, -0.067643000131895031]], [[-0.042781318699588802, -0.085978136859523144, 0.051044977577165411, -0.064840199070714352, 0.15617146815942443], [0.0011309666108924809, -0.10964368538359674, 0.13767892093791934, -0.080514362712679338, 0.068579728426950939], [-0.075177365883665345, 0.067929623293054228, 0.14057027460673413, 0.18508681264367013, -0.01691545961636096], [0.0087625550776224449, 0.043502868644189743, -0.12796835566226775, 0.17882643105729204, -0.014927090774661766]], [[0.22311593580977684, 0.44839881162377437, -0.26621311092562938, 0.33815885375907562, -0.81447567125862486], [-0.0058982911567266151, 0.57182093057428529, -0.71803212757533352, 0.4199037787710812, -0.3576614922276013], [0.39206992329128937, -0.35427102134607846, -0.73311130463634466, -0.96527687000537032, 0.088218613092754888], [-0.045699051260129457, -0.22687901034830618, 0.66738895142798982, -0.93262731784968911, 0.077848741655038287]], [[0.0094360200641389561, 0.018963684363744106, -0.011258685969310372, 0.014301415617651482, -0.034445808399368741], [-0.00024945055357433987, 0.024183453120057805, -0.030367017657912786, 0.017758572318517754, -0.015126221283032345], [0.016581422789433555, -0.014982831474730151, -0.031004746275467544, -0.040823493309709163, 0.0037309419434901243], [-0.0019327044616407019, -0.009595168027817744, 0.028225216246446246, -0.039442678317234484, 0.0032923792984970741]]], [[[-0.17694518866787559, -0.3556088991727826, 0.21112400137459594, -0.26818157098884471, 0.64593123208878755], [0.0046777216416978131, -0.45349052311069121, 0.56944534159915505, -0.33301051799522363, 0.28364840902894239], [-0.3109364927071997, 0.2809595490529545, 0.58140409219369682, 0.76552621514878028, -0.069962995162409267], [0.036242266684440881, 0.17992954714399559, -0.52928206807228251, 0.73963303479328057, -0.061739024734887814]], [[0.20678606422401269, 0.41558046995557413, -0.24672895395546723, 0.31340898263295891, -0.75486413758170312], [-0.005466594797543591, 0.52996931503441014, -0.66547930388211696, 0.3891709906319365, -0.33148422157209312], [0.36337429706114088, -0.32834189950123055, -0.67945483487620062, -0.89462818561316682, 0.081761886377783172], [-0.042354334371303502, -0.21027371906309825, 0.6185427054840491, -0.86436825655679461, 0.072150986585566457]], [[0.086469866003780482, 0.17377954208711952, -0.1031724244466989, 0.13105541146764629, -0.31565473753124151], [-0.0022859167101729034, 0.22161249516068335, -0.27827748669097002, 0.16273612798223722, -0.13861377133545677], [0.15194895697640573, -0.1372997748172298, -0.28412150861249058, -0.37409861067510308, 0.034189631616782089], [-0.017710930528657166, -0.087928267215365341, 0.25865043208560029, -0.3614450886855658, 0.030170728213753654]], [[-0.0084162113545800856, -0.016914162388587482, 0.010041890547973095, -0.012755773693750689, 0.03072303808151251], [0.00022249089840084199, -0.021569798639524008, 0.027085067335598231, -0.015839294212212873, 0.013491437539218977], [-0.014789366470921973, 0.013363544749190864, 0.027653872700118699, 0.036411447367789194, -0.003327716106435175], [0.0017238252064476038, 0.0085581592192377834, -0.025174743572410552, 0.035179865542056793, -0.0029365516231682569]], [[0.043082895166300872, 0.086584218755003162, -0.051404806690644012, 0.065297274231813612, -0.15727236081538662], [-0.0011389390840384653, 0.11041659178855039, -0.13864945489477903, 0.081081929065576666, -0.069063164487730241], [0.075707310379745929, -0.068408476596330231, -0.14156119045573648, -0.18639153696467647, 0.017034701021230555], [-0.0088243245714109721, -0.043809531501164276, 0.12887043735878057, -0.18008702434595814, 0.015032315658581862]]], [[[0.018038377002357629, 0.036251945797250183, -0.021522678066084284, 0.027339315180032214, -0.06584836338152579], [-0.00047686239518730306, 0.046230321855324587, -0.05805113906364575, 0.033948192175054084, -0.028916055738518732], [0.03169789312424276, -0.028641944470964239, -0.059270253600330954, -0.07804027099013533, 0.0071322588223772417], [-0.0036946563780324987, -0.018342612363079856, 0.053956762296575936, -0.075400634656653379, 0.0062938801123105991]], [[0.17923203936018609, 0.36020481084117761, -0.21385258118138054, 0.27164756639622417, -0.65427928775736977], [-0.0047381768089464179, 0.45935146301269947, -0.57680488883224368, 0.33731436677097909, -0.28731429881913123], [0.31495505539864826, -0.28459068784853359, -0.58891819506789767, -0.77541992386318204, 0.07086720129046388], [-0.036710664007262583, -0.18225496787202503, 0.53612254264472492, -0.74919209842426471, 0.062536943754446808]], [[0.030510276040980725, 0.06131687308410351, -0.036403654766255657, 0.046241968044305554, -0.11137652480345513], [-0.00080656942189567631, 0.07819438972170191, -0.098188228192242571, 0.057420283111822443, -0.048908881463298075], [0.053614106691070341, -0.04844524715529256, -0.10025024968314368, -0.13199802897515486, 0.012063567882964657], [-0.0062491756301361447, -0.031024862516019436, 0.091262961835809772, -0.12753332390929384, 0.010645526455641601]], [[0.21208169252158521, 0.42622315859551618, -0.25304748821114903, 0.32143513992442196, -0.77419561382407631], [-0.005606589986338683, 0.54354141193597416, -0.68252170490808406, 0.39913735329916256, -0.33997327150175533], [0.37268002671632161, -0.33675047703667704, -0.69685513824768397, -0.91753890908632485, 0.083855743914991523], [-0.043438995528056051, -0.21565866345519261, 0.63438309717925512, -0.88650404707112485, 0.073998716545968374]], [[0.22860902648651682, 0.45943834281034013, -0.27276724948298581, 0.3464842888746773, -0.83452797590456773], [-0.006043506459453069, 0.5858991012396938, -0.7357100024042591, 0.4302417652708973, -0.36646708023391644], [0.40172264322115453, -0.36299313631887198, -0.75116042720526754, -0.9890418841710098, 0.090390545990940582], [-0.046824157055472111, -0.2324647475210862, 0.68381999663120618, -0.95558850350395308, 0.079765369418219739]]], [[[-0.033250978278096727, -0.06682489572568294, 0.039673752287597792, -0.050395829684149338, 0.12138134712236927], [0.00087902260507925864, -0.085218499846183765, 0.10700836132717324, -0.062578279655971278, 0.053302308801066386], [-0.058430198880856675, 0.052797026768096091, 0.10925561178504611, 0.14385525677673855, -0.01314722400721712], [0.006810531732147157, 0.0338117894513792, -0.099461006433415974, 0.13898949250231343, -0.011601801585144384]], [[-0.10722901680434488, -0.2154994600997347, 0.12794142220893923, -0.16251838435773891, 0.3914351752739938], [0.0028347054604866218, -0.27481585280355098, 0.3450846251496712, -0.20180481141625009, 0.17189130853045939], [-0.18842792309072548, 0.17026185585237091, 0.35233164372143921, 0.46390989213292988, -0.042397666986207699], [0.021962861226070756, 0.10903754196174101, -0.32074562862564543, 0.44821859081888688, -0.037413930102429792]], [[0.15868566762178521, 0.31891251749941463, -0.18933746298122889, 0.24050708559305489, -0.57927559134802531], [-0.0041950130842775086, 0.40669343406135477, -0.51068251635475415, 0.29864613313864241, -0.25437785279994257], [0.2788499947621137, -0.25196646459750877, -0.52140720650487304, -0.68652919837721993, 0.062743297400446554], [-0.0325023151420189, -0.1613620609205865, 0.47466381518819795, -0.66330801535157635, 0.055367983905810748]], [[0.20310828598490904, 0.40818919426814027, -0.24234077440758814, 0.307834870370643, -0.74143855733723252], [-0.00536936908040521, 0.52054358500980491, -0.65364347098121067, 0.38224941878420293, -0.32558863348554118], [0.35691153039745843, -0.32250219895127752, -0.6673704412032575, -0.87871684223766477, 0.080307716399565868], [-0.041601044492379391, -0.20653391139700769, 0.60754165997973908, -0.84899509890970692, 0.070867750554211878]], [[0.14388482313613571, 0.28916708020330062, -0.17167768067768915, 0.21807463769206437, -0.52524570906332091], [-0.0038037380737098109, 0.36876054219349158, -0.4630504105736446, 0.27079097117555417, -0.23065165813906757], [0.25284124760080667, -0.22846518364379867, -0.47277479317584409, -0.62249561517891061, 0.056891138215193357], [-0.029470776635421286, -0.14631158531454871, 0.43039122638509231, -0.6014403058826735, 0.050203731005372093]]]]))
16815          self.failUnless(isinstance(res,Data),"wrong type of result.")
16816          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
16817          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16818       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16819       def test_generalTensorProduct_array_rank3_taggedData_rank3_offset1(self):
16820          arg0=numarray.array([[[-0.42968821070122565, -0.83374541198634078, 0.8180517380411263], [0.4127367793558312, 0.67706145652552485, -0.10954772861839124], [-0.31600498783913777, 0.93953932632353809, -0.65512725277830897], [0.1938593357262639, -0.82489459737761561, -0.83309972270078969], [-0.63947596278675967, -0.84091472907262421, -0.54829662970565041]], [[-0.022576215107380726, 0.034985935016746961, -0.50174860162054236], [0.43216583525662289, 0.22715297905752618, -0.23575606496128443], [0.37569069115540055, -0.058249639476874782, -0.43053065733867468], [0.56335713850872371, 0.13086344165573927, 0.78487741378766596], [0.12286952981818144, 0.086273954040547718, -0.37256737261195561]], [[0.022025573296951872, -0.84334403517116607, 0.90027253814442121], [-0.89645525423054218, 0.13559938837843388, -0.10285619911413035], [0.86981784095304748, -0.57762876314464084, -0.31009363368501885], [0.1653595785969284, -0.84429993630952227, 0.31109981806634668], [-0.30411067189018137, -0.80605311138183655, 0.69552605006501911]], [[-0.092108334609104059, -0.70362190241263756, 0.033367789574625384], [-0.071623885021385059, -0.84965491357802425, 0.15214272840821597], [-0.59701980560933521, 0.19395368649287548, 0.84514896608958079], [-0.58214093158961955, 0.87895849382572, 0.71039035504350689], [0.80553437635252911, 0.38777013343842359, -0.77270431489354463]]])
16821          arg1=Data(numarray.array([[[0.77403238851807066, 0.70296753122563782, -0.75386369060124636, -0.80579617722296915, -0.9618133994511604], [-0.34498860729233605, -0.98058941499024499, 0.89345126752310899, 0.6394562141116833, -0.84059506330536427], [0.69310205109384904, 0.48750817635799715, 0.57501556145761512, 0.620615386904392, -0.91998069662511539], [-0.071426656659054233, 0.047995785009673497, -0.58048370729409049, -0.4585784298071558, 0.94365855674721977]], [[0.93153984797621692, 0.26781040393137534, -0.049679753157566342, -0.87549619804124434, -0.27646634568328032], [-0.22303685233366921, 0.35619062350746544, -0.31646489833116709, 0.034909682620052562, -0.37962010535389323], [0.022545982462432113, 0.30252089211916688, -0.021817360092728499, 0.71065108612848316, -0.6964014602416646], [-0.96644651532705805, 0.12929236310612691, -0.84759224195965155, 0.19330387536996896, 0.71955306457964774]], [[-0.91728052250968162, -0.79166682565260627, -0.3497725720023559, -0.28397144874865909, 0.034883139753032477], [-0.63499436911936424, -0.57864964958269649, 0.44241438550054313, -0.25160360132570414, 0.060722569967385231], [-0.46820611179689076, 0.10247994249724535, 0.57340187810386811, -0.66361132944864387, 0.96953620914722349], [-0.7182160939222344, 0.019061836373879482, 0.25998281659517919, -0.13574557328924874, -0.52438000113221817]]]),self.functionspace)
16822          arg1.setTaggedValue(1,numarray.array([[[0.49853649221077445, -0.1940857985371891, 0.0069489947090366488, -0.37068216541438059, -0.41599851687627654], [0.35046575405175973, 0.6223480987364578, -0.49909147714515734, -0.017436973483088147, -0.21424653086323864], [-0.88756498804568129, 0.51563279706762621, 0.85959818041996572, -0.91310658962114322, -0.17275956054323416], [0.92229669926294178, 0.25038482131697903, -0.18712082639030858, 0.66332130401746192, 0.012252590305697142]], [[-0.48332507911860079, 0.32236748673253057, -0.39241561612975029, 0.44816629632140836, 0.82104880598604191], [0.97596006059032403, 0.53950651148422391, -0.120331294282777, -0.17018973904244694, 0.33568634797261532], [-0.79726752448487925, -0.27722145393612529, -0.25404852632081032, 0.40709336256049933, -0.69364884627254253], [0.41373083939385458, -0.31478102230563954, -0.25978247503936092, 0.47535298871345621, 0.99849895883978257]], [[0.79240723161997395, 0.33940229495872054, -0.71593019979163275, 0.13170920320488699, -0.086900131719012563], [-0.81819207508585046, -0.89432541313797254, -0.49206721218418581, 0.45681575482362624, 0.97354790378483358], [0.36865562581280642, -0.68395164642352047, 0.10515883131149528, 0.77066022872421724, 0.91648287343592116], [0.96893807077186977, 0.77959117164407932, 0.90634099521087874, 0.96048707363846542, 0.79386641447240458]]]))
16823          res=generalTensorProduct(arg0,arg1,1)
16824          ref=Data(numarray.array([[[[-1.8596425920900677, -1.1729669789080108, 0.079214546145164544, 0.84387871870630027, 0.67231863902399669], [-0.18526475758760108, -0.348989938540197, 0.24186353754070372, -0.50969734754369611, 0.72737451371268869], [-0.69963221312156709, -0.37786802676162923, 0.24018511912979831, -1.4020415991545754, 1.7690571627762801], [0.24892361645812855, -0.11282656915070499, 1.1687825434740013, -0.075167376399535704, -1.4343729943558252]], [[1.0506673591832201, 0.55818995956103057, -0.30646672696887878, -0.89423802282972364, -0.58798184024638922], [-0.22383695196570025, -0.10017261988318051, 0.1060285226258852, 0.31512570195054374, -0.61062266024414558], [0.35262464013080713, 0.39481134553772207, 0.15974350398177806, 0.81000236929171876, -0.95742694631767178], [-0.6051451518046147, 0.10526032053175491, -0.84193954073584631, -0.043522961566801299, 0.93410887753206462]], [[1.2315556944291739, 0.5481196729413691, 0.4206941487603415, -0.38189006183613616, 0.021333931907998108], [0.31546834323602224, 1.0236153998643878, -0.86950399527418853, -0.0044399573473734022, -0.13081679572998825], [0.10889371570237338, 0.063037856645849252, -0.57785725044951874, 0.90631695209499297, -0.99874766312463714], [-0.41492039165673889, 0.093820423776667689, -0.78323232554910827, 0.41546028848113314, 0.72138322035363278]], [[0.14581736577283122, 0.57489887623862601, 0.18623247843412738, 0.80255750734910714, 0.012537954145464283], [0.64611626509323683, -0.0018432709698336103, 0.065678752239511806, 0.30477863879923806, 0.099601417173685175], [0.50582862599453848, -0.24041584994992157, -0.34823178839847285, 0.086954259623630903, -0.41160939155842557], [1.3817154136204988, -0.11322855140603998, 0.37005046286333193, -0.13526543276051883, 0.026242418998253692]], [[-0.77537886677030599, -0.240668299748034, 0.71563326791647042, 1.4072055227010347, 0.8284148638530523], [0.75633216852232144, 0.6448090712309511, -0.54779493176448601, -0.30031953785281007, 0.82347449500500236], [-0.20546551706096705, -0.62233344156181392, -0.663756407560262, -0.63060973224668548, 0.64232635113146341], [1.2521702033330409, -0.14986754396111404, 0.94141047599495553, 0.20512664726070212, -0.92101394716642304]]], [[[0.47536029034653576, 0.39071697391086635, 0.19077919511244151, 0.13004405204741004, -0.0054608939964402425], [0.31859292092830149, 0.32493631207878199, -0.25322336763336839, 0.11302660197392823, -0.024771373937518805], [0.2200629331447391, -0.051841281025321997, -0.30144856625320809, 0.343817702815574, -0.49005801129203708], [0.32816442936959106, -0.0061243986977469987, -0.1469946967276991, 0.085226033671169737, 0.26697693047930793]], [[0.76236685173069707, 0.55127273694227485, -0.25461803024024876, -0.48016115619642574, -0.48668695692759706], [-0.05005200133556334, -0.20644731795414131, 0.20993129425927831, 0.34359804226534701, -0.46382401963707237], [0.41503884441923017, 0.25524263212158682, 0.10836323163947412, 0.58608567403373912, -0.78434793399689862], [-0.081075565695984314, 0.045617340432005257, -0.50469085480082476, -0.12226953680003994, 0.69489137619428665]], [[0.63145228903611827, 0.58933533703024521, -0.12973792790500172, -0.12947437035682394, -0.36025853692670162], [0.1567673510674133, -0.14001987645807604, 0.16362233423866718, 0.34652733448389716, -0.31983393400332449], [0.4606557783484857, 0.12140979381231223, -0.029568240430428244, 0.47746927597187017, -0.72247811121227135], [0.33867487811187841, 0.0022936311606565774, -0.28064095560570296, -0.12510089739395661, 0.53837169538553475]], [[-0.16199158217095289, -0.19029304267421793, -0.70572434676861995, -0.79140425053717656, -0.55064479347809936], [-0.72193190293890419, -0.95997875645676323, 0.80915952242408651, 0.16733264029016767, -0.47557384934205232], [0.025930030912579394, 0.39466432858047296, 0.77113420961832668, -0.078227188589741092, 0.15155588781367635], [-0.73042282441894757, 0.058919616554575033, -0.23388383747722111, -0.33959065607806627, 0.21420595561258415]], [[0.51722141589205206, 0.40442758173693655, 0.03340090221080802, -0.06874181962006029, -0.15502572469087128], [0.17494732460796586, 0.12583139272547414, -0.082353906149717271, 0.17532077340677293, -0.1586580960689786], [0.26154457510170842, 0.04781889103299769, -0.14486120942341033, 0.38480532937859357, -0.53433646130492718], [0.17542856111407162, 0.0099499646348296181, -0.24131000921341339, 0.010906145188442372, 0.3733924504717992]]], [[[-1.5943625313977099, -0.92308894632292726, -0.2895977976489022, 0.46494467674378553, 0.24337608479387124], [-0.39116976521208413, -0.84293167047919648, 0.68486108247490241, -0.24186829566500037, 0.3563026254885574], [-0.42526115444024809, -0.15213166487123342, 0.54728255207050402, -1.1830850007850122, 1.4398897391458916], [0.16688346513989116, -0.090819960724055224, 0.93608176524141296, -0.29533013489383392, -1.0581310788649234]], [[-0.47322117992915713, -0.51243616929484392, 0.70504479958069333, 0.63285169180359901, 0.82114606097729459], [0.34433629616108807, 0.98687146757940358, -0.88935659195297778, -0.54263116126323585, 0.69583391433091746], [-0.57011985292731615, -0.40654831560412041, -0.57741207976427811, -0.39173353278110851, 0.6305671078292352], [0.0068542228387506038, -0.027454736331200821, 0.37870383544501102, 0.45126920386386626, -0.69444098212490402]], [[0.41962582113558966, 0.70224955052513227, -0.51856538554637077, -0.10712636670263194, -0.68772458076252763], [0.025662966890502514, -0.87924454463890123, 0.82274919592105267, 0.61406626173236556, -0.53071477352753393], [0.73503705619955717, 0.21752016291766027, 0.33495285696386845, 0.33511147649490319, -0.69860111520908486], [0.71883336334754999, -0.038846351798964583, -0.095940442906484819, -0.46844374008560069, 0.56778340169950159]], [[-0.94387116839894525, -0.35615729768118104, -0.19152815328507233, 0.51759180190310083, 0.085227598060748241], [-0.066283803208797454, -0.64289937389012963, 0.55256705343887025, -0.0020078673132650354, 0.20040356580264737], [-0.050083344661085716, -0.14292273187705432, 0.2918899466230549, -0.70382733176553069, 0.73746662649109473], [0.58072275333993695, -0.095294837324257822, 0.70051414162558201, -0.28126720872339822, -0.61461014826267601]], [[-1.6242546011971206, -0.98027423780099165, 0.026026577641813736, 0.7532381112165345, 0.53960640967673901], [-0.15696085943262461, -0.39136675962790585, 0.29109018071452236, -0.39760137622330227, 0.60386202579218229], [-0.5546025373140091, -0.32082687579885161, 0.24153352562014346, -1.2231172481274362, 1.5154502015184896], [0.30119082631210475, -0.10555453822668216, 1.040560475572416, -0.11076917818481445, -1.2316945751566584]]], [[[-0.75735429770211682, -0.27960260653714586, 0.092721753910120636, 0.68076334479215506, 0.28428277979788835], [0.16752158193410716, -0.17961132592850537, 0.15513971562482037, -0.09185792026026661, 0.34656101002198597], [-0.095327325728379209, -0.25434436270824523, -0.0184794001158478, -0.57933676209425855, 0.60709249034864621], [0.66262664259494408, -0.0947576989766266, 0.6585269052215863, -0.098303474799560461, -0.610709515822914]], [[-0.98648417723510173, -0.39834204208293944, 0.042989939246292679, 0.75837970823005707, 0.30909701744054863], [0.11760400599499843, -0.32044282640105909, 0.27220363668185699, -0.11374118010834805, 0.39199126944146673], [-0.14003312170246257, -0.27636401396085986, 0.064591304953858231, -0.74922271054768808, 0.80510139830442973], [0.71699052898598403, -0.11039141639388576, 0.80129190645569415, -0.15204912068153686, -0.75874089296309122]], [[-1.0566757637115558, -1.0368191229060888, 0.1448260551554415, 0.071272385656916876, 0.55008143133253362], [-0.37395862300471283, 0.16547063337060242, -0.22088157524604224, -0.58763968653101706, 0.47954279961677188], [-0.80512668669925369, -0.14576617696812047, 0.13708276829001259, -0.79353670865189074, 1.233579590917762], [-0.7518023249792366, 0.01253238752641905, 0.40189083876374121, 0.19654717334482114, -0.86700209440328968]], [[-0.2834383100767785, -0.73622442158608936, 0.14671340851995604, -0.50216846059932185, 0.34168915161078944], [-0.44630202188719825, 0.47285087948945453, -0.48398715119961561, -0.52030624581408313, 0.19881120525268581], [-0.71627519691638208, 0.054905606480731367, 0.053422515176998253, -0.20807589913018709, 0.61219961302939807], [-1.3180997789865296, 0.099243654450444446, -0.22238578884818239, 0.34043101147617144, -0.28939948863876513]], [[1.6935196462255453, 1.2818377600704332, -0.35625666675675499, -0.76916183487118239, -0.90893350125543815], [0.12627567633656456, -0.20465331621086597, 0.25513456908390469, 0.72305608331420168, -0.87125415081891266], [0.92884506994948701, 0.43082646775659456, 0.011664575678406675, 1.2882716328182244, -1.7602845761304908], [0.12267295326342753, 0.07406880842365797, -0.99716038208528801, -0.18955202970875162, 1.4443612843859226]]]]),self.functionspace)
16825          ref.setTaggedValue(1,numarray.array([[[[0.83698492696883231, 0.092272603745276738, -0.26147912581840177, -0.10663389437135447, -0.57688482042553579], [-1.633616674645106, -1.4488311782579726, -0.087757049842947021, 0.52308629822782216, 0.60859481076442989], [1.3476737276941848, -0.54993705172028018, -0.071522046100075357, 0.68337885293591683, 1.4022896970598842], [0.051395265265320123, 0.79260574019421526, 1.0384298861452932, 0.10438340229887599, -0.1883349192790893]], [[-0.20828284822168153, 0.10097550219605872, -0.18439285568771707, 0.13601351818601229, 0.39372232443359267], [0.89506613013508352, 0.72011633203619319, -0.23356024483117371, -0.17246892121692509, 0.032202902996595686], [-0.94651521245338766, 0.10005000796031992, 0.17126140815339952, -0.18566952560499989, -0.64134573989864241], [0.55464200916888695, -0.19518551480345409, -0.35240794554377708, 0.49040110831595202, 0.59413599154094499]], [[-1.1307705101216519, 0.14185731863682777, 0.09813956436461313, 0.45192098483945009, 0.95979589288060807], [1.3422238578945289, 0.89611943197303123, 0.36702605390029991, -0.45366223265709649, -0.25470426604442453], [-0.71010557696035048, 0.0246723693142476, -0.57921831008557556, 0.1661459418903416, -1.1975303939958901], [-0.53751169952837863, -0.88560342462126074, -0.77871342339408511, -0.39224127170960321, 0.41417363628626092]], [[-0.16481604517137582, -0.58630049996830724, 0.92148990008982867, -0.55127705558220352, -0.68552744474820249], [-0.055487532092004743, 0.42067423612768623, 0.41244815034411453, -0.24356480250020213, -1.1295020336899166], [0.17847201497904247, 0.89843863812346614, 0.28859659587635528, -1.1548601751623444, -0.22482549559932496], [-0.96971054679713975, -0.34127658912329262, -0.57705439073376152, -1.063706599573027, -1.4826510073749528]], [[-0.34684113983141246, -0.33306349932493218, 0.71808647208989973, -0.2120430172528128, -0.37676393280132137], [-0.59620165821160698, -0.36130001168201481, 0.69014415462606937, -0.096204955062232089, -0.67907112226350275], [1.0358778424617459, 0.27839320709621257, -0.39371745914331857, -0.1809714952175846, 0.19127064725594989], [-1.468964405051804, -0.32285828855024334, -0.15882953280925322, -1.3505411845931869, -1.2827619979261489]]], [[[-0.42575386727636411, -0.15463457620294119, 0.34533106735856378, -0.04203679130594621, 0.081718851743811008], [0.43675941453884581, 0.45355140063884675, 0.2539517293207651, -0.2347672524674673, -0.47189512281169299], [-0.19282773644181314, 0.32183189345339253, -0.081057895218627676, -0.35182065937539897, -0.48021169661510205], [-0.4925105304806216, -0.40782443018470249, -0.45961957970098738, -0.48026766174436797, -0.36366456076114878]], [[-0.081153102786418629, -0.090666665771988231, 0.082649628559878771, -0.089445101775223843, 0.027210568818693558], [0.56604530453762469, 0.60235073741167078, -0.12701606741906624, -0.15389185520771817, -0.24585769983804395], [-0.65158975736332292, 0.32111294809479074, 0.28898925378139567, -0.48382882486796963, -0.44829157747702164], [0.26413228933132604, -0.1470890284328325, -0.35355297788701662, 0.1682019999571949, 0.044948342028875488]], [[-0.12570657537562155, -0.23781711082795323, 0.33369864031462715, -0.22207221394327051, -0.16669939643467147], [0.42707417160879446, 0.58741883555713992, 0.031355252827790142, -0.19331060488451249, -0.5191862549715438], [-0.44572690684914018, 0.5043286435823503, 0.29246716881621526, -0.6985515422133064, -0.4190733374252697], [-0.094758932368598003, -0.22323477194449015, -0.44537490152381998, -0.19200463223126049, -0.39534284951196197]], [[0.8395470470225751, 0.19923569420343748, -0.60935553597634506, -0.046802281249851571, -0.19511641221404946], [-0.31702560307965094, -0.28072989439929513, -0.68312615463615212, 0.32644950975215647, 0.68734751917105108], [-0.31499976991415823, -0.28261093588633085, 0.53355189824348748, 0.14374233024752264, 0.53122810048165592], [1.3342222780228452, 0.7117462511280247, 0.571954694254725, 1.1897577301813793, 0.76065741274137177]], [[-0.27566850159074596, -0.12248553436736001, 0.23373080639175811, -0.055951016711953537, 0.052097738533222818], [0.4320931675371531, 0.45620944768427002, 0.11162359670627273, -0.18702006000002575, -0.36007556658030632], [-0.31518717243737593, 0.29425663626022613, 0.044521903888227382, -0.36419427988118691, -0.42252233085901569], [-0.21197835403685161, -0.28684297271331749, -0.38307699254607447, -0.23533358680891875, -0.20811880095046359]]], [[[1.1319723442282057, 0.02941301748395081, -0.31343787333730888, -0.26754868130537734, -0.77982302108537815], [-1.5519467426373905, -1.2464186343440666, -0.35250669468464479, 0.55440312099068179, 0.58864046042530949], [0.98471221946171139, -0.37059271712912373, 0.32785506001854769, 0.33037278496971095, 1.4062638512778647], [0.54370501426053575, 0.97282808959190259, 1.0309184654722399, 0.47842406000819521, -0.12711213883161188]], [[-0.59395823897943378, 0.18279243787415073, 0.014197078825710731, 0.37952394247828208, 0.49319598937753656], [-0.097681152361107998, -0.39276355732269636, 0.48170849027488061, -0.054432490262258722, 0.13744585472625598], [0.6496347918573353, -0.42948412305500833, -0.81585636784402049, 0.79449362897952969, -0.033453088451236776], [-0.87035736037522038, -0.34732868752520574, 0.039296313398070923, -0.6289723433888097, 0.042757867160706758]], [[0.46709796512782054, -0.46027451380740825, 0.45472030367650718, -0.62214188963934858, -0.80915716045963892], [-0.0051850835444171017, 0.50701961768387716, -0.21202494456086241, -0.058516159502640386, -0.68214855194217816], [-0.4258129701305392, 0.82072674312854721, 0.86183048530201967, -1.2683620685060975, -0.033793327260429384], [0.26278576345574689, 0.15786949805728764, -0.29375377602716635, 0.0045502188189245341, -0.8122771180742967]], [[0.73702686337522527, -0.19868080216133577, 0.10973980763858851, -0.39870791295185459, -0.78903540921635917], [-1.0205895532969289, -0.63081856725637619, -0.13401587242996535, 0.28292311346237387, -0.015977102526319231], [0.64105424586311166, 0.10654564516722642, 0.38935084075819593, -0.2549475640086164, 0.84219788378589922], [0.10463412971662711, 0.54970379728874375, 0.47035462484762802, 0.0071533870753847095, -0.59403482707253374]], [[0.78911528807602482, 0.035241384504029222, -0.18375353909705511, -0.15691025332216468, -0.59574066155348215], [-1.4623299215413792, -1.2461602227215607, -0.093473105854459726, 0.46021199596204732, 0.47170155928777213], [1.1689675448313332, -0.40906040795025678, 0.016504331451304408, 0.48556085178901237, 1.2490935496897846], [0.059952369858593313, 0.71981149447077331, 0.89668768493717477, 0.083160937465312945, -0.25641456441732091]]], [[[0.32059962337587616, -0.19762280025685777, 0.25158315377101864, -0.27680186011169794, -0.5422906575613996], [-0.74628895244763904, -0.46677370709312027, 0.11421902378772621, 0.13659825052563562, -0.18397723402654134], [0.65502824856372543, 0.12474305398332208, 0.10308686831859187, -0.17661985058817167, 0.53456012389961338], [-0.34372997162930541, 0.22443752702483924, 0.23026662260120245, -0.36351686429756674, -0.67720473519511348]], [[0.4955114061606013, -0.20836234897835196, 0.22399656846519772, -0.33419840144236812, -0.68103394549036123], [-0.97881295447415262, -0.63903445549670335, 0.063122497796836097, 0.21535264712057556, -0.12175415176529195], [0.79706139502175499, 0.094552676729480103, 0.1702849689486913, -0.16323828452343242, 0.74117206633782973], [-0.2701700315875355, 0.368130836546881, 0.37202096881274033, -0.30526452737138987, -0.72847612241055271]], [[0.27832331198717825, 0.46524292684421631, -0.68532681100231285, 0.41954199658502928, 0.334161239915441], [-0.71143813105690235, -1.022753062400898, -0.14124129708417288, 0.36347865411136449, 1.0158100312254947], [0.68682982213259414, -0.93965214206704317, -0.47359590924637085, 1.2754226725642397, 0.74316968130976324], [0.34851223412581567, 0.44833303562319271, 0.82732222570394864, 0.50793516579330134, 0.85728289434835103]], [[-0.15212272696772799, 0.63744104498386889, -0.85755224197697399, 0.70327378152331854, 0.90210457059595606], [0.072572165622558749, -0.52341061899164343, -0.16478443729796033, 0.18507856555283039, 1.1113750829000062], [0.077812247399798473, -1.0297097613863779, -0.64900157608467057, 1.4368444830266041, 0.14194246020342671], [0.51506983584271238, 0.13137534282496915, 0.5244485805901008, 0.71398981838789577, 1.4344614506475879]], [[-0.39812723510757514, -0.29359591713642952, 0.40663295283085843, -0.22658399204252838, 0.050425205945255749], [1.2929809223792248, 1.401576405189654, -0.068473765753479743, -0.43302408424208272, -0.79467847168792005], [-1.3089824362486766, 0.83635413179797369, 0.51266677052355558, -1.1731725837439195, -1.1163103413696143], [0.15467153110206533, -0.52276256031792312, -0.95180174096421943, -0.023516701383092919, -0.21636604671386178]]]]))
16826          self.failUnless(isinstance(res,Data),"wrong type of result.")
16827          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
16828          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16829       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16830       def test_generalTensorProduct_array_rank4_taggedData_rank4_offset2(self):
16831          arg0=numarray.array([[[[0.69079744014592626, 0.3566915419398673, -0.87284341892512707], [-0.82266517844895848, 0.4522542675018415, 0.096784466025259919]], [[-0.5076306659088905, -0.095699566381052481, 0.79389811289557977], [0.52110375542735543, -0.86904451842104646, 0.54119699476144434]], [[-0.36728391510877234, 0.65596888208732973, 0.96020034816796751], [-0.56696571703700993, -0.37518784509413838, 0.98458655365938075]], [[-0.087191266011665602, 0.92588903696292735, -0.089924194546759928], [-0.14135322359620006, -0.85690345236800303, -0.39809990654327287]], [[-0.54541146022392217, -0.44915501106538147, 0.29841991629153464], [0.89676382950072586, 0.78991739329160771, 0.61497395664161369]]], [[[-0.5224030514706679, 0.42228857186801561, -0.25273782914847631], [-0.27152963135360575, -0.21754031172712485, -0.36349385210428897]], [[-0.46058716047680726, -0.77674388918985171, 0.79919989860937313], [-0.69629334087003736, -0.6911303475196271, 0.47538728799862695]], [[-0.49948429762299718, -0.14874034016946269, -0.61373944557310578], [-0.85592623206203089, 0.41753617449607261, 0.72460840065374565]], [[0.97895485083493017, -0.55102889424699586, -0.66686223729991356], [0.63977770419395008, -0.080069788166967637, -0.69382801188463072]], [[0.82106162988944176, 0.46461366926673242, 0.56354185127934797], [-0.5418147089553389, -0.97839638723236866, -0.3860093272049514]]], [[[-0.087625109154173098, -0.3321346162392409, 0.90467938600602094], [-0.45005907171369564, 0.8893167115455618, -0.49608708139283797]], [[-0.75570596151623382, -0.2830899957777635, 0.81801509682235563], [-0.28799530220433667, -0.034182925800529507, 0.22457434383830854]], [[0.47387919038353576, -0.60708122430973499, 0.28874590541356193], [-0.89623930481337899, -0.74274953532093124, -0.98655593240747352]], [[0.24583976827970155, 0.91040980395649007, 0.1444370141600908], [-0.34055882788069702, -0.61574685627833392, 0.26490482514144009]], [[-0.61471539328545965, -0.69751490639700986, 0.5172956246422149], [-0.88303860098763498, -0.0060546728220165491, -0.54578401763454365]]], [[[0.38356471800371739, -0.29957239541481306, -0.3323322590095743], [-0.77170064621748158, -0.32358037600638978, -0.90164962915282465]], [[0.35805061062780807, 0.49075216568092772, -0.07312351896115965], [-0.37712492321527002, -0.0070333690181851871, 0.83057683707673968]], [[0.857725389389844, 0.93752836826431341, 0.14298284891321367], [-0.29256910971361272, 0.38614812186350567, 0.60427646276043601]], [[0.1889368283091486, 0.12166067055497898, -0.88614960998223702], [-0.66068851760713598, 0.54891822191137618, 0.59071202554706215]], [[-0.41250689103182836, 0.45145305258558621, -0.1031842485266028], [0.6759124358059212, 0.97585570452437209, 0.045263343498228581]]]])
16832          arg1=Data(numarray.array([[[[-0.21753877321921866, 0.63824271192960258, -0.080955748034408304, -0.62553507864495184, 0.6539449769219905], [0.30734183227923895, 0.30497292281566879, -0.33280855158561162, 0.23389286795940634, -0.65303153710420347], [0.87022311976255384, 0.22800230044733794, -0.83879236861499096, 0.76256843627832382, 0.24775200803958697], [0.14887968439780219, 0.48897438283198613, 0.63461940155293206, 0.9554122286565716, 0.71762652406248284]], [[-0.52829365851207277, -0.24991629964834527, -0.2060106581668355, 0.023433714453521493, -0.66517231356470807], [0.12257237472906368, -0.6849248945756865, 0.43887920799977187, -0.15299674676778774, 0.68122004655971158], [0.02807056245299, 0.22219509846757091, -0.19416266662234793, 0.21634347210883043, 0.23476279186248816], [0.23716968039483954, -0.75091942849231086, -0.96991537824118512, 0.93446835286330576, -0.1720444756589834]], [[0.67952158084580727, 0.24853221705642503, 0.75905525192373635, 0.022827843118645275, -0.87324431931910085], [-0.42179692548829761, -0.85341875393915134, 0.27981350834166152, -0.15436613689488432, -0.052444876987625788], [0.48932535247830389, 0.25258392481260783, 0.21150502497094537, 0.44674362340375429, 0.51014876606492976], [0.051036586192672928, -0.39156491539108651, -0.086581243470585489, -0.91030814052316833, -0.6178547506116836]]], [[[0.17514937660246255, -0.34398510632595936, 0.13318660224414169, -0.30730004426004043, 0.066427711079595886], [0.5272830871618297, -0.61268747244639044, 0.62627341218291543, -0.082686582431648281, 0.87721472485761764], [-0.40405750376567462, -0.43591876591064604, 0.79086580502160508, 0.81038985983551792, 0.46060363858354569], [-0.21081267109498292, 0.48748222535218044, -0.97658402554891577, -0.03283186813873451, -0.44848378765053232]], [[0.80961539786241499, 0.2728319683096998, 0.8108019846216703, -0.90150422123961116, -0.19534770140315683], [-0.57470165704514997, 0.70854278123111292, -0.94450804802256627, -0.21181929812474776, -0.56823427146417971], [0.79892890869754596, 0.18904003645212297, -0.4585664704635124, 0.96761582115315092, 0.5583066341524916], [0.12368083697219756, -0.856184770515382, -0.19570713299020315, -0.2843913377572389, -0.31306125047319733]], [[0.61135590532021178, 0.89915834638147651, 0.79271873470706677, 0.42171687555508219, 0.84240685921972336], [0.46738261759305821, -0.69122689219396038, -0.075519537264111758, -0.87657308278125412, 0.6994531335810692], [-0.89680304878880657, -0.39885437074149643, 0.69012603936788097, 0.28150270468803718, -0.51265812541046629], [-0.55715252339839028, 0.559640736575582, 0.80406736601630935, -0.62945344058074415, -0.66848147994929419]]]]),self.functionspace)
16833          arg1.setTaggedValue(1,numarray.array([[[[0.69625845341408232, 0.32323604103306702, -0.92628333399331653, -0.15877517454042378, -0.93623730416005269], [-0.80497714559859168, -0.78769680322806401, -0.7012831553271921, -0.0045967348927868912, 0.35125105929897216], [0.30605575383774397, 0.49362908144276862, -0.98516859591775341, -0.41797026075460764, -0.14508816580149775], [0.15411569983660289, -0.94150214911997088, 0.61038885276948252, 0.092038357819816508, 0.78253730971853575]], [[-0.82071408524668543, -0.097565178092365423, -0.80932739490215821, -0.84661495842900059, -0.57655214463390903], [0.25178025972569884, -0.29326845562940607, -0.72128053784396107, 0.41190067132482588, 0.91941907304369441], [-0.076081169386111647, -0.81025509238089377, 0.7928484572947172, 0.68855087875995569, 0.98064177826800969], [-0.41355809878711036, -0.45372924375725665, 0.45206998685278088, 0.5680028563259194, -0.4333141166676806]], [[-0.43950016121661517, 0.28622705287677541, 0.062585252679246528, 0.13342518208055143, -0.15090811677465776], [0.058938775412302968, -0.93842378130725024, -0.058452716729163079, 0.38824701438887677, -0.21660885254575923], [-0.036224211793492556, -0.88890143857454573, -0.70765257282460903, -0.73663131997041442, 0.3508463422507162], [-0.002706809358857587, -0.12405575875958363, 0.45748308337858767, 0.37164796408621958, -0.73409411753887466]]], [[[-0.78318500180645745, -0.61447471560798683, 0.48128973816662457, -0.12027201673192667, -0.36414344139682542], [-0.65875389508748605, 0.93343609877458888, 0.14849504694511606, 0.98517096077227295, -0.72711467278624276], [0.42806894651730887, 0.83037007107459648, -0.23507194561828215, -0.41592854077681984, 0.14720643612891471], [-0.34961038737412542, 0.99308726643053236, 0.43857603578198656, 0.36766600576912611, 0.41914109616228767]], [[0.011256521932447638, 0.61885749256573797, -0.62401938336487106, -0.9598719193551668, 0.59938460046867781], [0.26546804133755586, -0.61106721903584638, 0.1367413866428433, -0.2334805835046565, -0.51560748116746646], [-0.37689536238314236, 0.58480388090117064, -0.037792704440944958, 0.14745618388985116, 0.48940235742429139], [-0.34353004888437089, -0.32838784225202056, -0.92334943693126403, -0.69529854123459089, 0.64967008094341439]], [[-0.40045341631111664, 0.13396325611790583, -0.6353862943650519, 0.83614067132619563, 0.68064056681912377], [0.91565402513512173, -0.68409755407926776, -0.30239605853942031, -0.019087163356744652, -0.63377630695569809], [0.39700490215997464, 0.26503974267776509, 0.31073900169113267, 0.54283993131963815, -0.82343577033017512], [0.13385251309770041, -0.94521960740420918, -0.4156731201840973, -0.68314085122263801, -0.10649689685252217]]]]))
16834          res=generalTensorProduct(arg0,arg1,2)
16835          ref=Data(numarray.array([[[[-0.65059656677451205, 0.62822224255182246, -0.45809912687826232, -0.55777299880551279, 0.91522503675441513], [-0.024259183994010163, 1.4688466603084065, -1.2672724152375159, 0.12912594845816122, -1.0732951039536072], [0.79098246468957867, 0.42179874654856897, -1.6245154927206507, 0.01218493345943554, -0.36643899754913067], [0.3183348960332687, -0.32237283567343444, 0.9607182310507788, 1.625340872552038, 1.1363282950195326]], [[0.41900088011270559, -0.03249869559634605, 0.45722129828225633, 1.1849651741687919, -0.30128319995535235], [0.52454654445728632, -2.0759130103850807, 1.4553887151357587, -0.5600470615534836, 1.5541531822073023], [-1.4461715947347209, -0.54378093313458753, 1.7964234088711917, -0.31939378820658404, -0.26584714252120684], [-0.57662377872733206, 0.81374900940719708, -0.20173302407756383, -1.4077350639360784, -1.1617609594605325]], [[0.5847024057492205, 0.81825086527871105, 1.0242272003058863, 1.194718844278607, -0.64995299517166549], [-0.060639319139596248, -1.9797906018618292, 0.60374022346612333, -1.0711981986879238, 1.0408656094750397], [-0.78499705156477995, 0.088061486802727129, 0.78694106271061814, -0.25453833745847543, -0.42252585065427833], [-0.32554470777129452, -0.45229381812422864, 0.4663353716885521, -1.1064402534934483, -1.2561390167015882]], [[-1.4931801437893317, -0.85251511709107808, -1.2811284374560357, 0.72223992196967468, -0.77172599448280677], [0.35648633682998843, -0.82938247712856483, 1.1611002040315803, 0.39399018988349538, 0.77686143537265928], [-0.36436071715450291, 0.22154814114672886, -0.119240485952606, -0.96212307603651037, -0.18954577243762574], [0.34764125684193814, -0.26072362554896794, -0.95993526119962702, 1.3626912932656146, 0.43147554189828419]], [[1.7312815276217748, 0.29831351414818114, 1.6106070113586064, -0.3908836200137657, 0.10482259722836107], [-0.042244653827850254, -0.52820766579378597, -0.16301181414197408, -0.88545422594948242, 0.80248865338074937], [-0.6239800982072452, -0.63565425537905473, 1.3792131750576477, 1.2844135890947159, 0.45046429134745941], [-0.60648212837215454, 0.058741885976065222, -0.47220111890514754, -1.8536535700856487, -1.5590825214367934]]], [[[-0.72709660956189626, -0.79455856386960044, -0.73724100540062276, 0.45717084963401666, -0.68356645053793863], [-0.19023427139087137, 0.030619373912106396, 0.35134209217623635, 0.2393790566011314, 0.27324906843720276], [-0.30452762684676721, 0.13310598547557517, -0.063103683191163801, -0.9527825255266188, -0.21939631118209202], [0.24233780416863535, -0.62312027024145022, -0.70375678934789498, 0.42515820697348689, 0.14148155424191236]], [[0.66274372527689684, 0.57718201643928779, 0.52768318612809006, 1.325662183011276, 0.0068001624099237601], [-0.32162729631870951, -0.68219325694349298, 0.21682467133420352, -0.32500100345170346, -0.1558332010199987], [-0.72869869582014224, -0.092472839824858738, 0.80051821137612345, -1.2614301564378734, -0.83904017607882719], [-0.41555908441031952, 0.56346885683760828, 1.5893740710562292, -1.9732334306090589, -0.47982971407466579]], [[0.40130897639788998, 0.62572718121641813, 0.40416797768188434, 0.48714419884920829, 0.78024032766733475], [-0.26547525110129094, 0.79271223777057986, -1.0559111947305093, -0.65216926349043314, -0.22421825471885315], [-0.70956216521061832, -0.13892152863949345, -0.050285291343271421, -0.77289425142042367, -1.004371261048485], [-0.31259900977621746, -0.26144073986764221, 1.2172244873739388, -0.60426379809270547, -0.18488404886167836]], [[-0.75194776818852027, -0.26899569655350192, -1.0016408688269678, -1.057525726038826, 1.062700373483993], [0.5736903494289014, 1.2759567945311259, -0.22553683729598564, 0.98846738702492365, -0.85826616856729476], [0.80987887988143803, -0.084961810457874598, -0.79132848139002565, 0.57507022163912846, 0.3786550134078781], [0.2228164529237151, 1.1457223744341842, 0.046441982577314578, 1.4659349820255105, 1.4112974415140633]], [[-1.1641387157003311, 0.12033524785116773, -0.90587064242995596, 0.39589072757764165, -0.4342696716170239], [0.16777740908177982, -0.64321367306335531, 0.70226993101042523, 0.62437372948045333, -0.43855479192446811], [0.78673357749008321, 0.6379730508839293, -0.9059569610669862, -0.51606509316375937, 0.0020676475902739466], [0.46947151671965237, 0.18946395745469799, 0.43186278166718867, 1.2446335027767679, 0.96842757405087998]]], [[[1.1471668074536943, 0.20330854723695541, 1.0300790590460269, -0.804946579902864, -1.2479109130596882], [-1.4294951769703101, 0.67746684986448935, -0.94782563373379669, 0.17436475288871151, -1.463608940189365], [1.6943489400547858, 0.69690221916889961, -0.77677811650692474, 0.62162820526260221, 0.90537457302212065], [0.43561964758208338, -1.4061265667432497, 0.054793054623489434, -1.1434983672128001, -0.30964201130942232]], [[0.92898653966009381, 0.083395882878392932, 0.85236854300820375, 0.69878406987365405, -0.84348387163299454], [-0.63924324403074495, -0.73768467228403034, 0.19111726484687136, -0.42551809094006854, 0.18162196309150208], [-0.37764579020986255, 0.00092171312615552115, 0.8047543149619778, -0.4753252848226166, -0.10324337541074877], [-0.20653780718649764, -0.46269382959522543, 0.1926772661195145, -1.8533775022878165, -1.0092863024056382]], [[-0.94761487389785914, -0.25549075311806435, -1.1977751813556066, 0.22489615562170001, -0.28396337853314835], [-0.55737215666624995, 1.0186829585012822, -0.12860505536333822, 1.2553698507020248, -1.7923454119481594], [1.1901047165419705, 0.68985792529585099, -1.2675954539260288, -1.363694964132397, -0.19953935776892262], [0.58804317446645071, 0.22143432564411758, 1.0919073042099749, 0.48425180404674978, 1.5600794838882659]], [[-0.83251101271282968, 0.15261956475532742, -0.43243221952269084, 0.64231703830541254, -0.25012268477458743], [0.4243365870643091, -1.0825893245841169, 0.70644721647878195, -0.17770748037403386, 0.68850706367094239], [-0.2817322106286243, 0.22121982514535452, -0.15658471370597316, -0.3482632152285482, -0.28812179305056712], [0.10793935930423371, -0.1105632909154137, -0.073419631070122254, 0.97369428215111131, 0.098966689958354281]], [[0.36049677588808055, -0.2780986828837223, 0.030944942582675328, 0.42663920373415171, -0.90699557201696845], [-1.2098391697418758, 0.7628012702481719, -0.46288350049321919, 0.4358045574668814, -1.2537864364506417], [0.54002857149913508, 0.43699650459896849, -0.31178776752965209, -1.263670633625769, -0.18246034051803323], [0.25894480337407755, -0.71008207592861783, 0.66633123768488223, -1.3357512966089846, 0.12202444390686076]]], [[[-1.0993723107319824, -0.39647519438876222, -1.3014895601435186, -0.10592785551966077, -0.007302715798295889], [-0.42101497623894168, 1.4725652767195745, -0.46169993400718762, 1.1095591530943878, -1.5608648234137841], [1.024654976567402, 0.57180437659662964, -1.4180357552664979, -1.1130801815653788, -0.21870560216370233], [0.59411434979163191, -0.061107914841919797, 0.65472169413552839, 1.073952551022469, 1.5822608404165792]], [[0.049190378292509718, 0.96232920142334111, 0.41689193988843298, 0.25835706311641843, 0.64757137410552024], [0.39442753584453061, -0.51256842433233385, -0.2165073489391599, -0.67543852970958784, 0.35845346342981771], [-0.30852442945678438, 0.003996304342906154, -0.13290909643943449, 0.26792746919197474, -0.43681961939960912], [-0.21815913980280463, 0.12219964460326577, 0.79507930283844264, 0.35881573158399105, -0.16619381428799618]], [[0.046097263022764123, 1.0980023959170888, 0.5990978965934497, -0.51467763646289477, 0.22660712844187336], [0.22446185120940387, -0.46741399337509909, -0.42757104648859051, -0.55218921528201681, 0.017637208954356831], [0.72749721344097595, 0.39950825116971034, -0.86267549184309444, 1.227432578199207, 0.27658591179565678], [0.13011078757601574, -0.47564824777383374, 0.31865171937390319, 1.084837975521818, -0.027735854751685829]], [[-0.017702682630575894, 0.77811893885412164, 0.11234218185859157, -0.17827379031675783, 1.1629560163837893], [0.059010049124651964, 1.11596047470589, -1.2342817141566669, -0.41707487635438578, -0.47233447725585842], [-0.090032746912934447, 0.002449260393818431, -0.73609152268447176, -0.06347022028987423, -0.67738142275006674], [-0.1101874925890135, -0.11344981273534943, 1.091389259905841, 0.59462814028929867, 0.3917497941861674]], [[0.71724599313171677, -0.32730986859510114, 0.77919744073714281, -0.80209636398233819, -0.58754752366615548], [-0.21119554685517783, -0.10093030106557022, -0.19526901337357228, -0.45189570261743628, 0.65239563737446149], [0.069148375727866071, -0.14802514641810391, 0.35482705513186807, 1.2417550375695097, 0.78409547165332216], [-0.0066239331137739124, -0.9809931223401156, -1.505394746274562, -0.20652362077519423, -0.94883909525855759]]]]),self.functionspace)
16836          ref.setTaggedValue(1,numarray.array([[[[1.182478777359629, 0.73701201224005319, -1.7228327790021096, -0.78235831446060322, -0.084164643522646992], [0.23290144640090404, -0.94012144003427556, -0.78028627631134306, -1.1130385539713825, 1.0633044877691626], [-0.26828295830776017, 0.4348735763696247, 0.42628858623880478, 1.0612273768166958, -0.036136922151299017], [0.10651688083046412, -1.7609230967567664, -0.63502715790023723, -0.74124397819572097, 0.96546054592926012]], [[-1.2584457586446638, -0.71303174627656229, 1.0465817818909475, 1.491559881091244, 0.06834510025483187], [0.35289373723028261, 0.33014198093922037, 0.17350470434825283, 0.97709469321913944, -0.7120733391436509], [0.58862435967405402, -0.81081030534790499, -0.059059822498073511, -0.48963428699422296, -0.5359031153187479], [0.14799474247881411, 0.71420456933385246, 0.81609429765744057, 0.62009524402158189, -1.3423799210508744]], [[-1.1705609526823157, 0.34021290570639801, -0.79493333122660237, 0.88265265532696646, 0.47248719118245991], [1.6928393388444762, -1.7776559837927088, -0.70492428422205577, 0.15492520050907144, 0.24780466337964979], [0.092493094121191721, -1.9955757234098055, 0.65583878864387768, 0.61283440670732803, -0.044380785174831017], [0.12841024665262341, -1.4414418750467095, 0.20013899631604204, 0.07544673922042866, -1.8627737332482184]], [[-0.5205956922545284, -0.64103052538537564, 0.045428258266913601, -0.27537497640165204, -1.1717261334506315], [-0.20087773958824043, 0.54555381661338054, -0.61920424017387821, 0.41527413589405021, 1.6370445143244405], [0.01053572101627942, -1.4373209534516425, 0.82553058799270174, 0.4565386454016469, 0.77669734706713633], [-0.10559907795941864, 0.19045587266511943, 1.2189138842394629, 1.3002537871862327, -0.9769734623390629]], [[-1.0819837778942947, -0.02686738742536951, 0.43532912723795775, 0.15480550069965887, 1.2900517291195559], [0.52559843582011978, 0.21497444001558502, 0.7442248689602331, 0.62065770405605258, -2.1182718117824963], [0.18674411767502008, 1.1990184252243214, -0.07952797607434281, -0.22380481039942657, -0.2444225961951873], [-0.40167504323751552, 0.73016014618312508, -0.99113931032605995, -0.83404561818145928, 0.37231553829385827]]], [[[-0.24345586057497662, -0.29887373673828832, 0.36232982725410456, -0.37075651751356925, 0.0048387927038891776], [0.30023697840713365, 0.65296793431751787, 0.11638868372806327, -0.13155601535664269, 0.79948317568371796], [-0.36140974925065106, -0.82440459920148745, 0.98741521722292935, 0.57883098900998553, 0.55411436308950979], [-0.13346060975085786, 0.47695899486264182, -0.010714332804649701, 0.39759124232336696, -0.62267781630724672]], [[0.31272477615047717, 0.21948530494228241, 0.89939777280060396, 1.9819980579117733, 0.9213121242818636], [0.93280043742373175, -0.71222019737021358, 0.49487938549946298, -0.54121341540940215, -0.48770076500924214], [0.040333196051934556, -1.1647688007428216, -0.39011996592198256, -0.48527559576884227, -1.2466759815660753], [0.79256894160987434, -0.2269367636499702, -0.1314879076562207, -0.28678136399240822, -1.4020196234691917]], [[0.42891839610820465, 0.5588030369095226, -0.58827285059247869, 0.43138048563029341, 1.7011532077161715], [1.6666283597628089, -0.53678722083984431, 0.2043131199078517, -1.25180373338538, -0.23142558648711137], [-0.35541127760593633, 0.14500279227531201, 1.2190505071116882, 1.3693728021858373, -0.80704310935234413], [0.23899081044150852, -1.0581460191310454, -1.7150168651895203, -1.4585685396445289, -0.040532937660146456]], [[1.2028090140435952, -0.35630576115198609, 0.29616982778527035, -0.35812907148227113, -1.2514131795360353], [-2.044096959536589, 1.1370448416054115, 0.043767602402647265, 0.17185192496668991, -0.0024947019914756119], [0.39428802409887242, 1.8230244905791311, -1.2923783662552073, -0.95189997617969779, -0.2900470390787242], [0.091522666969651015, 0.72852680570546602, 0.68629052850527494, 0.29415659681325312, 1.7844056521795186]], [[0.51058595075715485, 0.057099956463172299, -0.50625737853158759, 0.23301985608767101, -1.773496636068286], [-0.76700224708606513, -0.95566064150222463, -1.0413704201953291, 0.10841818597017236, 1.7365787700653965], [0.179099839507602, -1.5964733910933875, -0.79491421280776686, -0.56684744404384046, 0.29347562312043252], [0.4067326321013563, -0.90566293489264915, 1.795244132938479, 1.2936797082707621, -0.79412793634731249]]], [[[0.37512099325970916, 1.0234776836213584, -0.049761836477284827, -0.79848937377174989, 0.49627916761878038], [0.11855116461975379, -1.3067077408513241, 0.45292091521495415, -0.4267190290612668, -0.3489964336875373], [-0.75910493670567469, -0.56343385715144478, -0.89917263386226309, -0.80945027809656878, 0.78188969031227451], [-0.093160428763678998, -0.14910976375885598, -0.60208310986144964, -0.3054107123260757, -0.14681517280129669]], [[-0.51811122678762245, 0.20338255505089431, 0.72033617243525261, 0.72402413320856762, 0.98452842839315624], [0.9715383178381678, -0.49092418967017382, 0.57098546784970727, -0.075569306573225636, -0.61820948857247426], [-0.26062363593528332, -1.0704099862104905, 0.079955315369506397, -0.24498188471112439, -0.12501479474645297], [0.14088264802684802, 0.25141422977535932, -0.40311748769643196, -0.1618708689758114, -1.2360360507992569]], [[1.7899087305406631, 0.25394974259168029, 0.72943574958998747, 0.47308716043157029, -0.92754645241120925], [-1.0274136981939679, -0.17401310162404715, 0.15235332195146045, -0.8308315130153503, 1.2056353331850758], [-0.31461959171846188, -0.97090508424842037, -1.2203162663945015, -1.1010664571063502, -0.24584815251658765], [0.75975236372892163, 0.07984972331665019, 0.8497368078612344, 0.66697562338416683, -0.33120938939889194]], [[-0.48579086760144263, -0.10432549402804236, -0.9034836388357228, 0.062967236615095096, -0.84161175419612144], [0.34328527458672575, -0.71903273331247353, -1.0523824504271877, 0.23314557466524788, 1.2893318856957841], [0.19220150614902159, -1.3173714931085969, 0.5630549906793173, 0.61236630184699448, 0.33818012300914524], [0.027038084786639625, -1.0488505541692572, 0.93677904995852534, 0.71537045910865715, -0.87913104378885931]], [[0.8271835170859001, 0.48316190751679539, 1.0918581240562772, 0.41281268916345992, 0.84604998357794303], [0.43004859216653424, -0.24386482973726364, 0.93704429574032733, -0.94175556237127089, 0.021818383696371457], [-0.74620641568461432, -1.0795452925483682, -0.27528085260192425, -0.5342831081602859, -0.096867105081235638], [0.43007029192979357, 0.47200491905844189, -0.60870822563804827, -0.20812210055268249, -0.8744653523788174]]], [[[1.6207941999340507, 0.21123976674687642, 0.26976808359389165, -0.20211579273162472, -0.66287553516371867], [-0.80691305804294489, 0.19180335251369629, 0.080328727216194551, -0.92168162175005952, 1.2306805463184392], [-0.41412198117311694, -0.34152178435412217, -0.46675920389488956, -0.33797615718587926, 0.0044687907812067662], [0.44416957076629976, 0.0081761653477622209, 0.28177941519247218, 0.29884464735877392, 0.2362767505505933]], [[-0.15866157148707402, 0.38557246447411408, -1.4382664747031015, 0.2645035912599259, 0.091306543956205799], [0.8381157400103596, -1.2732563404948136, -0.90891667731373582, -0.21363842875784866, 0.34425136144784541], [0.24585374426061496, -0.25302116572646771, 0.43510784312021855, 0.84880858058134989, -0.33923599003462757], [0.097862380304470559, -1.7079884328622836, -0.09720050829596788, -0.41663987533791946, -0.12987411334006066]], [[-0.24358731961718197, 0.72640101788909162, -2.310038913088786, -0.74103826107225002, -0.61586233577934046], [0.40257823602763726, -2.007194627196943, -1.4594605238012293, 0.047815888969561626, 0.76294139113235793], [0.15512762611726341, -0.32029903259589432, 0.039085094788766372, 0.68835979733231989, 0.49342958285634053], [-0.20540488845195282, -2.2391991476403361, 0.27674175417271923, -0.12426016689761904, 0.22388254976254712]], [[0.70823073354903121, 0.62037360589345369, -1.3647807850079199, -0.20474339168821998, 0.85835482902261817], [0.94815257716201584, -0.7091614003959994, -0.37012995875230803, -1.0851292263521159, 0.1931599397351883], [-0.17452021148267063, 0.71134389664998254, 0.85553139277599555, 1.3339678158037578, -0.53403845293388796], [0.10268496806957612, -1.5178854849613734, -1.277222977145001, -1.2709569178765574, 0.76243508579895103]], [[-1.148881396848932, -0.012269177672930495, -0.30213574074980065, -1.31062174835718, 0.5110813234522017], [0.29488814861468371, 0.2930070655993906, 0.18981328762241739, 0.58497101946947794, -0.73077949970658984], [-0.21734801138930501, 0.66624133989557721, 0.65563809847377363, 0.44660819345114128, 1.0061750633080804], [-0.81547970834212957, 0.50433635682632971, -0.71833785449056931, -0.28081031066030587, 0.46979046459671908]]]]))
16837          self.failUnless(isinstance(res,Data),"wrong type of result.")
16838          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
16839          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16840       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16841       def test_generalTensorProduct_array_rank3_taggedData_rank0_offset0(self):
16842          arg0=numarray.array([[[-0.65590950908765722, -0.46988154727868836], [-0.56002222895730047, 0.18275989657489777]], [[0.28710912532944843, 0.31189706769489933], [-0.78555221112349671, -0.16965858921661914]], [[-0.89400426039850012, 0.18690490149727879], [-0.89830085160412732, -0.27093063385147098]], [[0.28913151430735495, -0.22822318441708522], [-0.47244075715807643, -0.33915573165506507]], [[-0.34901448804707647, 0.43942461967929081], [-0.73123884683499285, 0.026663240237298158]], [[-0.83509468944898413, 0.91738526705431234], [-0.66522592342333553, -0.079832586935975058]]])
16843          arg1=Data(-0.322663700561,self.functionspace)
16844          arg1.setTaggedValue(1,-0.843936317446)
16845          res=generalTensorProduct(arg0,arg1,0)
16846          ref=Data(numarray.array([[[0.21163818943517851, 0.1516137188701312], [0.18069884479161669, -0.058969984542948134]], [[-0.092639692843546922, -0.10063786205646877], [0.25346918342475128, 0.054742668228542762]], [[0.2884627229772157, -0.060307427170045926], [0.28984907699541995, 0.087419480913772898]], [[-0.093292244355131421, 0.073639337237764821], [0.15243948300032609, 0.10943324344219656]], [[0.11261430626256945, -0.14178637390320015], [0.23594423231352099, -0.0086032597639056994]], [[0.26945474281620152, -0.29600692510761456], [0.21464425816068528, 0.025759077926095865]]]),self.functionspace)
16847          ref.setTaggedValue(1,numarray.array([[[0.55354585567745385, 0.39655010264634999], [0.47262309759429788, -0.15423771409228754]], [[-0.24230181793576552, -0.26322126273273549], [0.66295604021736931, 0.14318104500660964]], [[0.75448266330202129, -0.15773583428227858], [0.75810871266167057, 0.22864820141600473]], [[-0.24400858544222395, 0.19260583381282476], [0.39870991280753298, 0.28622583921378419]], [[0.29454600177785856, -0.37084639532738556], [0.61711901957160953, -0.022502076777051658]], [[0.70476673693254477, -0.77421474395731515], [0.56140831608371011, 0.067373619430959111]]]))
16848          self.failUnless(isinstance(res,Data),"wrong type of result.")
16849          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
16850          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16851       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16852       def test_generalTensorProduct_array_rank4_taggedData_rank1_offset1(self):
16853          arg0=numarray.array([[[[0.68965020543072919, -0.094139047419195876, -0.46166224871606376], [0.15793774243892189, -0.82152500574941345, 0.33184214763585174]], [[-0.76600140804105554, 0.84953547557526665, 0.36112585321477431], [0.62880894911077245, 0.73264056989712412, -0.092343222566488858]]], [[[0.43177254075985649, -0.89710320727681503, 0.87685335462556946], [0.9377044313675158, -0.9141659776883122, -0.13428782570132602]], [[-0.030314881784600622, -0.94799535670875668, 0.59929003441477247], [0.11006622394486132, -0.89565878319483949, -0.73000744027758557]]], [[[-0.28707232956824313, 0.43039543826290338, -0.71379819559912905], [-0.33793069144070009, -0.32045614125497779, 0.81065065001309544]], [[0.66944057472219187, 0.75139552448607771, -0.10979925865985596], [-0.38500613248348636, 0.46265740756604634, 0.22267963158655246]]], [[[0.7896479076065166, -0.14678484206764142, -0.05607593286453838], [-0.89028632652983419, 0.36552158111930066, 0.04787257209062723]], [[0.25566692772403599, -0.49270585612275819, -0.24530870374434466], [0.31094196313533051, 0.067242185088332684, 0.28356651675093758]]], [[[-0.29133422634503514, 0.021108073872341038, -0.55482430118110426], [0.60553005605455823, -0.71864499164781748, -0.70957499933337909]], [[-0.54387465680309544, -0.29800894824108171, -0.82287899226862593], [0.85871706099972411, 0.79871348615582605, -0.46444526770665862]]], [[[0.16660006897236546, -0.034708852612158392, -0.20574623779807899], [-0.16213598027542608, 0.35573079816432096, -0.2473294696115611]], [[0.42069947492940596, 0.35990759267564787, 0.84817564311353077], [0.64841022050128028, -0.21764105808290246, 0.42544198057290061]]]])
16854          arg1=Data(numarray.array([-0.27228979651819207, 0.38945841128763004, -0.28307131109442474]),self.functionspace)
16855          arg1.setTaggedValue(1,numarray.array([-0.98313351326312581, 0.48992129032425114, -0.38851144512181368]))
16856          res=generalTensorProduct(arg0,arg1,1)
16857          ref=Data(numarray.array([[[-0.093764619926616916, -0.45688965113113456], [0.43720873543857319, 0.14025448867738766]], [[-0.71516367586411445, -0.57334394724966709], [-0.5305921483068532, -0.17214759325228501]], [[0.44784378090053401, -0.26226120278964238], [0.14143648944889745, 0.22198484512608166]], [[-0.25630617163915603, 0.37121998522064648], [-0.19206407929230468, -0.13874783497424256]], [[0.24460289648832159, -0.24390166709459107], [0.26496286331438607, 0.20871692244726262]], [[-0.00064029619010236294, 0.25270220181186365], [-0.21447732650452894, -0.38174804694791542]]]),self.functionspace)
16858          ref.setTaggedValue(1,numarray.array([[[-0.54477788556239348, -0.68668095078154545], [1.0289856447186452, -0.22339053911616216]], [[-1.2046675797563555, -1.3175856701468476], [-0.66747056946468675, -0.26339585461966109]], [[0.77040908489005067, -0.13971435382596173], [-0.24736653059218355, 0.51866456028228414]], [[-0.82645619915813551, 1.0357480865100985], [-0.39743657466782345, -0.38292292376653847]], [[0.51231732730875723, -0.67171836457517387], [0.70839838011382583, -0.27248447720609992]], [[-0.10085994880079562, 0.42977173721927969], [-0.56680330543731239, -0.9093898848085169]]]))
16859          self.failUnless(isinstance(res,Data),"wrong type of result.")
16860          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
16861          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16862       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16863       def test_generalTensorProduct_array_rank3_taggedData_rank1_offset0(self):
16864          arg0=numarray.array([[[0.62589245777823987, 0.8301479093180546], [0.67651428666337998, -0.28985020239866821]], [[0.53549468750700191, -0.02054906142579993], [-0.39407483689239431, 0.53006101674119188]], [[0.42853734777667807, 0.61236009553921966], [-0.0034079816261691764, 0.94706672745249088]], [[-0.72146223543335575, 0.33150359968843546], [-0.94844082018950737, 0.38989527543494029]], [[-0.79653750960766545, 0.87584891107449292], [-0.37533385704590394, -0.39611594341595624]], [[-0.35376180070975582, 0.30775706129022407], [-0.088232531469656594, 0.37511453253578764]]])
16865          arg1=Data(numarray.array([0.20183985169116592, -0.99186803419920611]),self.functionspace)
16866          arg1.setTaggedValue(1,numarray.array([0.35804070734088111, 0.90962704264589256]))
16867          res=generalTensorProduct(arg0,arg1,0)
16868          ref=Data(numarray.array([[[[0.12633004085257926, -0.62080272171661244], [0.16755693089848758, -0.82339717490987963]], [[0.13654754328709151, -0.67101289562048494], [-0.058503321864801616, 0.28749315046540908]]], [[[0.1080841683078205, -0.53114006302168815], [-0.0041476195105761161, 0.020381957161046911]], [[-0.079540006633581267, 0.39087023379583191], [0.10698743700631079, -0.52575057868071851]]], [[[0.086495914719370293, -0.42505249672019518], [0.12359867086522429, -0.60738040418452388]], [[-0.00068786650599220503, 0.0033802680361354346], [0.19115580781064861, -0.93936521321377742]]], [[[-0.14561983060064554, 0.71559532920824742], [0.066910637396201442, -0.32880782375292905]], [[-0.19143315448489792, 0.94072813187564941], [0.078696404568874639, -0.38672466038921222]]], [[[-0.16077301280566184, 0.79006009382048636], [0.17678121431514482, -0.86872653768297259]], [[-0.075757330040818527, 0.3722816549565266], [-0.079951983271582872, 0.39289474211094849]]], [[[-0.071403229389256903, 0.35088502184475684], [0.062117639607727884, -0.30525439139285915]], [[-0.017808841066171616, 0.087515027541227877], [0.075713061614224406, -0.37206411398582584]]]]),self.functionspace)
16869          ref.setTaggedValue(1,numarray.array([[[[0.22409497830224356, 0.56932870538318947], [0.29722674464978988, 0.7551249877116526]], [[0.24221965372316817, 0.61537568988530589], [-0.10377817148971673, -0.26365558241821396]]], [[[0.19172889669229107, 0.48710044894958054], [-0.0073574004880846222, -0.01869198197389918]], [[-0.14109483334619521, -0.35846112846359113], [0.18978342136784296, 0.4821578350801653]]], [[[0.15343381511994697, 0.38980916032141405], [0.21924984175419174, 0.55701930273969658]], [[-0.0012201961520383383, -0.0030999922480038078], [0.3390884409961033, 0.8614775064809328]]], [[[-0.25831284909429197, -0.65626155959793808], [0.11869178331849572, 0.30154463901105938]], [[-0.33958042213161665, -0.86272741839362632], [0.1395983802055937, 0.35465928633549043]]], [[[-0.28519285336347244, -0.7245520592209449], [0.31358956364485191, 0.79669585478531635]], [[-0.13438479966569661, -0.34141382638954182], [-0.14182563256964942, -0.36031777415434402]]], [[[-0.1266611253563048, -0.32179130058070082], [0.11018955591350273, 0.27994414551481722]], [[-0.031590837977872398, -0.080258696665904378], [0.13430627256295738, 0.34121432288402498]]]]))
16870          self.failUnless(isinstance(res,Data),"wrong type of result.")
16871          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
16872          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16873       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16874       def test_generalTensorProduct_array_rank4_taggedData_rank2_offset1(self):
16875          arg0=numarray.array([[[[0.6809077681853386, -0.78537506508661004, -0.98746396631714961], [0.64118138172840511, 0.50773530821417356, 0.58062405787449323]], [[-0.46881572060841714, -0.22729222687793715, -0.42362144226351983], [0.1715374591413128, -0.51403200198225818, -0.93489892518219264]]], [[[0.69692267629515658, -0.89745882802967336, -0.44171402140210225], [-0.15863386560102288, -0.72221244799160256, 0.77027516144143338]], [[0.3205087143828782, -0.68331579974575707, 0.55924865682280367], [0.24532277173791583, 0.028573542338105939, 0.32923664829465049]]], [[[-0.99465676613247744, -0.22803937585115031, -0.061528796537834385], [-0.27749729416656943, -0.21946188718968873, -0.42001900758175159]], [[-0.0093003374032845088, 0.91334655352400862, 0.28136441403867929], [0.93927325016175067, 0.61343305369157686, -0.8527350550779571]]], [[[0.716871273478767, 0.16418580511913805, -0.10984383791417418], [-0.15212146625373291, 0.16158669270434145, -0.57126567841025988]], [[0.66122223136475733, -0.43713955417871864, -0.91316383492301778], [-0.86258625561646363, 0.12885297969100118, -0.89410138655347571]]], [[[0.49932232623255812, -0.45798749151718998, 0.23836904068094422], [0.47983871977895487, -0.20110252712904919, 0.05283684026889035]], [[-0.58529188572426105, 0.6386139162688742, -0.98910387220867357], [-0.77606364027197117, -0.27301767017896905, 0.77637893135663938]]], [[[0.54693529643968342, 0.78019293949918334, 0.095065467419950922], [-0.76720278110163731, -0.26547621238494434, 0.29951860247754936]], [[0.32164845805958131, -0.62662174363575662, -0.64404855380835602], [0.21622141809489204, 0.74226726622085692, -0.48364764667492821]]]])
16876          arg1=Data(numarray.array([[-0.042209530010759222, -0.17963061651045953], [0.75137285674644483, -0.43173041879407825], [0.18106341740506693, -0.32861523401628157]]),self.functionspace)
16877          arg1.setTaggedValue(1,numarray.array([[0.94593827152453103, 0.12443000210954058], [-0.36500923568442434, -0.52469437798074536], [-0.0096993146174519929, -0.22328769328810893]]))
16878          res=generalTensorProduct(arg0,arg1,1)
16879          ref=Data(numarray.array([[[[-0.79764390345307434, 0.54125412594833089], [0.45956434037586813, -0.52518249480065693]], [[-0.22769506461929617, 0.32155108460507703], [-0.56274620363991001, 0.49833190102948338]]], [[[-0.78372123228003054, 0.40742558218399977], [-0.39648631624165892, 0.087172429273054408]], [[-0.42569399372987471, 0.053657410196158245], [0.070727137913173477, -0.16459572635748013]]], [[[-0.14049921683344285, 0.29734164322745482], [-0.22923475164649079, 0.2826200269646319]], [[0.73760117433360561, -0.48510949747871546], [0.26687154032041671, -0.15333821249240348]]], [[[0.073217257224199986, -0.16355967671634469], [0.02439751452540298, 0.14529038685109513]], [[-0.52170523984058104, 0.37003023303499438], [-0.028663060661950318, 0.39313248638152565]]], [[[-0.32203561746030523, 0.029701856130969553], [-0.16178992828674624, -0.016734637431153693]], [[0.32545153076982392, 0.15446188918499448], [-0.031806962757584822, 0.002144879024882862]]], [[[0.5803427943641597, -0.46631930982403103], [-0.11285648954367922, 0.15400088926525446]], [[-0.60101683198574929, 0.42439792321204012], [0.461021976126813, -0.20036535974431202]]]]),self.functionspace)
16880          ref.setTaggedValue(1,numarray.array([[[[0.94034359322044092, 0.71729578753299372], [0.41555827577284066, -0.31626986759161135]], [[-0.3563981327589143, 0.15551366716768972], [0.3589581545735816, 0.49980553240656111]]], [[[0.9911109159427598, 0.65623899654984097], [0.10608522787847649, 0.18720903494214211]], [[0.54717370841626756, 0.2735395159623662], [0.2184372219783374, -0.057981355762552693]]], [[[-0.85705063667450021, 0.0096244580089301507], [-0.17831579859184399, 0.17440650483102627]], [[-0.34490651447857562, -0.54321025376890453], [0.67285673026024129, -0.014585858606203872]]], [[[0.61925204804604372, 0.027579702370746886], [-0.19733726650556571, 0.02384449200156491]], [[0.79389245252117346, 0.51553879640825917], [-0.85431370866324563, 0.024701792533272621]]], [[[0.63718574612112555, 0.24920926684608438], [0.5267896077826687, 0.15342588211239427]], [[-0.77715634254818766, -0.1870502800941003], [-0.64198467086912525, -0.12667062446398375]]], [[[0.23166733053916871, -0.36253463793727797], [-0.63173032844828081, -0.023047985389009595]], [[0.53922913971544195, 0.51261574026646795], [-0.061711242328486612, -0.25456646264527849]]]]))
16881          self.failUnless(isinstance(res,Data),"wrong type of result.")
16882          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
16883          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16884       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16885       def test_generalTensorProduct_array_rank4_taggedData_rank0_offset0(self):
16886          arg0=numarray.array([[[[0.16992284518875045, 0.42497736497777039, -0.074963218142345633, 0.97051998593000821], [0.81693189585072234, -0.63930099715264865, -0.9931787666195806, 0.40602348957161172], [-0.42831467221506303, -0.79207734334941238, 0.1485277136291494, 0.051447066660140983]], [[-0.67343740545494946, -0.67790610273855445, -0.67654514153315626, 0.28771164156543128], [0.064054802746138062, 0.35149736436897916, 0.10847423144672375, 0.42368673297321013], [-0.95771239186921786, 0.14722577091748601, -0.0009995572991936541, 0.063408872479891576]]], [[[0.12784763234468977, 0.95493904501362792, 0.67978190938023864, 0.35617240624013236], [-0.99685884977636419, -0.40141336064735023, 0.10779272763182468, 0.91497666469124583], [0.13094617326647007, 0.8381927121985524, 0.8706382906307859, 0.93951718023900344]], [[-0.12540967012050319, 0.0054633136930497539, 0.88220321896824005, 0.89557268474210838], [-0.023691013748486256, -0.64494980770820209, 0.69053546080581119, -0.40368092749650741], [0.20600107892128561, 0.37543465009484334, -0.018722743929924235, 0.69517897873875367]]], [[[0.075487907440475732, 0.30861398900694503, -0.4005243908970173, -0.86375140685204066], [0.67716402915219165, -0.89838919173531528, 0.77418695015852435, 0.22798804476379453], [-0.69654217111037253, -0.1531317258266347, 0.11155192386356028, 0.12876961872860271]], [[-0.35332410430278216, 0.43728334948685199, -0.72270457504499075, -0.88541837356764641], [-0.25178433700068892, 0.64293972365899466, 0.60059338858797284, -0.34182315985696765], [-0.21217506051739021, -0.05910483575713954, -0.068049735526407584, 0.84531835454571769]]]])
16887          arg1=Data(-0.508619867477,self.functionspace)
16888          arg1.setTaggedValue(1,-0.387813583798)
16889          res=generalTensorProduct(arg0,arg1,0)
16890          ref=Data(numarray.array([[[[-0.086426135001248419, -0.21615193105579672, 0.038127782077223123, -0.49362574662767994], [-0.41550779260547965, 0.32516118844981218, 0.50515045265920477, -0.20651161345853722], [0.21784935182055915, 0.40286627340605863, -0.075544146022747213, -0.026167000226770792]], [[0.3425236439166755, 0.3447965121368583, 0.34410430022892707, -0.1463358570046529], [-0.032579545284017949, -0.17877854288392989, -0.055172149223122094, -0.21549548997667548], [0.48711154983377913, -0.074881952093278081, 0.00050839470105172894, -0.032251012317600157]]], [[[-0.065025845820427933, -0.48570097052362071, -0.34575058466236452, -0.18115636206088612], [0.50702221606671316, 0.20416681029602662, -0.054825522843102936, -0.46537530993997789], [-0.066601825293436473, -0.42632146619876971, -0.44282393200119291, -0.47785710370570017]], [[0.063785849797047781, -0.0027787498865452544, -0.44870608431957199, -0.45550606022971768], [0.01204972027315524, 0.32803428572598148, -0.35122005456334832, 0.20532013984634059], [-0.10477624146110134, -0.19095352197758242, 0.009522759536447328, -0.35358184003902948]]], [[[-0.038394649478504753, -0.1569672061903177, 0.20371466261942106, 0.43932112608631674], [-0.34441907876770417, 0.4569385916433511, -0.39376686399219446, -0.11595924911414363], [0.3542751867624282, 0.077885838096495519, -0.056737524732309023, -0.065494786412829506]], [[0.17970765910697603, -0.2224109992659821, 0.36758190518453826, 0.45034137582584072], [0.12806251611812119, -0.32701191704325561, -0.30547372971128806, 0.1738580502670834], [0.10791645116231866, 0.03006189373005708, 0.034611447465298893, -0.42994570946507477]]]]),self.functionspace)
16891          ref.setTaggedValue(1,numarray.array([[[[-0.065898387561759586, -0.16481199494495358, 0.029071754280795579, -0.37638083389085847], [-0.31681728624855898, 0.2479296108312439, 0.38516821683456881, -0.15746142459683515], [0.16610624802488222, 0.30717835316933662, -0.057601064915806362, -0.019951871297351022]], [[0.26116817367294243, 0.26290119518140459, 0.26237339593892939, -0.11157848281582362], [-0.024841322612437766, -0.13631545257139741, -0.04206778044706054, -0.16431147032190099], [0.37141387493831662, -0.05709615384689682, 0.00038764189841149096, -0.024590822081001284]]], [[[-0.049581048479651293, -0.37033833335513605, -0.26362865847762773, -0.13812849731385385], [0.3865954030722748, 0.15567355397694765, -0.041803484010232692, -0.35484037942522434], [-0.050782704739070893, -0.32506251963087673, -0.33764535568107218, -0.36435752470804467]], [[0.048635573612325962, -0.0021187472627129463, -0.34213039198598444, -0.3473152524212097], [0.0091876969456022237, 0.25012029629698768, -0.26779903179453246, 0.15655294720322027], [-0.079890016682666931, -0.14559865713513551, 0.0072609344219914896, -0.26959985112553597]]], [[[-0.029275235917883738, -0.11968469708690281, 0.15532879943218325, 0.3349745286016384], [-0.26261340896443558, 0.34840753209203668, -0.30024021567042747, -0.088416860702889025], [0.27012851564457924, 0.05938656338596169, -0.043261351373061072, -0.049938607323409295]], [[0.137023887131792, -0.16958442289958012, 0.28027465127522788, 0.34337727261364404], [0.097645386076377627, -0.24934075839812983, -0.23291827443353649, 0.13256366464920186], [0.082284370611753616, 0.022921658174753692, 0.0263906118109852, -0.32782594052639191]]]]))
16892          self.failUnless(isinstance(res,Data),"wrong type of result.")
16893          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
16894          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16895       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16896       def test_generalTensorProduct_Symbol_rank0_taggedData_rank0_offset0(self):
16897          arg0=Symbol(shape=())
16898          arg1=Data(-0.167809933918,self.functionspace)
16899          arg1.setTaggedValue(1,0.40615815881)
16900          res=generalTensorProduct(arg0,arg1,0)
16901          s0=numarray.array(0.915122477631)
16902          sub=res.substitute({arg0:s0})
16903          ref=Data(-0.15356664249772489,self.functionspace)
16904          ref.setTaggedValue(1,0.37168446059989751)
16905          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16906          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16907          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16908       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16909       def test_generalTensorProduct_Symbol_rank1_taggedData_rank1_offset1(self):
16910          arg0=Symbol(shape=(3,))
16911          arg1=Data(numarray.array([-0.70595359985013251, 0.2438999137740876, -0.99846126486433207]),self.functionspace)
16912          arg1.setTaggedValue(1,numarray.array([-0.87349595301467287, 0.87823531156670054, 0.45898540029030532]))
16913          res=generalTensorProduct(arg0,arg1,1)
16914          s0=numarray.array([-0.0031254981919577318, -0.49148490455195581, 0.80154351471610763])
16915          sub=res.substitute({arg0:s0})
16916          ref=Data(-0.91797682068879727,self.functionspace)
16917          ref.setTaggedValue(1,-0.061012517305616298)
16918          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16919          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16920          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16921       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16922       def test_generalTensorProduct_Symbol_rank2_taggedData_rank2_offset2(self):
16923          arg0=Symbol(shape=(2, 3))
16924          arg1=Data(numarray.array([[-0.93074172873498373, -0.64051633155646925, 0.18923282981434042], [0.14381211673174188, 0.17256013000469084, -0.26321858552082955]]),self.functionspace)
16925          arg1.setTaggedValue(1,numarray.array([[0.28816893408260258, 0.063101374125867249, -0.20878877378723515], [-0.81182382338976589, -0.11904129955094844, -0.54509430483885968]]))
16926          res=generalTensorProduct(arg0,arg1,2)
16927          s0=numarray.array([[-0.30071377941136923, -0.67483970932541149, 0.3333757368181578], [-0.62868570493317621, -0.7594387531566924, 0.45815298708807317]])
16928          sub=res.substitute({arg0:s0})
16929          ref=Data(0.43316249880484375,self.functionspace)
16930          ref.setTaggedValue(1,0.152205231237107)
16931          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16932          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16933          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16934       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16935       def test_generalTensorProduct_Symbol_rank3_taggedData_rank3_offset3(self):
16936          arg0=Symbol(shape=(2, 4, 3))
16937          arg1=Data(numarray.array([[[0.338763458023154, -0.99171534740386225, 0.83965976831207301], [-0.88676822185898496, -0.22516535066263677, -0.23055962847069944], [-0.21863716675324829, 0.85117245923828233, -0.8094179946330029], [-0.91642537436470262, 0.73127043092393351, -0.48119910407205468]], [[-0.29567851515334542, 0.46079889844225441, -0.8599054065534546], [-0.5407248731177452, 0.89489625288626873, 0.51137695424642815], [-0.9111870671491531, -0.51812695483698623, 0.034999963460251582], [-0.40263342388187628, -0.10112434670170845, 0.92816835792758456]]]),self.functionspace)
16938          arg1.setTaggedValue(1,numarray.array([[[0.65304071202653668, -0.26899219838924449, 0.95536095752490335], [0.39235741128201274, 0.13449560449636522, 0.93385225132171801], [0.27926780526419859, -0.96019697686038885, 0.52421149520737864], [0.50089402219921531, -0.84797143792164253, 0.59792551111964909]], [[-0.22237286202330586, -0.58739228623859097, -0.88956882067764598], [-0.68586543238655673, 0.47476373167683739, -0.042095220082579043], [-0.93703162370675797, -0.1567908399718323, 0.8790435650941808], [0.75189154976346995, -0.87842233148061566, -0.29801159649978093]]]))
16939          res=generalTensorProduct(arg0,arg1,3)
16940          s0=numarray.array([[[-0.65595025284840558, -0.53971855931246049, 0.47979976444242878], [0.69227206459202617, 0.88281924161707903, -0.36735231753544251], [0.035340701387385431, 0.64520906787846077, -0.019888621792771843], [-0.10956597460369877, 0.37892372931031626, 0.87313482417823085]], [[0.91914032356442665, -0.17973444306632569, 0.86368169796714978], [0.88650019814183767, 0.72137146505017857, 0.19482387226402698], [-0.89968498159075216, -0.95734140282817792, -0.79390329750247868], [0.065462492474112732, 0.00030927061150465285, -0.43687898324532215]]])
16941          sub=res.substitute({arg0:s0})
16942          ref=Data(0.52752939272015253,self.functionspace)
16943          ref.setTaggedValue(1,-0.91816900824285219)
16944          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16945          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16946          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16947       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16948       def test_generalTensorProduct_Symbol_rank4_taggedData_rank4_offset4(self):
16949          arg0=Symbol(shape=(4, 2, 3, 2))
16950          arg1=Data(numarray.array([[[[0.18277127255586367, 0.36613822209614932], [-0.46324145456981114, 0.97170929935368], [0.77171337682793961, -0.88027109611283216]], [[-0.72318804822595606, -0.72555507250023177], [0.71702514365294134, 0.5012884781452831], [0.56025949138680042, 0.13660616065195441]]], [[[0.92841341907928276, 0.11013000105001391], [-0.81943390991928733, -0.82165717971247121], [0.17867872242553529, 0.1004921728478898]], [[0.34615164735316317, 0.35670016488623313], [0.90457920335512609, -0.21233780010749381], [-0.71726631760078097, -0.29543663001474574]]], [[[-0.46496532672005286, -0.78116397361492007], [0.57767196344266125, 0.97103796085770178], [0.76883595661676418, 0.70591842900658563]], [[0.20589462703207273, 0.79787555511809716], [0.93841289115569859, -0.40005740246926669], [0.45997016976806915, 0.57745884326129793]]], [[[0.98749860853231164, -0.17879245564403945], [0.39777173253183906, 0.82223615109719583], [-0.52495355463362525, -0.22616044597492269]], [[0.9126604179102249, -0.79924398400106189], [-0.71021207410430676, 0.23883656788179497], [-0.42232418523553217, 0.23617328007704286]]]]),self.functionspace)
16951          arg1.setTaggedValue(1,numarray.array([[[[0.2900796263966956, 0.7001214339766737], [0.06102986364713936, 0.41616548935691977], [0.81111398675538315, 0.71498696017103569]], [[0.38932379950953733, 0.42819850642932944], [0.85299183068860329, -0.25786174287691077], [0.63437747881104034, 0.65618827321264606]]], [[[-0.028493296771181509, -0.50880204351211744], [-0.22173677406728354, -0.9811948831436228], [0.74505135342714102, 0.65634056862456691]], [[-0.17273772499006035, -0.1048731049297269], [0.9530459236812534, -0.93600888406176463], [-0.47436919193551597, 0.79731250652611108]]], [[[-0.54234349656447245, 0.84331223671560651], [0.37140994774826952, 0.091564165437392209], [0.99645194722587482, 0.17326898921423495]], [[0.50948075965188666, 0.071530667260559788], [0.56968723586063064, 0.77233124482637439], [-0.027086287653206087, 0.8126994122958684]]], [[[-0.12253727602072173, -0.40736419156677983], [0.016231428664967629, -0.45348486047398096], [-0.14107885356515437, 0.93633917339456141]], [[0.40556372823313991, 0.99277660127674627], [0.87884594695894491, -0.64055121428508377], [0.36809903127275834, -0.080164354202874488]]]]))
16952          res=generalTensorProduct(arg0,arg1,4)
16953          s0=numarray.array([[[[-0.41354698038544146, -0.30054069872569111], [0.25458756705083663, 0.68388991922674869], [0.91645308897366706, 0.37529094468558233]], [[0.23266243370999717, -0.089549440298144711], [0.41771345019814965, -0.7610883670438322], [0.040473784113955302, 0.40546969846349712]]], [[[0.90256117085447118, 0.99331644564316868], [-0.42629137025658781, -0.72774267994145148], [0.33467696232402022, 0.30605220732219229]], [[0.6976481718401053, 0.69854386939839808], [0.64907101060191952, -0.44442655759051508], [0.52746909752027693, 0.66023853945534849]]], [[[0.31999319202424359, -0.80359430646849694], [-0.79384942794740332, 0.49362744512371837], [0.42956711824723981, -0.59719910431169265]], [[-0.94464463085895467, -0.62550309866010378], [-0.98593037109551496, -0.27051002644324318], [0.50588836505468837, -0.15434037803005562]]], [[[-0.27259569645007731, 0.19895229046523832], [-0.39141519932954738, -0.72204296583465744], [0.58215225131898141, -0.8813091097381589]], [[-0.76537468434523315, 0.6178434289556638], [0.7734315901108253, 0.22048189992798184], [-0.78578446335942531, -0.45830764498826015]]]])
16954          sub=res.substitute({arg0:s0})
16955          ref=Data(-0.36981406321933746,self.functionspace)
16956          ref.setTaggedValue(1,1.4657025816529778)
16957          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16958          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
16959          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16960       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16961       def test_generalTensorProduct_Symbol_rank0_taggedData_rank1_offset0(self):
16962          arg0=Symbol(shape=())
16963          arg1=Data(numarray.array([0.28138237725660642, 0.19716248503489986]),self.functionspace)
16964          arg1.setTaggedValue(1,numarray.array([0.2251704384541191, -0.77629093481779443]))
16965          res=generalTensorProduct(arg0,arg1,0)
16966          s0=numarray.array(0.855950990257)
16967          sub=res.substitute({arg0:s0})
16968          ref=Data(numarray.array([0.24084952445378083, 0.16876142430723742]),self.functionspace)
16969          ref.setTaggedValue(1,numarray.array([0.19273485977150201, -0.664466994385154]))
16970          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16971          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16972          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16973       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16974       def test_generalTensorProduct_Symbol_rank1_taggedData_rank2_offset1(self):
16975          arg0=Symbol(shape=(3,))
16976          arg1=Data(numarray.array([[0.44577229612815805, -0.11439167324795663], [0.56029144170168355, -0.63873596744636418], [0.47184604620641135, 0.93227983697187433]]),self.functionspace)
16977          arg1.setTaggedValue(1,numarray.array([[-0.26602274335170928, 0.33664142669925279], [-0.096827128766988402, -0.91625774483800071], [-0.67099066361764104, -0.53488685466413211]]))
16978          res=generalTensorProduct(arg0,arg1,1)
16979          s0=numarray.array([-0.39283591937188311, -0.4370939277733672, -0.1069694501011067])
16980          sub=res.substitute({arg0:s0})
16981          ref=Data(numarray.array([-0.47048846882629292, 0.22439930944887121]),self.functionspace)
16982          ref.setTaggedValue(1,numarray.array([0.21860134129633552, 0.3254624048976788]))
16983          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16984          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16985          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16986       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16987       def test_generalTensorProduct_Symbol_rank2_taggedData_rank3_offset2(self):
16988          arg0=Symbol(shape=(2, 3))
16989          arg1=Data(numarray.array([[[0.48748575379055015, 0.53922382201059627], [-0.5461912866930394, 0.29786698947171297], [-0.68212863255680745, -0.48367269355243847]], [[-0.27912031235522772, -0.067523361045184638], [0.26812683418528871, -0.084419112598145718], [0.54087173050106041, 0.045578991720064854]]]),self.functionspace)
16990          arg1.setTaggedValue(1,numarray.array([[[-0.3033353855794958, -0.19098806051859318], [0.67076932487858998, -0.51246050158819934], [-0.21476337901362075, -0.50418244612200858]], [[0.32316361890289902, 0.34275172090119455], [-0.027240426583106547, -0.50232236443509071], [0.59432220061991026, -0.70554618638328037]]]))
16991          res=generalTensorProduct(arg0,arg1,2)
16992          s0=numarray.array([[0.048335264526378152, -0.69693997521695894, -0.35753012589910971], [-0.011034693633192427, 0.2865390131917982, -0.59459060747678927]])
16993          sub=res.substitute({arg0:s0})
16994          ref=Data(numarray.array([0.40641838535698244, -0.059149437155990005]),self.functionspace)
16995          ref.setTaggedValue(1,numarray.array([-0.77011322960568751, 0.79997718501089743]))
16996          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
16997          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
16998          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
16999       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17000       def test_generalTensorProduct_Symbol_rank3_taggedData_rank4_offset3(self):
17001          arg0=Symbol(shape=(2, 4, 3))
17002          arg1=Data(numarray.array([[[[-0.036806182949287392, 0.3588620396258293], [0.60382800793994829, -0.83114799758347169], [0.13455967654205647, 0.77315772887346967]], [[-0.25248012468754344, -0.74575171654228489], [0.56620954335080054, 0.24979784840523167], [0.65866378850217489, -0.2360823464400188]], [[-0.20206335952576882, -0.86131297427387676], [-0.51179990993312341, -0.02823131378193211], [0.8136428634606383, 0.85051841892711533]], [[0.65078494752592109, 0.17332258987598959], [0.9921406434394151, 0.61736183509425779], [-0.9448085875211969, 0.39955760323828393]]], [[[-0.0052904814975156533, -0.54290559300635777], [0.24729749573869753, -0.73604871032772734], [-0.47627728383915935, 0.64889240137708515]], [[-0.92551942815095822, 0.30881466964716098], [-0.78943794939284961, -0.70452042584007391], [0.38194023466788085, 0.87556968092905074]], [[0.51130821924921754, 0.98075564315162844], [-0.48542269521623771, 0.17115154173386915], [0.71050968704210882, -0.40949724594856951]], [[0.96023113091117507, 0.48630935089896155], [0.77646686005574495, -0.092768987372596978], [-0.68798489936228546, -0.99191392196581507]]]]),self.functionspace)
17003          arg1.setTaggedValue(1,numarray.array([[[[0.095312325889383764, -0.69037255617432303], [0.028230158133491834, -0.37462235159427304], [0.01811388441846784, -0.10902084133002643]], [[-0.55561459241054334, -0.3962736770112314], [-0.16371959487362919, 0.26418728785990231], [0.93030812021133213, 0.69416468925862662]], [[-0.30646013674203543, -0.72275899449227965], [-0.83905662638681577, 0.70228322937336185], [-0.60987395821236268, -0.27075247060184116]], [[0.25244655936316907, -0.076444296594003758], [0.18703204511739724, -0.94036028644460279], [-0.72987860381405856, -0.1148766364079874]]], [[[0.40137498756944168, -0.061083231009979144], [-0.95727920651358867, 0.57368791065782454], [-0.92247079704626289, 0.57293216252151691]], [[-0.86404795466396989, -0.39410396517585622], [0.65446139567582162, -0.37293588347152062], [0.18340987025489031, 0.20094559856738381]], [[-0.46970973445923048, 0.15028418272336896], [-0.21400435037119347, -0.67576536535541631], [-0.69009375807966622, 0.57121507339578015]], [[0.66515649940144828, -0.81018622007830521], [-0.14538578476566566, -0.29488917587085117], [0.19687425335497988, 0.75086905609185428]]]]))
17004          res=generalTensorProduct(arg0,arg1,3)
17005          s0=numarray.array([[[-0.49853801091014716, 0.060460383247491922, -0.73321921420642178], [-0.90329519922371948, -0.57921441581767819, -0.013620829544860991], [0.53098072083157954, 0.23592231826088383, -0.30240001259970328], [0.75741886442810857, -0.63324338093302157, 0.73961497735830672]], [[-0.54263874305269066, -0.13866484377034327, 0.55513283528798829], [-0.1066522224455162, 0.64052261707004399, 0.16552311090728633], [0.36093716879763593, -0.38915318316290781, -0.87222679737207498], [0.16870017186486619, 0.7677796606440821, 0.50092271794631915]]])
17006          sub=res.substitute({arg0:s0})
17007          ref=Data(numarray.array([-1.9331899783448643, -0.37310967166496833]),self.functionspace)
17008          ref.setTaggedValue(1,numarray.array([0.44106448543702037, 0.85343786530973487]))
17009          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17010          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17011          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17012       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17013       def test_generalTensorProduct_Symbol_rank0_taggedData_rank2_offset0(self):
17014          arg0=Symbol(shape=())
17015          arg1=Data(numarray.array([[0.96541525508569892, -0.20650686853630895, -0.48763896957938879, -0.8104297616673195, -0.42132709781723676], [-0.021156033231873206, 0.12656458056491204, -0.49355873426137675, 0.41110080826654594, 0.17286851537255687], [-0.22623928477888366, -0.36090330096799406, 0.27673576413418366, -0.90984744619519198, -0.33293232304086673], [0.22563792818349548, -0.71485160842341267, 0.15043900244238584, 0.25666644923042137, -0.42353203248171623]]),self.functionspace)
17016          arg1.setTaggedValue(1,numarray.array([[-0.35560944761073765, -0.41872814713152362, 0.56471375879078201, -0.80781183568053083, 0.25404603802263126], [-0.91908712869599429, 0.98539720891027205, -0.10218832145119006, 0.63064091551821999, -0.98598359223603227], [0.019346565065388566, -0.086583298571799361, 0.64441947468352145, -0.18441950916748695, 0.8052302653511989], [-0.19346796771248709, -0.99970607126853617, 0.63336324244368947, -0.57823062772004219, -0.15006923970790553]]))
17017          res=generalTensorProduct(arg0,arg1,0)
17018          s0=numarray.array(0.77467869957)
17019          sub=res.substitute({arg0:s0})
17020          ref=Data(numarray.array([[0.74788663435451319, -0.15997647236991322, -0.37776352281325615, -0.62782267386099899, -0.3263931282305213], [-0.016389128312120319, 0.098046884683607144, -0.38234943841885705, 0.31847103953996919, 0.13391755668535235], [-0.17526275492407847, -0.27958409986428789, 0.2143813018838891, -0.70483943642527924, -0.25791557905800888], [0.17479689677878552, -0.55378031439873832, 0.1165418907766263, 0.19883403111298828, -0.32810124414903635]]),self.functionspace)
17021          ref.setTaggedValue(1,numarray.array([[-0.27548306442977594, -0.32437977649306737, 0.43747172028914488, -0.62579462236198391, 0.19680405436619963], [-0.71199722164943735, 0.76336622835819479, -0.079163115973015619, 0.48854408432908258, -0.76382048703044403], [0.014987371865995277, -0.067074237142054238, 0.49921804062520209, -0.14286586553714614, 0.62379473481640935], [-0.14987551363589696, -0.77445099924221628, 0.49065301301150877, -0.44794295073351792, -0.11625544346232977]]))
17022          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17023          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17024          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17025       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17026       def test_generalTensorProduct_Symbol_rank1_taggedData_rank3_offset1(self):
17027          arg0=Symbol(shape=(3,))
17028          arg1=Data(numarray.array([[[-0.46969319757533445, 0.31741733885211709, 0.89160593117172393, -0.73296587057481388, -0.68123650605634767], [-0.40087112758962018, -0.785669163134739, -0.098530479474193911, 0.61389289600537955, -0.88969078415468705], [0.28884729417843369, 0.38068005484844503, 0.81683833385617288, 0.16671895078033439, -0.25793638946192599], [0.83517021532658742, -0.75150118475354399, 0.81650415661993447, -0.83295081227032575, 0.60624083565135178]], [[0.17761092478171636, -0.72983225192512236, -0.24131387922551739, -0.24564107075664476, 0.23034554942942997], [-0.8777815205858448, -0.75307763715135967, 0.38055491373991956, 0.75929330953955776, 0.99468974085861328], [-0.56418194068141281, -0.71932111214903283, 0.088703198989380949, -0.99974975808785671, -0.27396665144620114], [0.93209099404596274, -0.9987875168592284, -0.83551964385737554, -0.36511084117990311, 0.29829241174313315]], [[-0.96015043699245028, -0.23994553624337489, -0.15171900856196108, 0.18849909781007135, 0.51386047279648528], [-0.95368762778309013, -0.14276396574660222, 0.57643259567835381, -0.041226815520055693, 0.96843930154676561], [0.64094544073717663, 0.040454660622616156, 0.53717915175424968, 0.93223198969685916, 0.13089946216661463], [-0.026294728813930579, 0.070012595024297353, -0.2335859123348496, -0.62987472346802553, -0.73986293550244309]]]),self.functionspace)
17029          arg1.setTaggedValue(1,numarray.array([[[0.52397275570150859, -0.19452026281363266, 0.750779482504776, 0.34121465788292715, -0.56383141418793548], [0.21390723793137245, 0.82890325495706763, -0.41833947444046449, 0.65296352492447585, -0.57679961245000588], [0.65584950662155128, 0.69274815905694265, 0.90764618890502091, -0.23490028557772402, 0.064406219113518626], [-0.5538309997965436, 0.23720805103493992, -0.97051838622617526, -0.29952566307093598, 0.01319689239740951]], [[-0.89952948189768112, 0.98694148208147636, 0.90262801291098849, 0.0059895175507025389, 0.48579122787765239], [-0.60246545240467797, 0.075296722142718764, -0.90011787056343362, 0.023517562350129362, 0.81832781681840894], [0.4999377444357529, 0.71906643294314199, 0.3753375948771942, -0.49248646606323865, 0.92701607943236741], [-0.43784605394358223, -0.70113096439614142, 0.89232866632495922, -0.17951823344850237, 0.11029858632855571]], [[-0.75417724270741049, -0.25038914685886349, 0.84919964975308404, -0.84258665249792664, -0.56826073428102153], [0.69893431498583314, -0.64691255600587261, -0.67384222356321644, -0.21561639379588038, -0.00038413167707651574], [0.27131261135302154, -0.39264118719173879, -0.46859208057346513, 0.0087898863425512896, 0.42425692667826365], [0.6017244774840329, -0.21679156583281745, 0.03167184890280117, -0.093447699960699238, -0.56744098661025788]]]))
17030          res=generalTensorProduct(arg0,arg1,1)
17031          s0=numarray.array([0.26546413279143044, -0.37027387618261609, -0.16758675846063209])
17032          sub=res.substitute({arg0:s0})
17033          ref=Data(numarray.array([[-0.029542883573551254, 0.39471243010086887, 0.35146771758945344, -0.13521163055389118, -0.35225100869177256], [0.37842807794626809, 0.094203342966405035, -0.2636683214787453, -0.11127086324319053, -0.76678622172705346], [0.17816646174330203, 0.3606230516083801, 0.093972689853203201, 0.25820938254202014, 0.011032817483150673], [-0.1190145600088736, 0.15859513119640545, 0.56526957088576535, 0.01963110450501207, 0.17447654123296955]]),self.functionspace)
17034          ref.setTaggedValue(1,numarray.array([[0.5985583606115441, -0.37511489553810623, -0.27722916543885834, 0.22956885718497602, -0.23431984395112204], [0.16272978151787731, 0.30057765284204835, 0.3351630411208682, 0.20076490942598552, -0.45606064625230075], [-0.056477767031384851, -0.016550262272155419, 0.18049963011050946, 0.11852420359397838, -0.3972521390081698], [-0.085740365177014013, 0.35891210523727735, -0.5933515983587524, 0.0026181888705438632, 0.057758212062198958]]))
17035          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17036          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17037          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17038       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17039       def test_generalTensorProduct_Symbol_rank2_taggedData_rank4_offset2(self):
17040          arg0=Symbol(shape=(2, 3))
17041          arg1=Data(numarray.array([[[[0.65206519402992469, -0.084496441996423144, 0.1265613032025743, -0.82643907452689769, -0.25157847987724025], [0.78585186169490062, -0.57362518202386825, -0.13572412135205836, 0.52670045722978798, -0.90374131312767081], [-0.7870380409680291, -0.9030447273069766, -0.47252916627647035, -0.32051925002090265, 0.0012403388742363575], [-0.31140499409550659, -0.29723168867551619, 0.68712584451280856, 0.90430205234318484, -0.92200358530334858]], [[-0.49389963631288847, 0.1422761172629381, -0.70918224407775998, -0.7150134559394683, 0.76843800986365118], [0.7646658725966724, -0.10427300712857979, -0.37145318399321448, -0.5241160785963479, 0.99705113285563018], [-0.42544130322230789, 0.81563521758816226, 0.60971212619617332, 0.3095741798143663, -0.63028912537404502], [-0.30682669045306232, -0.65156161433635607, -0.31303855358837351, -0.63650047468578386, -0.5474917376758206]], [[0.77932335635551331, -0.7242040345373757, -0.57444565021579397, -0.45015378470060052, 0.64486273072563738], [-0.97023539368526257, 0.69561036202187099, -0.094524717512552092, 0.00031769334701170493, 0.69782809474330487], [-0.71610930023436503, -0.2749361962735779, 0.032323525998753544, 0.73386963331248301, 0.74311443804909971], [-0.29630874540012453, 0.78348025580615643, -0.39496044899816884, -0.11008081498596622, -0.13331207304660397]]], [[[-0.64521910105640057, 0.43403776783968584, -0.8199504454244535, 0.57969375595057859, 0.41008067869949327], [0.86604691212566332, 0.84468575301976423, -0.44534740478769241, 0.45318746902110618, -0.51933456340806394], [-0.13423995759008855, 0.46263642048193421, -0.23612645344781469, 0.84608860365803373, 0.077331957567117637], [0.68255739326807841, -0.1565272122774104, 0.1089760576278882, 0.2468473938342941, -0.84158183722444191]], [[0.32399882204442187, -0.49428383616166016, 0.16209968446167866, -0.93559632821071093, -0.2850658783088682], [-0.089379404662826456, 0.53581715314306821, -0.47166418398061039, 0.72678215882685815, 0.085883841674558647], [-0.84577392535695828, 0.31731197965785451, 0.86850228299858778, -0.23002591369425529, 0.30514861237095636], [-0.88004243378404334, -0.40543754791133235, -0.9420018919286719, 0.12173171685507822, 0.65382403270217582]], [[0.62448241434559226, -0.20800521049327125, 0.067823535063860296, 0.50825165565253516, 0.92081759475023861], [0.3556940492192493, 0.85742521810918837, 0.57402744341358747, 0.91821623051129464, 0.71924074598813559], [0.2575053376401506, 0.024331353668862743, -0.59681521278592164, -0.31812748832888582, -0.96740840516471915], [-0.89470588678054708, -0.67741295523314982, -0.40438755274067217, -0.15337443255935712, 0.46667263137137027]]]]),self.functionspace)
17042          arg1.setTaggedValue(1,numarray.array([[[[0.5555201769204432, 0.2137586583858424, -0.074674558163822402, -0.90217021309394196, -0.092735040035575977], [0.088816651131417901, 0.95537035153650951, 0.36547901464690891, -0.10409150538975886, 0.67832851309630104], [0.78376193218939738, 0.73172977519974181, -0.92075716316977796, -0.22557053824067985, 0.032868622167917527], [-0.85935510892535527, -0.64834503094857121, 0.11909293346484517, 0.11132593426528326, -0.19796899985352012]], [[-0.92508230679029446, -0.63323157898543303, -0.40138959741621227, 0.089098911652681467, -0.89574583957038878], [-0.030375770612454778, 0.73455399354541906, 0.38078806485591254, -0.61547028421327221, 0.053136658674380888], [-0.69539110686167827, 0.16306554375091209, 0.43537061649521425, -0.15072994650208416, 0.58357039754604401], [-0.73855576137305889, -0.95673383605013673, -0.85442392267229672, -0.53301351259829977, 0.54170562225600927]], [[0.14184612247223094, 0.71130466015714777, 0.20222916639765476, 0.91130520315606955, -0.80046968406361518], [0.59313937149107643, 0.029552405001408877, -0.24448563132027323, 0.68882175304121374, 0.030973118196141902], [-0.1620226004693488, 0.47770458471962463, -0.36817477483769401, -0.80008491667028037, 0.34999862033091333], [0.9569250464153034, -0.47124438702930749, -0.13772907068493034, 0.97703359922633859, -0.92370358485600157]]], [[[0.43547016541417305, 0.37098072863055065, -0.14661001231210236, -0.67845888980854707, 0.99596986428514467], [0.55943239401005229, -0.082956422825952281, -0.36240528227607371, -0.63481108186174384, -0.66735489443001628], [-0.28682192125624151, -0.43744084953124696, -0.23672560233565831, 0.0063826170018141948, 0.39365476631870333], [0.7204188286906783, 0.9915093763736702, -0.56172521043278767, -0.95450696043400995, -0.92594883605422762]], [[-0.31712213365546305, 0.62801436625720219, -0.09648806135059429, 0.27930320147078991, -0.43898236986193573], [0.32932831427924114, -0.91682084122371266, -0.71528166755263833, -0.084035728288651246, 0.41954657017123376], [-0.1931553176037788, 0.062693110307928901, -0.60716673331098603, -0.61796689778932934, -0.98476103953648542], [-0.74840071470011882, 0.74346740075672191, -0.95978376966767764, 0.24047831105555351, 0.25779721684021206]], [[0.39705799887473248, -0.06715627229080634, 0.53527103266814824, -0.48636466118823973, 0.63727113177539119], [-0.33349746831295302, 0.67782443017311, 0.36122168404487809, 0.60173350373944934, -0.27683729057472339], [-0.96690462154553414, 0.034469853285622687, 0.42746215180997305, -0.70042482612232004, 0.8165905769042705], [0.28502574957139482, 0.79910876802051267, 0.14739330996653055, 0.96924795436903977, 0.029998734076815525]]]]))
17043          res=generalTensorProduct(arg0,arg1,2)
17044          s0=numarray.array([[-0.43891274835281902, 0.18003313903237661, 0.72241188305328707], [-0.32305174453889274, 0.19260742829293265, 0.26837850990104428]])
17045          sub=res.substitute({arg0:s0})
17046          ref=Data(numarray.array([[0.62631582097442584, -0.75171614379214069, -0.28390163439753036, -0.32225797450188132, 0.77436637831031296], [-1.109697244996342, 0.79595566006604246, 0.13149224568299839, -0.085294158857436603, 1.4576276989932211], [-0.29890536111440902, 0.26277319049212178, 0.42390703873539148, 0.3235560595990542, 0.19697740966330379], [-0.7627402084384145, 0.36982456764843696, -0.96844012422056747, -0.68848501638547999, 0.7328569973667729]]),self.functionspace)
17047          ref.setTaggedValue(1,numarray.array([[-0.40309667590093712, 0.28912182998667746, 0.27903848429081479, 1.2127958485701626, -0.93410134651558441], [0.17724143972969358, -0.23360493366956603, -0.19222701997851954, 0.78287832419409176, -0.043684554597730602], [-0.79028484793508991, 0.21593329979852446, 0.2907908145046274, -0.81518735342555071, 0.24579092752090026], [0.63512611487598591, -0.19075731059479234, -0.26943112241718359, 1.1757965841459233, -0.1260443033500947]]))
17048          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17049          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17050          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17051       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17052       def test_generalTensorProduct_Symbol_rank0_taggedData_rank3_offset0(self):
17053          arg0=Symbol(shape=())
17054          arg1=Data(numarray.array([[[0.21417192563810494, -0.48597810108817985], [0.72280139021776324, -0.91479987450310629]], [[-0.80183266849887147, 0.71571618379819046], [-0.40326029235487471, -0.00907546705161133]], [[0.073736673252838614, -0.06278229370323607], [0.87945152927928993, -0.9056699897623286]], [[0.18037238754633123, -0.66136611056107619], [-0.13119247994422811, 0.38008748576918006]], [[0.73471764522594918, 0.34531166342792297], [0.66429153247276607, 0.058504913266755221]], [[-0.42756928737326905, -0.44310186437079713], [0.5582879988821825, 0.52268289820653835]]]),self.functionspace)
17055          arg1.setTaggedValue(1,numarray.array([[[-0.67966421272013933, -0.5494549558100561], [0.36392105539243902, -0.98341641061496476]], [[0.87163349279672309, 0.51529910406370427], [0.45158194725139422, -0.43170764903577497]], [[0.57256079785977931, -0.4811147538578624], [-0.22394340849531025, -0.43062058731879382]], [[0.22453334616903642, 0.9636493841567082], [0.92559807691233287, -0.6971407902308826]], [[-0.01154201672925792, -0.3261767534917468], [-0.46599299361341529, -0.11365072288173939]], [[0.15572712373352848, 0.37661181183071069], [0.40410121030067025, -0.97124125351070822]]]))
17056          res=generalTensorProduct(arg0,arg1,0)
17057          s0=numarray.array(-0.225987122939)
17058          sub=res.substitute({arg0:s0})
17059          ref=Data(numarray.array([[[-0.048400097289301169, 0.1098247928763679], [-0.16334380663175804, 0.20673299170408774]], [[0.18120385783271209, -0.16174264121756854], [0.09113163326489418, 0.0020509386883230448]], [[-0.016663538643516017, 0.014187989925517452], [-0.19874472086629627, 0.20466975531875298]], [[-0.040761836919267713, 0.14946022453517888], [0.029647811093853307, -0.085894877374166775]], [[-0.16603672681726769, -0.078035989335421718], [-0.15012133221638493, -0.013221357026960775]], [[0.096625153110644194, 0.10013531549814698], [-0.12616589863886132, -0.11811960437521235]]]),self.functionspace)
17060          ref.setTaggedValue(1,numarray.array([[[0.15359535999735291, 0.12416974464819355], [-0.08224147228513036, 0.22223944528605957]], [[-0.19697794529456739, -0.11645096198049805], [-0.10205170503061899, 0.097560369556435739]], [[-0.12939136741609783, 0.10872573902793418], [0.050608326587050598, 0.097314707606557832]], [[-0.050741644904649413, -0.21777235184769533], [-0.20917324639946386, 0.15754484146782952]], [[0.0026083471535609803, 0.073711746091244784], [0.10530841593651538, 0.025683599884003289]], [[-0.035192324656135129, -0.085109419820537352], [-0.09132166989209245, 0.21948801656073602]]]))
17061          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17062          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17063          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17064       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17065       def test_generalTensorProduct_Symbol_rank1_taggedData_rank4_offset1(self):
17066          arg0=Symbol(shape=(3,))
17067          arg1=Data(numarray.array([[[[-0.52720010860745536, -0.43582412739616982], [0.55603792789365669, -0.13018372552516499]], [[0.30212091134987307, 0.57810929262132182], [-0.89131866944614258, -0.90520915179819039]], [[0.55463359346312879, 0.060934115849946124], [-0.65176368868408296, -0.004133900756547515]], [[0.57037626582711964, 0.47420884642764416], [0.49542054574174066, 0.63954429342544028]], [[-0.52052905739577637, -0.070045473711700001], [-0.68824095024287568, 0.62381192807304209]], [[-0.95909587074617697, 0.057851504558286582], [-0.10115725221495508, -0.43702150878017787]]], [[[-0.40227402449963923, 0.74786820883631644], [-0.72869176270591351, 0.0006267164799997893]], [[-0.19228402267274936, 0.34352178018874446], [0.13450232523559791, -0.88582881402028013]], [[0.11266257586021, -0.022385185652000983], [0.63974491071253281, 0.30009785135666189]], [[-0.03873825730749525, 0.73996354997196323], [0.97307767897398079, 0.70021560435554453]], [[-0.38030486374970129, -0.60496968355677971], [0.47021961606538265, 0.86367706719230308]], [[-0.2932506491264486, 0.17599307943727704], [-0.47054282914449952, 0.48558775492097772]]], [[[0.29994496052748731, 0.72722523440744435], [-0.56839464223024883, 0.14168746190617809]], [[-0.26995286119658712, -0.14048506023338492], [-0.80651706885193919, -0.94270854011254879]], [[-0.50365113088964164, -0.72683091361471464], [0.60581607091017275, 0.74728325942009177]], [[0.69493327361610202, 0.33137199979913623], [-0.036916665708520924, -0.42245292599936768]], [[-0.96024284812193517, 0.20795206175424008], [0.67887305036044387, -0.042704376359294915]], [[0.73601900251191377, -0.55815380624156563], [-0.44566284067718254, -0.35692839692754874]]]]),self.functionspace)
17068          arg1.setTaggedValue(1,numarray.array([[[[-0.19775388904889946, 0.46642448288048932], [-0.7253900790210599, 0.24177601480065514]], [[0.81364883295460455, -0.48538370580475032], [-0.027115535996981466, 0.21022282689211269]], [[0.95134604608249029, -0.8749470190530162], [-0.43210870255718881, 0.075333254430226981]], [[-0.1169113804017361, 0.43003885977005285], [-0.091183202753062353, 0.57730929892895277]], [[-0.30924098523996468, -0.81739915277948838], [-0.1102058120784517, 0.85905074495882605]], [[0.71812044375996953, 0.32821978550659647], [0.41972981457384106, -0.12992679767431747]]], [[[0.87806757327605522, -0.40912891945383256], [0.85102528877749317, 0.99503432133000547]], [[0.93267849734130626, 0.18395636083785694], [-0.89664644340459443, -0.85204946245960844]], [[-0.48972878527703689, -0.83039291662715686], [-0.71119947999399913, 0.23396242554689262]], [[0.04085526525206018, -0.36422308003909087], [-0.55729141586280595, -0.35272810493440576]], [[0.14295653160616673, 0.62240417485974531], [0.096336399538830886, 0.87054226796753431]], [[-0.062004736897307788, 0.45597068558472054], [-0.51120181356639072, -0.62977734494831572]]], [[[0.099672906477919598, 0.30544508944065596], [0.91827340792157064, 0.93026667538507701]], [[-0.39849518474515744, -0.71221820698867866], [0.89941963036301176, -0.54654339892239068]], [[-0.47509745553746185, -0.6499550117282582], [-0.27097458309822575, 0.93280164920136976]], [[0.68324322390143566, -0.21780101590731449], [-0.29413465350200196, 0.89236105698159696]], [[0.19825445666237163, -0.12876579902034657], [0.11362320627639888, -0.1100515242962381]], [[0.18722105562871549, -0.58594261555280447], [-0.76711133566699563, -0.84802558040919207]]]]))
17069          res=generalTensorProduct(arg0,arg1,1)
17070          s0=numarray.array([0.95777129851918019, -0.6045100367976044, -0.84364551499680251])
17071          sub=res.substitute({arg0:s0})
17072          ref=Data(numarray.array([[[-0.51480566794232563, -1.4830339862659572], [1.4525822431778463, -0.24459908401311559]], [[0.63334487980391629, 0.46455371488720248], [-0.25457293710204865, 0.46382089602571441]], [[0.88800949683268526, 0.68508065709601573], [-1.5220667850908702, -0.81581366490399809]], [[-0.016569657392079717, -0.2726922716362129], [-0.082591064661710775, 0.54565032393603119]], [[0.54145488808654862, 0.12318487712279522], [-1.5161581102076203, 0.11139506029885943]], [[-1.3622606672561952, 0.41990288302941753], [0.56354380689048011, -0.41098828829802364]]]),self.functionspace)
17073          ref.setTaggedValue(1,numarray.array([[[-0.80429226065026627, 0.43636314099917728], [-1.983908368685368, -1.1547574149952715]], [[0.55166466188749397, 0.024769647377149262], [-0.24273004488075678, 1.1775067290476517]], [[1.6080317414567549, 0.21231334060709861], [0.24467240238091914, -0.85623453328965093]], [[-0.71308686401634169, 0.81580223488459191], [0.49770098103837818, 0.013321553095497096]], [[-0.54985728136167111, -1.0504983297850405], [-0.25964599254354725, 0.38936708394124264]], [[0.56732943180244055, 0.53304849389951059], [1.3582018345002909, 0.97169954576280926]]]))
17074          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17075          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17076          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17077       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17078       def test_generalTensorProduct_Symbol_rank0_taggedData_rank4_offset0(self):
17079          arg0=Symbol(shape=())
17080          arg1=Data(numarray.array([[[[-0.94388637562013988, -0.87340524767109917, 0.31932331878035725, -0.93660547221612167], [-0.28298509395638782, -0.61059996871422606, -0.74198306696054317, -0.28271834302624077], [-0.54700932120894374, -0.84297532191002955, -0.40502641654066629, 0.023785736053669959]], [[-0.84105667414994856, 0.84872930515742095, -0.79866971162953315, 0.87056966561179627], [0.12350788416860836, 0.24616008035556258, -0.29425290735985632, 0.48122897806422205], [-0.79649977631284585, -0.57392842383024245, -0.50328573946407951, -0.9002932502642822]]], [[[0.15110951257186622, 0.80281415753278185, 0.41833516623396627, 0.73239706274731042], [0.30887491865797179, 0.60021735335437865, -0.19086252853848484, 0.22485091970316962], [0.50892397461551675, 0.24663504303752459, 0.76920321129387537, 0.13236805457657952]], [[0.72542249651132029, 0.19461964645025742, 0.41843216150713158, -0.27659965537199671], [0.26611899619532586, -0.92028487126210456, -0.09647002601906407, 0.060919222498406311], [-0.47583468968846421, 0.072001087900416705, 0.59645481122894783, -0.24710921356050863]]], [[[-0.74416365638424242, -0.77874792408186067, 0.41060304001323855, 0.5887659324185408], [-0.6146940472420841, 0.11956317752524015, 0.076800675342375779, 0.26669320345368774], [-0.27258722294330284, 0.00070962542748786994, 0.85009407388262703, -0.052445836811541247]], [[-0.94846471850847824, -0.012847166544237565, 0.13867172194895905, -0.50999171249124653], [0.17351169703453984, -0.047719015849063684, -0.75367947687132553, 0.23830489099343088], [-0.13000624971462749, 0.14720959984068216, -0.023049583913567373, 0.95169515900465584]]]]),self.functionspace)
17081          arg1.setTaggedValue(1,numarray.array([[[[-0.38232379176539166, -0.047392979775825683, 0.71973214757751891, 0.58909318917226838], [-0.31488001512273023, -0.81418131935772542, -0.61712155580920069, -0.51894040765221972], [0.65007616830143777, -0.31244290346844505, -0.8534372608833658, -0.70624245191406754]], [[-0.72550781722850766, -0.70009477274141618, -0.69693580611189332, 0.90681359133506323], [-0.78356288325102441, 0.41830022132112066, -0.35639486650084296, -0.078223007794027799], [-0.017984408983787947, -0.089482877895976198, -0.64307128346017661, -0.73276722763994351]]], [[[0.99546982369172587, -0.25159938469968002, 0.5063085184917504, -0.46879884658015114], [-0.00010552860679213794, 0.81642299012183495, 0.41311420025220547, 0.70854408573626926], [0.23691182023228485, -0.62685048696403278, 0.37645931375363073, -0.65847370090902402]], [[-0.44724356112764974, -0.53271246711955356, -0.37538581801198445, -0.12380101797247622], [0.022127263403553865, 0.56379943467285587, 0.063902232694374339, -0.96732417034432006], [-0.35327573618934305, -0.13654085968330643, -0.3022300688214572, 0.52210806003351418]]], [[[-0.67850462804637823, -0.6031824595469728, 0.89831532714762963, -0.41740496329721521], [-0.95231422950473221, -0.16284788102220515, 0.015299389381570494, 0.099184180228980123], [0.19006093243843569, -0.8318706856506668, -0.62601164880979487, 0.30083766151275015]], [[-0.36613744209104415, 0.99523134946627212, 0.13596454712010186, -0.16438154096209412], [-0.066653406362238599, 0.38925662501114999, -0.1096159498880751, 0.17852867868671463], [0.72875814043845022, 0.97443944150322537, 0.11725849058665427, -0.38916729188624299]]]]))
17082          res=generalTensorProduct(arg0,arg1,0)
17083          s0=numarray.array(0.727835895248)
17084          sub=res.substitute({arg0:s0})
17085          ref=Data(numarray.array([[[[-0.68699438521193523, -0.63569569035305185, 0.23241497359808436, -0.68169508236465703], [-0.20596670920160515, -0.44441657486755881, -0.54004190980013145, -0.20577255829955329], [-0.39813301901114756, -0.61354769809441156, -0.29479276448199127, 0.017312112494757035]], [[-0.61215123738428734, 0.61773565364251903, -0.5813004845713946, 0.63363185194636973], [0.089893471444053297, 0.17916414245992635, -0.21416782825760677, 0.35025572406868416], [-0.57972112775754314, -0.41772570816679505, -0.36630942674842237, -0.65526574379189351]]], [[[0.10998292736324289, 0.58431696106569286, 0.30447935022964667, 0.53306487184174145], [0.22481025294109797, 0.43685973472210798, -0.13891659932811734, 0.1636545704395071], [0.37041313667748782, 0.17950983734876158, 0.55985370791976374, 0.096342221504989403]], [[0.52798853218140263, 0.14165116460698488, 0.30454994687112574, -0.20131915779298329], [0.19369095783834123, -0.66981636315830351, -0.070214347752189557, 0.044339196844943585], [-0.34632956735948822, 0.052404976270834368, 0.43412122150583649, -0.17985495567585794]]], [[[-0.54162902105549804, -0.56680069249669274, 0.29885163121961228, 0.42852497951341001], [-0.44739639217809823, 0.087022372352786412, 0.05589828829347402, 0.194108886492289], [-0.19839876544412252, 0.00051649085830642418, 0.61872898130943599, -0.038171962587762009]], [[-0.69032666750682159, -0.0093506289631261289, 0.10093025689031127, -0.37119027463015986], [0.12628804134714522, -0.034731612620859838, -0.54855497677873399, 0.17344685367819615], [-0.094623215148889314, 0.10714443088915221, -0.01677631454282669, 0.69267789805740265]]]]),self.functionspace)
17086          ref.setTaggedValue(1,numarray.array([[[[-0.27826897925419836, -0.034494311863611495, 0.5238468919708954, 0.42876316872573528], [-0.22918097770257639, -0.59259038946898024, -0.4491632200492679, -0.37770345618394879], [0.47314876993510829, -0.22740716035986025, -0.62116227281310044, -0.51402860725106336]], [[-0.52805063166197996, -0.50955410567673876, -0.50725489637188126, 0.66001148207246807], [-0.5703051926141639, 0.30445391606772132, -0.2593969767214554, -0.056933512906762539], [-0.013089698413222632, -0.065128850542791064, -0.46805036330555938, -0.53333429113776043]]], [[[0.72453867031910013, -0.18312306340675374, 0.36850951382816433, -0.34120862819192427], [-7.680750799883668e-05, 0.59422195791642729, 0.30067934378025207, 0.51570381896457884], [0.17243292677361352, -0.45624428536615191, 0.27400060165034579, -0.47926079559842566]], [[-0.32551991770727534, -0.3877272554157653, -0.27321927291617965, -0.090106824748618933], [0.016105016568715359, 0.41035346627547065, 0.046510338741460072, -0.70405325351764925], [-0.25712676171878951, -0.099379338845539664, -0.21997389271154941, 0.38000898729072291]]], [[[-0.49384002338409061, -0.43901784544230033, 0.65382614034955278, -0.30380231514241407], [-0.69312847978904735, -0.11852653327304696, 0.01113544476728409, 0.072189806611405116], [0.13833316891301073, -0.60546534522117423, -0.45563374884719393, 0.21896044869146666]], [[-0.26648797294817145, 0.72436510021772338, 0.098959877875156976, -0.11964278602840213], [-0.048512741690992962, 0.28331494414623043, -0.079782423020254109, 0.12993958067939895], [0.53041633356533402, 0.70923200327152391, 0.085344938471574247, -0.28324992429128842]]]]))
17087          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17088          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
17089          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17090       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17091       def test_generalTensorProduct_Symbol_rank1_taggedData_rank0_offset0(self):
17092          arg0=Symbol(shape=(2,))
17093          arg1=Data(0.363357642396,self.functionspace)
17094          arg1.setTaggedValue(1,-0.354225708992)
17095          res=generalTensorProduct(arg0,arg1,0)
17096          s0=numarray.array([0.97101040830607976, 0.4645088154062762])
17097          sub=res.substitute({arg0:s0})
17098          ref=Data(numarray.array([0.35282405270406575, 0.16878282803817909]),self.functionspace)
17099          ref.setTaggedValue(1,numarray.array([-0.34395685032066908, -0.16454096447024405]))
17100          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17101          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17102          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17103       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17104       def test_generalTensorProduct_Symbol_rank2_taggedData_rank1_offset1(self):
17105          arg0=Symbol(shape=(2, 3))
17106          arg1=Data(numarray.array([-0.55108445415083862, 0.71294288546312079, -0.82071588233446202]),self.functionspace)
17107          arg1.setTaggedValue(1,numarray.array([-0.040215664686230834, -0.47728968658172843, 0.036717397135321628]))
17108          res=generalTensorProduct(arg0,arg1,1)
17109          s0=numarray.array([[0.69200608286042531, -0.3796562551520406, 0.44140291267963838], [-0.87117794862889997, 0.5282176103735492, -0.21743086004379553]])
17110          sub=res.substitute({arg0:s0})
17111          ref=Data(numarray.array([-1.014293401419287, 1.0351305717281418]),self.functionspace)
17112          ref.setTaggedValue(1,numarray.array([0.16958369648270921, -0.22506131267574514]))
17113          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17114          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17115          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17116       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17117       def test_generalTensorProduct_Symbol_rank3_taggedData_rank2_offset2(self):
17118          arg0=Symbol(shape=(2, 2, 3))
17119          arg1=Data(numarray.array([[0.15814298245943426, 0.98142395353051226, 0.67900156424941005], [-0.12516556697134518, 0.40383089237577452, 0.083359923338467645]]),self.functionspace)
17120          arg1.setTaggedValue(1,numarray.array([[0.71096660585325311, 0.23226806775857178, -0.72749271916024805], [0.85320437925522263, -0.78769082412249114, -0.79678572764970168]]))
17121          res=generalTensorProduct(arg0,arg1,2)
17122          s0=numarray.array([[[0.23793370998659125, 0.24191362835018526, -0.92426800442359625], [-0.90113808206765134, 0.2475162500826773, 0.074006471903230731]], [[-0.66018383669805569, 0.15777611279342496, 0.51500027725401987], [0.10680299716902342, -0.15148688030229951, 0.67348617215975137]]])
17123          sub=res.substitute({arg0:s0})
17124          ref=Data(numarray.array([-0.13361670378177018, 0.38172642525797124]),self.functionspace)
17125          ref.setTaggedValue(1,numarray.array([-0.12503856051176798, -1.1335558200822786]))
17126          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17127          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17128          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17129       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17130       def test_generalTensorProduct_Symbol_rank4_taggedData_rank3_offset3(self):
17131          arg0=Symbol(shape=(2, 2, 4, 3))
17132          arg1=Data(numarray.array([[[-0.36510061199868704, -0.70329946518178255, -0.99928901922175317], [-0.23966160152903559, -0.94007906129141561, 0.29149473710434526], [0.60704835425197912, 0.0052234638279098355, -0.76500561586875793], [-0.77511588975672652, -0.98112756710815585, 0.21644714824974476]], [[0.17249876458884827, -0.23987052092438099, 0.03559468175775593], [-0.48868446684056743, -0.8670798136394946, 0.77290844323827557], [0.26944707598438478, -0.94555504940269386, -0.12078554454547774], [-0.16331974101896218, 0.2763217186261091, 0.41718874970512188]]]),self.functionspace)
17133          arg1.setTaggedValue(1,numarray.array([[[-0.43768975440259239, 0.15673244145311993, -0.88043900860784552], [-0.59999346829644362, -0.99857397002992965, 0.18155238201136514], [0.73436315472611557, -0.97599224317962019, -0.25013889403080047], [-0.15998695057909185, 0.42489531424848992, -0.15719471980263311]], [[0.046315724148287218, 0.84868175903614862, -0.32880771958633059], [0.45266700945423088, 0.23718632651728488, -0.332759414330559], [0.024662226358104888, -0.5787957692527117, -0.99161958817620222], [-0.033645369224803545, 0.14649993451573295, -0.1029075913532258]]]))
17134          res=generalTensorProduct(arg0,arg1,3)
17135          s0=numarray.array([[[[-0.53780694826662079, 0.52779721661353629, 0.23555444164262918], [0.33563551557834814, -0.13516869655645958, -0.058084577574881058], [0.40748951616784246, -0.759855976748258, 0.25647000642062356], [0.82110371877144916, 0.27961418358470946, 0.55030771710621185]], [[-0.77581583222442174, 0.40121727083612302, 0.30702753859141696], [-0.77938106031552268, 0.37896029097115758, 0.91034872102889031], [-0.65782432741940422, 0.97756333152953623, 0.17333138754380251], [-0.7248631213906922, 0.10446516646810666, -0.038500351621914231]]], [[[-0.76599252603266321, 0.42210458508827542, 0.045569179264311144], [-0.34549493925414132, 0.93683966957377085, -0.07364438303272336], [-0.85840211353407581, -0.8538797503262312, 0.27226842629495285], [0.77356574298250158, -0.39198958068925127, 0.79087922589406423]], [[-0.62725106772394867, -0.76103897835583534, -0.07529815032601106], [-0.27171956440490797, 0.89256684966444899, -0.13058476891643234], [0.026709197950465002, 0.91775278702854668, 0.6476145997957734], [-0.29063594996582442, -0.44941149178840623, 0.074754920455710083]]]])
17136          sub=res.substitute({arg0:s0})
17137          ref=Data(numarray.array([-1.5795895585059447, -3.3145145180530711]),self.functionspace)
17138          ref.setTaggedValue(1,numarray.array([-0.16106328480761281, -2.4145029137807197]))
17139          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17140          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17141          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17142       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17143       def test_generalTensorProduct_Symbol_rank1_taggedData_rank1_offset0(self):
17144          arg0=Symbol(shape=(2,))
17145          arg1=Data(numarray.array([0.56615354028150966, 0.75174540511110455]),self.functionspace)
17146          arg1.setTaggedValue(1,numarray.array([-0.92404779635643308, -0.98655984258257834]))
17147          res=generalTensorProduct(arg0,arg1,0)
17148          s0=numarray.array([-0.82965982076257383, 0.59652466496008416])
17149          sub=res.substitute({arg0:s0})
17150          ref=Data(numarray.array([[-0.46971484475405395, -0.6236929580635675], [0.33772455093239306, 0.4484346759191844]]),self.functionspace)
17151          ref.setTaggedValue(1,numarray.array([[0.76664532910112959, 0.81850906216861496], [-0.5512173021286253, -0.58850727955964588]]))
17152          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17153          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17154          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17155       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17156       def test_generalTensorProduct_Symbol_rank2_taggedData_rank2_offset1(self):
17157          arg0=Symbol(shape=(2, 3))
17158          arg1=Data(numarray.array([[-0.22252911117681085, -0.62190939907192311], [-0.62588365404022017, 0.35076925387805713], [0.57948410821676322, 0.13190553964243734]]),self.functionspace)
17159          arg1.setTaggedValue(1,numarray.array([[-0.0806230555964218, -0.41818850437652699], [0.75183075825482315, -0.12091813894991121], [-0.59043340624533824, -0.99231929450506762]]))
17160          res=generalTensorProduct(arg0,arg1,1)
17161          s0=numarray.array([[0.62644409384395838, 0.26259804270315668, 0.35445935188059985], [-0.59366723673319832, 0.79891498579741183, 0.71236583072370507]])
17162          sub=res.substitute({arg0:s0})
17163          ref=Data(numarray.array([[-0.098354308492298981, -0.25072499835470796], [0.04488509008767716, 0.7434070472500327]]),self.functionspace)
17164          ref.setTaggedValue(1,numarray.array([[-0.062361193950662336, -0.64546143928454902], [0.2279075422591369, -0.55523285800827948]]))
17165          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17166          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17167          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17168       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17169       def test_generalTensorProduct_Symbol_rank3_taggedData_rank3_offset2(self):
17170          arg0=Symbol(shape=(2, 2, 3))
17171          arg1=Data(numarray.array([[[-0.68511042797993826, 0.88461426286446287], [-0.36260706188793335, 0.66688054990059253], [-0.58242006898765464, 0.23873790834149422]], [[-0.31385279465390248, -0.36454605018889619], [0.64495094877017145, -0.63402630941336602], [-0.85542377281489346, 0.044327320735303877]]]),self.functionspace)
17172          arg1.setTaggedValue(1,numarray.array([[[-0.84290796235387133, 0.89984921252679162], [0.50034384639755491, 0.019545751777773956], [-0.37641007418666961, 0.51835187454003084]], [[-0.22616675265883979, 0.58844196329297649], [-0.82349371263519688, -0.066098611292759291], [0.55730405273437067, 0.91453787369920647]]]))
17173          res=generalTensorProduct(arg0,arg1,2)
17174          s0=numarray.array([[[-0.81885580916066769, 0.34618581026602491, 0.7000091135902371], [0.87869941106263494, 0.44600046950983163, 0.88760800005759632]], [[0.84860913355606016, 0.81331502284617563, -0.63644791303574699], [-0.46803389024928643, 0.63926242399450284, -0.16880169404990109]]])
17175          sub=res.substitute({arg0:s0})
17176          ref=Data(numarray.array([[-0.71963694593953575, -0.89014537967680707], [0.19795893321304497, 0.89895965307258285]]),self.functionspace)
17177          ref.setTaggedValue(1,numarray.array([[0.5285978998947447, 0.93210547106547637], [-0.58344557256899643, -0.022427536738860332]]))
17178          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17179          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17180          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17181       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17182       def test_generalTensorProduct_Symbol_rank4_taggedData_rank4_offset3(self):
17183          arg0=Symbol(shape=(2, 2, 4, 3))
17184          arg1=Data(numarray.array([[[[0.34932755635774959, -0.74424381395219852], [-0.54819955297529877, 0.63959217816188008], [-0.010273910321024982, 0.56247673691958355]], [[0.24073673367288562, 0.60191231882953367], [0.51632416596746467, -0.54846172027982121], [-0.83255202008750051, -0.49428556138934887]], [[0.85733282024950674, 0.97678795162853338], [0.32177177547802849, 0.44150861125260565], [-0.89510922530581594, -0.11022500618668296]], [[0.45158215644196642, -0.076728054320795103], [0.83360254719630578, 0.74581624954887737], [-0.69144973303714763, 0.54400223421006766]]], [[[-0.11958079621533146, -0.41206554888449887], [-0.48300873711771808, 0.69228409638818333], [0.48665261214791089, 0.59667696702594464]], [[0.90087159794983762, 0.40381245716119363], [-0.17900820678654727, -0.06792846734150082], [-0.37901740156232555, 0.34417332717469895]], [[0.58984616432424208, 0.0025128073736202516], [-0.057522073977472443, -0.44542225640177358], [-0.9717040071260048, -0.42151480864750024]], [[-0.47729057350045023, -0.5988290686489135], [-0.45221438509529799, 0.10663682085616077], [-0.63083796560409988, -0.33017190918157757]]]]),self.functionspace)
17185          arg1.setTaggedValue(1,numarray.array([[[[-0.45815459525227897, 0.04060064355699966], [-0.5130880268380924, -0.90690884973826003], [0.71844818991326154, -0.0096396319053368984]], [[0.086788012504435574, -0.19917758264625562], [0.84632245345713586, -0.030065029762226025], [0.73607845867824007, 0.30411044790082586]], [[-0.73253659802084603, -0.15031960596651084], [-0.74245391214729195, 0.43025275600296298], [-0.13510673730238243, -0.0047682348791997509]], [[-0.32613739486356796, -0.54692619763357286], [-0.98144937685579481, -0.62849319586058106], [0.36562622305234904, 0.75356016560724037]]], [[[0.13054528604012217, -0.55809697479008413], [-0.249719623622086, 0.11198803939996549], [-0.68047360552236413, 0.82892725166976144]], [[0.81959327370496071, -0.97885845309807507], [0.90211428047374254, 0.43159208421499984], [-0.50782383836067968, -0.998151071663961]], [[-0.81033945755080894, 0.060298287371805204], [0.33664923513654532, 0.37499963037950379], [0.8363055645171138, -0.93789499130129839]], [[-0.32514294725877524, 0.63360023194222115], [-0.71724675255467418, -0.22083402911426142], [0.65280483731320582, -0.74647746534758697]]]]))
17186          res=generalTensorProduct(arg0,arg1,3)
17187          s0=numarray.array([[[[0.62493138805864845, 0.17352331207873917, -0.24927644147127981], [0.32185652576798329, 0.82568239660989229, -0.75343909420944244], [0.9662902160521103, 0.76903550182249703, -0.27446928115940628], [-0.30910412594164871, 0.15103130723873992, 0.61332089752936292]], [[-0.30936266204328744, -0.29369343709938645, 0.10145037474368723], [0.65561968627401246, -0.17325803571712428, 0.5039962673274454], [0.59880610068707685, -0.53875524346089243, -0.19192422287685118], [0.28188510996907379, -0.86050788005977163, 0.73225853462137525]]], [[[-0.25586242673816262, -0.92353650239934471, -0.85386183356723211], [0.69804864781019282, -0.52495634449993767, -0.27821219104784345], [-0.95811949825113141, 0.080275165184550801, -0.53138104040206269], [0.47231483693545795, 0.31641265912120797, -0.43508479310832682]], [[-0.47536332423886996, -0.44561854739579387, 0.041228711613561897], [-0.54594004675046515, -0.076824499185028428, 0.14349037219468186], [0.059475793819251832, 0.57725401036676449, 0.8866737242306586], [-0.41859531683489259, -0.76840411755167604, -0.59739879490718417]]]])
17188          sub=res.substitute({arg0:s0})
17189          ref=Data(numarray.array([[3.1628065415254367, 1.6573284996617701], [0.83635727248193825, -1.4323625157000262]]),self.functionspace)
17190          ref.setTaggedValue(1,numarray.array([[-1.1817373700859699, -0.88405330085228306], [0.095995353961629282, 0.37004400299691059]]))
17191          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17192          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17193          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17194       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17195       def test_generalTensorProduct_Symbol_rank1_taggedData_rank2_offset0(self):
17196          arg0=Symbol(shape=(2,))
17197          arg1=Data(numarray.array([[-0.23298424464823353, -0.62904372007593223, -0.79684710354776112, -0.80918221755065201, 0.86469780711665467], [-0.23079237051661305, -0.80735689580739223, -0.70676775229230704, -0.82847030763543539, 0.56161385054186352], [-0.95330520243206007, -0.35878150602871806, 0.39862211333973829, -0.36782386272916545, 0.49114367147188198], [-0.097061222513623813, -0.51201676761443649, 0.40136034768912143, 0.83366790627140319, -0.71676629357597399]]),self.functionspace)
17198          arg1.setTaggedValue(1,numarray.array([[0.052561221926250568, 0.017185109654445752, 0.16615656970089598, 0.76782162394430009, 0.80794852769199133], [0.76320728242019453, -0.069800210255412942, 0.2544651649572236, 0.43968820617083093, -0.72839650091806329], [0.94055165624606185, -0.57243124514878341, -0.24667196317941409, -0.43535223287784719, 0.838355791834138], [-0.17773250019532139, -0.4446233347654398, -0.040147021816919759, -0.95764454974412883, 0.10212397304303678]]))
17199          res=generalTensorProduct(arg0,arg1,0)
17200          s0=numarray.array([0.083504074965395025, 0.51158396499375458])
17201          sub=res.substitute({arg0:s0})
17202          ref=Data(numarray.array([[[-0.019455133830862028, -0.052527713957731606, -0.06653998027061013, -0.067570012555014228, 0.072205790507881826], [-0.019272103409060482, -0.067417590751329096, -0.059017987370540551, -0.069180646675393281, 0.046897045077251932], [-0.079604869088787819, -0.029959717775619399, 0.0332865708351857, -0.030714791407397402, 0.041012497961367377], [-0.0081050076010105304, -0.042755486546415152, 0.033515224561569405, 0.06961466734153117, -0.059852906311436471]], [[-0.11919100365821826, -0.32180868047086686, -0.40765420072675257, -0.41396464725700144, 0.44236553268614304], [-0.11806967599919661, -0.4130308419221953, -0.36157104904742221, -0.42383212485973165, 0.28731264045561644], [-0.48769565530936715, -0.18354686542060225, 0.20392868127653316, -0.18817279011430496, 0.25126122683317537], [-0.04965496506066075, -0.26193956811947927, 0.20532951806207267, 0.42649113297836622, -0.36668614244147429]]]),self.functionspace)
17203          ref.setTaggedValue(1,numarray.array([[[0.0043890762160023918, 0.0014350266848733718, 0.013874750652296501, 0.064116234445896189, 0.067466994424572588], [0.063730918125351338, -0.0058286019897683368, 0.021248878210669609, 0.036715756929489127, -0.060824076017193383], [0.078539896011997595, -0.047800341607438429, -0.020598114105194954, -0.036353685490583862, 0.070006124888990967], [-0.014841388020097202, -0.037127860277617213, -0.0033524399194374173, -0.079967222272035704, 0.0085277679007497234]], [[0.026889478317947937, 0.0087916265358738092, 0.085003036737345508, 0.39280523078536861, 0.41333351130753526], [0.39044460765263139, -0.035708668319861886, 0.13018029804160627, 0.22493743587386511, -0.3726359700272398], [0.48117114558380319, -0.29284664607952654, -0.1261934209761181, -0.22271922146453346, 0.42888938006198707], [-0.090925097158175774, -0.22746216852804918, -0.020538572603790578, -0.48991559581276029, 0.052244987050272064]]]))
17204          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17205          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17206          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17207       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17208       def test_generalTensorProduct_Symbol_rank2_taggedData_rank3_offset1(self):
17209          arg0=Symbol(shape=(2, 3))
17210          arg1=Data(numarray.array([[[0.02481087041232799, -0.68134580421745472, -0.85402651508985072, 0.58190795716363941, 0.82109679443344863], [0.11141292556583537, -0.055411836391080049, 0.48537099380271886, -0.13885020730308861, 0.44734988461600733], [0.9797241013591893, -0.79781119043448889, 0.92461518184500568, 0.75091465809136615, 0.95205276730783384], [0.18082181892302929, -0.366853287679757, 0.56144803732337611, 0.88407887606157587, 0.70391653730603432]], [[0.057545924469279974, -0.81438196960055254, 0.75984057537050842, 0.29396183697228495, -0.19857104972233497], [0.54654878846180877, -0.044207857496574743, -0.90175833254050031, -0.94920930397933678, 0.54227073045811203], [-0.30689091060060014, -0.041394150877339886, 0.86891804451317478, 0.93762315337986202, 0.38746692741885025], [0.25256128559004876, -0.24410999682127699, 0.55735348587034528, 0.13029734864664544, -0.85837239261892373]], [[-0.84358563091087269, 0.92198846333735474, -0.87216015328120178, -0.0049659222308380269, 0.23631603068963747], [-0.70920392461490622, -0.17344351922870294, 0.14310338195314931, 0.18960962890592237, -0.26497519306866879], [0.73429152187103752, -0.41180790613027085, 0.37283988422024295, 0.51769466407775355, -0.2946268762605242], [-0.44293967816095248, -0.41224486670574856, -0.0051708370991814245, 0.98355632355129186, 0.30145938032746855]]]),self.functionspace)
17211          arg1.setTaggedValue(1,numarray.array([[[-0.16174908496583451, 0.80220858650460602, 0.85441040790978118, -0.84461957444753177, 0.63276963609075443], [0.53106075511124251, 0.7896185214688487, 0.750700071981242, -0.64368352551345609, -0.44116882653564615], [0.92685259519578778, 0.77717823754290949, -0.80267913291766835, -0.39339442481714593, -0.068131332104359066], [0.50434289450602243, -0.3337289950019533, -0.24656523015635146, 0.058770138194863097, -0.43916126934244804]], [[0.48035369585330789, 0.56795700367103086, 0.13102455981567407, 0.30999847209392195, -0.69020973614369208], [0.79188162650155136, -0.67962979040532634, -0.55528124820000402, 0.61899500721642076, -0.43875739823597026], [0.91497757608030428, -0.61087986591892918, -0.24509093340712962, -0.897735064831509, -0.804222050658145], [0.88271163483519199, -0.61325650409760701, 0.73054108832169318, 0.83006137917673306, 0.043143058402431267]], [[-0.43689924550007975, -0.65262618875978617, -0.83277307660194277, 0.24519270343801614, -0.73973180361634583], [0.30401281884499487, 0.91534284483358075, -0.96296047113040806, 0.53961842974989005, 0.039942280519574824], [0.13330500695419767, 0.60527568776917495, -0.93970850767631742, 0.45151050829829908, 0.4322543195268187], [0.44516553747012977, -0.81425265414017201, -0.22766145679809702, -0.56800009855324962, -0.99936019064194404]]]))
17212          res=generalTensorProduct(arg0,arg1,1)
17213          s0=numarray.array([[0.63159154774570192, 0.69403078468270163, -0.22127949369185029], [0.21515325220870274, -0.22193729721133804, -0.7463990005418335]])
17214          sub=res.substitute({arg0:s0})
17215          ref=Data(numarray.array([[[0.24227718045302415, -1.1995555487860747, 0.18094797941295346, 0.57264556844811898, 0.32849148216892571], [0.60662143198359131, -0.02729976741810259, -0.35095766982470372, -0.78843381808767155, 0.71752856314192581], [0.24331006586325249, -0.44149497462322679, 1.1045331852207148, 1.0104554708516573, 0.93541734252157371], [0.38750430741780928, -0.30989995302230727, 0.7425705122313625, 0.43116627149147058, -0.21785590896588755]], [[0.62221802430042861, -0.65402329997144926, 0.29859592091821652, 0.063664853278836558, 0.044345918661531702], [0.43202039288114225, 0.12734740500065853, 0.19775073364227977, 0.039266436233428903, 0.17367590155046425], [-0.26917309211878243, 0.14490824324645754, -0.27219867582604329, -0.43293859749783048, 0.33875309250407215], [0.31346136638716293, 0.28294659147670009, 0.00095935257372901841, -0.57283085287406155, 0.11694580092317233]]]),self.functionspace)
17216          ref.setTaggedValue(1,numarray.array([[[0.32789774137689365, 1.045260600307985, 0.81484907475403545, -0.37256221871754974, 0.084312628025581343], [0.817731908254544, -0.17551421388479838, 0.30183694544460604, -0.096349976486213615, -0.59198805096212426], [1.1909172057805046, -0.067045324500124459, -0.46912778593727433, -0.97143038179977714, -0.69683505134218215], [0.83266175316837399, -0.45622189018615145, 0.40166630132956632, 0.73889364709334016, -0.026290018136272464]], [[0.18469191754339934, 0.5336664790269442, 0.77633093336279557, -0.43353446014397184, 0.84146080734077333], [-0.28840348345228894, -0.36248679285178675, 1.0035059145507481, -0.6786393394355803, -0.027355154965443575], [-0.10315102402762945, -0.14898771668712663, 0.5830932843343456, -0.2224061881276162, -0.1588060014734434], [-0.41966673271437566, 0.67205897962444416, -0.045257341977674892, 0.25237771321918834, 0.64185941835804694]]]))
17217          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17218          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17219          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17220       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17221       def test_generalTensorProduct_Symbol_rank3_taggedData_rank4_offset2(self):
17222          arg0=Symbol(shape=(2, 2, 3))
17223          arg1=Data(numarray.array([[[[0.49525303017452438, -0.72252067135385656, -0.75095045535043803, -0.96844393670492068, -0.69466924001935948], [-0.99530790860740082, 0.66187525664595026, -0.49504656706145611, -0.073374708225051766, 0.0375301262329093], [0.79275110020525141, 0.30869146647175927, 0.4653951051867653, 0.57319645947711484, 0.46294885093814608], [-0.26795299063665179, -0.98272576036504078, -0.30468776701833367, 0.94313731509948751, -0.89348816247694263]], [[-0.92123077624021565, -0.21062184129868, -0.43560859641117, -0.20089824000459555, 0.61741780913852917], [0.90938483221151611, -0.17426274357134064, -0.86432819150694118, 0.57681673767815655, 0.96991602061244153], [0.033258624055275465, -0.56971083196212846, -0.22067726093817353, -0.96822186845868208, 0.0041068334591567446], [0.92165812550792769, -0.39616524258061414, -0.72571258351599455, -0.94807535871578796, -0.049208825657581112]], [[-0.45830872978692438, -0.7629183693331083, 0.81507538938468316, 0.29255150755387227, -0.15897434426637802], [0.20682766192322299, -0.11431402391520584, -0.17713715377949235, 0.1604238489140497, -0.78001798654820109], [0.97659847377248954, 0.95595193664312261, 0.26953314946967377, 0.75287562607651437, 0.32374130717399408], [0.27025639041943816, 0.42820310111724025, 0.41052301542183334, 0.44387605997638779, 0.14491533418496161]]], [[[0.22195086258567454, -0.62627758131156819, 0.62203104399283982, 0.68365085969144279, -0.57752792529940766], [0.28231384040369689, -0.42100027107755089, -0.35584905086965479, 0.27222925038196011, 0.30555568042403003], [0.82224210261114794, -0.90073685289988514, 0.39182316666311245, -0.37159535489084461, -0.19196804273720169], [-0.77364694236546527, -0.6889408212832806, 0.89514448012370695, -0.75523905434077832, -0.042091403912800862]], [[0.75286188342006199, 0.43681763776796667, -0.26926979596892742, 0.089099505011855928, 0.50189201932808336], [-0.52656955864311472, 0.43219600714830375, -0.84312042806482279, 0.93344399762780017, -0.71312845373246914], [-0.93768387266673159, 0.76265021219977114, 0.7417560658230431, 0.0036000913732225914, -0.61971026795082573], [-0.19142043873982173, 0.36185705910037624, -0.28251341169327371, 0.068751588400508545, 0.81711972443528325]], [[0.055568625844194752, -0.74782084026103934, 0.70147035585515671, 0.58829585144601526, 0.61130551658966792], [-0.73323758007244, -0.66590177734916001, 0.48736525604216463, 0.6600996248470552, 0.39802305888059464], [0.45701505150362065, 0.17032380753266052, 0.84444536056339903, 0.52396318114128726, -0.54828108683957311], [-0.83898192418872775, -0.92964687326264506, -0.95306146574096595, 0.70870456850412356, 0.90782611660239687]]]]),self.functionspace)
17224          arg1.setTaggedValue(1,numarray.array([[[[0.85782802051811746, 0.71668841808922057, 0.51579272308283497, 0.61780642258045826, -0.55894189879695144], [-0.93862053619730634, 0.37739489916269009, -0.93902944548930889, -0.13178895080183617, -0.91747602790497029], [-0.66079995974613714, -0.94720221961453577, 0.68478394066358805, 0.39479057097783632, -0.13071749535800503], [-0.26715812139617312, -0.73588716947805555, 0.75579255118211619, 0.4052889839316669, 0.46336103923704686]], [[-0.67234299226121985, -0.17843115521793873, -0.9679593903642405, 0.70703076268189791, -0.98780993040308518], [-0.37696782163336517, 0.95782797355043936, -0.4506263333572067, -0.38149198377259164, 0.41721164105183051], [-0.15759811541513624, -0.48163390222838598, -0.80758125277032344, -0.19782844926561549, 0.54948096580900407], [-0.98576737050544039, -0.35754639155094159, -0.56148941837813826, -0.95569540655423868, -0.14382751572534458]], [[-0.90345957045831615, 0.30804927053578557, 0.51802911218669245, 0.17029819069157992, 0.21593736141123787], [0.012970539888272903, -0.86420455471101287, -0.17733141163599297, 0.087641288032835662, -0.50020201454750191], [-0.83551576539434991, 0.0085811905321793169, 0.77761913969803076, -0.5995245434845129, -0.5751334558190333], [0.51916808994031172, -0.21781999673497476, -0.30594453944221023, -0.99245928836504538, -0.66560706205159303]]], [[[0.35351965181670009, -0.98029303694812331, -0.10876461349671529, -0.72368114885359591, 0.74871114493681845], [-0.80536646090872499, 0.6925175429434538, -0.36194540300838041, -0.30808172933560263, -0.73571225278514829], [-0.073595890975787226, -0.18209460613663064, 0.79591551140844863, 0.64959352771251777, 0.91497138400339684], [-0.58068192481766867, -0.55242569224477966, 0.78042584637022938, -0.15130503208211077, -0.2353984398818012]], [[0.015127859558093926, -0.24977012187443082, -0.85785424685122735, -0.42450436736760699, -0.51481529935742332], [-0.35886370313341809, 0.76372579430133802, 0.80844024130859449, 0.22356301669460876, 0.0050601121116178316], [-0.3658337798757183, -0.66096412965911266, 0.29441275812045653, -0.011316848605614549, 0.19309299044382766], [-0.074265146364622669, 0.98813398338080516, -0.44587687621194205, 0.10362184214907577, 0.60583843642841018]], [[0.83100858421474344, -0.54482957720040193, 0.67856991158795665, 0.64968982151909893, 0.58608964154879173], [-0.62389573405162069, -0.47504073832295513, 0.69267341151352468, -0.73483711442783339, 0.99945327212297896], [0.26529231017322319, -0.43872831022788139, -0.36160275704042255, 0.79254197879426558, -0.15969695021457975], [-0.94070846860745694, 0.63932716245513066, -0.60259006496458523, 0.62687035340762431, -0.83575149514064262]]]]))
17225          res=generalTensorProduct(arg0,arg1,2)
17226          s0=numarray.array([[[-0.3893265660982439, -0.61475543860190007, -0.74591976266188742], [0.10225570341250068, 0.47401286492223083, -0.64748812440509784]], [[-0.4857713037071627, 0.33407886034122125, -0.33088702206502929], [0.45090826302193032, 0.5282805582575314, 0.69026909549022775]]])
17227          sub=res.substitute({arg0:s0})
17228          ref=Data(numarray.array([[[1.0589599417658322, 1.6070751418933766, -0.56604797567915066, 0.013551220635456274, -0.207490973775939], [-0.071796220884501327, 0.52769271964282061, 0.10461460006263557, -0.40280303364525655, -0.59354424667448558], [-1.7138561782234807, -0.3238945090884956, -0.40167850604481992, -0.56507695036442018, -0.38262299784176396], [-0.29047744042033941, 1.0097529109187129, 0.83325618712356264, -0.61896600975929206, 0.065229405589933509]], [[0.13946405190301001, -0.034773794735462049, 0.57199693742471514, 1.0679407246633632, 1.0230121562766452], [0.061851621402662982, -0.76307564869758915, -0.2591082089715212, 1.246780541966559, 0.5996839094776627], [-0.50626952820366911, -0.54228104048914572, 0.76244193126395732, -0.65499959029430022, -1.1230394105830417], [-0.68044475158823547, -0.55785087410778589, -0.63376057315219325, -0.73678034732634079, 1.4089740924898853]]]),self.functionspace)
17229          ref.setTaggedValue(1,numarray.array([[[0.25851163309635772, -0.26497848048030165, -0.84928337316531932, -1.4980957458674424, 0.11684533883800724], [0.7390036993804503, 0.64928039712589436, 0.67259138823947473, 0.77072677976021131, -0.24614110626499802], [0.62466986117653245, 0.61060282673219879, 0.10489472934895755, -0.036990345127395741, 0.43059027515873849], [0.83727675627035592, 0.66672305110105712, 0.53776016261459925, 0.79777935167048231, 1.2087529949309708]], [[0.39863546033635022, -1.4597361993815838, -0.7791759280800441, -0.22236846963142759, 0.34025334349504388], [-0.65765689543809569, 0.81043396779817978, 1.1062956270345057, -0.62047643401707342, 1.1114016017806498], [0.50148399680156153, -0.43774250847285423, -0.59493408465743203, 0.77450251061196251, 0.84171454034584658], [-1.3217413688189965, 1.0243244339412303, -0.75308792170188354, 0.23146245534215659, -0.41588035286905511]]]))
17230          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17231          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17232          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17233       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17234       def test_generalTensorProduct_Symbol_rank1_taggedData_rank3_offset0(self):
17235          arg0=Symbol(shape=(2,))
17236          arg1=Data(numarray.array([[[-0.48938767041804687, -0.17946858197962912], [-0.87490456944922124, -0.65741406313135586]], [[-0.44585118815096836, -0.057276939847211494], [0.35084658697862192, 0.30038348583731045]], [[-0.13488388654510763, 0.71934667088244386], [0.89713758879513916, -0.06869414472947688]], [[-0.86210103041803543, 0.069238859297329425], [0.31120179009040094, 0.67072421447610209]], [[0.50858025936959739, 0.16359134037891043], [-0.92818541713598801, 0.22174540585464042]], [[0.78969663544121049, 0.96885468345121395], [-0.58454506174656329, 0.56730621124916514]]]),self.functionspace)
17237          arg1.setTaggedValue(1,numarray.array([[[-0.027128178836059336, -0.8466632278144528], [-0.82444364026575334, -0.78484978039149134]], [[-0.20694437633631391, -0.25922875302662884], [0.15360299181084058, -0.23262907299653435]], [[0.66268962529174291, 0.4699109016855878], [-0.95006416238010827, -0.41887342355179213]], [[-0.43574358017636561, -0.15674162932145141], [0.85759270685276845, 0.39560550568810693]], [[-0.39825098413245064, -0.021778642704622042], [0.4619331010879939, -0.1122359682222891]], [[-0.84142180679198453, -0.8095654460980477], [0.49359900947042679, 0.98789655480278227]]]))
17238          res=generalTensorProduct(arg0,arg1,0)
17239          s0=numarray.array([-0.57577157070941287, 0.89544705286965876])
17240          sub=res.substitute({arg0:s0})
17241          ref=Data(numarray.array([[[[0.28177550768241932, 0.10333290733940209], [0.50374517817262066, 0.37852032773559791]], [[0.25670843890434103, 0.032978433621257519], [-0.20200749046271779, -0.1729522714557169]], [[0.077662307219466861, -0.4141793625785718], [-0.51654631864303269, 0.03955213560943064]], [[0.49637326439399559, -0.039865766771751396], [-0.17918114348793115, -0.38618393448174243]], [[-0.29282605476903367, -0.094191243004423456], [0.53442277553395945, -0.12767470062652256]], [[-0.45468487217192438, -0.55783898287987643], [0.33656442835224948, -0.32663878832413779]]], [[[-0.43822074718658793, -0.16070461281635565], [-0.78343071825550281, -0.58867948534604042]], [[-0.39923613244822032, -0.051288466983578258], [0.3141645423193854, 0.26897750712373453]], [[-0.12078137868642205, 0.64413685643328478], [0.80333920990519914, -0.061511969447411871]], [[-0.77196582696372584, 0.061999732501850605], [0.2786647257842117, 0.60059802114094252]], [[0.45540669440019266, 0.14648738361729255], [-0.83114089629101529, 0.19856127015992414]], [[0.70713152486691722, 0.86755807095535564], [-0.52342915281047275, 0.50799267493771694]]]]),self.functionspace)
17242          ref.setTaggedValue(1,numarray.array([[[[0.015619634138923736, 0.48748461654062897], [0.47469120971719897, 0.45189419082694671]], [[0.11915268861263931, 0.14925654630318455], [-0.08844023586059277, 0.13394120675188925]], [[-0.38155784644705909, -0.27056133795698739], [0.54701993504831758, 0.24117540900684453]], [[0.25088876558468903, 0.09024737410996464], [-0.49377749985355557, -0.2277784033913329]], [[0.22930159467051056, 0.012539523317959329], [-0.26596794717610422, 0.064622279713439146]], [[0.48446675532577305, 0.46612476849193946], [-0.284200276983398, -0.56880275105721556]]], [[[-0.024291847788470381, -0.75814209211956429], [-0.738245627933102, -0.70279142279695983]], [[-0.18530773189830183, -0.23212562291677144], [0.13754334632897952, -0.2083070178265474]], [[0.59340347193478971, 0.42078033202568355], [-0.85073215424034887, -0.37507897264487655]], [[-0.39018530467580043, -0.14035383003788215], [0.7679288619138247, 0.35424378416742636]], [[-0.35661267004384417, -0.019501621425355102], [0.41363663399218631, -0.10050136697062144]], [[-0.75344867711214591, -0.72492299281360739], [0.44199177832967645, 0.88460905853824068]]]]))
17243          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17244          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
17245          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17246       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17247       def test_generalTensorProduct_Symbol_rank2_taggedData_rank4_offset1(self):
17248          arg0=Symbol(shape=(2, 3))
17249          arg1=Data(numarray.array([[[[-0.79412473195678968, 0.078872739876912012], [0.14117394911957137, 0.35030172814355365]], [[-0.25200338921931276, -0.36341265289108771], [0.76045730076854778, 0.039422275079277203]], [[0.91748185572883889, 0.96293458406186105], [0.47102786084695669, -0.13532591079822431]], [[0.21088255840178638, 0.61718786785299495], [0.44668833934965058, 0.85669855767971237]], [[-0.51690330184871636, 0.66784287119072183], [0.47994360090736077, 0.017872538534659865]], [[0.21021269812291443, 0.53001029897497109], [0.67818705460357398, 0.7386705602995014]]], [[[-0.4348693150236953, -0.89665441145061453], [0.03680706197322503, 0.89963230828883245]], [[-0.63514990637761226, -0.73443340265484958], [0.98729892653933238, -0.42012150703872142]], [[0.59528300259904277, -0.39520336898366915], [-0.95457824551701553, 0.65904699083903706]], [[0.7772086971749288, 0.42980346183676432], [-0.033697323425560644, 0.30070444978931254]], [[-0.51625321429876969, 0.12464939571463174], [0.82618315361111239, -0.43234683257975237]], [[0.32914788025082165, 0.18699526780010078], [0.19940193458618549, -0.3699909883731709]]], [[[-0.64109459555283599, 0.80614245400495887], [-0.52584653946633853, -0.85808963384420855]], [[0.62555197509288818, -0.8724782084610152], [0.50983746797752461, -0.58251076099132737]], [[-0.31204161316464596, 0.41733410914284175], [0.75396091484277927, 0.3292927152165428]], [[0.25182592840146745, -0.35674033234050695], [-0.49407691159411149, 0.44630036598976153]], [[-0.09779198656534227, -0.28457633059430343], [0.37303106717386258, -0.77082995491430584]], [[0.27092814019890032, -0.058268848979110555], [0.13294234415524531, -0.79394137806681497]]]]),self.functionspace)
17250          arg1.setTaggedValue(1,numarray.array([[[[-0.18757426106239694, -0.20957632807740678], [0.41259263866108342, 0.48080263722904504]], [[-0.043273824886633117, -0.52973034975840472], [-0.11951874141908569, -0.77180655449488711]], [[-0.80384260512604233, 0.63062538636276932], [0.83067944871530908, 0.99471428178686194]], [[-0.77892223795746385, -0.23458646594236021], [0.011880572557519731, -0.52299568314230283]], [[-0.50758804175202732, -0.90329623799437986], [0.1358789829747824, 0.91841351530836213]], [[0.082980586056692118, -0.55989170071407623], [-0.64510151934509508, -0.60760187097822249]]], [[[0.02077070479234755, 0.80728811819445201], [-0.0015691508614950056, 0.075931510652821332]], [[-0.48702371723274562, 0.36728600133298772], [-0.46978445406324498, -0.029625286278367913]], [[-0.79457577695954851, -0.19875550673676989], [0.269677449127258, -0.61783090948341823]], [[0.54960640372695346, -0.53198578193862889], [-0.42319854782643462, -0.68387286709915496]], [[0.89342895975519454, 0.5874303704502748], [0.26583738910986177, 0.65296055959206267]], [[0.10345829937163242, -0.68545995586490394], [-0.31362066119921805, -0.81991939399693425]]], [[[-0.70500933383342423, 0.22846759035347453], [-0.69865586742726848, 0.074886817165394026]], [[-0.46782382275200329, -0.61477034782693729], [-0.92488599246656111, 0.35824215296214135]], [[-0.12042793780080907, -0.68906253231698855], [-0.83719396219928366, -0.37349323191521777]], [[-0.99630471598125059, 0.70281240177048332], [0.51713683902730745, 0.20116638531933706]], [[0.99127990749181416, -0.74915482906575592], [-0.39750856467171092, 0.64628329886312885]], [[0.62618531630120078, 0.88691249921889037], [-0.33105486130409378, -0.2965959453555147]]]]))
17251          res=generalTensorProduct(arg0,arg1,1)
17252          s0=numarray.array([[-0.4261279881465212, -0.30651338408481799, -0.78842419830608956], [0.89994041854893037, 0.58524791770562867, 0.19929691944017724]])
17253          sub=res.substitute({arg0:s0})
17254          ref=Data(numarray.array([[[[0.97714653228581327, -0.39435552197440721], [0.34315010827012432, 0.25151591773467774]], [[-0.19113267000231354, 1.0678569023215441], [-1.0286406716813006, 0.5712395098208185]], [[-0.32740574625999619, -0.61823456542081368], [-0.50256817613554861, -0.40396291032308457]], [[-0.52663348397079812, -0.11347882748658211], [0.20952447018732809, -0.80910717960555978]], [[0.45560705245100797, -0.098426381897415594], [-0.75186031544547727, 0.73264509109715714]], [[-0.40407204650887107, -0.23722820419782248], [-0.45492880803983871, 0.42460158466801756]]], [[[-1.0969394827123677, -0.29312265295297601], [0.043789803821645559, 0.67074399834197029]], [[-0.47383761412246883, -0.93075757377095814], [1.363789939235484, -0.32649013864909143]], [[1.1118782107314473, 0.71846520617740883], [0.015494167469355558, 0.3295476459911863]], [[0.69482964128267966, 0.73587663990605512], [0.28380359626096552, 1.0359105997393403]], [[-0.78680793416065853, 0.61725440627651662], [0.9897865579180567, -0.39056989911114232]], [[0.4358071587983478, 0.57480347929473297], [0.75352250843074198, 0.28999296682565506]]]]),self.functionspace)
17255          ref.setTaggedValue(1,numarray.array([[[[0.62941056230478809, -0.33826765075584764], [0.37550088687217409, -0.28720006357414379]], [[0.53656309803866054, 0.59785467163495587], [0.92412800076706358, 0.055522138808244914]], [[0.68103624273077212, 0.33546767043527631], [0.22342846865459565, 0.059968949125022125]], [[0.94896959442845852, -0.29108968334003305], [-0.28306982317255364, 0.27387483897356169]], [[-0.83909952921608766, 0.79551633334925853], [0.17402081602232233, -1.1010482461441833]], [[-0.56077135963943603, -0.25057510143229877], [0.63203640639089376, 0.74407585144254407]]], [[[-0.29715583569007309, 0.3293903687032369], [0.23115048752554757, 0.49205719705288559]], [[-0.41720932717961073, -0.38429422168216704], [-0.56682704882007973, -0.64052149329781294]], [[-1.2124351864477354, 0.31387598770824654], [0.7385399986705099, 0.45916328326606326]], [[-0.57788806222441491, -0.38238906685745577], [-0.13392048250427832, -0.83080828454246669]], [[0.26363747543594457, -0.61842464300780464], [0.19864153484501779, 1.3374635217618156]], [[0.26002314216141081, -0.72827425441591198], [-0.83007698426588161, -1.0857722583302225]]]]))
17256          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17257          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
17258          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17259       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17260       def test_generalTensorProduct_Symbol_rank2_taggedData_rank0_offset0(self):
17261          arg0=Symbol(shape=(4, 5))
17262          arg1=Data(0.534603257087,self.functionspace)
17263          arg1.setTaggedValue(1,-0.981117351887)
17264          res=generalTensorProduct(arg0,arg1,0)
17265          s0=numarray.array([[-0.57186484566737983, 0.9727812008214678, -0.5572419712245178, -0.91272257242384125, -0.67323119467258663], [-0.7637546905646635, 0.93063887136043233, -0.75952665408943676, -0.98819953256794668, 0.98659845572265503], [-0.08433762128919442, -0.56035891207066579, -0.25253982630212679, 0.86342593947330748, 0.60083346105569357], [0.7182742556331001, -0.95065323078659647, 0.8893530179391631, -0.014976934734816982, -0.4065612085688759]])
17266          sub=res.substitute({arg0:s0})
17267          ref=Data(numarray.array([[-0.30572080910761196, 0.52005199839262939, -0.29790337280247658, -0.48794446003505143, -0.35991158944486201], [-0.40830574519171164, 0.49752257180150605, -0.40604542312097075, -0.52829468876315233, 0.52743874786681211], [-0.045087167036213967, -0.29956969953097629, -0.13500861368542413, 0.46159031949624996, 0.32120752524751905], [0.38399175654354256, -0.50822231353925296, 0.4754510200908591, -0.0080067180904198135, -0.21734894630634446]]),self.functionspace)
17268          ref.setTaggedValue(1,numarray.array([[0.56106652301852444, -0.95441251571554508, 0.54671976716816562, 0.89548795326409236, 0.66051880692498], [0.74933297949818034, -0.91306594503237881, 0.74518477954792373, 0.96953970852916782, -0.96796886425454742], [0.082745103663714431, 0.54977785191712714, 0.24777120562757951, -0.84712217128671252, -0.58948813423614377], [-0.70471133561544974, 0.93270238035229425, -0.8725596778533028, 0.014694130546410078, 0.39888425633112845]]))
17269          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17270          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17271          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17272       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17273       def test_generalTensorProduct_Symbol_rank3_taggedData_rank1_offset1(self):
17274          arg0=Symbol(shape=(4, 5, 3))
17275          arg1=Data(numarray.array([0.77000447834650387, -0.30459229698740642, -0.33042213174562263]),self.functionspace)
17276          arg1.setTaggedValue(1,numarray.array([0.47725553244593666, -0.19804999504718968, -0.27627135670469816]))
17277          res=generalTensorProduct(arg0,arg1,1)
17278          s0=numarray.array([[[0.8671101855281016, -0.070877228936592429, 0.60040671934273071], [0.25215256888677295, 0.59476713639706191, -0.56655117243373887], [0.97178772493884891, -0.47045287774625222, 0.39419023583537993], [-0.88038969536301304, -0.18598390712099566, 0.48801709450679431], [-0.0064999202971329773, -0.9958568560976726, 0.85116384168065351]], [[0.47639005985199456, -0.14342463168480113, 0.23192726068880321], [-0.31385320396188465, 0.6576930299019077, -0.57054441268631018], [0.54953839231690127, -0.7664786464036768, 0.96386427250940176], [-0.55900143583437933, 0.53866177913516533, 0.92531496881963338], [-0.68690296982403343, 0.40852142389633816, 0.68052013438293901]], [[-0.83798891884883053, -0.06182415902392413, 0.73583746087591639], [-0.58398683974005561, 0.20113429654599724, -0.753940277413919], [-0.4270252447720555, -0.93313952361173569, -0.96946021546492633], [0.8571508865889812, 0.383323961773266, -0.80799214039312384], [-0.97098007392855123, -0.33838722330006155, -0.33670498158875373]], [[0.3945722656559485, -0.61202307948727874, -0.72952487905698393], [0.97234512779090809, 0.19280079958938057, -0.23011399651129594], [-0.16839442682929895, 0.69647226132384854, -0.065505934555669665], [0.5696845567258102, 0.22299463722326496, -0.87844657522035252], [-0.015529859502507293, 0.78752345069168084, -0.22109491952562199]]])
17279          sub=res.substitute({arg0:s0})
17280          ref=Data(numarray.array([[0.49087971592278412, 0.20019816516012517, 0.76132804482410465, -0.78250639134219768, 0.017081988498844236], [0.33387461764852405, -0.25347610218911409, 0.33812842697124568, -0.90025038213421849, -0.87820975532579904], [-0.8695610401528393, -0.26181788561116315, 0.2757468711016296, 0.81023098074776434, -0.53333408590812115], [0.73129109287621918, 0.76601922176123205, -0.3201599381139234, 0.66099540116495947, -0.17877698351486729]]),self.functionspace)
17281          ref.setTaggedValue(1,numarray.array([[0.26199518919592657, 0.15906944115490468, 0.44806078694371176, -0.51816188573069755, -0.041024866823507478], [0.19169018029413532, -0.1224192003282043, 0.14778323990335224, -0.62910651240197524, -0.59674412937224286], [-0.59098138689083823, -0.11025349326085498, 0.24884220646582161, 0.55638777886800772, -0.30336608220580075], [0.51106979268215436, 0.48944680029420701, -0.20020608633113457, 0.47041064677750893, -0.10229853349685317]]))
17282          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17283          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17284          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17285       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17286       def test_generalTensorProduct_Symbol_rank4_taggedData_rank2_offset2(self):
17287          arg0=Symbol(shape=(4, 5, 2, 3))
17288          arg1=Data(numarray.array([[-0.83366785662866527, -0.8212715491846847, 0.72712171256208302], [-0.94070455409205733, 0.68289289969514422, 0.19256860284029953]]),self.functionspace)
17289          arg1.setTaggedValue(1,numarray.array([[-0.58677121731508031, -0.611485698544181, 0.52884730670453295], [0.33807509347654929, -0.016520163711764679, 0.83516212814968682]]))
17290          res=generalTensorProduct(arg0,arg1,2)
17291          s0=numarray.array([[[[-0.38877225820887462, -0.046865346339239444, 0.70324292436831892], [-0.62475974967659198, 0.40707326194201277, -0.33982211968722509]], [[0.99840132864776709, -0.71815861333499509, -0.9944258981363201], [-0.59222566286017431, 0.90611774958207492, -0.51798741567420103]], [[-0.7698853017615761, -0.43838184858452478, 0.63618499594256361], [0.56344947067266138, 0.9476531959526191, -0.40999809733775927]], [[0.16180623882821799, 0.26495916036166856, 0.12946713393457943], [-0.31567990142785285, -0.50539161073833938, -0.4454026196193337]], [[0.28748581058530531, 0.81406087206205768, -0.11238863877523686], [-0.10623460031761423, 0.19092160239523515, -0.76057401501120436]]], [[[-0.31516183298405598, 0.26525864558622336, 0.45173474279243542], [0.14084219780601703, -0.67591014703808572, 0.73120574845941455]], [[0.12874600437028105, 0.74469373309718256, -0.29328227245217708], [-0.39815920007741878, -0.11244821862939336, 0.1247949351276223]], [[0.91453844037574283, 0.42817273894237506, 0.91891133476994225], [-0.69399341722872099, 0.19822157745209368, 0.9819020505968139]], [[-0.88286373062973511, -0.4983467344703314, 0.23470934722940862], [-0.99060581070092013, 0.10377836720397826, 0.98466703671658418]], [[0.027635286963112682, -0.16870607028613338, 0.41758918807197531], [0.81354566826410801, -0.44653130296961718, -0.75871730396927584]]], [[[-0.43507530803394179, 0.59251147589059516, -0.24715130859281276], [-0.5086954385435829, 0.99530835927973649, -0.99705234347980709]], [[0.3258233422805592, 0.19598031161021812, -0.63534763371263758], [0.48848628481993051, -0.89338520432256407, -0.27590003410776287]], [[-0.93063540922278531, 0.39492215773819361, 0.46319307797043319], [-0.71243499437025726, 0.12420621922075803, 0.72195904976159775]], [[-0.075674316500414562, -0.58211033151791747, 0.77030338664199105], [0.75474721648629517, -0.94313810784168917, -0.040538030340477871]], [[-0.46644793732717016, -0.57627758387684769, -0.51555487613000328], [-0.47309694099372268, 0.92785128402896633, 0.33138586943106407]]], [[[0.51729048454564897, 0.97471079414114814, -0.25192254696553906], [-0.34953838040724228, -0.3524565618927602, -0.65147279352116971]], [[-0.051546350010283515, 0.5623722400219231, 0.21070894705007515], [-0.70961682638053802, -0.99400975846698536, -0.072087964585704656]], [[0.44664572235769273, -0.73012523645532967, -0.57103208224637325], [0.52124063719398905, -0.63454681573737082, -0.50810266533281045]], [[0.95873390557475036, -0.25926273145066259, 0.16850066162321498], [-0.3151716904323465, -0.92157817587826352, 0.7151562691110982]], [[0.80689757319146094, -0.42507749013552076, -0.32147786392489031], [-0.15860591701227467, 0.065717747622027201, 0.2258576517427846]]]])
17292          sub=res.substitute({arg0:s0})
17293          ref=Data(numarray.array([[1.6742020214903701, 0.11054212181084896, 1.5025964881024132, -0.39229509805864698, -0.90610122898190881], [-0.079900816956261167, -0.6103874205910822, 0.5313833753230347, 2.5083082342360048, -0.79719129173440639], [0.66260654954098108, -2.017293930579759, 1.6823372731402451, -0.2606005961901609, 1.6297539063935471], [-1.4522599901248068, -0.29082103989009295, -1.2094385000986883, -0.65895915014153983, -0.31976147237079411]]),self.functionspace)
17294          ref.setTaggedValue(1,numarray.array([[0.12693879438993982, -1.3203783319107216, 0.88867345130641695, -0.65885139561845285, -1.4001833505213899], [0.9310814607416491, -0.71454159938410633, 0.26966830808144238, 1.432639363366389, -0.04344898448749801], [-1.2588482015423379, -0.69754214524196179, 0.90958365426248922, 1.0446147289004191, 0.4549242975226474], [-1.6892144238120106, -0.48589151722954071, -0.35525330159163376, 0.19103346797464799, -0.24962678886196418]]))
17295          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17296          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17297          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17298       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17299       def test_generalTensorProduct_Symbol_rank2_taggedData_rank1_offset0(self):
17300          arg0=Symbol(shape=(4, 5))
17301          arg1=Data(numarray.array([0.041512455680745575, -0.49181972327797818]),self.functionspace)
17302          arg1.setTaggedValue(1,numarray.array([-0.032051080013596911, -0.88147919316825241]))
17303          res=generalTensorProduct(arg0,arg1,0)
17304          s0=numarray.array([[0.99675886761085719, 0.86004350022644682, -0.52008358146487899, 0.58783718314393685, -0.27452865335287191], [-0.265034364238663, 0.42779030177850186, 0.10466019521277459, -0.16162022726520964, -0.38932038784819811], [-0.6162248855167467, 0.88684947232669953, -0.096505574095581581, -0.94919211954284055, 0.79254031063022379], [-0.43482032502233547, 0.48052961188924037, -0.49761875963164925, 0.47040768157734014, -0.66087566638036965]])
17305          sub=res.substitute({arg0:s0})
17306          ref=Data(numarray.array([[[0.041377908316085857, -0.49022567044324267], [0.035702517686663673, -0.42298635628839482], [-0.021589946625844219, 0.25578736311747663], [0.024402565012756998, -0.28910992074635722], [-0.011396358555405861, 0.13501860632388546]], [[-0.011002227299332078, 0.1303491276790141], [0.017758625943232832, -0.21039570784170555], [0.0043447017153084855, -0.051473948247765973], [-0.0067092525214590424, 0.079488015449699342], [-0.016161645346159003, 0.19147544541797593]], [[-0.025581008249386462, 0.30307155267185015], [0.036815299415454715, -0.43617006206893832], [-0.0040061833675877389, 0.047463344746471355], [-0.039403295795035126, 0.4668314055711974], [0.032900294520241499, -0.38978695626079951]], [[-0.018050459471577088, 0.21385321192812556], [0.019947964216837963, -0.23633394074624045], [-0.020657376705116425, 0.24473872065996849], [0.019527778033361608, -0.2313557757812027], [-0.027434571811098294, 0.32503168736034282]]]),self.functionspace)
17307          ref.setTaggedValue(1,numarray.array([[[-0.031947198220057836, -0.87862220240491928], [-0.027565323040931799, -0.75811045066920801], [0.016669240483288883, 0.45844285576971661], [-0.01884081659191374, -0.51816624591201565], [0.0087989398346379078, 0.24199129585905638]], [[0.0084946376145661751, 0.23362227755095738], [-0.013711141191343533, -0.37708825005691704], [-0.0033544722910033107, -0.092255784432988333], [0.005180102835892951, 0.14246486752940657], [0.01247813890184718, 0.3431778213643808]], [[0.019750673112066845, 0.54318941489550054], [-0.028424483397559246, -0.78173935732822952], [0.0030931078770955905, 0.085067655590012253], [0.030422632571743227, 0.83669310369628647], [-0.025401772910010254, -0.6986077935676458]], [[0.013936461028829089, 0.38328506927384554], [-0.015401493039564713, -0.42357685458158106], [0.015949218681220838, 0.43864058274549272], [-0.015077074241245946, -0.41465458361694196], [0.021181778862196406, 0.58254814918549935]]]))
17308          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17309          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17310          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17311       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17312       def test_generalTensorProduct_Symbol_rank3_taggedData_rank2_offset1(self):
17313          arg0=Symbol(shape=(4, 5, 3))
17314          arg1=Data(numarray.array([[0.016065970725355205, -0.29443813429062993], [-0.12315085992541119, -0.56157249218351546], [-0.082799124550330339, -0.52262592831423049]]),self.functionspace)
17315          arg1.setTaggedValue(1,numarray.array([[-0.64307127204165138, -0.28571601050843953], [-0.31396957519294788, -0.83270438078672981], [-0.19163027934994115, 0.44925818243720905]]))
17316          res=generalTensorProduct(arg0,arg1,1)
17317          s0=numarray.array([[[0.013840411962372068, -0.49339519668540177, 0.45107171731207041], [-0.59259859610546783, -0.83523377225139939, -0.49821129851078805], [-0.83860658786483322, 0.75573684801275975, 0.058689785929783911], [0.0048224906161957737, -0.75193134037801967, -0.22280929986745468], [0.93515954147020941, -0.58589909552083297, -0.77023961104073857]], [[-0.075061395318757995, -0.99948890810131119, -0.3753168420801527], [0.6798623026432089, 0.88496430996660469, 0.056825910830342163], [0.9787130499175376, 0.16412389896589041, -0.56530367879825016], [0.0480631768208577, -0.33164913968497611, -0.52208873887202678], [-0.69231880371335763, 0.38994564522220321, -0.24518781330096662]], [[-0.17775788115294344, 0.68139261003203933, -0.92941760272324103], [0.57444648400267062, -0.46541054677072635, 0.64090954074733131], [0.16039858261023898, 0.53233742660561423, 0.35391902514097207], [0.83402729837796041, -0.10362230677600293, -0.95347993409300025], [0.79560981838597544, 0.96692583461715564, -0.30810772117203555]], [[-0.23558681240791457, -0.80721582012854731, 0.76261433545760959], [-0.33224594684834807, -0.8749846449222709, 0.91941599520236195], [-0.10159916307227213, 0.3704172208323635, -0.21788283886563153], [0.7615629001169113, 0.46155393053605764, 0.59222464350647974], [0.36966931691834026, 0.3321634858065059, 0.52121354303322875]]])
17318          sub=res.substitute({arg0:s0})
17319          ref=Data(numarray.array([[[0.023636059105435432, 0.03726025016146739], [0.13459054495236439, 0.90390607844043636], [-0.11140213449584997, -0.20815606989280422], [0.11112688413618056, 0.5372899488075813], [0.15095338874786829, 0.45622537632969012]], [[0.1529578902920225, 0.77953672723124579], [-0.1027666035926746, -0.72684769540621852], [0.042318625626113812, -0.084895551481377451], [0.08484354885368893, 0.44495051360759574], [-0.038843578874625501, 0.11300381763389417]], [[-0.0098149749399192993, 0.15542509012582606], [0.013478000558607595, -0.2427331340595503], [-0.092285038367736133, -0.53114077381046232], [0.10510793816601402, 0.31093533106448912], [-0.080784454385962573, -0.61623173745313808]], [[0.032480592217379312, 0.12411391633413849], [0.026290418287698472, 0.10868254638737296], [-0.029208980143711236, -0.064230232904142148], [-0.093641198208142096, -0.79294110458675404], [-0.078123147556148478, -0.56777833229234131]]]),self.functionspace)
17320          ref.setTaggedValue(1,numarray.array([[[0.059571709783963728, 0.60954557431783341], [0.7387934959771344, 0.64099222540828393], [0.29075868799981075, -0.36333518883690114], [0.27567936671314991, 0.52465975731548098], [-0.26981851393839984, -0.12534575753589466]], [[0.43400100614804438, 0.68511087242637703], [-0.72594134940180299, -0.90563169714041769], [-0.5725828549259081, -0.67026798097765139], [0.17326770211895176, 0.027880634469631099], [0.36976467433961363, -0.23705551180762663]], [[0.078478993279685938, -0.93415880169452192], [-0.34610295385898254, 0.51135469888330032], [-0.33810707789853939, -0.3301071323410531], [-0.32108911792159689, -0.58036686572904994], [-0.75617634281806045, -1.1709017564207747]], [[0.25880032112617113, 1.0820938040792294], [0.31218843693761505, 1.2365866922973161], [-0.0092112851562571457, -0.37730518313498151], [-0.74814128829001858, -0.33586692656310513], [-0.44189324325115309, -0.14805498320099]]]))
17321          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17322          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17323          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17324       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17325       def test_generalTensorProduct_Symbol_rank4_taggedData_rank3_offset2(self):
17326          arg0=Symbol(shape=(4, 5, 2, 3))
17327          arg1=Data(numarray.array([[[-0.20250273440407751, 0.21362420193910614], [0.093557688243805615, 0.68664266023733256], [0.32270540757636379, -0.40408852527959493]], [[0.046222372395351874, -0.22743534848221847], [0.92091907229150727, -0.65499140301338188], [0.66430762226474527, 0.92091712324457831]]]),self.functionspace)
17328          arg1.setTaggedValue(1,numarray.array([[[-0.12644889934058035, -0.59693610679182929], [-0.32390945586632092, -0.5124513765137777], [0.21700725808854759, -0.19999121974959011]], [[-0.25557526927246865, 0.57323714725296804], [-0.90759880121687964, 0.52206839132514604], [0.82721007715169614, 0.65642730758897638]]]))
17329          res=generalTensorProduct(arg0,arg1,2)
17330          s0=numarray.array([[[[-0.78616747682728527, -0.77287251896247433, 0.84378720460345757], [-0.052020391531933718, -0.3042480918289665, 0.11413094764585563]], [[-0.077758629053176875, 0.98956793042352187, 0.24625081255961812], [-0.43692794479450314, -0.94574418745957511, -0.5302761741362414]], [[0.40895644267795328, 0.65752170693815848, 0.95355876905765569], [-0.4340684994848627, 0.13641288874133362, -0.42162571612635924]], [[0.58955391452197814, -0.5043013842840276, 0.99328244654473563], [-0.55565115506324281, -0.38205342058232117, 0.3480984569486405]], [[0.62083136227537716, -0.49847807722356041, 0.6322739124910195], [-0.7582604727629243, 0.14230878401363189, -0.15384209754562339]]], [[[-0.44402928570422384, -0.32085752923597299, 0.51282177383405658], [0.98606884228941993, 0.36200655480812016, 0.99531969222567307]], [[0.089452734100162301, 0.10305928863678271, -0.05309436675205248], [0.046618255497360872, 0.48565710917995952, -0.21768057683498965]], [[-0.67900894777302723, 0.25004888995056906, -0.24288857088994131], [0.25778866437015746, -0.31259716821961914, -0.66542272259198554]], [[0.51007169874544345, 0.37042976465279853, 0.81358193230657294], [-0.028397204104971374, -0.20702510989647394, -0.57625321808221885]], [[0.95784526923537294, -0.46001630769083524, 0.31494245300374812], [0.82947492933933709, -0.40410005448490582, -0.32750486642402521]]], [[[-0.48801238142776437, 0.54496808409037278, -0.26748652864107347], [0.33581571302027147, 0.25771230730265082, -0.88493861368929161]], [[-0.98787482179237984, 0.81476887852646285, -0.81159829797195537], [-0.12637368201951005, -0.88487409914955051, -0.27345488236041082]], [[0.04030222981736431, 0.043215022009002402, 0.33411672314931695], [-0.82498815702169703, 0.82060775742668834, 0.79408138157885233]], [[-0.65413898538829729, -0.044887206435541227, -0.60657262938433099], [-0.64660412990657923, -0.54585866992281851, -0.091197073347304647]], [[-0.63972089595200998, 0.35575313301825418, 0.017001807874047259], [0.54033510709087373, 0.65223113006205602, -0.51540339901088594]]], [[[-0.43460348033789797, -0.58394768615901227, -0.98548183892582752], [0.61483912218774495, -0.96545471593993937, 0.083548106858432725]], [[-0.23918743282406552, -0.098782292076166067, -0.39250206712239932], [0.17023995277205528, -0.42872193622235777, -0.57815683300586396]], [[0.74738591537055843, -0.19995366501775136, 0.50794710035926327], [0.37525628398437627, 0.60972578782988918, 0.6890786749536475]], [[-0.025758421467011905, 0.97420298924563631, 0.93106231829236741], [0.1016173917468266, 0.44931747529766342, 0.10508191925806298]], [[-0.55651712971288858, 0.35489989356316132, 0.24503711471617362], [0.73852586496848893, 0.32384664577411892, 0.79798815538814338]]]])
17331          sub=res.substitute({arg0:s0})
17332          ref=Data(numarray.array([[[0.15241327341936933, -0.72338006504378938], [-1.0556217185282022, 0.79384806627124371], [0.11189236234799221, -0.2253857995665145], [0.0076907272794429771, 0.075480351051959937], [0.025489503003779598, -0.52757795872590318]], [[1.2655444553476196, -0.067166407882009671], [0.27919256067230885, -0.41784064370834262], [-0.63549276772406182, -0.34189100153088997], [-0.38086243565535555, -0.3540658452664619], [-0.6867378431054374, -0.46408721882857462]], [[-0.27152664187748388, -0.68209551544126024], [-0.98802880271788651, 1.0328761456565023], [1.3487977984882886, 0.28469365959795723], [-0.66064102537989378, 0.49515607497431202], [0.45155649798645409, -0.92399572556333109]], [[-1.0898294151740973, 0.4738859598152747], [-0.85849157756296113, -0.25066270670511087], [1.0304759405704291, -0.033019933379419331], [0.88510792460255439, 0.06655637911623373], [1.087457240331648, 0.38058449311366049]]]),self.functionspace)
17333          ref.setTaggedValue(1,numarray.array([[[0.91669927589198663, 0.58286164482798897], [0.27411476982811922, -1.6022307516191434], [-0.41940445828965789, -1.2261461164974947], [1.0810615151420353, -0.58162041277409615], [0.15753995778128899, -0.70295441673628656]], [[0.51412880351634227, 1.7345196391932436], [-0.68897879087712699, 0.041786032558701308], [-0.38045782245111698, -0.12646206692204376], [-0.28945962837544653, -1.1596446466338732], [-0.01991792915825813, -0.34948732201453858]], [[-1.2246139165943688, -0.18831485721591135], [0.29408564358159778, -0.37942888827687071], [0.17634790149485113, 0.36373235281826471], [0.55086144318547714, -0.1807064238630032], [-1.1870576525638972, 0.50809065271215781]], [[0.81846430177925511, 0.65902151295676992], [-0.15559305612441793, -0.2338545362968926], [0.0012091678971866138, 0.54049939435441963], [-0.45709522697215438, -0.30825586309929592], [0.18602244879786434, 1.2175727320684708]]]))
17334          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17335          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17336          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17337       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17338       def test_generalTensorProduct_Symbol_rank2_taggedData_rank2_offset0(self):
17339          arg0=Symbol(shape=(4, 5))
17340          arg1=Data(numarray.array([[-0.0059470173977480556, 0.4833492877384844, -0.10726294373506073, 0.74803182985675476, -0.36927935185428074], [-0.91544753559503667, -0.83188374182886915, -0.51755114828956295, -0.88945856130612833, 0.61251346547919416], [-0.43905018566273757, -0.52844236135091482, 0.64602272473381461, -0.55619830234677003, -0.72018370430454182], [0.34301010174370172, -0.66646984138423049, 0.31633717567291497, 0.35697076367429315, 0.79089575924017219]]),self.functionspace)
17341          arg1.setTaggedValue(1,numarray.array([[-0.67916597973087267, -0.050218651828837002, 0.80939874251156252, 0.75676633802949156, 0.80557832107940786], [0.66818277325294773, -0.70787258100919948, 0.83604108553184053, -0.58228274768370336, 0.90389133244690378], [-0.48712326805463668, 0.77055366196718067, 0.57829366342298405, -0.75110972386950214, -0.56383764452914309], [-0.26123848753706347, -0.5342334189539848, -0.83147873895199398, 0.79128790279036298, 0.83143565515202789]]))
17342          res=generalTensorProduct(arg0,arg1,0)
17343          s0=numarray.array([[-0.8216551880107823, -0.23082917025743477, -0.64129384706752313, -0.24174040832667432, 0.067253891482346839], [-0.33090157331948511, -0.28905628045203868, -0.26462388415087945, -0.21417534818463579, -0.8456359006740426], [0.24024833547264657, 0.49050269904712485, -0.54801791800866129, -0.10425275210230289, -0.62884075397116712], [-0.49539671495703175, 0.31059177803063664, -0.39042284638690106, -0.89579879881371771, 0.40892776536053543]])
17344          sub=res.substitute({arg0:s0})
17345          ref=Data(numarray.array([[[[0.0048863976980500715, -0.39714644989164211, 0.088133154201221295, -0.61462423379900133, 0.30342029527632886], [0.7521822169733472, 0.68352159229551257, 0.4252485860530571, 0.73082824141778679, -0.50327486663744314], [0.36074786284688554, 0.43419740776864768, -0.53080792335040028, 0.45700322068601329, 0.59174267696264993], [-0.28183602963781879, 0.54760840282607615, -0.25992008155232882, -0.2933068799411539, -0.64984360375541406]], [[0.0013727450914287126, -0.11157111503319644, 0.024759416301733981, -0.17266756661198532, 0.085240446381726925], [0.21131199505561579, 0.19202303387700795, 0.11946590212546239, 0.20531298168466527, -0.14138597500806829], [0.10134559005790239, 0.12197991179951119, -0.1491208895177536, 0.12838679262929875, 0.16623940689754313], [-0.079176737175416942, 0.15384068048832608, -0.073019847782159336, -0.082399265185099921, -0.18256181186553283]], [[0.0038137856655793409, -0.30996892421115985, 0.068787065835644381, -0.47970820989779717, 0.23681657619323318], [0.58707087189022433, 0.53348192511036174, 0.33190236694082798, 0.57040430258715136, -0.39280111665781292], [0.28156018261936727, 0.33888683486417437, -0.41429039843759152, 0.35668654904438551, 0.46184937832879913], [-0.219970267730241, 0.42740300853577512, -0.20286508435775852, -0.22892315432731908, -0.50719658407251955]], [[0.001437634414057451, -0.11684505418230841, 0.025929787816834676, -0.18082951999092126, 0.089269741303863462], [0.22130066105639187, 0.20109991543003256, 0.12511302591745813, 0.21501807579979973, -0.14806925525052672], [0.10613617115801235, 0.12774587221008213, -0.15616979726546307, 0.13445560471991125, 0.17409750274879682], [-0.082919402055696562, 0.16111269159363775, -0.076471478016077371, -0.086294258171308383, -0.19119146378255433]], [[-0.0003999600627117764, 0.032507120545633671, -0.007213850378034849, 0.050308051510527516, -0.024835473456279171], [-0.06156740921669044, -0.055947418898887401, -0.034807328763630262, -0.059819549560126695, 0.041193914138813924], [-0.029527833541865986, -0.035539805224969544, 0.043447542224377994, -0.037406500268695207, -0.048435156696652222], [0.023068764160019663, -0.04482269038871195, 0.021274906084538314, 0.02400767300252139, 0.053190817565786856]]], [[[0.0019678774134731817, -0.15994103977551699, 0.035493476840811007, -0.24752490939265354, 0.12219511852298122], [0.30292302981984298, 0.27527163899007318, 0.17125848924232254, 0.29432323733868354, -0.20268166940643548], [0.14528239720201191, 0.17486240877968159, -0.2137699360145599, 0.18404689332417287, 0.23830992083342772], [-0.11350258233146757, 0.22053591908402956, -0.10467646912960991, -0.1181221873288817, -0.26170865106428171]], [[0.0017190227287766152, -0.13971514727282849, 0.03100502754639296, -0.21622329839812579, 0.10674251589473804], [0.26461585958808659, 0.24046122018157695, 0.14960140986826256, 0.25710358334737105, -0.17705086405820405], [0.12691021359944793, 0.15274958340538761, -0.1867369258990477, 0.16077261247009578, 0.20817362280844173], [-0.099149224167509764, 0.19264729338398587, -0.091439247368715934, -0.1031846411778149, -0.22861338639125528]], [[0.001573722842904946, -0.1279057659229188, 0.028384336796629012, -0.19794708828518423, 0.097720136424399043], [0.24224928260550907, 0.22013630692472277, 0.13695639510713192, 0.23537197928408082, -0.16208569232981998], [0.11618316546723838, 0.13983847021054166, -0.17095304266879643, 0.14718335512512751, 0.19057780913523631], [-0.0907686654264067, 0.17636383809651562, -0.08371037212788586, -0.094462990011797116, -0.20928990776859319]], [[0.0012737045218227765, -0.10352150199618561, 0.022973078321765632, -0.16020997761276068, 0.079090533760787202], [0.19606629468083375, 0.17816899005533574, 0.11084669738827521, 0.19050009706354526, -0.13118528473678431], [0.094033726384845806, 0.11317932673784331, -0.13836214200505187, 0.1191239650648228, 0.15424559562632603], [-0.073464307971804671, 0.14274141033302656, -0.067751624743490863, -0.07645433760167708, -0.16939037461301576]], [[0.005029011413468878, -0.4087375102768902, 0.090705396034347241, -0.63256257017376905, 0.3122758773056214], [0.77413530128274155, 0.70347075727754849, 0.43765983142872955, 0.75215809160234592, -0.51796337605547749], [0.37127659919401473, 0.44686983219529874, -0.54630000868617845, 0.47034125235838437, 0.60901319544033961], [-0.2900616563283302, 0.56359082459104004, -0.26750607246684827, -0.30186729325401168, -0.66880984770434371]]], [[[-0.0014287610308358406, 0.11612386183106017, -0.025769743690244484, 0.1797134020036433, -0.088718749607408734], [-0.21993474663924392, -0.19985868428114267, -0.12434080189852437, -0.21369093882569229, 0.14715534053595877], [-0.10548107629442914, -0.1269573977077921, 0.1552058842948027, -0.13362571633152331, -0.17302293619369086], [0.082407605994227487, -0.16011827003528015, 0.075999479903536005, 0.085761631785148423, 0.19001138968982639]], [[-0.0029170280848756299, 0.23708413021823196, -0.052612763409787183, 0.36691163151789785, -0.18113251878689759], [-0.44902948704540435, -0.40804122066048193, -0.25386023513096939, -0.43628182501122853, 0.30043950802025265], [-0.21535530108471404, -0.25920240453345977, 0.31687589012771383, -0.27281676850651948, -0.35325205077113425], [0.1682473807057146, -0.32690525603247422, 0.15516423847650929, 0.17509512306315414, 0.3879365045722295]], [[0.0032590720926751761, -0.26488407033741357, 0.058782015105168159, -0.4099348460023079, 0.20237170156677081], [0.50168165250295182, 0.45588719622231155, 0.28362730274863823, 0.48743922892196367, -0.335668354104178], [0.24060736864820964, 0.28959588265510899, -0.35403202859490757, 0.30480663565202881, 0.39467357421674037], [-0.1879756818135225, 0.36523741489094874, -0.173358440401011, -0.195626374698748, -0.4334250473406786]], [[0.00061999293051551044, -0.050390493473424884, 0.011182457082974551, -0.077984376922688267, 0.038498388725363417], [0.095437924991053455, 0.086726169514821233, 0.053956131562894007, 0.092728502897118772, -0.063856214475924891], [0.045772190166367438, 0.055091570498272492, -0.067349646974128638, 0.057985203734279532, 0.075081133192979613], [-0.035759747105671827, 0.069481315157491313, -0.032979021156171046, -0.037215184533105836, -0.082453059526828298]], [[0.0037397269042795354, -0.30394973053289515, 0.067451310411522469, -0.47039289988155347, 0.23221790604602982], [0.5756707185046297, 0.52312239942802186, 0.32545725430905209, 0.55932779231785534, -0.38517342944942889], [0.27609264978333681, 0.33230609294221325, -0.40624541730411973, 0.34976015980522607, 0.45288086361261615], [-0.21569873100023615, 0.41910339755510367, -0.1989257080592654, -0.22447776417460583, -0.49734748555318853]]], [[[0.0029461328826367022, -0.23944964932246629, 0.053137709962970014, -0.3705725111943336, 0.18293977781007253], [0.45350970184929157, 0.41211247292818526, 0.25639313868488911, 0.44063484936146358, -0.30343715866534005], [0.21750401967859506, 0.26178860985737989, -0.32003753562072257, 0.27553881184726781, 0.35677664127805636], [-0.16992607760090706, 0.33016697003968182, -0.15671239764714753, -0.17684214365994774, -0.3918071610010288]], [[-0.0018470947075456985, 0.15012431468853768, -0.033314988411472651, 0.23233253605872012, -0.11469513048242214], [-0.28433047777422699, -0.25837625048940754, -0.16074713136905305, -0.27625851604064244, 0.19024164631088988], [-0.13636537780967078, -0.16412985259868881, 0.20064934672327203, -0.17275061966350494, -0.22368313722863792], [0.1065361173830459, -0.20700005303932453, 0.098251725849440516, 0.11087218419455291, 0.24564572009929539]], [[0.0023218514599412173, -0.18871060471794032, 0.041877903804880427, -0.29204871620067629, 0.14417509566285824], [0.35741163256488812, 0.32478641834781302, 0.20206379246602027, 0.34726494324833657, -0.23913925064269184], [0.17141522319314337, 0.20631597087003947, -0.25222203102119739, 0.21715252435778815, 0.28117617175604148], [-0.13391898026223656, 0.26020505250425774, -0.12350526054421261, -0.13936954163062332, -0.30878377351787722]], [[0.0053273310414269897, -0.43298371136360037, 0.096086016155090798, -0.6700860146601082, 0.33079999981777292], [0.82005680276301196, 0.74520045668296186, 0.46362169696245076, 0.79677591081260724, -0.54868882663348972], [0.39330062893562007, 0.47337803254043409, -0.57870638082291614, 0.49824177114446561, 0.64513969724122222], [-0.30726803712297912, 0.59702288335756259, -0.28337446198792121, -0.31977398131104728, -0.70848347111420951]], [[-0.0024319005350213387, 0.19765494412350487, -0.043862795887571228, 0.30589098460187497, -0.15100858014755791], [-0.37435191503568754, -0.34018035958584003, -0.21164103452983007, -0.36372430185571186, 0.25047376269164434], [-0.17953981130419147, -0.21609475394907418, 0.26417662919752311, -0.22744492887598813, -0.29450311285032893], [0.14026635440214186, -0.27253802291744389, 0.12935905434838826, 0.1459752566883725, 0.32341923545920764]]]]),self.functionspace)
17346          ref.setTaggedValue(1,numarray.array([[[[0.55804025076629737, 0.041262415810071083, -0.66504667595402867, -0.62180098775385306, -0.66190760686391126], [-0.54901584218271671, 0.58162717863679148, -0.686937495317403, 0.47843564052348819, -0.74268700270297727], [0.40024736039785919, -0.63312941399604061, -0.475157988745256, 0.61715320138272256, 0.4632801258231497], [0.2146479585929183, 0.43895566029227939, 0.68318881958056876, -0.65016581053787337, -0.68315341955280739]], [[0.15677131956835511, 0.011591929733097455, -0.18683284014135507, -0.17468374588610494, -0.18595097543213709], [-0.15423607513028961, 0.16339764052234229, -0.19298267007443981, 0.13440784350304849, -0.20864448627160592], [0.11244225977814176, -0.17786626243071219, -0.13348704649305967, 0.17337803433308813, 0.13015017564656856], [0.060301463317487577, 0.12331665682094084, 0.19192954739898699, -0.18265233003584519, -0.19191960240118927]], [[0.43554496393899478, 0.032204912425859385, -0.51906243339685554, -0.48530959624613429, -0.51661242063920987], [-0.42850150120362934, 0.45395433070900643, -0.53614800404722218, 0.37341434334313001, -0.57965994991586445], [0.31238915456686223, -0.49415132225490105, -0.37085616815129685, 0.48168204439009804, 0.36158561218158475], [0.16753063467474463, 0.34260060447303675, 0.53322219925737702, -0.50744806331842418, -0.53319456988155045]], [[0.16418186126172699, 0.012139877398718147, -0.19566438251384186, -0.18294100356313134, -0.19474083227685279], [-0.16152677644301722, 0.17112140677642074, -0.20210491339434317, 0.14076126918663631, -0.21850705978865625], [0.1177573777249519, -0.18627395688156043, -0.13979694632860054, 0.18157357134634905, 0.13630234241842529], [0.063151898647852547, 0.12914580483969154, 0.20100200986920327, -0.19128626072450011, -0.20099159477380721]], [[-0.045676555099321885, -0.0033773997604863624, 0.05443521519482062, 0.050895481175328432, 0.054178276986405656], [0.044937891722727309, -0.047607185746521473, 0.056227016441141857, -0.039160780724762534, 0.060790209584217957], [-0.032760935408272684, 0.05182273236326574, 0.038892499284778177, -0.050515051860454997, -0.037920275758825041], [-0.017569304891830083, -0.035929276384574431, -0.055920180879355998, 0.053217190745556885, 0.055917283326148433]]], [[[0.2247370912380153, 0.016617430900145603, -0.26783131733988885, -0.25041517188918405, -0.2665671338772454], [-0.22110273093437718, 0.23423615076566878, -0.27664731056221625, 0.19267827732533022, -0.29909906401652619], [0.16118985579980855, -0.25497741907203075, -0.1913582830673542, 0.24854338936398229, 0.18657476367144601], [0.086444226537617005, 0.17677867885172122, 0.27513762290091626, -0.26183841198200691, -0.27512336640372287]], [[0.19631719191057076, 0.014516016706959593, -0.23396178991294966, -0.21874806284211501, -0.23285747310401178], [-0.19314242709862503, 0.20461501530050363, -0.24166292648891854, 0.16831248521684425, -0.26127546648993916], [0.14080603998551466, -0.22273337541693078, -0.16715941535803094, 0.21711298299307616, 0.16298081230643288], [0.075512625518379825, 0.1544235249760145, 0.24034415155641503, -0.22872673794727669, -0.2403316979134491]], [[0.179723539539521, 0.013289054703767513, -0.21418623907024723, -0.20025844776400145, -0.21317526431177719], [-0.17681712078090139, 0.18731999187056242, -0.22123643936315326, 0.1540859223661081, -0.23919123524241354], [0.12890445125288796, -0.20390690297643915, -0.15303031539483142, 0.19876157255384219, 0.14920490752578472], [0.06912994326175885, 0.14137092236680751, 0.2200291334903518, -0.20939367831798938, -0.22001773248786077]], [[0.14546061018401896, 0.010755597240804162, -0.17335325749762029, -0.16208069394187813, -0.1725350174071765], [-0.14310827811242563, 0.1516088565080021, -0.17905939059044282, 0.1247106102270636, -0.19359124084789001], [0.10432979554443948, -0.16503359884676708, -0.1238562467165862, 0.16086918663461627, 0.12076012383663413], [0.055950844027478207, 0.11441962851633811, 0.1780822484231652, -0.16947436209441624, -0.17807302093530636]], [[0.57432713497688503, 0.042466694869914737, -0.68445663462820261, -0.63994878385936604, -0.6812259491094681], [-0.56503934127463606, 0.59860246760417357, -0.70698635636422225, 0.49239919578446478, -0.76436296102519796], [0.41192892352066579, -0.65160783995529858, -0.48902588292278676, 0.63516534784941792, 0.47680135436533261], [0.22091264369912933, 0.45176695840732606, 0.70312827230498653, -0.66914145836860284, -0.70309183909699779]]], [[[-0.16316849613999138, -0.012064947511558469, 0.19445670062205614, 0.18181185305331554, 0.19353885073217697], [0.16052979906551751, -0.17006520931418634, 0.20085747918576924, -0.13989246090544877, 0.21715838806852125], [-0.1170305543201223, 0.18512423467996753, 0.13893409005175084, -0.18045286091696708, -0.13546105557494442], [-0.062762111792171227, -0.12834868965755589, -0.19976138301411178, 0.19010560152502606, 0.19975103220288409]], [[-0.33313274615897792, -0.02463238426455238, 0.39701226780727022, 0.37119593135147444, 0.3951383407833009], [0.32774545373736386, -0.34721341156646685, 0.41008040896765596, -0.28561125934743248, 0.44336113821050832], [-0.23893527774945539, 0.37795865095554798, 0.28365460275082327, -0.36842134683853145, -0.27656388646591801], [-0.12813818323191831, -0.26204293391810296, -0.40784256565625276, 0.38812885204201197, 0.40782143293608419]], [[0.37219512619442552, 0.027520721020441105, -0.443565013710015, -0.41472151298596077, -0.44147135431084994], [-0.36617613224733381, 0.38792685806007893, -0.45816549506286036, 0.31910137907798575, -0.49534864611362694], [0.26695227917287701, -0.42227721354520414, -0.31691528942666525, 0.41162158707102503, 0.30899313204976864], [0.14316337204379312, 0.29276948598581165, 0.45566524738893893, -0.43363994903261466, -0.45564163669458158]], [[0.070804922521200339, 0.0052354326600236034, -0.084382046454973617, -0.078894973437956137, -0.083983757006480877], [-0.069659893018968827, 0.07379766470796939, -0.087159584037291182, 0.060704578947716907, -0.094233159009007306], [0.050783941307763682, -0.080332339902586189, -0.06028870593516894, 0.078305255844196384, 0.058781626181043135], [0.02723483128078202, 0.0556953041909755, 0.08668394685029765, -0.082493941571154861, -0.086679455245580156]], [[0.42708724676552839, 0.031579534879461392, -0.50898291550428554, -0.47588551458646461, -0.5065804788104018], [-0.42018055892292905, 0.44513912755734109, -0.52573670657671567, 0.36616312207782287, -0.56840370700391385], [0.30632296316037666, -0.48455554576668575, -0.36365462332365767, 0.47232840507317286, 0.35456408950303325], [0.16427740746909433, 0.33594774597161819, 0.52286771711356717, -0.49759408139895545, -0.52284062426431255]]], [[[0.33645659526924832, 0.024878155145576786, -0.40097347813058049, -0.37489955784987278, -0.39908085390333964], [-0.33101555086038953, 0.35067775124011275, -0.4141720073415846, 0.28846096037866081, -0.44778479677233041], [0.24131926677340063, -0.38172975283665239, -0.2864847811402137, 0.37209728977723455, 0.27932331686884809], [0.12941668854620472, 0.26465748077006773, 0.41191183583343316, -0.39200142762758489, -0.41189049226046209]], [[-0.21094336922253107, -0.015597500361819967, 0.25139259457242763, 0.23504540248231359, 0.25020600308698837], [0.20753207559407474, -0.21985940355478314, 0.2596674872619979, -0.180852233919646, 0.28074121609116515], [-0.15129648194518402, 0.23932763193840481, 0.17961325714639517, -0.23328850463272918, -0.17512333653491263], [-0.08113852633417086, -0.16592850747630417, -0.25825045992577139, 0.24576751666179242, 0.2582370784517356]], [[0.26516191497567565, 0.019606508988727296, -0.31600776091334265, -0.2954588677432658, -0.31451618110340329], [-0.26087382024010913, 0.27636962795685388, -0.32640954030973579, 0.22733648775265719, -0.35289982683836885], [0.19018405285518064, -0.30084175399907664, -0.22577905812110996, 0.29325039634201033, 0.22013509807715376], [0.1019934738900293, 0.20857693206302055, 0.32462829597182857, -0.30893687531893499, -0.3246114750720126]], [[0.60839606883805752, 0.044985807986316496, -0.72505842130319131, -0.67791037658947439, -0.72163609237330495], [-0.59855732566800923, 0.634111407781207, -0.74892460017833939, 0.52160818594501257, -0.80970476986406714], [0.43636443839755618, -0.69026104481171191, -0.51803476905589352, 0.67284318841960322, 0.50508508469516233], [0.23401712333961383, 0.47856565498512521, 0.74483765559234094, -0.70883475283543296, -0.74479906117608297]], [[-0.27772982640024446, -0.020535801071785081, 0.3309856190608807, 0.30946276751047558, 0.32942334266189416], [0.27323848831873326, -0.28946875271208655, 0.3418804128561318, -0.23811158281828931, 0.36962626270626919], [-0.19919822946070367, 0.31510078707861661, 0.23648033550571848, -0.30714962092252435, -0.23056886800345042], [-0.10682767093469744, -0.21846287819377172, -0.34001474266443488, 0.32357959384488771, 0.3399971245023915]]]]))
17347          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17348          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17349          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17350       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17351       def test_generalTensorProduct_Symbol_rank3_taggedData_rank3_offset1(self):
17352          arg0=Symbol(shape=(4, 5, 3))
17353          arg1=Data(numarray.array([[[-0.39873691198559769, 0.82203444300814055, 0.28675720142965599, -0.93462201913300702, -0.95781986092276927], [-0.045745598871428594, 0.13256933289495332, -0.082332459256467372, 0.67872449665454271, 0.53838146072917481], [0.48501165149153236, -0.90199998879464816, 0.59287248489307465, 0.32531990979428138, 0.83871572235303971], [0.85799958906321305, 0.89643666360638763, -0.92139485938184396, 0.015051055404468272, -0.33892305916074839]], [[-0.11006641495369074, -0.79559820393827074, -0.78666008610988647, 0.53572079303286269, 0.55220559491529531], [-0.28956207109261012, -0.42356182831369926, 0.96389334483532529, 0.43923833724494754, 0.444118652264619], [0.66005263046389162, 0.84835688414274757, -0.15037642263476991, -0.43738537801262978, 0.59916056368837367], [0.77404680457764297, -0.21544175769392071, -0.37763991442199063, -0.98390223238449126, -0.24991433168028232]], [[0.95988045061583493, 0.88586657126437784, 0.94886851801295191, -0.4840612431388569, -0.39645228683696199], [0.6968505523987798, 0.3381786638442057, 0.7179793347559591, -0.95819236434609389, 0.84416491656637627], [0.23510173320485062, -0.056266742052958785, 0.81083225788382429, 0.40689910312441557, -0.03569218529718432], [0.093176739798073616, -0.66687459133671823, 0.75432666633720036, -0.75498614650675533, -0.86514342446904213]]]),self.functionspace)
17354          arg1.setTaggedValue(1,numarray.array([[[-0.067045478629749855, 0.57496891696761021, 0.11110058613690166, -0.24506032952444068, -0.3836580023569407], [0.1856551997234217, 0.67867634168805702, -0.33741646546662252, -0.42151657861776815, -0.32461370613084894], [0.47365269976270885, -0.91785888632418366, 0.18571308448729651, -0.23186479551911532, 0.69271343355572412], [0.3199937790834344, -0.83617680434872055, 0.67909787071976391, 0.94443934036789656, 0.80916041998200749]], [[0.12504618913761667, -0.26557196521361681, -0.54829546772810533, -0.68524098995503602, -0.3696535527994782], [0.65324981429802276, -0.82868880809096135, 0.17725848123152188, 0.69307249567939877, -0.41875225343822353], [0.78465264501784238, -0.95054046999448394, 0.38478827738616661, -0.2364131244546086, -0.066376506987678052], [-0.5748226171537798, 0.24499964583918699, -0.32513095509594558, -0.24487939486062671, 0.6434427451806799]], [[-0.13193390081940293, 0.82859639376057537, 0.36515704269397276, 0.9161016658389689, 0.5740735476659069], [-0.93087656462110857, 0.028395674890503875, -0.84122050086883937, 0.22102960221661361, -0.26635342607791213], [0.41466706949027698, -0.087098592095985028, -0.36230651756720555, 0.36868841901877425, -0.31213561783138899], [0.18212750808963807, 0.79668794047428748, 0.53795409322166887, 0.016737554398564614, 0.35304865204523894]]]))
17355          res=generalTensorProduct(arg0,arg1,1)
17356          s0=numarray.array([[[-0.9182048398495084, -0.69910146255269723, 0.66383750940216091], [-0.0005150163296845367, 0.9016198126774797, -0.19930817476841045], [-0.17471607861051308, 0.7444792841434289, 0.20512112467920884], [-0.96277870438741675, 0.31533791902739794, -0.37159406295034136], [0.94215643465922327, 0.089642857560435774, -0.47578907712820917]], [[0.27167905812116944, -0.59218682321163474, 0.88988006867561054], [-0.85986542917393072, 0.58890900595779017, 0.70490683853189728], [0.72590827490806631, -0.90755454506022581, 0.88781094202769539], [0.075734922525497739, 0.50272948297617548, -0.72950794284634224], [-0.6406846476205974, -0.43438719627032096, -0.02652777790255656]], [[0.33752615374402928, 0.715859865565456, 0.58474429872752243], [0.050966794903708923, -0.56728423656257698, -0.17187865720919904], [0.67886038740745724, -0.48516344499384179, -0.24807186478906051], [-0.3189776443982133, 0.47173618897274516, 0.52442983188385428], [0.35252158852890836, 0.34711820086529999, 0.862991708404095]], [[0.42517611191332771, -0.88726598789252864, -0.051551951210816238], [0.13199948423997587, 0.72594279671972428, -0.62068216745184213], [-0.98748670209376743, 0.67726173808963663, -0.37738030482380691], [-0.49381832565550843, -0.74893961812235821, 0.48015473107403617], [-0.84888831931468856, -0.71808450070717478, -0.16693535590556086]]])
17357          sub=res.substitute({arg0:s0})
17358          ref=Data(numarray.array([[[[1.0802744017445203, 0.38947932221525106, 0.91654788026467937, 0.1623132614252692, 0.23024719427756463], [0.70703263281611783, 0.39888257251512294, -0.1216395711665702, -1.5663643144054593, -0.24444012653379799], [-0.7507144560751503, 0.19778124287799431, 0.099010858571513038, 0.27718132899136422, -1.2126806732936815], [-1.2671024135494371, -1.1151932030397378, 1.6107881712444772, 0.17283941462145636, -0.088398388126619709]], [[-0.29034472501982922, -0.89431091417012853, -0.8985332565410048, 0.5799751895097901, 0.57738897958849345], [-0.39993935225155153, -0.44936178390919312, 0.72600858884082775, 0.58665200436327103, 0.23189993209315363], [0.5480090427855776, 0.77657434134677905, -0.29749319838038546, -0.47562118521616198, 0.54689682720854738], [0.6788831652076408, -0.06179467913643405, -0.49035656654883281, -0.73663858715907438, -0.052723005161202291]], [[0.18461534143433747, -0.55421906828545753, -0.44112025393090004, 0.46283534005755628, 0.49713141716058662], [-0.06464170271224387, -0.26912741285064712, 0.87925616041884058, 0.011874264934391532, 0.40972929579833217], [0.45488050792474616, 0.77763652934173233, -0.049217662488459518, -0.29899937038698687, 0.29220428427276968], [0.4454680049762389, -0.45380389032554724, 0.034565737704816413, -0.88998809850063365, -0.30429992713518728]], [[-0.0074985833243123579, -1.3715022964610573, -0.87674138921611289, 1.2486415407822791, 1.2436192439433358], [-0.30621254054979896, -0.38686521978697536, 0.11642320186035093, -0.1588943945458271, -0.69198142476769786], [-0.34618167474503275, 1.1568538622957547, -0.91952484413498481, -0.60233656711953554, -0.6052965870494843], [-0.61660134745192829, -0.68320044622198262, 0.48771185345333579, -0.044204148456847059, 0.56898259863184508]], [[-0.84223984907317839, 0.28167970512004403, -0.25180959203720116, -0.60222555441177927, -0.66428719004419556], [-0.40061056305001397, -0.073969956992987307, -0.33277062753593734, 1.1347366923281761, 0.14540717601498609], [0.40426701559973122, -0.74700485690541329, 0.15931332265538994, 0.07369562243537503, 0.86089383163455857], [0.83342512618039888, 1.1425624024560264, -1.2608512051159753, 0.28519480291772659, 0.069904215631849342]]], [[[0.81102989324172414, 1.482787321436871, 1.3881348457081666, -1.0019204766995169, -0.94002346291490557], [0.77916013921359906, 0.58778249764576207, 0.045742556943837442, -0.92839221057972277, 0.63447128827481203], [-0.049894615241795115, -0.79751092783348976, 0.97166543961778018, 0.70948786603789271, -0.15871525762746125], [-0.14236367438442804, -0.22231356862697793, 0.64456995932891781, -0.08510412999994299, -0.71395621331629644]], [[0.95466727674444929, -0.5509205424449739, -0.040979906198712723, 0.77792188273627927, 0.8693331056265845], [0.36002406737680154, -0.12504670880954527, 1.1445488499638663, -1.0003766682978528, 0.3936674907796377], [0.13739100610899244, 1.2355408055627035, -0.026787379756762708, -0.25048557165507807, -0.3934912680833233], [-0.21624012955650301, -1.3677749477208958, 1.1016100651768446, -1.1245656655175418, -0.46559409514137384]], [[0.66263721832328537, 2.1052524056100541, 1.7645122148112646, -1.594400566470384, -1.5484207386339508], [0.84825781031343617, 0.78087735626879717, -0.29712168998029775, -0.75663468646085408, 0.73721250579514863], [-0.038233902282989701, -1.4746536311367666, 1.2867115992795546, 0.9943529783253735, 0.033371877703616992], [0.0030626351201197277, 0.25419737928475084, 0.34358013608423849, 0.23358566661162872, -0.78729996427674109]], [[-0.78577235392717337, -0.98396065890756734, -1.0659668045413992, 0.55166563278520586, 0.49428471247510897], [-0.65739394262807971, -0.44960091217604464, -0.045429467033887783, 0.97123014992194856, -0.35177919305683514], [0.19705165574997158, 0.3992281537207199, -0.62220608193439186, -0.4920845744516707, 0.39077348332793371], [0.38614351049806894, 0.44607294907284673, -0.80991978181300062, 0.057271620544854407, 0.47982138546984204]], [[0.27781256393713449, -0.20456724593801681, 0.13282275936783944, 0.37892879486664677, 0.3843064381534459], [0.13660466241597199, 0.090083570231375615, -0.385000181251203, -0.60022916055155473, -0.56024601204111835], [-0.60369465712876091, 0.21087480827176963, -0.33603228450755951, -0.029226992762406923, -0.79667313004152918], [-0.88841495745911303, -0.46305736580479179, 0.73435487415744993, 0.43777965681551728, 0.34865271919343982]]], [[[0.34790835568732359, 0.22592672745842785, 0.088495127918727379, -0.21501041260172143, -0.15981064514174934], [0.18475318625730972, -0.060717250804667472, 1.0820575245548576, -0.016777156276600702, 0.99326516454025537], [0.77368370267147912, 0.26995440151550154, 0.56659106381701452, 0.034629270694145287, 0.69113269056289384], [0.89819091004772778, -0.24160640380815376, -0.14024390381813501, -1.1407298397519425, -0.79918672149309256]], [[-0.12286636316873453, 0.34096522385682138, 0.29778471511137594, -0.26834085337026575, -0.29393285103440348], [0.042158754660031675, 0.18891088777382159, -0.67440304577930688, -0.049887755663986399, -0.36959586542673617], [-0.39012693340715648, -0.51756048371597074, -0.023841775254000247, 0.19476507190545511, -0.29101296586493697], [-0.41139015443490295, 0.28252672590117589, 0.037615973217860171, 0.68868533587746394, 0.27319832890001916]], [[-0.45540582684597564, 0.72428321360853876, 0.34093923956753402, -0.77430803623326261, -0.81978727253103378], [-0.063438959034053943, 0.21160017270827575, -0.70164853342691758, 0.48535735652068301, -0.059397853357246955], [-0.049300335815704047, -1.0099656147029112, 0.27429011778470469, 0.3321099774877761, 0.28753430398287555], [0.18380819153485439, 0.8785126295537341, -0.62940861212543031, 0.67486178315739742, 0.10578560148618221]], [[0.57865579314069748, -0.17294821788463061, 0.035049789716709301, 0.2969862589637276, 0.35810707973386058], [0.24344413352397393, -0.064745116382784212, 0.85749536880209742, -0.51179798242198693, 0.48048045561711439], [0.27995720073823832, 0.65841051701173869, 0.16517355550323048, -0.096710261592872271, -0.0036038912737730924], [0.14032786385175922, -0.73730385885180794, 0.51134935458554631, -0.86488049751263718, -0.46349177600291691]], [[0.64959944438795891, 0.77811377626551304, 0.6468897337979399, -0.56125684020377653, -0.48810660260042288], [0.48473767237810111, 0.19155291487960346, 0.92517116706057356, -0.43517940637711938, 1.0724600788379965], [0.60298420578907685, -0.072052085438240071, 0.85654347235235784, 0.31400841803366153, 0.47284287569871908], [0.65155986614610362, -0.33427772152085045, 0.19508039131636129, -0.98777133516772619, -0.95283911028484547]]], [[[-0.12135893367505163, 1.0097484844587361, 0.77098302685883502, -0.84775149327908617, -0.87675747812437277], [0.20154463552039834, 0.41474354757250431, -0.92724881137498938, -0.051747108650654676, -0.20866278713672967], [-0.39154683409553004, -1.1333263967348104, 0.34369911817343124, 0.50541898117445538, -0.17317289782151782], [-0.32678791618156078, 0.60667628557864239, -0.09557504361165528, 0.91830334441291217, 0.12223832946365557]], [[-0.72831566640882284, -1.0188922462530732, -1.1221641886746729, 0.56598120784116202, 0.52050881098568269], [-0.64876660642309047, -0.49988404072238457, 0.24322661864926276, 1.0031861040036942, -0.13048729846023371], [0.39725828705115795, 0.53171879919854392, -0.53417494184543646, -0.52712972151443449, 0.56781984099401361], [0.61733606452755074, 0.3758479519087457, -0.86396573207716176, -0.24366356891539365, 0.31081791796957559]], [[-0.043036350324938022, -1.684884900250794, -1.1740279909113758, 1.468425190287199, 1.4694353815123191], [-0.41391381486905443, -0.54539464061780252, 0.46315903051524637, -0.011149168576758295, -0.5494311763084978], [-0.12063692821126495, 1.4865066123656561, -0.99329001687169849, -0.77102917374564872, -0.40896257013496146], [-0.3581939668383417, -0.77946440729558031, 0.36943607892461, -0.3963051509729123, 0.49191268854931958]], [[0.74022783266596071, 0.61527236805184993, 0.90315865149471586, -0.17211334156790847, -0.13093808855030512], [0.57405061157344561, 0.41413515333810763, -0.33649946201805897, -1.1242101841000482, -0.19315090683326352], [-0.62096199718123168, -0.21696069903233306, 0.2091765074559333, 0.36230083425903947, -0.88004604910888995], [-0.95867098627342229, -0.6015269746068117, 1.1000246776396132, 0.36694070507201981, -0.060865546583664998]], [[0.25728210904048809, -0.27439114906428619, 0.16306387262540248, 0.48950385273633745, 0.48273371663520193], [0.13043394480860634, 0.13516265020089491, -0.74212194407809939, -0.73161535596666449, -0.91686142480475463], [-0.92494108077637527, 0.16589823354887442, -0.53065612045253108, -0.030006457275783271, -1.1362656064950394], [-1.2997313345419965, -0.4949442784866076, 0.9274149124866069, 0.81978215923115383, 0.6115904596252586]]]]),self.functionspace)
17359          ref.setTaggedValue(1,numarray.array([[[[-0.11344116287055006, 0.20777587330477626, 0.5237060092613387, 1.3122112071127923, 0.9917935281072513], [-1.2451081837362148, -0.024976229794784536, -0.37253795399726813, 0.049238307818751992, 0.41399679388843758], [-0.70819045841620309, 1.4494873920609836, -0.68004135675540223, 0.62292534033608149, -0.79685624534230559], [0.22894256704827998, 1.1253733161670103, -0.03913731998068154, -0.68488221374856983, -0.95843984019537432]], [[0.13907415610500815, -0.40488709876969808, -0.56719005920418974, -0.80028719385139246, -0.44750692786252033], [0.77441866876875476, -0.75317126745118002, 0.32765565623901549, 0.58105197506001272, -0.32430173174884541], [0.62456789518622624, -0.83919394676843795, 0.41904774002927736, -0.28651795868217339, 0.0020080477436954999], [-0.55473576363505972, 0.062540760220385405, -0.40071290575133733, -0.22461044722276371, 0.50935851410527855]], [[0.077745790369400394, -0.1282065168530058, -0.35270425277255379, -0.27941993785256336, -0.090413578924068844], [0.26295155777349194, -0.72969276692113094, 0.018365253679119037, 0.63496167972238504, -0.30967185839399086], [0.58645987279958545, -0.56515874448318193, 0.17970311906496036, -0.059868382649819696, -0.23446971809982242], [-0.44649338949494649, 0.4919082195990786, -0.25035682904019252, -0.34388314863928093, 0.41007419534730116]], [[0.15300761836151655, -0.94521424030708356, -0.41555381929268798, -0.32056154133307913, 0.039489650326717196], [0.37315776914608334, -0.92528379741629707, 0.69334625181741472, 0.54224593604212923, 0.27945805100484822], [-0.36267982149147648, 0.61631885534049102, 0.077168682682807896, 0.011682037140741397, -0.57187302923486016], [-0.55702406464718757, 0.58626639010667025, -0.9562476340961803, -0.99272541912276346, -0.70733130754593498]], [[0.010814877528300806, 0.12366692150128289, -0.11821437274152125, -0.72818329294341078, -0.66774057985708657], [0.67637632270321879, 0.55162289763617367, 0.098234388454781441, -0.44016902830768428, -0.21664698983428521], [0.31929938185866502, -0.90853526106410831, 0.38184578192160801, -0.41506357974298269, 0.79520495658499413], [0.16330117702871716, -1.144902308333049, 0.35471807921456827, 0.85989436739927305, 0.652059050374173]]], [[[-0.20967090670735133, 1.0508266480086559, 0.67982302804352279, 1.1544335387784279, 0.62552872642202284], [-1.1647758037501281, 0.70038948709500659, -0.9452244815048545, -0.32825578893321272, -0.077233784348752776], [0.033024522445881055, 0.23602720241950381, -0.49982154045443161, 0.40509640351454979, -0.050260239046682198], [0.58940962747504055, 0.33669943059657614, 0.85574956273569436, 0.41649315741388721, 0.15296458431037041]], [[0.038289807278198904, -0.066710352249533922, -0.16102599551793695, 0.45294064422443786, 0.51687031609472234], [-0.43111504543869128, -1.0515763206219437, -0.19846021390722146, 0.9264094463848096, -0.15523722108566662], [0.34711308023643339, 0.16805688870818797, -0.18847532103398604, 0.32003769164527845, -0.8547565881467285], [-0.48528687831749379, 1.4248728020439831, -0.39619781050103231, -0.9445040031852544, -0.067973435182123759]], [[-0.27928746579867464, 1.394032683617239, 0.90244729665866097, 1.2573273367834084, 0.56664902044167476], [-1.2845335920147487, 1.2699470575132386, -1.1526499099939675, -0.73875096657970785, -0.092070750685422503], [-0.0001406984971479841, 0.11905887992852764, -0.53606537590379555, 0.37357084448723599, 0.28596929725268594], [0.91566380548331405, -0.12202993274783747, 1.2656383701358069, 0.9226775240569608, 0.31685731307216236]], [[0.15403355046204203, -0.69443328104587221, -0.53361506575704909, -1.0313539153490778, -0.63368326136423547], [1.0215503712644518, -0.38592166625718388, 0.67723589182071986, 0.15526160157189509, -0.040796757822468083], [0.12783714823625686, -0.48383957592860471, 0.47181486012153162, -0.4053732402605344, 0.24679858363628304], [-0.39760903681940907, -0.52134942075877477, -0.50446327622065212, -0.063791230174582381, 0.12720754444929444]], [[-0.0078635414345669501, -0.27499351768758756, 0.15730528614643319, 0.43036416173568276, 0.39114766686659336], [-0.3780157047497944, -0.075598979052510687, 0.16149444521570039, -0.036866041769776314, 0.39694139975874781], [-0.65530527148034989, 1.0032712389591683, -0.27651943623406972, 0.2414665646111554, -0.40669749296579999], [0.039849045340797064, 0.40816657125682415, -0.3081255827039262, -0.49915932235047183, -0.80728554481447423]]], [[[-0.010261650695328375, 0.48847175294835565, -0.14147986744499161, -0.037565567254657983, -0.058428518453561951], [-0.014025954251987605, -0.34754983450781263, -0.47889354110988464, 0.48311571381014839, -0.56508219488006017], [0.9640457156939235, -1.0411855578008777, 0.12628083708851534, -0.031910649082106279, 0.0037731005492825098], [-0.19698814996677355, 0.35901260396953871, 0.31103067950215502, 0.15326083682344821, 0.94017082783943018]], [[-0.051677203385325318, 0.037541076877773277, 0.25393911443945838, 0.21877814810260726, 0.091473824261066164], [-0.20111825774699993, 0.49981144528791882, 0.026834872113948471, -0.4526427218374075, 0.26678750143459873], [-0.49225293578422186, 0.50741668828709219, -0.14654636574964902, 0.058926362951463543, 0.12660918044729697], [0.31109303530868809, -0.31853534216194773, 0.12659028035785189, 0.18417443834795, -0.38445614154518221]], [[-0.073453270696703751, 0.31361797869902441, 0.25084951642161762, -0.061166919482622928, -0.22351932447714923], [0.040025315736027606, 0.85573183318185042, -0.10637486952366723, -0.67723557308888027, 0.048870690675367118], [-0.16200795831795384, -0.14032383996507056, 0.029266103669888563, -0.13416604264221957, 0.57989122944530658], [0.45093331147407933, -0.88414804458732565, 0.48530302277647774, 0.75579687097192239, 0.14955061980148651]], [[0.011184748123712146, 0.12585852997503227, -0.10259017112308932, 0.23534683612230545, 0.24906066169987917], [-0.2392377207228219, -0.59251354194459449, -0.2499135761129278, 0.57731626024773286, -0.23367975929943272], [0.43652820753549465, -0.20130497334012218, -0.067724112786340732, 0.15578626554374425, -0.41596552930657149], [-0.27772239417670541, 0.80010382926625567, -0.087873902122591718, -0.40799583571767201, 0.23058038896647143]], [[-0.094087032896281841, 0.82557591062786639, 0.16396951892135392, 0.46633946543248633, 0.23185950701588326], [-0.51113639063583216, -0.023899674087839107, -0.78338326049825002, 0.28273109790864315, -0.48965066637553056], [0.79719425929248233, -0.72868033323902337, -0.11363263444685168, 0.15437440413585979, -0.048214503778985618], [0.0704478519924151, 0.4778085477311424, 0.59078770992655305, 0.2623775322276049, 0.81327526407200679]]], [[[-0.13265391644445404, 0.437380259794522, 0.51489667702650743, 0.45657039742403077, 0.13526419543536067], [-0.45268168260620967, 1.0223605097262445, -0.25737028412652285, -0.80555293983345022, 0.24725767720860028], [-0.51618668748697716, 0.45762065893933385, -0.24377117595377606, 0.09217134478233259, 0.36951002153623336], [0.6366852396878796, -0.6139730731815024, 0.54948124718147218, 0.61796335128340563, -0.24506952855819186]], [[0.16381543118291914, -0.63118946028587819, -0.61001238992205997, -1.0984015653390304, -0.6753072062143346], [1.076506871517263, -0.52962043292448602, 0.60627128197602742, 0.31030188229205086, -0.18151820197386742], [0.37475839219320251, -0.75713436385880784, 0.52872550420515907, -0.43106676520072329, 0.23698928065084346], [-0.48809262098903161, -0.4270091764879459, -0.48028441872944694, -0.063491628481595841, 0.35478038150311675]], [[0.20068477368703774, -1.0603318500244983, -0.61885296894563169, -0.56781241315501652, -0.088139082590089873], [0.61038354544682205, -1.2421390533915722, 0.77070470884767839, 0.80222128048346941, 0.13746337625321189], [-0.0927977133497076, 0.29547804704562924, 0.21394052024221474, -0.070285909270825342, -0.61120573788520904], [-0.77402630090409286, 0.6909880230403791, -1.0938121521921911, -1.1047851575140892, -0.4964896105570723]], [[-0.12389244580815653, 0.31282165694520925, 0.53110857442755144, 1.0740899559464445, 0.74194967291569713], [-1.0278893928842927, 0.2991293824002304, -0.37004946858580157, -0.20478842994445462, 0.34602949195517718], [-0.6224514802210307, 1.1233321539753787, -0.55385489846624458, 0.46858572893392558, -0.44223598576037698], [0.35993802384005058, 0.61196297208890438, 0.16645368283528775, -0.27494495733963575, -0.71196002706261052]], [[-0.010855173931267188, -0.43570331943506402, 0.23845286645937172, 0.54716002776415285, 0.4952921117134847], [-0.47129288658332796, 0.01420792785138085, 0.29957177199540819, -0.17676177233939655, 0.62072409023310138], [-1.0347477418943074, 1.4762679006481569, -0.37347839875300143, 0.30504478456391887, -0.48826593104540772], [0.11072871033363446, 0.40089488884890184, -0.43281030858377767, -0.62867351594812171, -1.2078693937623668]]]]))
17360          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17361          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17362          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17363       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17364       def test_generalTensorProduct_Symbol_rank4_taggedData_rank4_offset2(self):
17365          arg0=Symbol(shape=(4, 5, 2, 3))
17366          arg1=Data(numarray.array([[[[-0.62053096866277424, -0.33567919427718373, 0.86866680906028448, 0.62111674679199691, -0.76620776218107567], [0.55554150476437214, 0.31939925734467955, 0.14654913825162907, 0.29307594299499873, -0.83889133865987109], [-0.83126947121055283, -0.88712931180285226, 0.55440910250531372, -0.80916065856700436, -0.23831164024095242], [-0.58064721592149571, -0.057744879471248733, 0.49008176056911745, -0.22287332984103503, 0.579539567790194]], [[0.18089261437108606, -0.72683334585900727, 0.71462618074091155, -0.67143159976551359, 0.71929851359355879], [0.1850717646583111, -0.95892925961993014, 0.37079182129308608, 0.36901865561817737, -0.63854201334408422], [-0.020897708743589316, 0.28823686430440287, 0.24599834423521805, 0.2727361431612767, 0.031444860587171997], [0.93825217792829996, 0.46522418022340251, -0.089019393608482433, -0.80323264352051327, -0.32849846471559196]], [[-0.97300775316999943, -0.49668251267385233, 0.87916409996290201, -0.82051533359740936, -0.74083868108162521], [0.26320991676383665, -0.067105594157473858, -0.44998321936705499, 0.57313906488377064, -0.04176890207332673], [-0.70652083318863634, 0.64238362050306197, 0.97437840700837564, 0.016125692775973866, -0.36667840096636151], [0.7614166634493893, 0.72296117684324179, 0.72695533285598035, 0.75309798219955892, -0.39502403432830224]]], [[[-0.21845946545975803, -0.63281204640980881, -0.66587831025041355, 0.68704753166663823, -0.67519711736242294], [-0.79275624755534957, 0.82999130507201335, -0.73686553223101781, 0.060763351265059828, -0.56103069290456675], [0.3028682355007819, -0.31438257205600428, 0.77395658745656082, 0.84124532436268784, -0.021901496571839596], [0.64638352892920214, -0.676776358002108, 0.86152288107352826, -0.68453948141759624, 0.54723636853138924]], [[-0.523959289593805, -0.62820680669036677, -0.72256749868154291, 0.77489635001277457, -0.74280775014195188], [0.41361131744835289, -0.70081614003085102, 0.32248279794643397, -0.64227038773636491, -0.28502899986504304], [0.94278298038706954, 0.65665650738659442, -0.69284665890067987, -0.4438833857531117, 0.57015243579037889], [-0.38768806518973742, 0.25195276686885282, -0.64690408772262464, 0.37093220395431681, -0.31342838188892008]], [[0.21230897657278169, -0.15076374814927429, -0.032866435374891978, 0.52050324567871242, 0.88708449509605614], [0.75877108170169971, -0.51796640717593956, 0.46081224388583597, 0.99458271667747966, 0.8886595752914197], [-0.64290176926237597, 0.20716120675860572, 0.63803225271325048, 0.29023169957734085, -0.013908839867053491], [-0.84966161961503506, 0.75964150595385038, 0.80528051897963238, -0.47998493574297174, -0.16178334431601393]]]]),self.functionspace)
17367          arg1.setTaggedValue(1,numarray.array([[[[0.25327854020126273, -0.29571253746208837, -0.76070864357894696, -0.35184348259947473, 0.029945959130158961], [-0.98695784196209502, -0.45487664327547095, -0.61006163779866029, -0.23131319050169541, -0.50600513060696928], [0.82043782514227193, -0.45051903585561548, -0.24985316690118475, 0.053062569708355767, 0.24223338274080319], [-0.2579029440983498, -0.24033957601635647, -0.58452197229559544, 0.4044108317974322, 0.067454290720194043]], [[-0.33970971032748953, -0.94248508608457282, 0.79654428064233063, -0.5454074292452149, -0.8044352138841484], [0.714994582833959, -0.2236500812493345, -0.11489708523366016, -0.10019231641441628, -0.56095625598945498], [-0.50172460440597622, 0.92634295206747974, 0.28849417132834554, 0.64758176591046013, -0.28278927498444317], [0.27540574905916482, 0.70414130676807729, 0.57121670458045237, -0.50152314508503748, -0.22931388748020387]], [[-0.38932556513541061, -0.83021000460232308, -0.51345571456558847, 0.064102223506964595, 0.44956068286320483], [-0.78410277250739546, 0.027924992175904606, -0.83749997702389956, 0.48504198834598888, -0.094125722634308628], [0.93290391857929245, 0.75304844595453457, -0.36433243078994226, -0.058563302867714828, 0.47977593992150758], [-0.39604448018678973, -0.57658280711142851, 0.6340894308896583, 0.75205198881640678, 0.34585707673980326]]], [[[-0.074024467761931945, -0.40411904805114474, 0.20043729739892657, -0.9001857184560591, -0.047643681340638233], [0.58834677930600665, 0.24589764825996463, -0.7012034253268733, 0.77121014173988911, 0.75595456311302978], [0.45791099240893596, -0.42371681786775128, -0.60703227618665578, -0.73015376580213776, -0.8112373139457465], [0.70320062729025445, -0.074878727234215292, 0.78980344697196525, -0.092540294053193417, 0.94531132080201852]], [[-0.64561445253469163, -0.80161760166352702, -0.97961905621343615, 0.8740449746699297, -0.137728598924308], [-0.7713408487322635, -0.39983511117114157, -0.8915177106961969, -0.53467091628789376, -0.078167608139335654], [-0.86059272052336699, -0.49548227652943977, -0.43142111090635904, 0.65550021980632511, -0.46408099218342524], [-0.53495885560152656, -0.65159763606435606, -0.52903369518584098, 0.90460533219606032, -0.67114895385210871]], [[0.43721147936115923, -0.34948808060426018, -0.58002043367125045, 0.49297825565895947, -0.44201876528243522], [0.79526445232141474, 0.78853293976182015, -0.62463171446680565, 0.62425167958367167, -0.27921804123877592], [-0.10558021446220822, 0.22639726609816679, -0.82945657820803476, -0.46932475774243465, -0.4984001216852767], [0.092569115951812053, -0.071511003121370376, 0.14395830293143108, 0.18355520909773815, 0.43811732247507118]]]]))
17368          res=generalTensorProduct(arg0,arg1,2)
17369          s0=numarray.array([[[[-0.30702143062854748, -0.54278082244937975, -0.29731396289408574], [0.24645599524161343, -0.051886967289286545, 0.54572135458009341]], [[0.61746138689370422, 0.51566051162410331, -0.6753423099534781], [-0.052681935938310831, -0.34359848865219056, 0.5851798107322117]], [[-0.33824901667062579, -0.15934168352795908, -0.12630195941525568], [0.71362829672666916, 0.75560693993553563, 0.94750035665369614]], [[-0.61456902644542488, -0.97952000438677778, 0.21924286978951169], [0.66637005747869371, 0.011100156569260999, -0.6691551750522442]], [[0.083937822042731369, 0.31309530257976004, -0.53020617250982993], [0.0084021226060004839, -0.01311830828671301, 0.11552358381132488]]], [[[0.48241195665256353, -0.76428792810343449, -0.57902480046813665], [-0.70032589006215895, -0.44533960530381589, 0.89195644974298993]], [[-0.81537521274786329, -0.15522039109122132, 0.0656100975525582], [0.97877732281922003, 0.42694052867973298, 0.10486590804242168]], [[-0.8678127207409525, 0.39622725363665978, 0.4640029208548202], [0.80648944350781404, -0.54582863888222843, 0.39460350803746969]], [[-0.78432230216259868, 0.15204772716293213, 0.4089954973702008], [0.0092877913230517972, -0.28893667560587688, 0.83881761385152909]], [[0.94619795853802802, 0.5235478045491988, 0.25963016086104629], [-0.86573519172223889, -0.11850091495479242, 0.017998874687546129]]], [[[0.32968854474496379, 0.28401973549689097, 0.63215739287426831], [-0.033939826409320251, 0.75288159305554836, 0.7952721724780214]], [[-0.89495795144784629, -0.26913579069730043, 0.75724256537242396], [-0.78918955733764062, -0.36780611554939013, 0.092596009524696044]], [[0.42268924110511774, 0.26573268796859795, -0.64336068743564589], [0.24375675531467533, -0.59648832831180743, 0.69377643871371486]], [[0.12859042947251798, 0.29068813117194181, -0.90384540561105253], [0.050803378514198805, 0.43479483111384054, -0.5617251777379948]], [[0.12422801310858711, 0.1273402127965968, 0.7004223583384841], [0.50468431117134149, -0.017648088186096755, 0.0056152027504523527]]], [[[0.098526154956356526, -0.47267202959168286, -0.4990574779791439], [0.28280601661364591, -0.47830893530061447, 0.56540123261177233]], [[-0.83004208871491381, 0.73340634352854606, -0.56848971890532218], [0.6478923163769732, -0.65798459032169787, -0.78147284475118917]], [[-0.48926825384669392, -0.017911959713092784, -0.46094668020695018], [-0.12980232880699161, -0.85235202728054005, -0.40610196590588243]], [[-0.86020213731443196, 0.92451049214889092, 0.48366261842993064], [-0.0059146624778017021, 0.17888082701462693, 0.40474646768121714]], [[0.19018691577774427, 0.30647822455708051, -0.75102044650422672], [-0.35157393308068774, 0.4702893703273765, 0.31408851897896306]]]])
17370          sub=res.substitute({arg0:s0})
17371          ref=Data(numarray.array([[[[0.47082761059149747, 0.43960298032070533, -1.0605262563050013, 0.83086440712362564, 0.42131906482704684], [-0.15203551997749609, 0.40063165332289763, -0.05932862216967294, 0.13038689083004545, 0.9780448757100042], [0.15149924496997208, -0.073572441748152473, -0.018551186777190254, 0.48434667389161129, 0.12254613507633513], [-0.84163139160592748, -0.2150483643800733, 0.36707059151536259, -0.16939381771006001, 0.18066166695623054]], [[0.68301798349486209, -0.085672708995697802, 0.57525608510198545, 0.59355334840078666, 1.2080320867639336], [0.60436806393274012, -0.35797566358731825, 0.78325676366822206, 0.78367809643498321, -0.17152824523301513], [-0.7630171400674528, -0.92080190966895381, 0.38179000761897275, -0.091839606723338962, -0.086188798959587545], [-0.78697305361459158, 0.10960640576093811, 0.41388155909289248, -1.4326763355924139, 0.43941776293613488]], [[-0.046680258673348046, -0.77702872990693872, -1.571043161370844, 1.5695182375179519, 0.035526578661430497], [0.21508521928316382, -0.37477312730378848, 0.10262297824702671, 0.2701046730719715, 0.61704402034183214], [0.69309997311500371, 0.64111539220497193, 0.28354133838460427, 0.76813259430289538, 0.52391338034106938], [-0.68598465173779977, 0.281262228764108, 0.64560441049156925, -0.55475631885706833, -0.093387960356977662]], [[-0.30261236035373595, 0.48157588692921122, -1.4708451294780758, 0.21420136621861852, -1.4478769280592418], [-1.4964066718229203, 1.6201871655658413, -1.3477185952548578, -1.0480884946281692, 0.16019469977772993], [1.0189309465059333, 0.062877315223234032, -0.28694923786630183, 0.59511348952175214, 0.036307909787696171], [0.59972889206795221, -1.2182089238521758, -0.026558331792415735, 0.95801004635731668, 0.34843853504067313]], [[0.55000995656834095, -0.0068928751596483324, -0.16939090852490399, 0.33269313029582792, 0.66024288863033198], [0.040589760273724379, -0.28151689320395895, 0.40979109197446345, -0.039909904016998898, -0.1465066985279555], [0.21419048521720407, -0.31213755315545083, -0.30376500052167155, 0.055343131584427059, 0.17498677609859184], [-0.24632287805381489, -0.1637409952163586, -0.26341756333614874, -0.73556023573910545, 0.14525794965730085]]], [[[0.70149302373620581, 1.2696311212967366, 0.12262159038591552, 0.92591695699463072, 1.1044854824109156], [1.0219276632307208, 0.19466918708171577, 0.83131288829953254, 0.65808386454762291, 1.4200086319403984], [-1.1813548277469752, -0.90769991133838035, -0.14912204302277343, -0.74072788673809586, -0.17766077911925829], [-2.4759725362927751, 0.2372921039994661, 0.28655296773710015, -0.043593894021445534, 0.37140751808658795]], [[-0.0012104386022196399, -0.5494625416089044, -1.7252184054537756, 0.60182683140692705, -0.42048691700199531], [-0.98420764062418364, 0.34286516930467775, -0.74179323149147502, -0.36908201836871085, 0.20276102482342925], [1.2662197186461452, 0.71511675681377918, 0.10232833257743638, 1.2828087913433894, 0.38590064620737718], [0.75581135395539079, -0.4528789905107754, 0.313408674326697, -0.2061654799805516, -0.062628392278861258]], [[0.35228541261390173, -0.45410151504393881, -0.21834603199017052, -0.84924565594198231, 0.81713225489519936], [-0.85234205424196574, 0.15924354706166632, -0.77750940119961098, 0.94985881905844183, 0.50939177975454419], [-0.13875096022217198, 0.65191566477780971, 1.3225955350171574, 1.8530139587124461, -0.28522799617891553], [1.6265869654739229, 0.1863235168912436, 1.2424127062600967, -0.71935371507192691, -0.26780589314687636]], [[0.44369535731598952, -0.0012023185202043041, -0.038060539326492233, -0.70573997307639713, 1.3597772667456978], [0.20966793459298672, -0.64803993509326396, 0.043911651546132635, 1.0810670756342391, 1.3663569314398867], [-0.44902703454714471, 0.98347147377305799, 0.74365429609715994, 1.0622259595307797, -0.13488390687339524], [0.31479930298160186, 0.96983126508404904, 0.76980365145177898, -0.15546508710671686, -0.70611945127458919]], [[-0.49002233902612213, -0.20752756962276256, 2.0858368835264343, -0.65411635051259132, 0.14779069781626872], [1.3418440748208444, -0.86208115981037337, 0.8239725418308369, 0.66071698027845527, -0.60343392394620032], [-1.3664163878485467, -0.3236256756074033, 0.32989604752353402, -1.289120288919209, -0.35308090443129048], [-0.38944914257404856, 0.94635670666935057, -0.048849823897330502, 0.10414889841839983, -0.16571779818331758]]], [[[-0.98652033130583094, -1.2024721459078547, 0.49758178362163319, 0.46940908836022605, -0.34749819340351351], [1.3438456822291314, -1.1771994584470615, 0.50343915354104785, 0.86909456663504059, 0.026838509264000221], [-0.5383849817736247, 0.86528037115894829, 0.82812107551142466, -0.31104473347152789, 0.11750317497807326], [-0.43314902236242186, 1.386902299384889, 0.71997633640870173, 0.095246267466559786, -0.53515921251956911]], [[0.15464188445744256, 0.83643333387907581, 0.48421438136176043, -1.7755220633005948, 0.81934840333596526], [0.19608338421169969, -0.52379956364436131, -0.066110301093448273, 0.35277008744949068, 1.5208790969737611], [-0.43074403666942895, 1.2285762606383284, -0.12142496678411085, 0.18920806475100641, -0.2665575564390294], [0.39751434345620146, 0.98570257568467334, -0.23156656133854708, 1.3452743469219717, -1.0609547073530035]], [[0.81835184934248817, 0.10038412072879568, 0.23734481502736904, 0.67837408837904278, 1.2378304495424926], [0.20112560643874788, 0.18435262709477046, 0.39770526591022154, 0.94114154685302454, 0.1523931663467748], [-0.83693710280876632, -1.0362676803223854, 0.71741963822263677, 0.39126317129504895, -0.21154690735781426], [-0.68663806079228173, -0.15414198220943598, 0.87035985263506999, -1.5132850560990709, 0.61992275503528704]], [[0.4940650122356855, -0.026125020726689485, -0.80472842266300637, 0.70575697203333432, -0.075400767012727965], [-0.39932504141824243, -0.14861468443810794, 0.37727361916073948, -1.2079240203563291, -0.90735120020414095], [1.3120556017846867, -0.45773329507873217, -1.3582122600856978, -0.35263484030280967, 0.56451624719712212], [-0.14857983115989437, -0.87717995416555006, -1.3097609179793788, -0.5467116144971198, 0.31847548948952825]], [[-0.83538283760548127, -0.79127364078175788, 0.49120864083720683, -0.24705802604345392, -0.84515991439477789], [-0.12619143039614397, 0.29890898935967986, -0.62474421426460436, 0.53242450982832967, -0.48790492114784673], [-0.46818655579380131, 0.20734825069674417, 1.1890888911200459, 0.37953137339799886, -0.30362407981909928], [0.90894839408462591, 0.21670703330538574, 1.0094574190629337, 0.042797944433411568, 0.034284894043325707]]], [[[0.64781790158161323, 0.59462560029207889, -0.55223744963919907, 0.90600199905902057, 0.6201377346332877], [-0.15711987600672389, 0.79529208020226283, -0.038349108025262701, 0.4551477132175209, 0.72013157556816854], [-0.44821553429142319, -0.830098049389843, 0.363094979503854, 0.39763410717005454, -0.14211639238289128], [-0.99284908885584944, -0.46879246181884687, 0.73594081160193658, -0.66052857385285679, 0.62271637047977046]], [[1.2381847458195518, 0.14909668593937125, -0.62700932494664496, -1.0130268977574159, 0.94275054250136459], [-1.8537517069151739, 0.47339710336501928, -0.64360052841253901, -0.61371566944424716, -0.61865656464818564], [1.1546115699353452, -0.21508584560097696, -0.37497217832991442, 1.4727931477558471, 0.050851505378292784], [2.075091359586704, -1.2197653998880691, -0.53082039080705179, -1.144710483426207, 0.18981258521472344]], [[1.1376058732124428, 1.0850196152455198, -0.127397669699016, -0.87469446709975995, 1.0640133110698771], [-0.95422882307375345, 0.59179091584093135, -0.23728394067107184, -0.27853790537124923, 0.39601541179095123], [0.15094419960136002, -0.4702467637022818, -0.49381584318380373, 0.53486393689476897, -0.19242503938695543], [0.5079077059917253, -0.74872410803161848, -0.46073825030321247, -0.25609287025947447, 0.16623805196819624]], [[0.22390885908458685, -0.79309223649769756, 0.20005156700426352, -1.2066618107754723, 1.1959404154551223], [0.20631353125730012, -1.5336613157781496, 0.24765541360058424, 0.6535675957570688, 0.42308918296907422], [0.26066412433269098, 1.5434559718742098, 0.35152119227694878, 0.98908089457977844, 0.15320797567891903], [1.3180960947045648, 1.1859808396487446, 0.052852468754661208, -0.31050627777376866, -1.1180640946609035]], [[0.56524747457902347, -0.033893587467501214, -0.39207711805260076, 0.81493451315855392, 0.79778180963325696], [0.67625188527960778, -0.9668246944890454, 1.034916726527777, -0.27263249846542409, 0.018439348849544013], [0.50108249490790002, -0.078411049430442026, -0.94848638834384469, -0.4957699267572846, 0.51116440400408569], [-1.0711632593761709, 0.1836624440510764, -0.83422542409921663, -0.58979893569388708, -0.084396026407757299]]]]),self.functionspace)
17372          ref.setTaggedValue(1,numarray.array([[[[0.47622874569248086, 0.60045877831584071, -0.26243865166068203, 0.38682274760186297, 0.047962456667817205], [0.76707348610057213, 0.76441580771349704, 0.031233865225822277, 0.53967010640062929, 0.52580577534313688], [-0.1570397843743796, -0.54354266284274388, -0.55143148615429993, -0.82045785593958509, -0.51136446431205584], [0.29902867220999307, -0.16064884532952431, -0.018445473383485608, -0.045115544274009392, 0.50782063440843506]], [[0.72572209530837339, -0.015706471588736559, 0.27441654024657652, -0.50620186605664452, -0.9087595081379074], [0.98823289632985467, 0.17080672513567119, 0.1074047978334387, -0.013678806202330529, -0.71449417510536628], [-0.17236906553466694, 0.015987187853235163, -0.064626491845937328, -0.055155634979905332, -0.40972510243409987], [0.45117101564023715, 0.79007414740579396, -0.27018497454794976, -0.7153331564493105, 0.12701273384454898]], [[-0.10876740136056873, -0.87017990630787634, -0.95150209119071805, 0.68295413430031426, -0.49561102717369077], [0.90948655939897549, 0.8064679532568777, -1.4354358153911129, 0.77077953206395633, 0.48827510170406418], [-0.73892311870181471, -0.55258358631247817, -1.4605312574734086, -0.58418171929640872, -1.4992907396808179], [0.27868750780979146, -0.57162487309930587, 0.32689371385843491, 0.63954165688202236, 0.55263290669179377]], [[-0.25731797745413404, 0.8785719815650378, 0.085520572166270792, -0.15551017435333575, 1.1306215121129073], [-0.41436736974276384, 0.13651488012871449, 0.24467167305925336, 0.43689547166483422, 1.5295245715165362], [0.55800115088121849, -0.90474293818153884, -0.063172894975345173, -0.84499485396816709, 0.021087465069478784], [0.20261440472691206, -0.6777047256877301, 0.36282906511496082, 0.23314388002894748, 0.58829774742934782]], [[0.17967659598904104, 0.087019642836494618, 0.40530843933691713, -0.19636372166713884, -0.53736827078903338], [0.66368833185078679, -0.024605774218385459, 0.29051058724272166, -0.22234835388845264, -0.19307891725919962], [-0.5799133284898913, -0.11795890188743244, 0.16726270184819406, 0.16930741672648791, -0.38089274189029998], [0.29818571199194049, 0.50565502929295525, -0.17620973293468362, -0.51326125388831412, -0.18215084790621694]]], [[[1.336582320148938, 1.3866658429133445, -0.89992176206680696, 0.89088968919784794, 0.069400241781208627], [0.072248364149600786, 0.64451682534648924, 0.60940145586436523, -0.061046793670237687, -0.50452345598815218], [0.20747271550966245, -0.64202799053423643, -0.25265707289963868, -0.63462317124943923, 0.38543947805861539], [-0.27724879668020785, -0.041416595830737882, -1.274823534377814, -0.031381011812087273, 0.035187557076598708]], [[-0.48157472509259408, -0.44149557011354246, 0.18005521192961838, -0.080470969462604541, -0.02184389893563235], [0.97225410690694347, 0.56010580517747854, -0.67213457303294033, 0.82801561804747292, 1.1707381026914518], [-0.46017964070019768, -0.3295622014271839, -0.73028228588936794, -0.6316406476790597, -1.166559139702668], [0.61114311800705223, -0.31014191599920859, 0.9918150126769486, 0.11232727624382143, 0.68793751667002667]], [[-0.069828694451816609, -0.52831616699634598, 1.2049968417597265, -0.8895655278607506, -0.27379923760776459], [1.9852984682307768, 1.046801934113867, -0.23008766983918591, 1.5462419413426556, 0.71533199764744149], [0.31946101148955602, 1.1254875838966096, -0.4193059026864222, -0.94848166479654894, -0.69726066124172048], [1.0448167680746026, 0.48708686594216938, 2.0103429127569368, -0.69667642122868889, 1.3126791437972396]], [[0.14305835945433254, -0.316214337115725, 0.30613056380362902, 0.37186270874095417, -0.29335232147354234], [1.457526777548529, 1.1134317984145943, -0.15439116388067431, 1.0498522496431213, 0.068475614410108604], [-0.17387302948502248, 1.1313275144512425, -0.48592742488426399, -0.55696439194872815, -0.32827169637228693], [0.3209224588540468, 0.18733731068950824, 1.0855930697196163, -0.1941218215852602, 0.62388135600440842]], [[0.10917751030289018, -0.5502240453274464, -0.50394012873317573, 0.082802803664419375, -0.22649403610521532], [-1.166734430322105, -0.69155340565432821, -0.15337396842348333, -0.73846094585162625, -1.4471254604505879], [0.45948081351156789, 0.68383527565218616, 0.3817619613244756, 0.92003802431818593, 0.95405140500347219], [-0.74639053214210194, 0.13229747985827967, -0.70786407857064682, 0.2915593576325422, -0.69740863536357778]]], [[[-0.39495299988840149, -1.7577463447853328, -1.5547615287296359, 0.85027386325568743, -0.38801106020302151], [-0.58623751260496126, 0.12188841989008481, -1.9073559476313464, 0.26963633426819167, -0.69221127225535306], [-0.029699472358490117, 0.41200269243095122, -1.1946013064562493, 0.30945332050705082, -0.41539078691912706], [-0.61017896507848468, -0.7886434675561339, 0.059751449628327499, 1.2964802271730247, -0.013211535624119364]], [[-0.093695172514133451, 0.47104158915205696, 0.22603243218229122, 0.94480061529174164, 0.57745656085548303], [-0.0098757971395948968, 0.51445064951732011, 0.76616148317326949, 0.24710281389432712, -0.06114468218774291], [0.052585635052980556, 1.2617216704117942, 0.43101443404668233, 0.025552312900525384, 0.98738876799302477], [-0.49283691406206181, -0.11889538526708082, 0.43415439488847385, 0.099841856190836326, -0.19536369674558834]], [[0.93764744728007199, 0.29586307524949329, 0.45124648264281231, -0.73366116458801067, -0.72645873917808068], [1.4325269248078596, 0.57583332213835181, 0.17791822970798205, 0.5035488324296129, -0.26521034966738621], [0.16497525333255511, -0.079417065449636892, -0.26063874243511875, -0.66239465473231562, -0.54812982965838053], [0.77369984762465005, 0.77728066031096454, 0.10472881805227968, -0.88096923526970183, 0.67977917417729272]], [[-0.24435347710357561, 0.26563291932675487, 0.50787237673074337, -0.20434620799666187, -0.45033343637063961], [0.037429719012574192, -0.75303769702525791, 0.57274376477967048, -1.041222308091994, 0.018206336842366222], [-1.1751566323818472, -0.83342733598684704, 0.62854098343207387, 0.75954520636351641, -0.44772758616871777], [0.1559855352530802, 0.44797602689763688, -0.75299826994561292, -0.48801341751733385, -0.86047479703455987]], [[-0.30799684311180076, -0.93001765344228948, -0.23751603711664659, -0.53522914348575579, 0.1920691323675239], [-0.26575571099786638, 0.070156001199301127, -1.0186816916817056, 0.70039904279756682, 0.1811099892569604], [0.93715386145588764, 0.38561794351039669, -0.55289190893332618, -0.33466481892584826, -0.07389969973653418], [0.090488167164362948, -0.37073510880544702, 0.85300146501931762, 0.45149162817512062, 0.712813268920231]]], [[[0.9148901794904456, 0.90220600209694846, 0.0020911677784220539, -0.20276858803540376, -0.038687190110125363], [0.94108398098511525, 0.75358325182864017, 0.28711103551828704, 0.60929728884028334, 0.35557427734981373], [0.33384708276105401, -0.61288954179779753, -0.41345295274674226, -1.0570195691923363, -0.37114761737067692], [0.54914584084414442, 0.18129673432702947, -0.086239021551041836, -0.45348558546488643, 0.77850205684669138]], [[-0.20287394532554603, 0.56493701123527484, 2.735211361176896, -1.6879824789723048, -0.46522393890418107], [2.0565906521342434, 0.003848758947835651, 1.5186540384181315, 0.20640723281902357, 0.82151773610867318], [-0.63387038729739176, 0.49980877602993257, 1.1648660281692957, -0.073416460212542112, -0.51196116037371242], [1.3764545533805279, 1.4798068213676041, 1.2909425705425099, -1.9296480170829444, 0.29090246801107089]], [[0.44396893879185451, 1.4218908352608648, 1.6391091266511826, -0.67597978711262052, 0.095616100539228019], [1.0896364522610762, 0.20234818295145174, 1.7911535911644341, -0.0064965200158687286, 0.38289966388234248], [-0.10547990596329719, 0.24210124091927171, 1.06837635982441, -0.28391430456786382, 0.3686592154531726], [0.63090974086803331, 0.96490266296629668, 0.27341788204298628, -1.3691103611045961, 0.083113801310564311]], [[-0.6583285709137171, -1.3009641965824035, 0.73125560303240311, 0.19063086439817797, -0.75529341980255549], [1.311184555084195, 0.44420397398000688, -0.39466019174081768, 0.49340377011409248, -0.26033476131289629], [-0.91776642505552564, 1.6136799555464572, -0.10387605516314524, 0.45634421744234688, -0.51770432351687856], [0.22252620385901312, 0.43379582526851412, 1.2965494498928856, -0.21114182038871537, -0.0510697192932619]], [[0.096170660222725884, -0.066271830574049548, -0.22828833088145664, 0.60016109663722172, -0.76533085026739034], [0.30048365741535998, -0.20284796854539483, 0.10880430390395743, -0.7654931019961182, -0.58770058554801829], [-1.2972397543399663, -0.38027714042557231, 0.064520657106427903, 0.67011205295574849, -0.49050489612916059], [-0.13694397525882313, 0.30054519368239163, -0.89357465460949659, -0.1259850837101896, -0.82756994278076679]]]]))
17373          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17374          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17375          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17376       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17377       def test_generalTensorProduct_Symbol_rank3_taggedData_rank0_offset0(self):
17378          arg0=Symbol(shape=(6, 2, 2))
17379          arg1=Data(-0.527067293034,self.functionspace)
17380          arg1.setTaggedValue(1,-0.615807934334)
17381          res=generalTensorProduct(arg0,arg1,0)
17382          s0=numarray.array([[[0.90043919410278894, -0.73384132889912013], [0.087323656627105839, 0.13531493313085696]], [[-0.17282276627921989, 0.69468752976848513], [-0.10515920676755575, 0.37331896692677846]], [[-0.56470960347630084, -0.48039987961639752], [-0.46245608537130001, 0.57079529752000635]], [[-0.59864210218251612, -0.88758673456942372], [0.3450777363344899, -0.92563702953212679]], [[0.47242162082496408, -0.25681676739807968], [0.11662982999942439, 0.1282904861394043]], [[-0.84683859727648048, 0.87698008996850274], [-0.57762900970794173, 0.93807811376819927]]])
17383          sub=res.substitute({arg0:s0})
17384          ref=Data(numarray.array([[[-0.47459204857786508, 0.38678376273965165], [-0.046025443316317166, -0.071320075512416342]], [[0.091089227597511244, -0.36614707581985384], [0.055425978448624035, -0.19676421733650884]], [[0.29763996205480298, 0.25320306412348303], [0.24374547706395261, -0.30084753234065464]], [[0.31552467229378234, 0.46781793752277961], [-0.18187918837627004, 0.48787300348793333]], [[-0.24899798485915403, 0.13535971839835997], [-0.061471768784862942, -0.06761771925156751]], [[0.44634092710359252, -0.46222752206479389], [0.30444935852492616, -0.49443029207865347]]]),self.functionspace)
17385          ref.setTaggedValue(1,numarray.array([[[-0.55449760011365989, 0.45190531287816227], [-0.053774600606014987, -0.083328009455833796]], [[0.10642563070826525, -0.4277940927142041], [0.064757873895712956, -0.22989278187082005]], [[0.34775265441521885, 0.29583405752079589], [0.28478412665261105, -0.35150027309326087]], [[0.36864855635027877, 0.54658295355730913], [-0.21250160799673737, 0.57001462709908435]], [[-0.29092098245486253, 0.15814980303370396], [-0.071821574693651663, -0.079002299264189821]], [[0.52148992730299026, -0.54005129765540283], [0.35570852727954527, -0.57767594548337331]]]))
17386          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17387          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17388          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17389       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17390       def test_generalTensorProduct_Symbol_rank4_taggedData_rank1_offset1(self):
17391          arg0=Symbol(shape=(6, 2, 2, 3))
17392          arg1=Data(numarray.array([-0.16764631630883375, 0.2596922241939692, -0.8687751596863782]),self.functionspace)
17393          arg1.setTaggedValue(1,numarray.array([-0.66209571146434087, -0.28419802052765308, -0.52362763745408047]))
17394          res=generalTensorProduct(arg0,arg1,1)
17395          s0=numarray.array([[[[-0.024318095995042643, 0.016205844004471226, 0.092169154220779426], [0.075431172627815624, -0.66929809253951067, 0.9609668525450823]], [[-0.46364915017831732, 0.059372277162021092, -0.22858193959016782], [0.37028314317801914, 0.52790843906991802, -0.84924156558912101]]], [[[-0.34500414592734363, 0.43747835622941733, 0.89639057484188878], [0.85085926053973937, -0.35296116092045682, -0.33113858355070636]], [[-0.90667151574677241, -0.67952786345094185, -0.70043520715701146], [0.80987105025213779, -0.024428400720639232, 0.5612963309258856]]], [[[0.87678568108009869, -0.93604816323494267, -0.60044806464923517], [0.77417278779366283, -0.49621388882294171, 0.58967796088830204]], [[-0.68841989372265, -0.10171255099368381, 0.4805764348254602], [-0.38010370318769238, 0.22526487032312792, -0.57315824139640048]]], [[[-0.071237591115200116, -0.22074704525548117, 0.3822043486315283], [-0.78361183798902245, 0.098338060374752345, 0.97181737672769541]], [[0.046547197752218938, 0.27716060025831912, -0.037042599372237417], [-0.99164654764381144, -0.93481372800767804, 0.32101475706262139]]], [[[-0.2745469825795086, -0.98812209805091267, -0.38479379820320925], [0.31607992208062985, -0.88076422739425486, 0.55734292952687658]], [[-0.11996910286942919, 0.56967590705511761, -0.2940472509045442], [-0.42292676884468627, -0.031404218736186262, -0.53953359460002392]]], [[[0.77397018126843742, 0.71307373384307815, -0.91813632119013366], [-0.9413076708721253, -0.98242371917570748, 0.9933919212878366]], [[0.59545977660078342, -0.034343175700075834, -0.091068403885083304], [-0.51377646121001885, 0.78059179945141555, 0.043857404002119571]]]])
17396          sub=res.substitute({arg0:s0})
17397          ref=Data(numarray.array([[[-0.071788900788640919, -1.0213213992994457], [0.2917339018676523, 0.81281708852478052]], [[-0.60731346325769286, 0.053380286142321542], [0.58405274640353622, -0.62975607350809604]], [[0.13158004416044378, -0.77094766915878921], [-0.32851576824667067, 0.62016816355646354]], [[-0.37743321544864866, -0.68738352897610622], [0.096354676687174248, -0.35540761226927553]], [[0.12371845834542847, -0.76592294839828368], [0.4235137288997316, 0.53148006825733662]], [[0.85308048318929575, -0.96035526224668932], [-0.029627326612992555, 0.2507441285497875]]]),self.functionspace)
17398          ref.setTaggedValue(1,numarray.array([[[-0.036767078188522283, -0.36291826553480544], [0.40979845130575537, 0.049492940088019077]], [[-0.36527959634874335, -0.28964609003179848], [1.1601910286822399, -0.82317991775596533]], [[-8.1802700404476347e-05, -0.68032515528744975], [0.23306326179196618, 0.48776669738176714]], [[-0.09023078322724265, -0.017991881728557146], [-0.090190665179654517, 0.75414493871664867]], [[0.66408739152719731, -0.25080387235244755], [0.071501530681727418, 0.57145771818409719]], [[-0.23433492874200584, 0.38227118355215284], [-0.33680516871123806, 0.095361598531768704]]]))
17399          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17400          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17401          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17402       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17403       def test_generalTensorProduct_Symbol_rank3_taggedData_rank1_offset0(self):
17404          arg0=Symbol(shape=(6, 2, 2))
17405          arg1=Data(numarray.array([-0.43386040389491898, 0.85504248642395431]),self.functionspace)
17406          arg1.setTaggedValue(1,numarray.array([-0.81714174116797889, -0.84749591884094033]))
17407          res=generalTensorProduct(arg0,arg1,0)
17408          s0=numarray.array([[[-0.18824187700589778, 0.11336791171898142], [0.97665710322199129, -0.96694291221059392]], [[0.77221668781167185, -0.54915539380741563], [-0.48596856574740888, 0.36634432281489282]], [[0.054432406479553164, 0.41933540082419807], [0.70394384228488649, 0.32997857827454546]], [[0.52922994619686192, -0.50277255744767757], [0.94154145039637305, 0.69157962618354052]], [[-0.96868783665488234, -0.18614158264087211], [0.6126384749684668, -0.57123255417576924]], [[0.43807729160847408, 0.065512380469513465], [-0.067198606992218801, 0.35660110623428665]]])
17409          sub=res.substitute({arg0:s0})
17410          ref=Data(numarray.array([[[[0.081670696787716476, -0.16095480256423503], [-0.049185847967120798, 0.096934381116889221]], [[-0.42373284527073474, 0.83508331792254797], [0.41951824243501745, -0.82677727188656558]]], [[[-0.33503424406836851, 0.66027807680456241], [0.23825678095835864, -0.46955119335421847]], [[0.21084251821540531, -0.41552377078054742], [-0.15894229586107997, 0.3132399606669457]]], [[[-0.02361606586019134, 0.046542020178316497], [-0.18193302636902431, 0.3585495837663078]], [[-0.305413359733062, 0.60190189321010124], [-0.14316463924686543, 0.28214570403450878]]], [[[-0.22961191821025675, 0.4525140890861804], [0.21813310484153076, -0.42989189762579266]], [[-0.40849755395277826, 0.80505794281813103], [-0.30004901594148797, 0.59132996313212338]]], [[[0.42027529605918257, -0.82826925642203186], [0.080759462226208209, -0.15915896164814125]], [[-0.26579957619138622, 0.52383192491601738], [0.24783518667262544, -0.48842810344875592]]], [[[-0.19006439067444478, 0.37457469666278137], [-0.028423227850620715, 0.056015868688204899]], [[0.029154814770819975, -0.057457664006852885], [-0.15471509998018251, 0.3049090965360971]]]]),self.functionspace)
17411          ref.setTaggedValue(1,numarray.array([[[[0.15382029513732784, 0.15953422251745661], [-0.092637652774626197, -0.096078842509356763]], [[-0.79806728585089248, -0.8277129090876526], [0.79012941489380084, 0.81948017185065203]]], [[[-0.63101048883739908, -0.65445049138126044], [0.44873779466757874, 0.46540695506127416]], [[0.39710519996774313, 0.41185637615591419], [-0.29935523781196566, -0.31047531847616966]]], [[[-0.044478991406665246, -0.046131242344112464], [-0.34265645956285756, -0.35538504082403777]], [[-0.57522189696914927, -0.59658953342965182], [-0.2696392699993963, -0.27965549839261306]]], [[[-0.43245587971353955, -0.4485202195302509], [0.41083644300427297, 0.42609769054212898]], [[-0.76937282015871644, -0.7979525366305058], [-0.56511857989591829, -0.58611091074409372]]], [[[0.79155526549241328, 0.82095898819587221], [0.15210405694292548, 0.15775423161473273]], [[-0.50061247014222821, -0.51920860726071316], [0.46677796393101989, 0.48411725837305075]]], [[[-0.35797124083110093, -0.37126871677507428], [-0.053532900644917329, -0.05552147508146759]], [[0.054910786721684389, 0.056950545177701713], [-0.29139364885071239, -0.30221798218772256]]]]))
17412          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17413          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
17414          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17415       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17416       def test_generalTensorProduct_Symbol_rank4_taggedData_rank2_offset1(self):
17417          arg0=Symbol(shape=(6, 2, 2, 3))
17418          arg1=Data(numarray.array([[0.86706498853234426, 0.95137487066683368], [-0.32556126408857344, 0.56409548013195376], [0.21197658281604537, -0.32602074224417432]]),self.functionspace)
17419          arg1.setTaggedValue(1,numarray.array([[0.75907516066885106, -0.10132574928736049], [0.76053218718673166, 0.67159231974352629], [0.17905683792161486, 0.4072431934705012]]))
17420          res=generalTensorProduct(arg0,arg1,1)
17421          s0=numarray.array([[[[0.06137970300061224, 0.091798905794803654, -0.94474185792118703], [0.0024983776194322793, 0.32273095298441534, -0.59405517572139277]], [[-0.29032868486493668, 0.45504475829254565, -0.0075328642405725343], [0.37784076291699775, 0.049898598418347317, 0.016775874985824224]]], [[[-0.45096043623707915, 0.47084727133734972, 0.8902748788373922], [0.34193078254366061, -0.75214499178079142, 0.28856025514287809]], [[-0.41291393828984879, -0.11451870214656967, 0.35568459198618951], [0.91656007906262138, -0.44923106440517291, 0.47554743632591179]]], [[[0.17806197489923292, -0.16354566540531223, 0.68724901662850257], [-0.076309578925283006, -0.44154033978213603, -0.8471648995889034]], [[-0.61206146604875, 0.97651112755189651, 0.0078272346459036246], [-0.20820524619980696, -0.38775429839216202, 0.39373350310011301]]], [[[0.12683670557935645, -0.057161229542175063, -0.17393826802477785], [-0.14289646570139447, 0.19705634196594768, -0.40695558084988792]], [[-0.022672202361789795, -0.029441249959461846, -0.63585471721076869], [0.81517889360852047, -0.3187574863807674, 0.062430860413080325]]], [[[0.92107152155854788, -0.14365502625662296, 0.28696418563091308], [-0.13454264486693801, -0.9631530492153646, -0.83687271679339248]], [[-0.39407465142573272, -0.87798873404555922, -0.4466003290630387], [-0.68882584795271962, 0.53045727944483079, -0.83031651317362321]]], [[[0.70174421647230756, 0.11277921113579015, -0.21457370016193611], [0.57813411881081156, 0.95216558739043844, -0.33570406469653546]], [[-0.070130725639784064, -0.72678184074184848, -0.37573115620702269], [0.2176268725285353, -0.41009421616797148, 0.97550147322188607]]]])
17422          sub=res.substitute({arg0:s0})
17423          ref=Data(numarray.array([[[[-0.17692912701957467, 0.41818389659228955], [-0.2288282274057799, 0.37810227488443293]], [[-0.40147557536016121, -0.017066853612752619], [0.31492353864159783, 0.38214649757085178]]], [[[-0.35558421174076782, -0.45367768590695645], [0.60251350116883218, -0.19305386481179507]], [[-0.24534356136596097, -0.57339598159264904], [1.0417743081565376, 0.46354468554747164]]], [[[0.35331613587820776, -0.14690911681767405], [-0.10199605350674204, -0.04547659638052598]], [[-0.84695207466986477, -0.034006225600676301], [0.029172582659073396, -0.54517697522735087]]], [[[0.091714309138418826, 0.14513234638894562], [-0.27431948756827434, 0.10788644578800549]], [[-0.14485965244947982, 0.16912438724326684], [0.82382204869493003, 0.57537730170071022]]], [[[0.90622706767904482, 0.70169287189118379], [0.019510688626811767, -0.39847290880427277]], [[-0.15051802264724629, -0.72458122624748567], [-0.9459607755152305, -0.085402642347609525]]], [[[0.52625669874539827, 0.80119553343495997], [0.12013022037255491, 1.1965810650426036]], [[0.096157911415625685, -0.35419881100890355], [0.52899090196993526, -0.34232127042323113]]]]),self.functionspace)
17424          ref.setTaggedValue(1,numarray.array([[[[-0.052754659209092419, -0.32930759553000177], [0.14097409262333582, -0.025434447474909055]], [[0.12434608133004962, 0.33195462865306613], [0.32776286313944941, 0.0020583779523447544]]], [[[0.17519144419481533, 0.72446970002734035], [-0.26081062514789832, -0.42226699274613894]], [[-0.3368401147286047, 0.10977906246848924], [0.43923332554307276, -0.2009078128065519]]], [[[0.13383731537227561, 0.15199920840144879], [-0.54542101434753354, -0.6338051148969237]], [[0.27946900785442397, 0.72102254809849531], [-0.3824423793095571, -0.078970966992143232]]], [[[0.021660801474285483, -0.12207604271472866], [-0.03146964638845326, -0.018909273067157312]], [[-0.15345505891697594, -0.27642274508431686], [0.38753539379472596, -0.27124914894646596]]], [[[0.64129114157106359, -0.072941663027676892], [-0.9844846572964101, -0.97402427400362723]], [[-1.0468378143122687, -0.73159552548807993], [-0.26811460558523753, 0.087906081583386864]]], [[[0.58002793572931355, -0.082746785405326692], [1.1028897175644559, 0.44417402747036361]], [[-0.67325270751890098, -0.63400900998788234], [0.027975511238589601, 0.099799003316389689]]]]))
17425          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17426          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
17427          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17428       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17429       def test_generalTensorProduct_Symbol_rank4_taggedData_rank0_offset0(self):
17430          arg0=Symbol(shape=(3, 2, 3, 4))
17431          arg1=Data(-0.0806949187395,self.functionspace)
17432          arg1.setTaggedValue(1,0.585582516623)
17433          res=generalTensorProduct(arg0,arg1,0)
17434          s0=numarray.array([[[[-0.79549487278417108, -0.88359433650990171, -0.085471692268111132, -0.4519865490071131], [0.086579757546228597, -0.16043098140395018, -0.72096630826129138, 0.1138122810458202], [-0.21394967660170794, 0.99972993386961506, 0.077532899475746486, -0.015192257334262438]], [[-0.081051872353998577, 0.016285353013201664, -0.56588208087157832, 0.19917455705547282], [-0.94943665677971101, -0.47531274663566503, 0.31260845509492219, 0.67724976303382589], [-0.84307266765718691, -0.60129849197939422, 0.10838614608880115, -0.82591591149093424]]], [[[0.85845916924764731, -0.22380785043621398, 0.77286487303714968, 0.42173680207348019], [-0.27457641574956759, -0.94885429285488421, 0.70781339692228307, -0.29478458734780655], [0.071746792638299972, 0.4896667834395112, 0.65040844455041791, -0.1559346300094413]], [[0.20701364597941052, -0.12404655446831314, -0.94644101092672295, 0.85223378244632442], [-0.62791729568103238, -0.32375187871527689, 0.063061100926105285, -0.70491463569574675], [0.46343589978510713, -0.57091489005544394, -0.22131564722310459, -0.056292834234945355]]], [[[-0.98519788081417414, -0.46732059158815353, -0.29232445271559238, 0.10748557366947753], [0.77176104626530329, 0.4339254749021888, -0.38707234420177317, -0.087146801203628277], [0.91910466305150007, 0.33009435057658343, 0.43634127710741932, -0.96608684177205051]], [[-0.41830587308857492, -0.10707330159263817, -0.5068672399930958, 0.66819600640874133], [0.30752472145788667, 0.40400429611487043, 0.3854893053109576, 0.42279905854837652], [-0.62934659993034425, 0.95977988053413377, 0.85634863755746071, -0.68885680429640894]]]])
17435          sub=res.substitute({arg0:s0})
17436          ref=Data(numarray.array([[[[0.064192394117008347, 0.071301573183349787, 0.006897131262102861, 0.036473017843476466], [-0.0069865464996786125, 0.012945965007690151, 0.058178317659062909, -0.0091840727705497071], [0.017264651767717333, -0.080673125775055254, -0.0062565110228332598, 0.001225937971057895]], [[0.0065404742532903203, -0.0013141452380443955, 0.045663808532071727, -0.016072374696567478], [0.076614713867142248, 0.038355323465614002, -0.025225913881165681, -0.054650614594360866], [0.068031680408091003, 0.048521732948461689, -0.0087462112511234886, 0.066647217363421815]]], [[[-0.069273292903618403, 0.018060156304212673, -0.062366268126347525, -0.034032016972776483], [0.022156921556694791, 0.076567720057551539, -0.057116944547373774, 0.023787618321688575], [-0.0057896016017674424, -0.039513621299084173, -0.052484656580481195, 0.012583132297286014]], [[-0.016704949340276352, 0.010009926632735609, 0.076372980468463053, -0.068770935821563697], [0.050669735150108107, 0.026125131544690039, -0.0050887104148555351, 0.056883029245753211], [-0.037396922274126734, 0.046069930660195178, 0.017859048168448487, 0.004542545684205113]]], [[[0.079500462934628341, 0.037710397163501566, 0.023589097957453817, -0.0086735396329271335], [-0.062277194914690893, -0.035015580936231493, 0.031234771361670233, 0.0070323040415342288], [-0.074167076098037216, -0.026636936796145743, -0.035210523898873275, 0.077958299192096736]], [[0.033755158437138555, 0.0086402713711880158, 0.040901610742957999, -0.053920022439212449], [-0.024815682408431832, -0.032601093845398756, -0.031107028167014401, -0.034117735672698754], [0.05078507274036035, -0.077449359467509873, -0.06910298372038165, 0.055587243845851037]]]]),self.functionspace)
17437          ref.setTaggedValue(1,numarray.array([[[[-0.4658278895654549, -0.51741739524708352, -0.050050728658366364, -0.2646754208472204], [0.050699592312508687, -0.093945577834783883, -0.42218526519186544, 0.066646481957387899], [-0.12528519005505315, 0.58542437061847163, 0.04540191039606687, -0.0088963202829779372]], [[-0.047462559390040959, 0.0095364180015606297, -0.33137065302850138, 0.11663313836776669], [-0.55597350685096003, -0.27833483435778761, 0.18305804585203667, 0.39658562061951363], [-0.49368861442255679, -0.35210988417476236, 0.063469032193721978, -0.48364191796963957]]], [[[0.50269868074591861, -0.1310579642983678, 0.45257615736242174, 0.24696169791062211], [-0.16078714853988821, -0.55563248471826965, 0.41448315026905297, -0.1726207005207295], [0.042013667392746798, 0.28674030735307954, 0.38086781379252665, -0.091312593069567127]], [[0.12122357178787571, -0.072639493543936715, -0.55421930901345673, 0.49905320307584988], [-0.36769739023585479, -0.18958343989943746, 0.036927478181310411, -0.41278568637492935], [0.27137996048949486, -0.33431777809607149, -0.12959857366889987, -0.032964099539126997]]], [[[-0.57691465441857115, -0.27365476809182659, -0.17118008869156673, 0.062941672730013401], [0.45192977570344833, 0.25409917161994872, -0.22666279743274437, -0.051031643164443759], [0.53821162162940861, 0.19329748053359036, 0.25551382315495041, -0.56572356408100866]], [[-0.24495260588128734, -0.062700253409724516, -0.29681259398878801, 0.39128389903010663], [0.18008110031502167, 0.23657785244535137, 0.22573579753514891, 0.24758373673049072], [-0.36853436581518645, 0.56203031784706714, 0.50146279028736707, -0.40338250105260121]]]]))
17438          self.failUnless(isinstance(res,Symbol),"wrong type of result.")
17439          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
17440          self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17441       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17442       def test_generalTensorProduct_constData_rank0_taggedData_rank0_offset0(self):
17443          arg0=Data(0.118106855721,self.functionspace)
17444          arg1=Data(-0.644111582962,self.functionspace)
17445          arg1.setTaggedValue(1,-0.767090362899)
17446          res=generalTensorProduct(arg0,arg1,0)
17447          ref=Data(-0.076073993797220338,self.functionspace)
17448          ref.setTaggedValue(1,-0.090598630816026038)
17449          self.failUnless(isinstance(res,Data),"wrong type of result.")
17450          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
17451          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17452       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17453       def test_generalTensorProduct_constData_rank1_taggedData_rank1_offset1(self):
17454          arg0=Data(numarray.array([0.37376228196226391, -0.55129387447668154, -0.77701381576825024]),self.functionspace)
17455          arg1=Data(numarray.array([-0.57252584798582173, 0.50380239175281805, 0.15575410083804675]),self.functionspace)
17456          arg1.setTaggedValue(1,numarray.array([0.11446691451846114, -0.94692979917264108, -0.37986777206207667]))
17457          res=generalTensorProduct(arg0,arg1,1)
17458          ref=Data(-0.61275482815931448,self.functionspace)
17459          ref.setTaggedValue(1,0.85998252008024867)
17460          self.failUnless(isinstance(res,Data),"wrong type of result.")
17461          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
17462          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17463       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17464       def test_generalTensorProduct_constData_rank2_taggedData_rank2_offset2(self):
17465          arg0=Data(numarray.array([[-0.90323409790000508, -0.8560997431479056, 0.62391789286481836], [0.3129572742096598, 0.89095711066971517, 0.43708246428048936]]),self.functionspace)
17466          arg1=Data(numarray.array([[0.23404066574972826, 0.87708192850520739, 0.6498312324467812], [0.80962956042892831, -0.45946524916668907, 0.3326362942729002]]),self.functionspace)
17467          arg1.setTaggedValue(1,numarray.array([[0.28266459112087872, 0.92745878411148186, -0.2580623885076232], [-0.68591538854472001, 0.93487156424515638, -0.79626492384674941]]))
17468          res=generalTensorProduct(arg0,arg1,2)
17469          ref=Data(-0.56741666933676871,self.functionspace)
17470          ref.setTaggedValue(1,-0.94008444323811458)
17471          self.failUnless(isinstance(res,Data),"wrong type of result.")
17472          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
17473          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17474       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17475       def test_generalTensorProduct_constData_rank3_taggedData_rank3_offset3(self):
17476          arg0=Data(numarray.array([[[0.74770436811343011, -0.37520726513743763, -0.60593712636600428], [-0.63625230083582984, -0.58186923087689801, -0.51143672714357291], [-0.7593895565724158, -0.38744587426678523, -0.33301582531738361], [0.81145271140939079, -0.8228063061609785, 0.031396957346351506]], [[0.73938492206412532, -0.66875780845462729, 0.66385344430147497], [-0.2598712502669549, -0.36236638294490242, 0.69900996126303871], [-0.72280777218274617, -0.1302227373737872, -0.57995996166949615], [0.11780200933286267, -0.66405700282952251, -0.61405794577863682]]]),self.functionspace)
17477          arg1=Data(numarray.array([[[-0.3860575189681541, 0.1338403935622865, 0.2133886099349227], [0.18512524522056295, 0.56023816956224426, -0.23329174652761675], [-0.91921756340638083, 0.24349574372246297, 0.66457540938519566], [-0.33037641979488042, 0.71325425237913787, -0.85076141141770267]], [[0.61180128041358928, -0.58593228417826015, -0.15387005773143159], [0.63454174426158105, 0.95181571775174145, 0.7760719711472992], [-0.9058707958285932, -0.9622623764836078, -0.92089354655884237], [0.077663217115428784, 0.75380685063112995, 0.56539643159106734]]]),self.functionspace)
17478          arg1.setTaggedValue(1,numarray.array([[[0.54489403137027259, -0.99431467001100526, -0.56981382162729299], [-0.85349525389728598, -0.42777075326939218, 0.43752959862643515], [-0.9710015042282758, 0.054935021467208855, -0.16073836217793835], [-0.69596585131411359, -0.65417176346768868, -0.82496122060109855]], [[0.230072101763382, 0.27493684695375098, -0.58802409159726521], [-0.95075543263111695, -0.056318263710385619, 0.045443224868996213], [0.73611875038000552, 0.80125778636355505, -0.59427273495188659], [0.81135439566077983, 0.43320131154857289, 0.21042863808346768]]]))
17479          res=generalTensorProduct(arg0,arg1,3)
17480          ref=Data(-0.041624801184147353,self.functionspace)
17481          ref.setTaggedValue(1,1.6932302821255176)
17482          self.failUnless(isinstance(res,Data),"wrong type of result.")
17483          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
17484          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17485       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17486       def test_generalTensorProduct_constData_rank4_taggedData_rank4_offset4(self):
17487          arg0=Data(numarray.array([[[[-0.92143019856019825, -0.69243406225967563], [0.19067777432636457, 0.026590599702902562], [-0.13298368399242411, -0.46767265841875494]], [[0.32936120586917705, -0.29548785479000883], [-0.027274093640498487, 0.78700471946215345], [0.73634704476412582, -0.16532728905967331]]], [[[0.70317969746577136, 0.44495834335727724], [0.33445719544820718, -0.96009640197776802], [-0.44988057866983611, -0.40765141538734029]], [[-0.70294649319050206, -0.88462308111771781], [-0.47317355638675784, 0.71183542215595974], [-0.98147603415075757, 0.92713507070582257]]], [[[-0.44785930264414398, -0.50808538668428027], [0.4978397583882237, 0.74102815224890928], [0.14908224301731954, -0.7342594657825452]], [[-0.48753254750747388, -0.64032214293697254], [0.93312935003303243, 0.26798073349568519], [-0.24684945615930176, 0.36926507333723047]]], [[[0.4813145411849582, 0.11653620424260769], [-0.51502808706930492, 0.97314600079314428], [-0.57397818779306631, 0.094137886250654779]], [[-0.40967046757860826, 0.54343164324690707], [0.4231168834677681, -0.88479992222009729], [-0.38184913537970155, 0.25104342903233912]]]]),self.functionspace)
17488          arg1=Data(numarray.array([[[[-0.80781478216054503, 0.83621274752404706], [-0.27568194683984393, -0.12061898085176637], [0.47605885899530564, 0.49491726609967923]], [[0.17017324655387944, -0.79779408406043184], [-0.045658182909630085, 0.28427602974218091], [-0.86000915188470173, 0.12560704707993398]]], [[[0.27716608227394568, -0.83434322873422828], [-0.64145304547163495, -0.06589994806432431], [-0.94420586329205691, -0.52384481635700841]], [[-0.48110077761771586, 0.85774517255717786], [0.53721987103003688, -0.65893185260364073], [-0.52745627787167049, -0.20509101871476543]]], [[[-0.51832581920400234, 0.635288087851821], [0.98063507720922138, 0.79861333003562196], [0.020892198898146752, -0.90937368392829976]], [[0.85321334370195534, 0.49861617395194768], [-0.89937750849041409, -0.78312558271242882], [-0.85515622498392174, -0.25876372075058374]]], [[[0.53354819691759592, 0.3584925614424268], [0.66388940661458662, 0.46146824897892746], [-0.68241531157048918, 0.21761482566973012]], [[-0.3927356863639162, -0.085765108063680762], [0.15288004585108772, 0.3403500313747625], [0.44021176092408942, 0.20202027109594423]]]]),self.functionspace)
17489          arg1.setTaggedValue(1,numarray.array([[[[0.67224171939027966, -0.55844482291825104], [-0.38978444532224099, -0.11067835330345455], [-0.76066197047216244, -0.95131305714936487]], [[0.15990539206232013, -0.38291512539479178], [-0.32019008106407654, -0.70450392122946504], [0.45040241278251081, 0.77347401073978705]]], [[[0.83970148829015789, -0.23469059760440114], [0.42198718977873773, -0.12824138417946696], [0.69709049538568002, -0.010693471863277626]], [[0.040518696120396713, 0.26788410618100045], [0.80779902835127171, -0.22150069873501144], [0.49620621467250725, -0.4313845404437231]]], [[[0.44815113370802573, -0.42713446917274744], [0.68973799687606707, -0.52083297019798569], [0.10349272086294214, -0.35788480662990141]], [[-0.75010925811056439, -0.68906485911245907], [0.41234509473712566, -0.059206634907000844], [-0.021132645262399663, 0.97568795095889516]]], [[[0.77684404230191384, 0.72727628908260411], [0.050516148706542197, -0.85980474368933169], [0.11020422965861454, -0.68481808033384217]], [[0.37763810160909661, 0.63302531019814712], [0.94178206288306487, 0.79882214405617802], [-0.684718127402, -0.4636599912332926]]]]))
17490          res=generalTensorProduct(arg0,arg1,4)
17491          ref=Data(-0.25834195356130368,self.functionspace)
17492          ref.setTaggedValue(1,0.096183363928172408)
17493          self.failUnless(isinstance(res,Data),"wrong type of result.")
17494          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
17495          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17496       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17497       def test_generalTensorProduct_constData_rank0_taggedData_rank1_offset0(self):
17498          arg0=Data(0.105505313708,self.functionspace)
17499          arg1=Data(numarray.array([0.50563614125360479, -0.82693353197641661]),self.functionspace)
17500          arg1.setTaggedValue(1,numarray.array([0.36304249194180516, 0.66970317828147974]))
17501          res=generalTensorProduct(arg0,arg1,0)
17502          ref=Data(numarray.array([0.05334729970492124, -0.087245881706602524]),self.functionspace)
17503          ref.setTaggedValue(1,numarray.array([0.038302912001551587, 0.070657243915642862]))
17504          self.failUnless(isinstance(res,Data),"wrong type of result.")
17505          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17506          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17507       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17508       def test_generalTensorProduct_constData_rank1_taggedData_rank2_offset1(self):
17509          arg0=Data(numarray.array([0.67232526074182997, 0.13682999498425286, -0.58286155274913254]),self.functionspace)
17510          arg1=Data(numarray.array([[0.88384300504142943, -0.061761297810958959], [0.60039287468836045, 0.15674906783714326], [-0.069914881094524706, 0.051698906755892837]]),self.functionspace)
17511          arg1.setTaggedValue(1,numarray.array([[0.48476561781581951, -0.9322434444015657], [-0.76744121321571956, -0.33012568865468639], [0.7158049689314645, 0.66123510666060592]]))
17512          res=generalTensorProduct(arg0,arg1,1)
17513          ref=Data(numarray.array([0.71713242900653684, -0.050209011555736496]),self.functionspace)
17514          ref.setTaggedValue(1,numarray.array([-0.19630400261525871, -1.057350434155377]))
17515          self.failUnless(isinstance(res,Data),"wrong type of result.")
17516          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17517          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17518       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17519       def test_generalTensorProduct_constData_rank2_taggedData_rank3_offset2(self):
17520          arg0=Data(numarray.array([[0.72915019899133138, 0.73463793477870598, 0.65414716729603395], [-0.088667665975812548, 0.45659923993982243, -0.48658570563803449]]),self.functionspace)
17521          arg1=Data(numarray.array([[[-0.9938380654264265, -0.76470060557046859], [0.41860461099460311, 0.49818232768153559], [0.70215445931516274, 0.45636641708339676]], [[0.036908377314580854, -0.92436485505227606], [0.073568026948994669, 0.8929989858323979], [0.22113622595201288, -0.59735135939686135]]]),self.functionspace)
17522          arg1.setTaggedValue(1,numarray.array([[[0.16959480543542149, -0.29155768374094149], [0.78626397878319509, 0.47290378047547232], [-0.45975961860170633, 0.24172422524073145]], [[-0.84707208156684444, 0.75818529926495337], [-0.15156339429693633, -0.46816803482051483], [-0.3626284889582756, -0.95254761177082092]]]))
17523          res=generalTensorProduct(arg0,arg1,2)
17524          ref=Data(numarray.array([-0.035105246725275041, 0.88729940174647925]),self.functionspace)
17525          ref.setTaggedValue(1,numarray.array([0.58288299248123843, 0.47545129282960297]))
17526          self.failUnless(isinstance(res,Data),"wrong type of result.")
17527          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17528          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17529       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17530       def test_generalTensorProduct_constData_rank3_taggedData_rank4_offset3(self):
17531          arg0=Data(numarray.array([[[0.73238112171369085, 0.041875074567568449, -0.19081848335645102], [-0.63342404704522037, -0.92507272317536171, -0.51592094317867776], [0.46867549772982398, -0.74993257448282424, -0.66033859866765088], [0.073371525219228406, -0.030578976935515145, 0.19543096681737637]], [[0.97822197106865816, -0.6977770238185883, 0.22283977787018538], [-0.47245271635452601, -0.74829724233800943, 0.1545630407887193], [-0.37543924087230929, 0.97235838223227433, 0.89705122940241044], [-0.26304515101502579, 0.69926818715017736, 0.35189693102410979]]]),self.functionspace)
17532          arg1=Data(numarray.array([[[[0.19516831202874574, 0.7217756021126196], [0.94637321976444611, -0.17912130902409418], [0.23855777686122015, -0.59991239910241689]], [[-0.3490739776315972, -0.74562436564512646], [-0.62588731908697692, 0.4183401515372378], [0.12738526638559122, -0.68298548824266891]], [[0.14289168109666162, -0.73635912281902893], [0.15246650531634143, -0.40196069523009448], [0.65882285444639566, -0.98194347308631214]], [[0.89055504056667623, 0.19130069076914635], [0.069548980863522569, 0.14466562819520346], [-0.66930787687128368, -0.20323845746386215]]], [[[-0.81266723812104313, 0.30758096631716048], [0.42897781176151306, 0.23990619860756901], [0.23721308436078981, 0.76734128202161811]], [[-0.23771522334260653, -0.79652925079298842], [0.0027175852450833649, 0.064585974700822613], [0.61649556211772172, -0.47055511271796036]], [[-0.88646433098717181, 0.78539769537541115], [0.72032629897794509, 0.37444567761252334], [-0.60392831779783296, -0.31815177231963032]], [[0.018553753076584911, 0.36902552606553063], [0.4007148521579047, -0.037504362716830553], [0.24322422380664932, 0.47250474661578212]]]]),self.functionspace)
17533          arg1.setTaggedValue(1,numarray.array([[[[-0.6581229630417571, -0.1091222137425103], [0.73599725157460005, -0.61722480938904178], [-0.28845963059550717, 0.39245571868558482]], [[0.062826625348181731, 0.79261498362543459], [0.89579845111000411, 0.042061291016960212], [-0.43867581804772082, -0.04063365302370503]], [[0.76871222991039834, 0.80202851972224964], [0.09909297715784593, -0.41834432779539177], [-0.30641515498285132, -0.11210361899099586]], [[0.60665679860451727, 0.9261568435652594], [0.91619670395983199, 0.32242881256360412], [0.63967792795822076, -0.8665787715537252]]], [[[0.19388926658729777, 0.65301135659413845], [0.92740961097241903, 0.50384377568353278], [0.46127317017758052, -0.11926790838192747]], [[-0.2092317267476238, 0.04724053003558959], [-0.091201753759187376, -0.61128204200197178], [-0.28360690566041646, -0.64989330493259834]], [[0.14636169897699824, 0.13251654833284099], [-0.9304582385849256, 0.0020032563495684386], [-0.32393792797824528, -0.28127409540249859]], [[0.21412601264619657, -0.81650085497452163], [0.15004480872969483, 0.28487460595172931], [-0.96586824076573352, -0.49136092114509955]]]]))
17534          res=generalTensorProduct(arg0,arg1,3)
17535          ref=Data(numarray.array([0.33793791922692995, 2.0344375509472195]),self.functionspace)
17536          ref.setTaggedValue(1,numarray.array([-2.1814493098737855, 0.48796930418346995]))
17537          self.failUnless(isinstance(res,Data),"wrong type of result.")
17538          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17539          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17540       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17541       def test_generalTensorProduct_constData_rank0_taggedData_rank2_offset0(self):
17542          arg0=Data(-0.125917415508,self.functionspace)
17543          arg1=Data(numarray.array([[0.097017941718090972, 0.73217166894475949, 0.83450365737975107, -0.56986079746969631, -0.34078588377946839], [-0.2465606068124564, -0.69603885390034592, -0.7779887608653242, -0.82870452319452181, -0.51228612561430542], [-0.77217946192872056, 0.62814707830858629, -0.44181222692623079, 0.48703001010506997, 0.040078144117731807], [0.25971625829708334, 0.77732135886620002, 0.012702853304611628, -0.87705544252452183, 0.79823651290603204]]),self.functionspace)
17544          arg1.setTaggedValue(1,numarray.array([[0.95282027438982553, 0.93038667091440796, 0.015947231736786582, 0.31923193175906306, 0.61142380106440952], [0.73827991659744518, -0.71146084990353842, 0.44446785347293982, 0.2590049552817193, 0.91693348252414886], [0.065364339652047576, 0.30614610761026384, 0.63892596221619025, -0.38006537331342627, 0.56177788681693919], [0.077021199902235882, -0.6306351905072527, -0.83853022065592464, -0.40001353759165137, 0.83646677118163937]]))
17545          res=generalTensorProduct(arg0,arg1,0)
17546          ref=Data(numarray.array([[-0.012216248479014383, -0.092193164261450994, -0.10507854376894445, 0.07175539881651577, 0.042910877727002979], [0.031046274375823791, 0.087643413576042301, 0.097962334062165188, 0.10434833178015829, 0.064505744937783577], [0.097230842154156685, -0.079094656659302182, 0.055631853754232859, -0.061325560147097835, -0.005046536325648142], [-0.03270280001008747, -0.097878296527330835, -0.0015995104576895793, 0.11043655457961103, -0.10051187866897099]]),self.functionspace)
17547          ref.setTaggedValue(1,numarray.array([[-0.11997666639446215, -0.11715188502431401, -0.0020080342047978294, -0.040196859794617526, -0.076988904809897452], [-0.092962299019157882, 0.089585311454733696, -0.055966243385547981, -0.032613234572750026, -0.11545789431187499], [-0.0082305087153504083, -0.038549126638013055, -0.080451905863004741, 0.047856849531578961, -0.070737619597341289], [-0.0096983104309880438, 0.079407953316851326, 0.10558555821005826, 0.050368670821615211, -0.10532573398522563]]))
17548          self.failUnless(isinstance(res,Data),"wrong type of result.")
17549          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17550          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17551       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17552       def test_generalTensorProduct_constData_rank1_taggedData_rank3_offset1(self):
17553          arg0=Data(numarray.array([0.54240161472037096, 0.61020298653288196, 0.74145151652228369]),self.functionspace)
17554          arg1=Data(numarray.array([[[-0.93449853454742415, -0.81138188617816875, -0.86241436172520203, -0.96836366946333174, 0.52945031888009675], [-0.55248495762256122, -0.54653644099074228, 0.9015789541377075, 0.40187512663214098, -0.17118171011676497], [-0.20545443849317935, 0.20490204109500976, 0.14900744366489249, 0.84060975330592957, 0.99209955278665896], [0.26334023825970543, -0.78182490249271797, 0.14475837343563969, 0.15011626107398879, -0.73962160071080896]], [[0.35150517506626988, -0.7520877692511132, -0.52179432055768271, -0.16241337532930999, 0.96547970428602259], [-0.18410489762311166, -0.31885849105320507, 0.87864678498630888, 0.4967097760328707, 0.70024161223571557], [0.34448948528998868, 0.68551574417734984, 0.13045295707799132, 0.87407450294520705, 0.2713270177343039], [-0.27335397394206873, 0.85829651397458906, 0.87668181607152662, 0.97950578646734221, 0.20567674512675871]], [[-0.53062380303616985, -0.013793655599982468, 0.64252382302821487, 0.77888732026942598, -0.85428259469916745], [-0.45822799022683625, -0.50428227647109014, 0.061131762213650909, -0.52433228731227821, -0.14693266313824349], [-0.094567584055777143, -0.1496467678136939, -0.67822608206103907, -0.95629095099041939, -0.32145962313716359], [0.95194555493372701, 0.38333455519434323, 0.87301143785354873, -0.68513214269177003, -0.33648398767166321]]]),self.functionspace)
17555          arg1.setTaggedValue(1,numarray.array([[[0.64063158778159046, -0.060680558749783398, -0.8935227444706193, -0.71096746148202072, 0.59928250520421433], [-0.27214308772194373, 0.5134023686574134, 0.39112260940093768, -0.92368153069487535, 0.75501950006827978], [-0.12680205108188836, 0.78319895148091279, -0.39714672437098542, -0.60415333888263612, 0.94483501697840766], [0.88071057256968333, 0.3316968175365349, 0.22208737889028995, 0.27467190343314485, 0.12112979869592722]], [[0.1350992575374963, 0.39472615237037312, 0.6247974282310591, -0.50360083711337511, -0.66532554727014381], [0.28903028569957101, 0.94628696173044879, 0.60453879806935751, -0.68499758676944644, -0.40481117103860553], [-0.11995907015545204, 0.71583306157325977, 0.82752615090737369, 0.35401930476525423, 0.33559477200782362], [0.60329982884389866, -0.26614235410945142, 0.18438242020978701, -0.033400627402723426, -0.030538147788549574]], [[0.23151368878167111, -0.46525848009301862, 0.2498190655656316, 0.96886816370289908, 0.64596934008880424], [0.45188134598992491, 0.050790402441542204, 0.37794641343554525, 0.58099785523017378, 0.4199267583976678], [-0.72000928590332047, -0.67187321832739322, 0.87746527135652119, 0.51884782427005915, 0.45894049337301235], [0.53103742970926082, -0.23781388751523691, 0.31708256636069687, -0.0788597033832521, 0.23441815784500331]]]))
17556          res=generalTensorProduct(arg0,arg1,1)
17557          ref=Data(numarray.array([[-0.68581582994913148, -0.90924837501277433, -0.3097751321320163, -0.046839959818542054, 0.24290418148870518], [-0.751763929754792, -0.86491151026373658, 1.0704970106293477, 0.13230453678727694, 0.22549684119239766], [0.028652414950954302, 0.41848712942364164, -0.3424470950288957, 0.28026758384385531, 0.46533423086764236], [0.68185623452508826, 0.38389599390164975, 1.2607666924395149, 0.17112839241395328, -0.52515394931551784]]),self.functionspace)
17558          ref.setTaggedValue(1,numarray.array([[0.60157375372420296, -0.13701676164880316, 0.081833802314232346, 0.025440135339142689, 0.3980231093713118], [0.36380440258932112, 0.89355602484114971, 0.86126585635557751, -0.48821218609421091, 0.47386214227500922], [-0.67582899707037902, 0.36345043132197491, 0.9401438602809411, 0.27303039665873008, 1.0575430958023382], [1.2395727015864493, -0.1588154374392865, 0.46807260608619727, 0.070130674681231991, 0.2208762280542067]]))
17559          self.failUnless(isinstance(res,Data),"wrong type of result.")
17560          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17561          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17562       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17563       def test_generalTensorProduct_constData_rank2_taggedData_rank4_offset2(self):
17564          arg0=Data(numarray.array([[0.79585434676766953, -0.16744977672340289, 0.85075718261804867], [-0.36063610270899904, -0.11700692402626234, -0.53200876667055286]]),self.functionspace)
17565          arg1=Data(numarray.array([[[[0.4653525617480776, -0.84184178934352261, -0.36334960384991488, 0.69796885418246646, 0.69494080489383614], [-0.74004838764693925, -0.2418144523262693, -0.62436297978155975, 0.064098737511398607, 0.87232247429348431], [-0.835573747698797, -0.16967422852384617, -0.95804581914081277, 0.001453429819676888, 0.83946032440489571], [0.94607755429698037, -0.071348983185793857, 0.75389170675254791, -0.76707643899942268, 0.47286870058642916]], [[0.38670308635576167, 0.28320430793129647, 0.50048733255577327, 0.68947110514714494, -0.22820990745227321], [-0.780599211020371, 0.79218525788368854, -0.86296786357817479, -0.39610418035373485, -0.026728041825688109], [-0.95953165884323055, 0.46368104133483201, 0.38682434585948533, -0.84630345312965116, -0.19335265222415776], [-0.56922876323930049, 0.9612593159766456, 0.056341543191664734, -0.58256586567726321, 0.05243347658328501]], [[-0.20944684141558922, 0.1121656890581284, -0.78441215120503882, 0.8246058828387568, 0.83684006232069086], [0.077608385676014802, -0.36817770675793682, 0.22010344631255885, 0.70106482196964492, -0.4347377835374], [-0.68482460228050424, 0.89612758208361942, -0.13117197892974497, -0.63604914484994834, -0.50607629043303426], [0.051752217633831643, -0.41131565153100458, -0.35072311822822666, 0.444181644952095, -0.45953580584866405]]], [[[-0.78576611900177085, -0.82858871414459112, -0.89115670922192258, 0.026220550144515409, -0.65524228820145702], [-0.64771446258702525, -0.34329321436290239, 0.70358933407855373, -0.69468873096297301, 0.79851454816979106], [-0.39978405645846626, 0.7305339428630182, -0.012490682299889588, 0.61559948009482546, 0.74831611598303294], [-0.92301266515515668, -0.57449296792773152, -0.628093007345919, 0.61990039633373684, 0.1548730281699664]], [[0.96485289717641498, 0.35138752590918254, 0.96811775332254379, -0.43017056500149553, -0.90920975718503305], [-0.26118729514762618, 0.38251487887052971, 0.6131024877459077, 0.55606425021260164, 0.21005577613820203], [0.5938176182895194, 0.37601476752513907, -0.71762815528323998, 0.016826385611039107, 0.86748941446318617], [0.28444263902134947, 0.66531071881855475, -0.41643618243375569, 0.83086755400347023, 0.8839283706540384]], [[-0.8884722840377941, 0.63350057787928171, 0.90516893469156967, -0.82638422188812499, 0.042864897752095121], [-0.11537066788701078, 0.76640012268973523, 0.09559461396102642, -0.40805615758393587, -0.64149445836340613], [0.66740086739269677, -0.2636664794576784, 0.17404258245129189, -0.62909910408270031, 0.84656906357734663], [0.64885065877136694, -0.14710062694580217, -0.52546796582163924, -0.21467068872260975, 0.21710773569423036]]]]),self.functionspace)
17566          arg1.setTaggedValue(1,numarray.array([[[[-0.23627797382377946, 0.20115798140153474, 0.72253853148678182, 0.95438677737325217, -0.267297067082509], [-0.60970364418670453, -0.16177390388989643, 0.810626278607955, -0.55498941168053273, 0.043863499851317878], [0.35068997831396342, -0.035707587933487162, -0.17640359741949019, 0.48536485700974996, 0.99796322298944573], [-0.45192674871797234, -0.48724380016385993, -0.88528975579428604, -0.40297282910188126, 0.43032142573717902]], [[-0.006823628928143366, -0.47707800497852237, -0.0020211350364061076, 0.88877520693377199, 0.85383889037384098], [0.73754351812113628, -0.54349359701661326, -0.73484076891555317, -0.82689948257102985, 0.69434168187077061], [0.38462133180149904, -0.6130491231248052, 0.84520600038865901, -0.81334760181652355, 0.012491125858899998], [-0.59474267504335709, -0.98121797854245951, 0.24854034010221748, 0.70472673594115798, -0.83319025171798722]], [[-0.5649538845259241, -0.78354773350969564, -0.49152179618246938, -0.94071286770898421, 0.45583977634086836], [0.24550116169048164, 0.0044643427902792965, 0.62562466083309243, 0.1042297623151649, -0.858864814764976], [-0.16571103926267061, 0.59362606743954061, -0.47808854963875147, 0.13979876933690294, 0.66890590011316675], [-0.38157605248220428, -0.63237533885406494, 0.0014780238741600726, -0.0072209250657411239, -0.13172986463698222]]], [[[-0.63153299667628038, 0.76312550653925304, 0.35227094981896578, 0.64313186803258859, 0.72377174685022894], [-0.6969483416170712, -0.71671115826957754, -0.47413006781600564, 0.095309201746312411, 0.27163921735587193], [0.47816455599390451, 0.69070520663545443, 0.58671978452085671, 0.43323980198125067, 0.73018379211239171], [-0.47777530577936322, 0.52706818726121529, 0.98854498564038407, -0.24724567012993814, 0.68035807307409857]], [[0.34930896272645473, 0.429171944195754, 0.39763405112007377, -0.93397675645413458, 0.69486989015521305], [0.20303598666576028, -0.70617976630066903, -0.296904966956131, 0.11524282677941167, 0.23537105621665289], [0.3024930094439966, -0.34262401493878425, 0.026233876157299107, -0.28533457791293237, -0.10984446404457904], [-0.18591011930419032, 0.94464787918264159, -0.43217252339125878, 0.43642426129899037, -0.56335688043928811]], [[-0.98059137781766048, 0.20639994554939123, 0.96765906957325876, -0.17651710242942209, -0.66245568041531322], [0.60921609722528802, -0.70557466259539781, 0.78679728323065201, 0.53690455464035969, 0.82846266546322989], [-0.45432260125310919, 0.74600976800290586, -0.40323074559139505, -0.89345955149343004, -0.083016577890519416], [0.96763321853379036, -0.67004792899327437, -0.27071313849809098, 0.53657480270513869, -0.67859871101286529]]]]))
17567          res=generalTensorProduct(arg0,arg1,2)
17568          ref=Data(numarray.array([[0.77056731408022916, -0.70130380991311614, -1.3137751319486588, 1.6220896498347743, 1.6231164128352316], [-0.066705522798006678, -0.96701470256041955, -0.54147775170239676, 1.1163326703822798, 0.35759046645730902], [-1.3673084075811199, 0.38252735101355984, -0.94295420875278779, -0.28754329824996872, -0.5518372715675206], [0.84668142747640296, -0.36008003372824848, 0.84696589653002796, -0.34160890073742678, -0.298180514335594]]),self.functionspace)
17569          ref.setTaggedValue(1,numarray.array([[0.041026428429544737, -0.86186308100620845, -0.53116249672531712, -0.21833675074367678, 0.04221371860945039], [-0.49639510332679271, 0.6825292357533691, 1.0875893484178307, -0.5480464607162352, -1.3782961655056807], [0.10757995884550436, -0.026619047973952703, -0.68879798335532127, 0.99388193429173632, 1.1549057047384179], [-0.90544046633777675, -0.705607013745705, -0.90683835575693206, -0.69221871063053175, 0.55149600539263777]]))
17570          self.failUnless(isinstance(res,Data),"wrong type of result.")
17571          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17572          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17573       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17574       def test_generalTensorProduct_constData_rank0_taggedData_rank3_offset0(self):
17575          arg0=Data(0.522536815678,self.functionspace)
17576          arg1=Data(numarray.array([[[0.27749852528881691, 0.85318703903697601], [-0.57649627632713951, -0.98923154675138925]], [[-0.30713374189444798, 0.56529812990574535], [-0.46268929031243156, -0.4895845882305061]], [[-0.12789443289717362, -0.076152967597240551], [0.0072684923169654692, 0.067550846705466627]], [[0.16238158157640137, 0.61936719413071728], [0.70948579284630076, 0.52432988031269967]], [[0.051346807795746852, -0.36905337659925164], [0.88448123780832932, -0.79623461393574457]], [[-0.20787121909864847, 0.56230662052382763], [-0.81353983206563307, 0.034904580807112673]]]),self.functionspace)
17577          arg1.setTaggedValue(1,numarray.array([[[0.28516437480470103, 0.61701287075291122], [0.013744149007031137, 0.49928568580284027]], [[0.5063916960052457, 0.55405134832479797], [0.48257983170453755, 0.83242175134357521]], [[-0.22563587261405393, -0.44367035949489608], [-0.0010269845772017394, -0.034793578303684569]], [[-0.86553996507449371, -0.9437985666509292], [-0.67453534391299397, -0.53789935959208424]], [[0.50350529909458164, 0.55338167414729078], [-0.28757999355622821, -0.91861735380498377]], [[0.90052663662367971, 0.67660601071352033], [0.84897913411738402, 0.2257252064774542]]]))
17578          res=generalTensorProduct(arg0,arg1,0)
17579          ref=Data(numarray.array([[[0.14500319575964254, 0.44582163855576384], [-0.30124052848196525, -0.51690990240727719]], [[-0.16048868747666434, 0.29538908470943864], [-0.24177218840797696, -0.25582597173878746]], [[-0.066829549708978919, -0.039792729192659942], [0.0037980548300840856, 0.035297804333798817]], [[0.084850354561621821, 0.32364216135622198], [0.37073244696238855, 0.27398166602320428]], [[0.026830597440798257, -0.19284397622323135], [0.46217400953092802, -0.41606189969825058]], [[-0.10862036489882415, 0.29382591092294175], [-0.42510451327444843, 0.018238928507509401]]]),self.functionspace)
17580          ref.setTaggedValue(1,numarray.array([[[0.14900888435513615, 0.32241194071530793], [0.0071818238563322112, 0.26089515237281247]], [[0.26460830431614979, 0.28951222727550918], [0.25216572856911112, 0.43497101124782539]], [[-0.11790305037837963, -0.2318340968609898], [-0.00053663725072098181, -0.018180925612835842]], [[-0.45227649719170904, -0.49316949765883999], [-0.35246955067027658, -0.2810722185162568]], [[0.26310005566566974, 0.28916229786325304], [-0.15027113408545023, -0.48001138688342032]], [[0.470558321134178, 0.35355155030655294], [0.44362285331840623, 0.11794973061089298]]]))
17581          self.failUnless(isinstance(res,Data),"wrong type of result.")
17582          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17583          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17584       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17585       def test_generalTensorProduct_constData_rank1_taggedData_rank4_offset1(self):
17586          arg0=Data(numarray.array([-0.30541259661539644, -0.13803451398952071, -0.89858489181939794]),self.functionspace)
17587          arg1=Data(numarray.array([[[[0.77109605284546423, -0.52464855680671696], [-0.85674793431992713, 0.35614336591544582]], [[0.9168453631760316, 0.77817291156000024], [0.26127602810127093, -0.66780258173961737]], [[0.57758884134699584, -0.78086858304625162], [-0.51857117421985399, -0.79450459732897971]], [[-0.65043362883443034, -0.99567035870775822], [0.47223981813558868, 0.059675108646178643]], [[0.87065624984766021, 0.57459113830825448], [-0.37455027206520874, 0.81768097568853348]], [[0.88141124136166704, -0.68133399856634025], [0.32040041566023647, -0.22060673054869873]]], [[[-0.58791602794104914, -0.7230475952824158], [0.77235378539765032, 0.11700996144296294]], [[0.70315440521764683, 0.82557647862390349], [-0.28034256355249498, -0.89408595219731768]], [[0.24611807385331308, 0.095381209519354027], [0.46942131455652536, -0.91981243671519808]], [[-0.79915657288003472, -0.25331855768802369], [-0.099804116716655455, -0.75739627650055419]], [[0.88555486342896672, 0.7994082376740359], [-0.41057558054532861, -0.86015848617682833]], [[-0.1210434207488218, 0.56186308646247074], [-0.59345519564520299, 0.86278361153577698]]], [[[0.95435522389733629, -0.71131790349789403], [-0.11505427408175573, 0.30677929936722137]], [[-0.81519148331014546, 0.71405874824118465], [-0.99104850084992568, -0.25691308183044903]], [[-0.58265510365152484, 0.5123326401964774], [0.90008248250650191, -0.17335204230598222]], [[-0.039215432770570491, 0.46654275731888251], [-0.3020014251635037, 0.5265060317398198]], [[0.98909673351497829, 0.61731416061419786], [0.44478155499770899, -0.75601566243014995]], [[0.36691553985807701, -0.89954609910336036], [-0.54176910180814497, -0.56933538429499775]]]]),self.functionspace)
17588          arg1.setTaggedValue(1,numarray.array([[[[-0.29722363729279233, 0.99199553218144354], [-0.97836471923296342, -0.95128231701857269]], [[-0.58822114100004574, 0.54019632457631217], [0.016273735246155274, -0.64901109880541274]], [[0.82556556303317996, 0.98265497499926791], [0.76161666703900877, -0.37332887374446622]], [[0.65498619968551619, -0.36040408293033499], [0.51679903674091476, -0.60903787876441373]], [[-0.53194606753968987, 0.48280889874879129], [-0.016645452024896201, -0.85001150176757401]], [[0.30575474328557517, -0.77840551556277271], [-0.39366537559822601, 0.42825368870409508]]], [[[-0.59353919882116424, 0.024259812295290839], [-0.35559113161455458, -0.66635814792935122]], [[-0.67743607860399346, -0.91302013915324931], [-0.42897292557296685, -0.66938027520524157]], [[-0.67897428347518041, 0.95173937951383669], [-0.66739190734918497, -0.84156741056713114]], [[-0.49709734474265921, -0.40924231746305129], [0.14466732121730241, -0.93535089278838357]], [[0.76022332194412412, 0.13439016649885249], [-0.85333533305919285, 0.22078072422735295]], [[-0.39316306026288972, -0.58450341799472438], [0.91745787172529569, -0.40209657027604528]]], [[[0.53480652754574609, 0.84219409310172577], [0.55178329290621853, 0.92423442242888876]], [[-0.55323594097799611, 0.69944710462578774], [-0.38288723709841177, -0.18086627299181646]], [[-0.18876983811808312, -0.30009453935583208], [-0.60110018592764924, 0.78375614690422246]], [[-0.1988871597105728, -0.26011125602742236], [0.47545310621750758, 0.036212566369265842]], [[0.95781348847131698, 0.013928463679332204], [0.15456332537600193, -0.59589799374232744]], [[0.875410231404814, 0.37177000088678636], [0.7753859900045017, -0.7579865969003412]]]]))
17589          res=generalTensorProduct(arg0,arg1,1)
17590          ref=Data(numarray.array([[[-1.0119189301789893, 0.89921932281481576], [0.25843616429930866, -0.40058932684562087]], [[0.35544305119615527, -0.99326426056433292], [0.84944116925878554, 0.55822825423557876]], [[0.31318937676248221, -0.23505316740269383], [-0.71521869433439134, 0.52538910093880553]], [[0.34420020806111895, -0.080171299493599302], [0.1409223416230152, -0.38678906853389516]], [[-1.2769339024943478, -0.84054247734356657], [-0.22860801360990163, 0.5483457408439012]], [[-0.58219068684580011, 0.93885002174535204], [0.4708885063413607, 0.45987833261692262]]]),self.functionspace)
17591          ref.setTaggedValue(1,numarray.array([[[-0.30786432801492869, -1.0630995107548145], [-0.14793537219465414, -0.4479890628466886]], [[0.77028916410027959, -0.66746707184383625], [0.39829955208507206, 0.45313744623062896]], [[0.011209487512767374, -0.16182767100479195], [0.39965533920995316, -0.4740867432498666]], [[0.04729255128662252, 0.40029355605191075], [-0.60504099712943038, 0.28257848085285187]], [[-0.80315075694256888, -0.17852230778203138], [-0.016014810318569078, 0.76459379418315587]], [[-0.82574168621678978, -0.015650411072662129], [-0.70316062281690361, 0.60582443775391437]]]))
17592          self.failUnless(isinstance(res,Data),"wrong type of result.")
17593          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17594          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17595       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17596       def test_generalTensorProduct_constData_rank0_taggedData_rank4_offset0(self):
17597          arg0=Data(-0.400095192518,self.functionspace)
17598          arg1=Data(numarray.array([[[[-0.40664302220817716, 0.9483012836732756, 0.68612978012144166, 0.44260553190447993], [-0.43621989283242479, -0.96937235184782211, 0.71123078008260032, -0.27532312369765011], [-0.40119221609069222, -0.15943276274732754, 0.092910995496688686, 0.27144353283344391]], [[-0.92124741339042382, -0.48788874632517332, -0.82005340994867759, 0.94909122226011799], [-0.58918553995604173, -0.36668582197213984, 0.91379468155598831, -0.27173658622234131], [0.13123388148095794, 0.50889244285868784, 0.85332897660901286, 0.097372134839740498]]], [[[0.91463359392029586, -0.51209756282689467, -0.22266383258106215, 0.71867854488635419], [0.46264574743509179, -0.70442760612882793, -0.606584628839554, -0.83765655669145977], [0.21014961768709517, 0.60401874715692605, 0.536336158191421, -0.43861622966435343]], [[-0.14637169438039654, 0.80225975941914252, -0.20302688938218294, 0.047613646806506926], [0.87137850466320765, 0.61298290289269275, -0.13072144948777442, -0.22780831748453867], [0.13874017044615972, 0.55933065424916961, -0.77096511918314192, -0.93761278623855926]]], [[[0.93507003416071166, -0.85751806386878093, -0.42785650152006838, -0.86869376024675615], [0.4808129595440549, -0.70575142616230657, 0.35169332318158486, 0.13492105279786637], [0.97898471876778892, -0.035424147553888785, -0.338206627554408, 0.43972274581281634]], [[-0.34753092838704491, 0.95911577966939565, 0.49936030327399972, -0.6124900164735656], [0.81589984466017085, 0.27828823130202029, -0.021495056821058345, 0.19697339336982322], [0.8802573948891288, 0.5839555676159105, 0.71382978197512315, 0.74512614928394338]]]]),self.functionspace)
17599          arg1.setTaggedValue(1,numarray.array([[[[0.095101014117379146, -0.27798226677389004, -0.59957978675289159, -0.17434594797491276], [-0.8711170086348683, -0.99323386843544959, 0.81277665268465715, -0.78146640943795442], [-0.26060861190481477, -0.021567049802825533, 0.39664157527624599, -0.11531766386205944]], [[-0.8697820126971918, 0.75575358852930519, 0.69466677220590234, 0.53535279412284997], [-0.47245588382941106, -0.80139025701081179, -0.45688406327757591, 0.79173748327460225], [-0.855345836791783, -0.092328895635258812, -0.68709897271079257, 0.73796868307020436]]], [[[0.14709889691754041, 0.027135222588636099, 0.068767816941918136, -0.045776553648539497], [0.83919965087959603, 0.81909194723618928, 0.38262305588459156, -0.037187341764107984], [0.99037334258789222, -0.57806793891398978, 0.21649611831733973, -0.036760491931859818]], [[-0.821266316633956, -0.14135564194907779, 0.1713401471995748, -0.20795181639799276], [0.84878241369697749, 0.42158199918239814, -0.062196349535690754, 0.35470973493091651], [-0.31051255259878885, -0.4754438418060003, 0.28861648254061922, -0.26300502510839063]]], [[[0.041594324638908331, -0.031666312292024656, 0.39055634515736304, -0.81911741608151845], [-0.49089609357784014, -0.85131651858393242, -0.7735233826057295, -0.042660659871630813], [0.72807871997106743, -0.83851394522903111, -0.009078664166171535, -0.18192422466222835]], [[-0.40832846898398589, -0.43634849158223843, -0.0056137779585061498, -0.31514339516070522], [-0.49843404033536576, -0.77383540044398447, 0.77015332927319458, -0.084430012124871334], [-0.30755898517106983, 0.40763848583646634, -0.30103639687647288, -0.75941992210877984]]]]))
17600          res=generalTensorProduct(arg0,arg1,0)
17601          ref=Data(numarray.array([[[[0.16269591825641413, -0.37941078465616745, -0.27451722646990667, -0.17708434549678082], [0.17452948200289753, 0.38784121773401903, -0.28456001588175661, 0.11015545818042249], [0.16051507693346159, 0.063788281905042016, -0.037173242630271185, -0.10860325252671749]], [[0.3685866612169974, 0.19520194188825446, 0.32809942692832167, -0.37972683528714746], [0.23573030203743595, 0.14670923453550316, -0.36560485903891515, 0.1087205017787664], [-0.052506045075986357, -0.20360541989641709, -0.34141282117742849, -0.038958123034578379]]], [[[-0.36594050384281834, 0.20488777298713956, 0.089086728963278614, -0.28753983077474204], [-0.18510233938759985, 0.28183809868898974, 0.2426915938539197, 0.33514236131329478], [-0.084079851746067372, -0.24166499692813068, -0.21458551846587157, 0.17548824484900558]], [[0.058562611242286185, -0.3209802728941123, 0.081230082393661293, -0.019049991185525497], [-0.34863435057912762, -0.2452515125429921, 0.052301023499021299, 0.091145012641140138], [-0.055509275204613247, -0.22378550579294706, 0.30845943778411333, 0.37513436821729829]]], [[[-0.3741170253351867, 0.34308885485109941, 0.17118332934567831, 0.34756019724496623], [-0.19237095361384773, 0.28236775272014331, -0.14071080784557269, -0.053981264593871071], [-0.39168707952741522, 0.014173031135353261, 0.13531484576218794, -0.17593095664044894]], [[0.13904545369891599, -0.38373761251371846, -0.19979165667417445, 0.24505431105624201], [-0.32643760542458117, -0.11134178347822908, 0.0086000688970030992, -0.078808107741190292], [-0.3521867518734122, -0.23363781524714822, -0.28559986404429971, -0.29812139014783096]]]]),self.functionspace)
17602          ref.setTaggedValue(1,numarray.array([[[[-0.038049458551933972, 0.11121936854144318, 0.23988899021069948, 0.069754975619726836], [0.3485297272753265, 0.39738809580691331, -0.32518803132986784, 0.31266095353029816], [0.10426825275186212, 0.0086288729429031766, -0.15869438742072622, 0.046138042923597439]], [[0.34799560181863132, -0.3023733774986756, -0.27793283596146223, -0.21419207922954153], [0.1890273277969112, 0.32063238916065651, 0.18279711725537157, -0.31677036079433663], [0.34221975724053549, 0.036940347274147793, 0.2749049957655299, -0.29525772232510517]]], [[[-0.058853561481384216, -0.010856672105614614, -0.027513672958407842, 0.018314979044815324], [-0.3357597458795703, -0.32771475031926994, -0.15308564520590728, 0.014878476662337239], [-0.39624361316723261, 0.23128220330817972, -0.086619056137539605, 0.014707696096527704]], [[0.32858470506207432, 0.056555712779098162, -0.068552369179847736, 0.083200522016187994], [-0.33959376321384327, -0.16867293112493453, 0.024884460441388631, -0.14191765968513459], [0.12423457951121621, 0.19022279541878986, -0.11547406714590887, 0.10522704615389908]]], [[[-0.016641689324053278, 0.01266953931280743, -0.15625971610479644, 0.32772494028184512], [0.19640516706627817, 0.34060764639644986, 0.3094829866806848, 0.017068324924277928], [-0.2913007956349617, 0.33548539834529695, 0.0036323298873691531, 0.07278700768989177]], [[0.16337025740865987, 0.17458093374446176, 0.002246045573060886, 0.12608735735754589], [0.19942106332541956, 0.30960782351775046, -0.3081346445438089, 0.03378004195538338], [0.12305287138260856, -0.16309419846841897, 0.12044321516316722, 0.30384025993799008]]]]))
17603          self.failUnless(isinstance(res,Data),"wrong type of result.")
17604          self.failUnlessEqual(res.getShape(),(3, 2, 3, 4),"wrong shape of result.")
17605          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17606       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17607       def test_generalTensorProduct_constData_rank1_taggedData_rank0_offset0(self):
17608          arg0=Data(numarray.array([0.83911466182307914, 0.94114511565462133]),self.functionspace)
17609          arg1=Data(-0.918246497072,self.functionspace)
17610          arg1.setTaggedValue(1,0.45404995297)
17611          res=generalTensorProduct(arg0,arg1,0)
17612          ref=Data(numarray.array([-0.77051409886077826, -0.86420320568625586]),self.functionspace)
17613          ref.setTaggedValue(1,numarray.array([0.38099997273703901, 0.4273268955007381]))
17614          self.failUnless(isinstance(res,Data),"wrong type of result.")
17615          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17616          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17617       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17618       def test_generalTensorProduct_constData_rank2_taggedData_rank1_offset1(self):
17619          arg0=Data(numarray.array([[-0.81711728007368856, 0.19718816037447295, -0.31681711928081535], [-0.7851439340763422, -0.39658617165284471, -0.78370664682841773]]),self.functionspace)
17620          arg1=Data(numarray.array([-0.90011367758669603, -0.571701134588954, -0.068886476005719954]),self.functionspace)
17621          arg1.setTaggedValue(1,numarray.array([0.085523409485441348, -0.97962287684653071, 0.37828950222006452]))
17622          res=generalTensorProduct(arg0,arg1,1)
17623          ref=Data(numarray.array([0.64459015985871049, 0.98743434735483293]),self.functionspace)
17624          ref.setTaggedValue(1,numarray.array([-0.3829012790350228, 0.024888702897812309]))
17625          self.failUnless(isinstance(res,Data),"wrong type of result.")
17626          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17627          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17628       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17629       def test_generalTensorProduct_constData_rank3_taggedData_rank2_offset2(self):
17630          arg0=Data(numarray.array([[[-0.2894743100965762, -0.97242719173104919, -0.40898761800222139], [0.82518610871480313, 0.54244201500704547, -0.86770021963455646]], [[0.65552207117426065, -0.70005192101807934, 0.022770333305628387], [-0.44920943323240659, 0.84388660304422869, -0.38732678558906963]]]),self.functionspace)
17631          arg1=Data(numarray.array([[-0.32155056666816528, 0.30219908433244003, 0.63007601138494529], [-0.99598495984198587, 0.22285467486031774, -0.55823014187431474]]),self.functionspace)
17632          arg1.setTaggedValue(1,numarray.array([[-0.11783103548958485, 0.19769579367144563, 0.055801384517148778], [0.035319442731455819, -0.56875955308706816, -0.26408594121720363]]))
17633          res=generalTensorProduct(arg0,arg1,2)
17634          ref=Data(numarray.array([-0.67509006328486287, 0.44369589815084198]),self.functionspace)
17635          ref.setTaggedValue(1,numarray.array([-0.23118431841049114, -0.60791438376941664]))
17636          self.failUnless(isinstance(res,Data),"wrong type of result.")
17637          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17638          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17639       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17640       def test_generalTensorProduct_constData_rank4_taggedData_rank3_offset3(self):
17641          arg0=Data(numarray.array([[[[0.877475286342567, -0.0011241207497745265, 0.28175846235967339], [0.062524000960885395, -0.70863458265619084, -0.53111920871179397], [0.77579232573571932, -0.96327290512293096, 0.20043580994267285], [-0.76867438030735857, -0.90591882225177423, -0.61679356003614139]], [[0.13384573350357676, -0.48532040540639598, 0.75010768532899452], [0.40492339713890613, 0.6499520489047661, 0.56923385297684681], [-0.58808969462760463, -0.39194716429584342, -0.8797516368732059], [-0.31201142959879302, 0.43327838137972186, 0.28399126683402764]]], [[[0.1395429002260089, 0.76773167956599853, 0.62022888972464529], [-0.30016076624922361, -0.21217326185065333, 0.30431543051561438], [-0.51866218705414058, -0.52659851767215438, 0.060161345835767932], [-0.65537823020235897, 0.8174308209592176, 0.2708619816044171]], [[-0.67072430488564216, 0.74355381068272219, 0.86171821994894748], [-0.70080565637904058, -0.73806729850579922, 0.21958474765495573], [-0.14005923890940197, 0.58106664181398626, -0.93003086411557745], [0.34049044207967571, 0.35819834550353002, 0.28805219356926703]]]]),self.functionspace)
17642          arg1=Data(numarray.array([[[-0.80996286058405431, -0.70067762020599855, -0.60724205980824308], [0.75374696827685939, 0.46963218766467674, -0.17166255923344287], [0.022497855928525379, 0.78224985572029948, 0.2748954723959709], [-0.84903599375344863, 0.44958564738248663, 0.40362939408937004]], [[-0.80382654082766858, -0.53733389040097523, 0.51560949822743862], [-0.30658339251209465, -0.65718322322350819, 0.39955870663994864], [-0.11236849058309728, -0.35147032307883608, -0.019155909317917441], [-0.22770559741920793, 0.91531714552683963, 0.8996377291181894]]]),self.functionspace)
17643          arg1.setTaggedValue(1,numarray.array([[[-0.081222499284025362, 0.82470447347811593, 0.64874558009183536], [0.14988527739336366, 0.13887609718313176, 0.23940810610809948], [0.96342580837879011, -0.14854778201385299, 0.86091059322104213], [0.03826222200248619, -0.99573815310993385, 0.41263456587909197]], [[0.043851000878251778, 0.2979981275821868, -0.086392852929235264], [-0.22976560705604276, 0.62912383594357935, 0.19354375013517067], [0.45651537433803391, 0.72139624086056631, -0.046302708818167559], [0.36938804072535869, -0.54729006203016062, 0.70523790755005322]]]))
17644          res=generalTensorProduct(arg0,arg1,3)
17645          ref=Data(numarray.array([-0.60017571586492191, 0.93085567692808036]),self.functionspace)
17646          ref.setTaggedValue(1,numarray.array([1.1354887631966599, 0.31374541346142559]))
17647          self.failUnless(isinstance(res,Data),"wrong type of result.")
17648          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
17649          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17650       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17651       def test_generalTensorProduct_constData_rank1_taggedData_rank1_offset0(self):
17652          arg0=Data(numarray.array([-0.66783426138074486, 0.79346716980885423]),self.functionspace)
17653          arg1=Data(numarray.array([0.47256305561442535, -0.95148418425022352]),self.functionspace)
17654          arg1.setTaggedValue(1,numarray.array([-0.16546126462732857, 0.18206674634983533]))
17655          res=generalTensorProduct(arg0,arg1,0)
17656          ref=Data(numarray.array([[-0.31559379920208763, 0.63543373740420861], [0.37496327029460225, -0.75497146279491123]]),self.functionspace)
17657          ref.setTaggedValue(1,numarray.array([[0.11050070144951595, -0.1215904110705377], [-0.13128808135684028, 0.14446398594251039]]))
17658          self.failUnless(isinstance(res,Data),"wrong type of result.")
17659          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17660          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17661       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17662       def test_generalTensorProduct_constData_rank2_taggedData_rank2_offset1(self):
17663          arg0=Data(numarray.array([[0.33591746630433605, -0.5188690402104803, 0.52171480110956803], [-0.052364700320806978, 0.46271674433042231, 0.57270845205352283]]),self.functionspace)
17664          arg1=Data(numarray.array([[-0.0027128209064872788, 0.19193038529318285], [0.4034288909883692, 0.20823357454313585], [0.99720808998149879, 0.65681681505608602]]),self.functionspace)
17665          arg1.setTaggedValue(1,numarray.array([[-0.10569837548709859, 0.19163327489852278], [0.39870117828734619, -0.24882651305588555], [0.32744380163143094, 0.012652841147333671]]))
17666          res=generalTensorProduct(arg0,arg1,1)
17667          ref=Data(numarray.array([[0.31002017494379153, 0.29909786780411241], [0.75792486064931763, 0.46246732599804763]]),self.functionspace)
17668          ref.setTaggedValue(1,numarray.array([[-0.071547350352150596, 0.20008251267439414], [0.37755040770145976, -0.11792462396829806]]))
17669          self.failUnless(isinstance(res,Data),"wrong type of result.")
17670          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17671          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17672       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17673       def test_generalTensorProduct_constData_rank3_taggedData_rank3_offset2(self):
17674          arg0=Data(numarray.array([[[-0.96639794650556698, 0.65432342912824226, -0.85594621049492692], [-0.72303540893056883, -0.27193676647981713, -0.71929869264879942]], [[-0.2435532946169614, -0.41582327218556392, 0.0031558445782764455], [-0.82550543579652902, -0.95559183599640507, -0.16430112930312291]]]),self.functionspace)
17675          arg1=Data(numarray.array([[[-0.4009446144930835, -0.22735130241671042], [-0.13421075999567877, 0.34987774951373196], [-0.16459269856248304, -0.8392898937784532]], [[0.3583265912981628, -0.54247269964967271], [-0.3344736063036915, 0.56206237216867572], [0.49315075555050902, -0.17769621217886833]]]),self.functionspace)
17676          arg1.setTaggedValue(1,numarray.array([[[-0.2115882695773359, 0.91517614567656813], [-0.66110241513619838, 0.84334404025967213], [0.65768716816439343, 0.51260331720010721]], [[-0.33436084091118978, -0.25215604831257443], [0.43769524895035183, 0.14409998118940237], [0.54571443329961999, 0.93173662989898509]]]))
17677          res=generalTensorProduct(arg0,arg1,2)
17678          ref=Data(numarray.array([[-0.082312532233150326, 1.5342302440009781], [0.09573438280662197, -0.15285618388881864]]),self.functionspace)
17679          ref.setTaggedValue(1,numarray.array([[-1.060843551130672, -1.2984307215674891], [0.096607535623602581, -0.65458850498027388]]))
17680          self.failUnless(isinstance(res,Data),"wrong type of result.")
17681          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17682          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17683       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17684       def test_generalTensorProduct_constData_rank4_taggedData_rank4_offset3(self):
17685          arg0=Data(numarray.array([[[[-0.20464072097603214, 0.37910050363058923, -0.36356717521535087], [-0.95078551444877335, -0.41589697179670981, -0.41650604786276846], [-0.49134533939710523, -0.20151486310078526, -0.63287635830390898], [-0.7202436520637745, -0.46757729748788535, -0.37052152122269266]], [[-0.12418472749835874, 0.61849657173467643, -0.85455002009900483], [-0.10044655998976526, -0.94815515970816966, 0.54022978055176529], [-0.6732428411274074, -0.38789022696998976, 0.32871844678402673], [0.67453376059209535, 0.14593423770486313, -0.46340862826359785]]], [[[-0.98919896230828952, -0.21511096636238602, 0.13780483447396352], [0.17716131082869424, -0.39719002977309703, 0.69408138058136637], [0.6674781834496335, 0.59581908420498353, -0.23089771679337523], [-0.25456949850469202, 0.7963130123647888, -0.70749773446909492]], [[-0.59624274487327655, -0.50331439547098622, 0.20694367800352587], [0.65338178741785224, 0.40572354968055713, -0.82573091956151035], [-0.66050777127006088, 0.41255881109750225, 0.36505481212979607], [0.044083953765034156, 0.82435578279305721, -0.99930998677708693]]]]),self.functionspace)
17686          arg1=Data(numarray.array([[[[0.47940338277706629, -0.20306353640611885], [-0.15206474816443905, -0.9817147235626229], [-0.10562623149337713, 0.0092807771510958759]], [[0.11275307743018703, -0.53539405909730897], [0.72948912993130999, -0.19040640957015498], [0.45846256553388809, 0.95447254041141427]], [[0.21941173458868501, -0.32833938596621159], [0.64605542873030131, -0.76663434262380381], [-0.1557600782260975, 0.90005568318215667]], [[-0.69727973331557802, 0.56912120761330787], [-0.54426095598284818, -0.36416851771121328], [0.587534210067995, -0.07579105336823555]]], [[[0.17033630368242414, -0.89117324241915652], [0.87247099332780409, -0.51104444101283431], [-0.0063399015296825567, 0.25997360854555551]], [[-0.76645421832145955, -0.32120004226368915], [-0.67913112396308728, 0.87041854144061914], [0.98095613000427617, 0.55789458381975177]], [[0.1250516194018112, -0.0187633273513097], [-0.82364553136061502, -0.81514282470050348], [0.42382822762230155, 0.57882096058466681]], [[-0.28489970310194357, 0.42406613538948013], [0.72592907075890967, -0.29245819494543701], [0.94894930525669641, 0.48322462754521589]]]]),self.functionspace)
17687          arg1.setTaggedValue(1,numarray.array([[[[0.096982038961196837, -0.43793352758445514], [0.45412866152362752, 0.23470604431715958], [0.38428028463128805, -0.23264127226322118]], [[-0.33245992420649606, -0.59394274368466871], [-0.99376340677420472, 0.63696569133218262], [-0.41467843613111577, -0.11417481927032713]], [[0.96860421086224346, 0.57337355164875126], [0.1037104195417502, 0.58580423662797232], [0.64412996370343123, -0.036676056721024253]], [[0.44440361723126043, 0.16086406055998359], [-0.93605385095640359, -0.29968245433737528], [-0.67764410421257226, -0.56032044485867027]]], [[[0.96847475769428915, 0.56146990857188883], [-0.26506958921034052, -0.48157396909520456], [-0.25608704572275842, -0.34394363871932421]], [[-0.93387825375821998, -0.0018714568541720045], [0.98018389460948896, 0.043062457044829916], [-0.98624921383609854, 0.92586048589033121]], [[-0.56984180599848866, -0.37735070476338084], [0.33495245035893939, -0.42911809467623119], [-0.61990785906219914, -0.14552280948426088]], [[0.31127477767175926, -0.13972369584738176], [0.52789379167405759, 0.97673224600267194], [0.95804389987424243, -0.43046783954487999]]]]))
17688          res=generalTensorProduct(arg0,arg1,3)
17689          ref=Data(numarray.array([[1.3040439163565438, -0.9893339612586487], [-3.2702990128883771, -0.5013239800388577]]),self.functionspace)
17690          ref.setTaggedValue(1,numarray.array([[-1.1618317014625343, 1.4721552890306451], [-0.027542039184875855, 1.1066789345164625]]))
17691          self.failUnless(isinstance(res,Data),"wrong type of result.")
17692          self.failUnlessEqual(res.getShape(),(2, 2),"wrong shape of result.")
17693          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17694       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17695       def test_generalTensorProduct_constData_rank1_taggedData_rank2_offset0(self):
17696          arg0=Data(numarray.array([-0.91385507888486295, 0.46842963998639364]),self.functionspace)
17697          arg1=Data(numarray.array([[-0.31640200396182694, -0.79314790170437011, 0.92798654893880062, -0.043335203892089558, -0.76765990948076657], [-0.83931028420100251, 0.52009896880253415, -0.73017157886577744, -0.98666682493971392, 0.69220291532130185], [-0.6462368244336345, 0.67605016801477236, -0.86723627209572185, 0.79022904748794698, -0.64002957119087611], [-0.71470916198876511, -0.33537714568463439, -0.58058385784359601, -0.52289953231438835, 0.80660417274955587]]),self.functionspace)
17698          arg1.setTaggedValue(1,numarray.array([[-0.51799653276233726, -0.34732452450744367, 0.58983408907464563, 0.48940462331789258, -0.18272913668371582], [-0.8793664337521967, 0.4254893142274121, -0.60922283335359784, 0.92231788661338565, 0.9847843629799109], [0.29601821340316969, -0.24511108684593141, -0.79635916432588938, 0.34430837356763089, 0.018631375718176635], [-0.52818825362591371, 0.28168758004102568, -0.25670328399572773, -0.37503497685993348, 0.035865213277915586]]))
17699          res=generalTensorProduct(arg0,arg1,0)
17700          ref=Data(numarray.array([[[0.28914557828986409, 0.72482223827941061, -0.84804522088455936, 0.039602096171297126, 0.70152990713529273], [0.76700796597738385, -0.47529508416297572, 0.66727100580387, 0.90167048913835957, -0.63257314978528045], [0.59056680417110241, -0.6178118796212646, 0.79252827184785035, -0.72215482852920787, 0.58489427426928309], [0.65314059760897725, 0.30648610792581171, 0.53056950720893747, 0.47785439335202329, -0.73711931991690505]], [[-0.14821207680681209, -0.37153398605134164, 0.43469640503161822, -0.020299493957908477, -0.35959465503006299], [-0.39315781426515334, 0.24362977271346564, -0.34203400981639276, -0.46218398559302826, 0.32424836242148952], [-0.30271648301539766, 0.31668193681590073, -0.40623917472094112, 0.37016670822156977, -0.29980882161358802], [-0.33479095544537435, -0.15710059561271758, -0.2719626875115872, -0.24494163967108254, 0.37783730225259732]]]),self.functionspace)
17701          ref.setTaggedValue(1,numarray.array([[[0.4733737623096112, 0.31740428074239746, -0.53902287800029158, -0.44724490064878936, 0.16698794961866004], [0.80361348168531432, -0.38883557081795794, 0.55674138043281185, -0.84286488502799561, -0.89995019171558599], [-0.27051774776090981, 0.22399601160514315, 0.72775686693571917, -0.31464795588736616, -0.017026377326667827], [0.48268751818336736, -0.25742162567927768, 0.23458959984591915, 0.34272761836291726, -0.032775607309311984]], [[-0.2426449293560618, -0.16269710197346718, 0.27629576999693867, 0.22925163150847702, -0.085595743711777514], [-0.41192130197866039, 0.19931180628160416, -0.28537803249931654, 0.43204103557931967, 0.46130218461490968], [0.13866370513386223, -0.11481729816791332, -0.37303823664504165, 0.16128424747458606, 0.0087274886201167169], [-0.24741903349102873, 0.13195081170725609, -0.12024742690544371, -0.17567749919280412, 0.016800328943809222]]]))
17702          self.failUnless(isinstance(res,Data),"wrong type of result.")
17703          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17704          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17705       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17706       def test_generalTensorProduct_constData_rank2_taggedData_rank3_offset1(self):
17707          arg0=Data(numarray.array([[0.48373557234139475, 0.40581940948080475, -0.2701375546860143], [0.93401929629849101, 0.52303603588330172, -0.39130846028158817]]),self.functionspace)
17708          arg1=Data(numarray.array([[[0.48577208537024097, 0.59195009362880824, -0.41017828313231397, 0.17799563331738355, -0.79246289997966013], [-0.892441674011208, 0.043434825071949179, 0.59147359064992888, 0.20982735250273477, 0.632700015213566], [-0.76772137167064081, -0.72285763052278496, -0.89096166146697975, -0.85195951043717888, -0.2456755624035607], [0.21020710621204297, 0.5050246116509236, -0.82260492459747581, -0.69205171806663968, -0.46437085996150795]], [[-0.58833573697048314, 0.95185631020344608, 0.63473048066798055, -0.88020447417597425, 0.39866545910359341], [0.51720525563343189, -0.92351965167879646, -0.70470272372181264, -0.12736945071433081, 0.10328350167472067], [0.54643263898002403, -0.56276708995688463, -0.90085365074571455, 0.08356625364267467, 0.55418559248178201], [0.70015043985701775, -0.81368924422510402, -0.053316880171113024, 0.30834892419323712, 0.50512344603114334]], [[0.52006529710762073, -0.45097298420987797, -0.77495222510645867, -0.10163862140712454, -0.39721080728363312], [0.97700460572278947, 0.783054816665256, -0.61676418887518225, 0.52323071414391786, 0.72686651296963256], [-0.19528639065501263, 0.058274611162821621, 0.40474867024811068, 0.35319248641782153, 0.055620977502709223], [0.75013870007770023, 0.74629605698343515, 0.46312500658996836, 0.62276234051954726, 0.16766749681159743]]]),self.functionspace)
17709          arg1.setTaggedValue(1,numarray.array([[[-0.58922161980707655, -0.53957957781175092, 0.89570813428191132, -0.76443279857877466, 0.25084619121682139], [0.79687758553381349, 0.98309092078317373, -0.10993423519491441, -0.21265040921538025, 0.61854300279084629], [-0.10014299872238874, -0.69091195576491327, -0.53455460115673481, -0.73446652420222081, -0.090524296098382084], [0.84162253427179934, -0.58869740324321729, -0.53191868134592535, -0.48837900907604537, -0.42979318386428411]], [[-0.52070721523394181, 0.076348701986234335, -0.48043868055639827, 0.073199964021263053, -0.57413893068013833], [-0.14018306885655885, -0.56323683734634389, -0.96719395835177902, -0.56845729181812876, -0.77050026134246252], [-0.003456339293569366, -0.31158868536551965, 0.21644118040111127, 0.79061513423914942, -0.28192286631040764], [-0.40671663381498324, 0.51709967636992937, 0.54582298041321398, -0.76798132861483892, -0.25892324266095201]], [[0.39929748612323523, -0.95742905467992756, -0.92232620369739338, -0.96362444429656446, -0.57809198956424268], [0.28472730268042601, -0.38010852378296689, -0.83637715979280136, 0.93089404384223084, -0.32276372233253459], [0.21437416425403621, -0.58331661650874578, 0.44620351109413647, -0.70289476500280168, -0.2170221926583713], [0.47586367994295964, -0.74952749099443805, -0.56303918575235334, 0.24890635210707468, -0.95381708484218852]]]))
17710          res=generalTensorProduct(arg0,arg1,1)
17711          ref=Data(numarray.array([[[-0.14426199124747729, 0.7944538222403249, 0.26851182137987106, -0.24364483172682436, -0.11425475711270983], [-0.48573948764452402, -0.56530374308153752, 0.16674594249820732, -0.09153230647444914, 0.15162001124172172], [-0.096866978216904112, -0.59379591870362058, -0.90591156186146304, -0.47362086830161343, 0.091031946242318529], [0.18317865876987621, -0.28751511093418347, -0.54466774563156806, -0.37786755141716, -0.064937092727888002]], [[-0.057506240951629178, 1.2272175051940826, 0.25211784509291518, -0.2543552503164756, -0.37622728940315842], [-0.94535092565628087, -0.74888106755121786, 0.42520787293193602, -0.075380621589169694, 0.36054600024551786], [-0.35484539711059937, -0.99231379160914868, -1.4617358854251703, -0.89024566841764119, 0.038628360455458394], [0.26900578428084221, -0.24591802532517221, -0.97744025570119242, -0.72880423232191516, -0.23514328901554496]]]),self.functionspace)
17712          ref.setTaggedValue(1,numarray.array([[[-0.60420579858553591, 0.028607492874762025, 0.48746949064221723, -0.079766220145969235, 0.044510860513831033], [0.25167348740321738, 0.34966519562898934, -0.21974830047198521, -0.58502701056643991, 0.073717895102257694], [-0.10775589289348322, -0.30309170226399607, -0.29128336929985571, 0.15543765547242014, -0.099573748871848722], [0.11352060328688748, 0.12755073360059049, 0.11629560066393752, -0.61514698204970308, -0.055320514305530977]], [[-0.9789414848970488, -0.089394525917393941, 0.94623598495379224, -0.29863436800016191, 0.16021211898777868], [0.55956204263163545, 0.77237240853967604, -0.28127653228925159, -0.86020994903565162, 0.30103187307815038], [-0.1792297073370816, -0.58004048248472628, -0.56068098430511926, 0.0025629678648673715, -0.14708463770349922], [0.38715474742869938, 0.01390347901484279, 0.0089847723855464856, -0.95523648953258511, -0.16362461872637152]]]))
17713          self.failUnless(isinstance(res,Data),"wrong type of result.")
17714          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17715          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17716       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17717       def test_generalTensorProduct_constData_rank3_taggedData_rank4_offset2(self):
17718          arg0=Data(numarray.array([[[-0.41481238210399418, 0.99773884987115258, 0.9159195810682581], [0.064953017388735379, 0.47792781432108167, -0.42183821197846116]], [[-0.61839058052277385, -0.92011139891242166, 0.63035709839884246], [0.25509013546720616, 0.6649468754789194, -0.75539893963423088]]]),self.functionspace)
17719          arg1=Data(numarray.array([[[[0.65482798383481211, -0.10331799400442576, -0.74356161451890412, 0.67718282402668262, 0.0068763194261545202], [-0.60181349185193134, -0.88914902325259493, -0.53466990820728233, 0.83412113832350321, -0.41738904989989378], [-0.13200167039582844, 0.18668861984658003, -0.52456078363366987, -0.79244616009715441, 0.3799607481895666], [0.26560759910454035, -0.86197221340278363, -0.91860218436377528, 0.90943969994788887, -0.94909498885829402]], [[0.43003366315468128, 0.68133548562254109, 0.47230111782791528, -0.56198938733832482, -0.83220033972170881], [-0.26382934925364143, 0.24281785191101735, 0.74404924790543459, 0.27044349366107823, 0.38300515527554424], [0.81281327136663362, -0.66503742745636218, 0.66439425228279325, 0.29589222979768692, -0.14224061155773815], [-0.67827911595231338, 0.76832132913835505, 0.98129651976788423, 0.18704102483917073, -0.984347958338325]], [[0.47332614953274477, 0.77324686954622979, -0.37989834304937897, 0.95432679709692136, 0.59423935314258136], [0.94709177067127048, 0.16594883747197287, 0.082639075112675986, 0.12904137060193621, 0.39667454733977059], [-0.22968073147121859, -0.51034223097659681, -0.9471242313628141, -0.071901454495097328, 0.17285522938352393], [-0.2001471277129736, -0.52656996101821729, -0.25910943635638217, -0.23414763313424714, 0.6533902055613181]]], [[[-0.56629645182455923, 0.45653778211250429, 0.66178256357951515, -0.96187867297253282, -0.54179166323317762], [0.86228329576861529, 0.35766154329838074, -0.22712792465328135, 0.17773799600600415, -0.81899074876504718], [-0.13097689670193158, -0.5639522136966566, -0.68722266331555004, 0.20964131665019825, -0.8682086057035352], [0.55118088345775607, 0.79082222872169239, 0.20070980370527614, 0.034610475433977772, -0.8821592153656399]], [[-0.48319024531924581, 0.70764423011107924, -0.29093224156535125, 0.57548256772711026, -0.28410645482295793], [-0.086874530091161306, 0.12371431839628211, 0.72041432208259959, -0.21862162381438011, 0.095672175054245523], [-0.82091538338543368, -0.99481638018875529, 0.02288506486288111, -0.26091726373707402, -0.6972072168861827], [0.73694153955140673, -0.22408107517490272, 0.80049846977156425, 0.50472464316711418, 0.6485004150658451]], [[0.79648653965217697, 0.16935634156018797, 0.23270526000635217, 0.97190268424835624, -0.63197483902037788], [0.096573926026477075, -0.3142657497580259, -0.95312248086691742, -0.93030134803357334, -0.69026635732380348], [0.37974108295469788, 0.91255236039365051, 0.80445592890000595, -0.68837616736408269, 0.20426463056061839], [-0.99506138005611766, 0.93500240207752916, 0.31244475230443047, -0.25358570884695175, 0.35225097878931733]]]]),self.functionspace)
17720          arg1.setTaggedValue(1,numarray.array([[[[-0.70440580866195601, -0.43432399793083798, 0.38142495587831537, -0.44585575714281545, 0.77065728010483836], [-0.29954108056229534, 0.39383424768978648, -0.65039513610470046, 0.063280615649639715, 0.61245826503533585], [-0.65661216708984127, -0.95717243880529224, -0.9645803152166128, 0.83403612871473243, -0.60715595691196045], [-0.22178147235915802, 0.42366944844551013, 0.87729200920856232, 0.58987989944367292, -0.35380670676996573]], [[-0.42081125749386028, 0.15085950597796538, 0.5809920830923847, 0.41615099220464113, 0.98701465237702002], [-0.27619395094410626, -0.98566238863672884, 0.72969901669072024, 0.9736931196212284, 0.52257065247816659], [0.6427415780918877, -0.43035994550715029, 0.27625165978923905, 0.35511316880586974, 0.031472017151763731], [0.38350669699330231, 0.26630928355853523, 0.65814631501962073, 0.84826270132702652, -0.30944203361737044]], [[-0.30110733698382686, 0.1066889532433235, 0.62277922887381076, 0.85325562193763038, -0.46200517021301568], [-0.81027600004030642, -0.6253937914313672, 0.4477735875579687, 0.47550682139521938, -0.095273453380010364], [0.54919641466516267, 0.085246545423976583, -0.15463597090546322, -0.14480212474138843, 0.83890390797211878], [0.32980602304374029, -0.89266029944358372, 0.58914124882863717, -0.044705049781017081, -0.43019334474371362]]], [[[-0.53593082491997501, 0.56747449492563851, -0.70173724338084176, 0.48393247434819742, 0.56473692890931915], [-0.4007231268772764, 0.092330929409160323, -0.83575912531823127, 0.22824785220970067, -0.72807663465741124], [0.13831166089715818, -0.23748809299529183, -0.95363824713660783, 0.75486944619428531, 0.54080966859084745], [0.044022225990509423, 0.97528793078030995, 0.25223852153178772, 0.31680228623992535, -0.94848695526247684]], [[-0.63729183352144325, -0.15089389353279836, -0.81712012812938739, 0.57088556804804913, -0.59300015367968739], [-0.10229546091219133, 0.11629201435209802, 0.041897977936742103, -0.80558908009119334, -0.5995580083473997], [-0.15806879531258211, 0.43348162694717596, 0.79834964413634513, 0.98638069410835261, 0.1645942136186842], [0.96445320162412584, -0.81854398329566558, -0.3536473767506132, -0.57313352563704556, -0.99326541354501985]], [[0.94353209373046365, -0.64483229932738007, 0.43521047667784196, -0.21411420324857633, 0.62521147215577622], [-0.27819316040679753, -0.20394659003356019, 0.93619661127551734, -0.049497770897608317, -0.56693271464717765], [-0.66670947718861862, -0.36397632346469977, 0.45927379771336918, 0.68717684975062898, 0.019268117912187188], [0.94584254221100306, 0.25682965567539306, -0.20821324902151628, -0.76412882236033686, -0.60962705006938855]]]]))
17721          res=generalTensorProduct(arg0,arg1,2)
17722          ref=Data(numarray.array([[[-0.012741953653380766, 1.7272998062288618, 0.23749160067366817, -0.16495935205605772, -0.19327777707633736], [0.82761636981595021, 0.97802163056732005, 1.771462167616966, 0.34151564363939141, 1.2023084535239539], [0.094327287502053853, -2.1054371437216313, -0.36005339109077117, 0.73738429244260195, -0.61698403444544336], [-0.16248078513876263, 0.1916970183126524, 1.3866178706605721, -0.054647011003182352, 0.11407159674090825]], [[-1.569671404218739, 0.38348048413229008, -0.41465534885461358, 0.10302134963244214, 1.2863194770607314], [1.3011553807556318, 0.8419243300607433, 0.83920563901605982, -0.080592556631200685, 0.53187559154127861], [-1.6771630909710307, -1.3199355898794805, -1.6517312852708119, 0.57244377474252084, -0.83450491533179871], [1.7159750378813059, -1.1594037126797687, -0.15071103523069793, -0.3460819047518704, 1.8445885273254345]]]),self.functionspace)
17723          ref.setTaggedValue(1,numarray.array([[[-1.1408613031859238, 0.66515755971270474, 0.37218147107280569, 1.776266551662977, -0.26852288932962881], [-0.85102925720309208, -1.5720025743039185, 0.97878123757051028, 1.0314598886240829, 0.085388608274103522], [1.6313606697086283, 0.39102560231055417, 0.65998533911022628, 0.10628695375139297, 1.1572885231021393], [0.84151888634981509, -1.1638388680176208, 0.76755060501298744, 0.629708482630841, -0.83515371703905594]], [[-0.64023301880793682, 0.72855281503355995, -1.4289789877337999, 1.0954600841924893, -2.3984977366771951], [-0.031495388458374823, 0.52409615321267677, -0.87948480427880771, -1.0753587773859536, -1.0757569539662959], [0.59464500590058567, 1.5442299890108704, 0.18549064998394893, -0.60442296130201523, 1.1081573000501512], [-0.069774417191147742, -1.5592329431415479, -0.79023676534093568, -0.89652060651902155, -0.20957032328688746]]]))
17724          self.failUnless(isinstance(res,Data),"wrong type of result.")
17725          self.failUnlessEqual(res.getShape(),(2, 4, 5),"wrong shape of result.")
17726          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17727       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17728       def test_generalTensorProduct_constData_rank1_taggedData_rank3_offset0(self):
17729          arg0=Data(numarray.array([-0.37852904203796855, 0.41496979212984408]),self.functionspace)
17730          arg1=Data(numarray.array([[[0.12243172645596911, -0.4835688578554973], [-0.22100628921626786, 0.079583337472789006]], [[0.37552975656181631, -0.91235172020842548], [-0.13609390627194062, 0.65309257234093843]], [[0.96767861234450159, -0.82190160273060275], [-0.2667050602758263, -0.60386658356611411]], [[-0.27851266147427745, -0.5549642000004722], [0.61509408120688547, -0.90750197811589373]], [[-0.93848073843569435, 0.81035303808547487], [0.49669195647458264, 0.85630835713040554]], [[-0.3943675484614575, 0.28804306996967743], [-0.99687669117066435, 0.81226861996663668]]]),self.functionspace)
17731          arg1.setTaggedValue(1,numarray.array([[[0.42379445149120509, -0.57607066100565252], [-0.6644763075495832, -0.99133591977542945]], [[0.95448731654052144, 0.37506171833528246], [-0.21775682044497713, 0.20118778077611199]], [[-0.79850605679503461, 0.21656385342684747], [0.83506707280605563, -0.10344408462571075]], [[-0.9763496982409976, -0.30444327106733349], [0.62079677327037741, -0.60352046326586417]], [[0.47868341231643807, 0.577006954180175], [-0.41037083485379244, -0.43946694285869659]], [[0.49920014899425702, -0.29448914484264943], [-0.12401953407423738, 0.049847012612411756]]]))
17732          res=generalTensorProduct(arg0,arg1,0)
17733          ref=Data(numarray.array([[[[-0.046343964130432597, 0.18304485652343597], [0.083657298941400088, -0.030124604495759186]], [[-0.14214891900809587, 0.345351622652188], [0.051515495968322764, -0.24721450577032811]], [[-0.36629445813139494, 0.31111362633108608], [0.10095561097288719, 0.22858103939602206]], [[0.10542513094330327, 0.21007006699154632], [-0.2328309733224668, 0.34351585442377075]], [[0.35524221489114871, -0.30674215921905224], [-0.18801233047228813, -0.32413758211367905]], [[0.14927957032997766, -0.10903266734129755], [0.37734677893881141, -0.30746726259347373]]], [[[0.050805468077531439, -0.20066646842476182], [-0.091710933895462879, 0.033024681008082486]], [[0.15583350501902787, -0.37859840368419601], [-0.056474859995805683, 0.27101368898586436]], [[0.40155739261309381, -0.34106433723630392], [-0.11067454342263718, -0.2505863906565895]], [[-0.11557434123751055, -0.23029337871370117], [0.2552454630187187, -0.37658590721617474]], [[-0.38944115694652265, 0.33627203176611714], [0.20611215793082313, 0.35534210095745267]], [[-0.16365061960780722, 0.11952917286975918], [-0.41367371331417735, 0.33706694038115054]]]]),self.functionspace)
17734          ref.setTaggedValue(1,numarray.array([[[[-0.16041850774397221, 0.21805947545664897], [0.25152358015367032, 0.37524943605042177]], [[-0.36130116956747482, -0.14197175294656886], [0.082427280640271119, -0.076155417926926497]], [[0.30225773274014017, -0.081975707977715612], [-0.31609713910672677, 0.039156590257864846]], [[0.36957671596922448, 0.11524061975202333], [-0.23498960788629791, 0.22845002281033855]], [[-0.18119557350360721, -0.21841388961506766], [0.15533727899752744, 0.16635100088765709]], [[-0.18896175418400729, 0.11147269388786865], [0.046944995427116276, -0.01886854193263076]]], [[[0.17586189544108666, -0.23905192244961751], [-0.27573759521905689, -0.41137446056005778]], [[0.39608340333539288, 0.15563928329345431], [-0.090362502514907947, 0.083486851567727838]], [[-0.331355892402657, 0.089867457239376919], [0.34652760961680629, -0.04292617029419319]], [[-0.40515563132510279, -0.12633476091014115], [0.25761190795888644, -0.25044276118754288]], [[0.19863915610495675, 0.2394404558336217], [-0.17029150003542884, -0.18236550592601139]], [[0.20715298205933402, -0.12220409921984977], [-0.051464360274826398, 0.020685004462066222]]]]))
17735          self.failUnless(isinstance(res,Data),"wrong type of result.")
17736          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
17737          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17738       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17739       def test_generalTensorProduct_constData_rank2_taggedData_rank4_offset1(self):
17740          arg0=Data(numarray.array([[-0.90676789347500697, -0.44370684938196514, 0.20069519432798666], [-0.96911277876736968, -0.46931050080877856, -0.76067414291505653]]),self.functionspace)
17741          arg1=Data(numarray.array([[[[-0.54439006736510609, -0.71839825179571948], [-0.92128833634997687, 0.8994569742057188]], [[-0.76036425714539702, -0.62951137343131469], [-0.84924993584375752, -0.27017315068167314]], [[-0.54804988120544218, 0.67091052918388527], [0.87962256914843473, -0.70440969697992362]], [[0.31147144861537912, -0.91205010195990388], [-0.96230391346882627, 0.28647336083209662]], [[-0.21469253143147915, -0.69126131524449197], [0.8264967641556511, -0.72513970306497799]], [[0.58936243768170637, 0.25933315254960831], [0.51858120579558586, -0.97760546212177823]]], [[[0.64780397257678479, 0.7496533190488095], [0.05595518732477256, 0.97670831795466895]], [[0.24982369956918049, 0.81561080304790168], [0.90159650314170214, -0.20326733104134775]], [[0.71454126411921193, -0.82452189611384052], [0.34106129576893296, 0.18765715942841887]], [[-0.41435437516251139, 0.88735092666161908], [0.90381846689479728, 0.60120461001719594]], [[0.42077484283556243, -0.71709751150518319], [-0.76285848895470143, -0.84458306027789942]], [[0.020988449196071013, 0.19620847833144284], [0.82828592775537335, 0.33422701918619113]]], [[[-0.55039454082569694, -0.92316381038128315], [-0.76111511073025828, 0.98820239084046513]], [[0.66525110817429312, 0.086733063088390905], [0.28338640492462819, 0.714288644562181]], [[-0.84878848860138834, 0.035602076485214296], [-0.41978918981234625, 0.61775656584916949]], [[0.25029590195886331, 0.53692470376790857], [0.15626274517970451, -0.10998168588596191]], [[0.52512622650230423, 0.37088679394886293], [0.66594438027324299, -0.30782362337436897]], [[-0.78006050079291689, -0.53544657240487314], [0.20154995275063459, 0.073145558201775263]]]]),self.functionspace)
17742          arg1.setTaggedValue(1,numarray.array([[[[-0.62998701785511524, 0.56887795194588198], [-0.87647731736755707, 0.72069713446052686]], [[0.55837458493614411, -0.029441266894175477], [-0.92112022587378584, -0.14296590494631034]], [[-0.26148693285624347, -0.065321654115454653], [-0.21400915327468972, 0.74502521562446922]], [[0.13432711907583972, 0.36474586026838351], [0.52622955916382241, 0.059296025222255633]], [[0.86282232133794423, 0.75922046282495481], [-0.12670261331518073, -0.14808394325845886]], [[-0.26454468103945072, 0.78733596057246236], [0.90583269559407786, 0.96299633661727979]]], [[[-0.89830531075722364, -0.27216097723459232], [-0.24245324398974621, -0.43384061534570817]], [[0.50120066681209963, 0.012318628061694703], [-0.6325072621041341, 0.13278247372925089]], [[-0.32039649943496351, -0.11525237895959561], [0.63375477146953174, 0.12697575017216178]], [[0.21036974882178772, 0.98058511259916803], [-0.35117936216892587, -0.79697863178272743]], [[-0.88537709507353579, -0.81082946275033296], [-0.93683083583364479, -0.67928299387910873]], [[0.039952777006626583, -0.73758468529010845], [-0.84158977397872037, 0.16342791196252859]]], [[[-0.88102308699695109, 0.89780599568105512], [0.56406414487141721, -0.31973948455503098]], [[0.29584601326477222, -0.026087850533856649], [0.38592380748331356, -0.74381368742564358]], [[0.61503377638287837, 0.2945805357164899], [0.43924661069005766, 0.49108063027183446]], [[0.1462324267694739, -0.47156013574140521], [-0.23777696144869065, 0.20498459905087452]], [[0.90530786344404812, -0.33853347017759283], [0.93432794835007815, -0.64962506618086469]], [[-0.55046494322645789, -0.58276945210012787], [0.62722431213717122, -0.85066345425404921]]]]))
17743          res=generalTensorProduct(arg0,arg1,1)
17744          ref=Data(numarray.array([[[[0.095738835596132055, 0.13351961681201557], [0.65781483910673344, -1.0506434054316398]], [[0.71213810952058076, 0.22633551121377887], [0.42690232114228488, 0.47852974408244486]], [[0.0095594125809307373, -0.23536894882847773], [-1.0331944100977404, 0.67945210413038926]], [[-0.048347250324452744, 0.54105227349485019], [0.50291703014982003, -0.54859624510447158]], [[0.11336592473178239, 1.0194298413798741], [-0.27730335632838299, 0.97050196782874343]], [[-0.70028204857035914, -0.4296755760891654], [-0.79729882003266206, 0.75284238989392938]]], [[[0.64222505972933952, 1.0466155916955908], [1.4455325272142927, -2.0817547241767804]], [[0.11359451602507664, 0.1613172035010646], [0.18432554809685781, -0.18611715676176432]], [[0.84143188084883513, -0.29031276226507802], [-0.69319433761222871, 0.12467151710172492]], [[-0.29778372245223073, 0.059011562052152577], [0.38954449250274337, -0.4761164067268801]], [[-0.38886271876958933, 0.72432757221863819], [-0.94951774694901103, 1.3332673225047831]], [[0.01236308357630489, 0.063894591218370766], [-1.0446007944959905, 0.73491376138371967]]]]),self.functionspace)
17745          ref.setTaggedValue(1,numarray.array([[[[0.79301912066396341, -0.21489522362482499], [1.0155446189295507, -0.52517714786637082]], [[-0.66932744180853199, 0.015994829684412307], [1.1933431048708936, -0.078559433146341451]], [[0.50270439986403193, 0.16949074651337565], [0.0010099800600776726, -0.63334743289124829]], [[-0.18579787194840378, -0.86047201931148076], [-0.36906807397598179, 0.34099656979159737]], [[-0.20784075981223044, -0.39660819403970204], [0.71808324950539237, 0.3053036534412934]], [[0.11167763359491173, -0.50361862200060004], [-0.32207995292884367, -1.1164523107557991]]], [[[1.7022840663213805, -1.1065166945318763], [0.53412221197100407, -0.2516132877976387]], [[-1.0013890941228407, 0.042594999810672655], [0.89594942013076762, 0.64203371533799647]], [[-0.064064520994983498, -0.10668659510315895], [-0.42415230309163554, -1.1551568474036693]], [[-0.34014208570523086, -0.45497516238013491], [-0.16429284166264463, 0.16063942084903624]], [[-1.1092996526203072, -0.097725813916068549], [-0.14826544090762206, 0.95645767422359174]], [[0.65634782205815934, 0.026436550961872807], [-0.96000043847444227, -0.3628727969573764]]]]))
17746          self.failUnless(isinstance(res,Data),"wrong type of result.")
17747          self.failUnlessEqual(res.getShape(),(2, 6, 2, 2),"wrong shape of result.")
17748          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17749       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17750       def test_generalTensorProduct_constData_rank2_taggedData_rank0_offset0(self):
17751          arg0=Data(numarray.array([[0.24870805835700072, 0.081758170316929668, -0.18602519373334214, 0.23683157813059719, -0.59600118149457848], [0.67597359786843914, -0.055221654129998576, -0.65302894327452488, -0.30467500917702406, -0.45653971140485794], [0.84258228192155338, 0.79117496655379083, 0.24677770063396465, -0.17510047031292775, 0.19285200217953768], [-0.27463660308249294, -0.52472724496884537, -0.27769998320051181, 0.92090148616781753, 0.21862529524195273]]),self.functionspace)
17752          arg1=Data(0.345371783352,self.functionspace)
17753          arg1.setTaggedValue(1,0.978273349627)
17754          res=generalTensorProduct(arg0,arg1,0)
17755          ref=Data(numarray.array([[0.085896745648779083, 0.028236965085957331, -0.064247852908091999, 0.081794944493040922, -0.20584199093270186], [0.23346220699471351, -0.019072001166526822, -0.22553777071921691, -0.10522615126226613, -0.15767593429891871], [0.29100414532807317, 0.27324950914216861, 0.085230054559466736, -0.060474761697755744, 0.066605639915757284], [-0.094851733380345304, -0.18122598436828974, -0.095909738434790642, 0.31805338856931759, 0.075507008103578174]]),self.functionspace)
17756          ref.setTaggedValue(1,numarray.array([[0.24330446532813765, 0.079981839135319907, -0.18198348938853359, 0.23168602123527471, -0.58305207220236799], [0.66128695584619213, -0.054021872557698955, -0.6388408117405685, -0.29805544177525306, -0.44662063271378744], [0.82427579127178352, 0.77398538467162947, 0.24141604781244475, -0.17129612361429594, 0.1886619741544554], [-0.26866966962769917, -0.5133266795762349, -0.27166649275693433, 0.90089338154989984, 0.21387529988954324]]))
17757          self.failUnless(isinstance(res,Data),"wrong type of result.")
17758          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17759          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17760       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17761       def test_generalTensorProduct_constData_rank3_taggedData_rank1_offset1(self):
17762          arg0=Data(numarray.array([[[-0.23278108373856576, 0.65862132421972719, 0.10340510142998216], [-0.14633461960081595, 0.62388290215052478, 0.10829666393258819], [0.87140512117461655, -0.43682099360315441, -0.4758266506273654], [-0.046246540054774021, -0.45579169189402213, 0.36422582951431526], [-0.2243596257915923, 0.56884725350787657, -0.87156404050156344]], [[-0.70189767512955581, 0.72413139278009275, -0.54256069388651196], [-0.39497705112217729, 0.23443894276614818, 0.13670737478159567], [-0.39674381164337991, -0.035785619632231702, -0.18528924542416148], [-0.88073984983720432, 0.069639687732127031, -0.018949567123409006], [-0.37629339406544826, 0.50245817092966227, -0.42468554099304812]], [[0.17641609233996824, 0.72558124680867442, 0.82138264873435629], [-0.22505787618236628, -0.58815003904544683, -0.71453644154806129], [-0.4570243163580916, 0.51442699926378599, -0.84044888716172794], [-0.80401089195229214, 0.62646364742091731, -0.97236009948509672], [-0.26728604240032272, -0.076878212636768417, 0.93249714801241157]], [[-0.18137385261739269, -0.50548471261254169, -0.88014202571674494], [0.89214650525787453, 0.6677166469054332, -0.54072067358761977], [0.35559593661801547, 0.14739100937000793, -0.79197824643134007], [0.80478179203905564, 0.16136468396090131, 0.99831763124255057], [-0.63412014579901976, -0.1526534309947658, -0.64466532339633753]]]),self.functionspace)
17763          arg1=Data(numarray.array([0.68964770742137715, 0.6456895195654615, -0.023759679336675665]),self.functionspace)
17764          arg1.setTaggedValue(1,numarray.array([0.85715887187925643, -0.76173100068662469, -0.94918400685879978]))
17765          res=generalTensorProduct(arg0,arg1,1)
17766          ref=Data(numarray.array([[0.26227107362788538, 0.29934222242232605, 0.33021729519634391, -0.3348476278013206, 0.23327769038223795], [-0.0036070032836183746, -0.12426837285612617, -0.29231744662535097, -0.56198436612200897, 0.07501249072718634], [0.57064937194546095, -0.51799580776440379, 0.036943146051784483, -0.12688029268473211, -0.25612849576874142], [-0.43055835057648306, 1.05925178279647, 0.35922190166219192, 0.63548769632127644, -0.52056918393566176]]),self.functionspace)
17767          ref.setTaggedValue(1,numarray.array([[-0.79937312000857341, -0.70345642622128524, 1.5313197700067824, -0.038167302790453606, 0.20165421680615292], [-0.63824121645241216, -0.64689794779359577, -0.13693987376111585, -0.78999405907882392, -0.30217646304340046], [-1.1811243842095167, 0.93332832517516451, 0.014143201915876813, -0.24341319482930457, -1.055657464064951], [1.0649939036468641, 0.76933423792275368, 0.94426299610942321, -0.38067775855644481, 0.1846451566851518]]))
17768          self.failUnless(isinstance(res,Data),"wrong type of result.")
17769          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17770          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17771       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17772       def test_generalTensorProduct_constData_rank4_taggedData_rank2_offset2(self):
17773          arg0=Data(numarray.array([[[[-0.80013086485362184, 0.21562322994679817, 0.47004126926515832], [-0.42420743699753638, 0.024926284330090809, 0.8015902783913551]], [[0.67604938199183651, -0.82882429049959017, -0.53838412797435753], [0.82923074434106447, 0.70995523403687133, 0.65704451835348565]], [[0.93876017687146174, 0.81662335030196309, 0.41754067275278617], [-0.80807508073103262, 0.80725418011010674, -0.6995263918881327]], [[0.42662967919076866, 0.46925849928376251, -0.78368763499213046], [-0.57274122669520189, -0.2351775790268904, -0.89821414477427663]], [[-0.8805237481539443, 0.85776666373585075, -0.90775476155800749], [-0.90746001697201173, -0.39460809915186212, -0.6668322801751172]]], [[[0.333062742014677, -0.62614550668236801, 0.94166237335611047], [0.13972833689251907, 0.84975527936516171, -0.57824623121382124]], [[-0.36521461163112545, 0.43040346267470508, -0.75138726670064893], [0.7833237711132004, -0.091393807806916305, -0.009930011398738392]], [[0.035788998361372837, 0.91691400870333784, 0.73786290168230972], [-0.25038393695110339, -0.44906039009248677, -0.72841605057582215]], [[0.32255667814841638, 0.25779201982397781, -0.94388159411181416], [-0.71419141865588776, -0.048834281599605678, 0.70147978029892677]], [[0.13851517804520341, -0.59002190982703961, 0.3998373024060109], [-0.77255705275597197, -0.36904318592068486, -0.67763926329416502]]], [[[0.012076578338784838, 0.95416395018793421, -0.48467908824277428], [0.89881781938845751, -0.007930716828827844, -0.91491258291291611]], [[0.51742089237686395, 0.75283401377588355, -0.34126257319038689], [0.67183959221319256, -0.89008859446550859, -0.094156404485188583]], [[-0.10705636343792468, -0.31764898504140793, 0.18201482903511068], [0.83102694918592612, 0.32942968738643996, 0.044129236422181695]], [[0.24522726334898892, -0.81409691108494431, -0.24670082014790751], [0.90391916162045005, -0.13980309017192782, -0.027029185539776845]], [[0.39758554958357761, 0.65940095508742913, -0.36564254409242891], [-0.59672775318714044, 0.67235980164419695, 0.43866501374157307]]], [[[0.88721953723479996, 0.87663612656589662, 0.57250554780266905], [0.79020209071984038, 0.40834097987581353, -0.59085876571410623]], [[0.28856397497504283, -0.81996410967520061, -0.71531068691236044], [0.20949048849847052, -0.4753184756145914, 0.95156236022828344]], [[-0.83868320904517302, 0.24249963531045737, -0.26201145335844367], [0.09808012131307442, -0.27808740860091685, -0.48474647736535115]], [[-0.37209144031714292, 0.21918311630495846, -0.3763249855194486], [-0.56034471645078687, 0.88878282347066873, -0.11635706636782683]], [[-0.80840174387970665, -0.4504357990300516, -0.45226791069169003], [0.88855779038273908, -0.40061406122392107, -0.96042140874997628]]]]),self.functionspace)
17774          arg1=Data(numarray.array([[-0.82213761925641871, -0.13918276970644694, 0.68347363304802311], [0.10185713452525436, 0.13357095912831629, -0.56140878377022196]]),self.functionspace)
17775          arg1.setTaggedValue(1,numarray.array([[0.47099620783308693, 0.77162404763874881, -0.27159076959313699], [-0.61642391646398909, 0.82756626150629375, 0.90673785883316138]]))
17776          res=generalTensorProduct(arg0,arg1,2)
17777          ref=Data(numarray.array([[0.4591685104093321, -0.99799701988527778, -0.18183415223794974, -0.53717620584433035, 0.21332495327002729], [0.90929412858113434, -0.20004710791401797, 0.67072207655410199, -1.4192696126057194, 0.49396933327854164], [0.13013448650985138, -0.76101477352282099, 0.36050238788325728, -0.16834439641270804, -0.88579795376291615], [0.0066067625061939084, -1.1883765286345258, 0.72167001448941881, 0.1451599987644307, 0.99438175615216562]]),self.functionspace)
17778          ref.setTaggedValue(1,numarray.array([[0.67081461061348924, 0.4972405765822917, 1.490764572880422, 0.11985602137043261, 0.12186148740166614], [-0.48924528899233588, -0.20333304508540745, -0.3537943633025864, 1.6430803640934215, -0.94225331155783421], [-0.51662363200441508, -0.318828587838068, -0.54458862680399822, -1.143076073279554, 2.1173897814918012], [0.25389906999575551, 0.03780542844933299, -0.86687084120262747, 1.0715109044317899, -2.3556028661486543]]))
17779          self.failUnless(isinstance(res,Data),"wrong type of result.")
17780          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
17781          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17782       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17783       def test_generalTensorProduct_constData_rank2_taggedData_rank1_offset0(self):
17784          arg0=Data(numarray.array([[-0.6218422117291611, 0.63997070729232775, 0.98931991054654933, 0.65320968618526165, 0.34153776516110779], [0.16946577485828951, -0.83288997689003974, 0.88637896602081079, -0.54785070950025427, 0.57946201233032224], [0.45091874165793211, -0.74409892493235819, -0.049373812556165797, -0.41068546989464516, 0.24744380499265239], [0.1575580491711579, -0.97980530266842059, -0.64247367728252591, 0.015247459005106823, 0.80901495300603621]]),self.functionspace)
17785          arg1=Data(numarray.array([-0.68355881992285217, 0.26484298234724757]),self.functionspace)
17786          arg1.setTaggedValue(1,numarray.array([0.0635007962715608, -0.43783763144875465]))
17787          res=generalTensorProduct(arg0,arg1,0)
17788          ref=Data(numarray.array([[[0.42506572842780171, -0.16469054590375959], [-0.43745762146193662, 0.16949175073417749], [-0.67625835057938088, 0.26201443560466031], [-0.44650724225097405, 0.17299800138741436], [-0.23346115171261506, 0.090453880309481649]], [[-0.11583982507944413, 0.044881821219256601], [0.56932928972852714, -0.22058506544668824], [-0.60589216001762325, 0.23475124885082113], [0.37448818447989113, -0.1450944157851029], [-0.39609636933863629, 0.15346644750250008]], [[-0.30822948292879349, 0.1194226643369548], [0.50863538303262568, -0.19706937844046643], [0.033749905045984796, -0.013076307767228929], [0.28072767516064567, -0.10876716465357858], [-0.16914239533799783, 0.065533755277604813]], [[-0.10770019416078341, 0.041728143635303735], [0.66975455644617854, -0.25949455847835207], [0.43916854867473876, -0.17015464477110726], [-0.010422535084352886, 0.0040381825161298875], [-0.55300930657674785, 0.21426193291763698]]]),self.functionspace)
17789          ref.setTaggedValue(1,numarray.array([[[-0.039487475600070238, 0.27226592111835091], [0.040638649503536774, -0.28020325867745705], [0.062822602087015178, -0.43316148637879498], [0.041479335205060461, -0.28599978183873925], [0.02168792004453968, -0.14953808614844041]], [[0.010761211644278432, -0.074198493475581398], [-0.052889176739119394, 0.36467057473894299], [0.05628577014068422, -0.38809006704854798], [-0.034788956291205687, 0.23986965703511107], [0.036796299192096447, -0.25371027499323734]], [[0.028633699149048904, -0.19742919382336188], [-0.04725087423801709, 0.3257945108559484], [-0.0031352764122793151, 0.021617713145186415], [-0.026078854355470079, 0.17981355340909028], [0.015712878649498239, -0.10834020949465045]], [[0.010005061581362256, -0.068984843064786194], [-0.062218416910542342, 0.42899563300127141], [-0.04079759009095818, 0.28129915312955273], [0.00096822578794226349, -0.0066759113364079558], [0.051373093711482638, -0.35421719083078845]]]))
17790          self.failUnless(isinstance(res,Data),"wrong type of result.")
17791          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17792          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17793       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17794       def test_generalTensorProduct_constData_rank3_taggedData_rank2_offset1(self):
17795          arg0=Data(numarray.array([[[-0.055045165018387188, -0.99605658080886372, 0.28709760980871435], [-0.12923699376913822, -0.31529246489322471, 0.91428686541539017], [0.56818755497859286, -0.49396334949279774, 0.044485292282422373], [0.23067167500712715, -0.44568593501168952, 0.79964391909786947], [-0.82163321562185221, 0.69768473152146959, -0.2516490883478808]], [[0.73696096424597846, -0.90592628072930781, -0.90568657092761518], [0.83136916667147021, 0.65699336067417424, -0.1586776867368398], [-0.84224710153301152, -0.64992095035711195, -0.4369078252416041], [0.80110940310601797, 0.92501218395773877, 0.8684333630162866], [-0.45407138212607134, -0.69074114875382908, 0.91841613567499469]], [[-0.52289658250275117, 0.06631593318216078, -0.99200224727848707], [0.4443448817950133, 0.45442385049659983, -0.94122197339268632], [-0.75790010535038821, -0.83736301284623393, -0.60837439392873471], [0.26327665096042008, 0.52425582969874629, -0.28257691983358257], [0.17948748395643954, 0.96388125974797911, 0.72407095189617054]], [[0.81368932259619209, 0.7796569096047008, -0.57607513414532741], [0.88844721977457053, 0.26213201023814392, 0.40191634108605756], [-0.69507976975463559, 0.43147648276882844, 0.17686493732334596], [-0.45741771403480391, 0.28584506542025778, 0.60080512281347542], [-0.67850623973297708, -0.45160849186665342, -0.63430747745347649]]]),self.functionspace)
17796          arg1=Data(numarray.array([[0.54793946044652841, 0.22442407450602242], [0.22834699188722785, -0.19300000985027976], [-0.36120552274345119, -0.82997150186520363]]),self.functionspace)
17797          arg1.setTaggedValue(1,numarray.array([[-0.23295277933365166, -0.35795115151546164], [0.96803662804373847, 0.36109013313897842], [0.70260044024327173, -0.49137475110974704]]))
17798          res=generalTensorProduct(arg0,arg1,1)
17799          ref=Data(numarray.array([[[-0.36130918422689878, -0.058397364702585025], [-0.47305559971850764, -0.72698448671290883], [0.18246900409491498, 0.18592837264314294], [-0.2642127292490315, -0.52589599746542048], [-0.19999401061959887, -0.11018586225627483]], [[0.52408344333660606, 1.0919296069442923], [0.6628776870031754, 0.19147748869487499], [-0.45209439694808767, 0.29903526744633391], [0.3365002769061855, -0.71951406681780927], [-0.73826927199954095, -0.73085072064324341]], [[0.086944062861353921, 0.69318403767945358], [0.68721498900257383, 0.79320529608154655], [-0.38674450891636358, 0.49645344944167036], [0.36604025181019656, 0.19243502898163453], [0.056909234632914585, -0.74670603555575377]], [[0.83196631837525126, 0.51026362619933274], [0.40149794417260398, -0.18478164474804137], [-0.34621986923717585, -0.38606045711714376], [-0.4023794830451759, -0.6564747776864932], [-0.24578841956370537, 0.46134443818649007]]]),self.functionspace)
17800          ref.setTaggedValue(1,numarray.array([[[-0.74968142260268134, -0.48103523973849827], [0.36726981647790463, -0.51684594832434971], [-0.57928009939327318, -0.40360763063879168], [0.076654252094322528, -0.63642681702548087], [0.68997735585156139, 0.66968563640324819]], [[-1.6849827103910746, -0.14588555372344114], [0.3308368669276428, 0.017614478359744987], [-0.73991511245133468, 0.28148875124603456], [1.318986676631142, -0.37947148827871463], [0.082394039243201544, -0.53817093934832272]], [[-0.51097475111886315, 0.6985623203291178], [-0.3249154161317932, 0.46752691948367398], [-1.0614872484126363, 0.26786751004783366], [0.24762914976129835, 0.23391459061897482], [1.399992825847342, -0.071989922926034899]], [[0.16043461372812828, 0.27333416295391738], [0.32917373634354674, -0.42085896497024022], [0.70387118650962743, 0.31769954003080803], [0.80539116486238205, -0.0282714374958834], [-0.72477836022990305, 0.39148339822877543]]]))
17801          self.failUnless(isinstance(res,Data),"wrong type of result.")
17802          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17803          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17804       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17805       def test_generalTensorProduct_constData_rank4_taggedData_rank3_offset2(self):
17806          arg0=Data(numarray.array([[[[-0.74599658276682779, -0.12028575419991627, 0.68564242015397792], [0.15248888084089285, -0.3024240337236026, -0.44726205028156651]], [[-0.46016876463895651, -0.59758839193843394, 0.47852143269632297], [-0.48594691239575671, -0.078945233807708348, -0.84590281514145671]], [[-0.36398225054347777, 0.73338407871725586, -0.67212752765832717], [-0.73420121234023483, 0.69464910546658687, 0.46834343233688513]], [[-0.017407617766312278, -0.7802447177061238, 0.38968686345394965], [-0.24926799420921997, 0.81075266960966363, -0.24151929261601879]], [[-0.72253529514807413, 0.68424988312341184, 0.55697015452274745], [0.39847369916135644, 0.80692285856070911, -0.52850198475098442]]], [[[-0.26453156812239498, 0.98973939044107606, -0.89323299826918778], [0.54551699199283088, -0.19306155046993667, -0.074151478122420178]], [[0.53724370714675218, 0.52467529374732869, -0.90577734258298537], [-0.2318732092440432, -0.15781323786148005, 0.8246294727507657]], [[0.21470947174093102, -0.62872415754415401, 0.47607385942515079], [0.80676862951331985, 0.056280667844240018, 0.14811274772929228]], [[-0.0044218217241669411, 0.53159855930166677, -0.15901585534395024], [-0.13622930444682679, -0.88146085937130647, 0.13527639687590365]], [[0.95792737857931387, 0.10030846465746679, -0.064920370632121305], [0.152489141546573, -0.6402422534816905, -0.83901276781759027]]], [[[0.38231788837393998, 0.69392621761530027, 0.42694686311367014], [0.59934266557341576, -0.24379318479519085, -0.46021277837023034]], [[0.094895679748156159, 0.85662885387864263, -0.097205610651243557], [-0.51763413873193143, 0.49236086654460776, -0.17977123125400851]], [[-0.62476634915995799, 0.40770604669032395, 0.014979251923380676], [-0.89011857009789486, 0.79103193064178057, -0.072347816177577462]], [[0.97963963021802525, -0.58521462659619239, -0.67414591328917606], [0.30987661399695243, -0.72967732753113967, 0.99515094946348071]], [[-0.5620665773822886, -0.78760969284900306, 0.10947821992540852], [0.79896759576434895, -0.37288248259662948, 0.70331119940692677]]], [[[0.76818930254377449, -0.63098168274514754, 0.95225520116744966], [-0.58738912969048829, -0.51167624900080666, 0.89234127463357904]], [[0.37031788784217068, 0.92979919770369701, -0.98180480079350296], [0.19443332689139692, 0.13571116434337038, 0.16675403233830322]], [[0.4416850183007992, -0.4044000802398795, -0.25731803702762379], [-0.81509549011533378, 0.55841949383943157, 0.32596414552861996]], [[-0.79794305635536311, 0.44777554424093591, 0.81871864915877857], [0.60345343569056364, 0.019867664068124347, -0.59137840037120282]], [[-0.34559162264278109, -0.89289555947858412, 0.90348530273052985], [0.09501078698631571, -0.054180663444882704, 0.074822698001534738]]]]),self.functionspace)
17807          arg1=Data(numarray.array([[[-0.81491822743365039, -0.49082703540309058], [-0.14353402093911072, -0.21830926359381109], [0.82191906487630062, 0.84875962421837636]], [[0.89914793570060536, -0.72631189117255635], [0.20109086576989532, -0.24326665265820058], [-0.72511128092363752, -0.35276942272409473]]]),self.functionspace)
17808          arg1.setTaggedValue(1,numarray.array([[[-0.49055804345641518, 0.453861411524074], [0.78774761096227297, 0.7901105365972978], [-0.65046167744617978, -0.9338870116714908]], [[0.66960260065221888, -0.63986180229128431], [0.76754467272613791, -0.61648221686828131], [-0.45289593498183001, -0.83977121301024416]]]))
17809          res=generalTensorProduct(arg0,arg1,2)
17810          ref=Data(numarray.array([[[1.5893439975168726, 1.094955958663776], [1.0146404125150075, 1.433034435206386], [-1.2211532448653801, -0.35287005086965217], [0.56050302653165873, 0.57864709660119629], [1.8521528049007236, 0.3787212791396648]], [[-0.15520927225854231, -1.1674618029252115], [-2.0957653618700887, -1.2311235458134635], [0.93589047743101106, -0.21596314285546714], [-0.6012316853912919, 0.016804842033048412], [-0.23164839838315265, -0.20620374891695387]], [[0.76333454547283175, -0.19042117492171479], [-0.5162489941848345, 0.0035150668104723393], [-0.12589323107897163, 0.70995410184659347], [-1.8581230685606032, -1.3238834078371864], [0.79449723970823194, -0.19695582117429461]], [[-1.0308572902222122, 0.80524759686168745], [-1.1610013279687037, -1.4511210447289282], [-1.3703452499388618, -0.0057293023926705683], [2.2343120494130004, 0.75428547911887667], [1.1726603316982323, 1.0491726539667967]]]),self.functionspace)
17811          ref.setTaggedValue(1,numarray.array([[[-0.1022381505412599, -0.60946563155706213], [-0.55914855665093366, -0.057926647786131991], [1.0229095181541554, 0.69019531644274768], [-0.29481133518623126, -1.1258003046923957], [1.6566987376121238, -0.61604597899364955]], [[1.7411258981717153, 1.3283553491302007], [0.089072986979815805, 1.0574351325267217], [-0.39393857475595156, -1.5192097135052505], [-0.30467783831181372, 1.0834892196904451], [-0.35799494725498959, 1.5763540945221188]], [[0.5040047759140045, 0.47634875046234798], [0.80420147325140179, 0.98932932717403577], [0.66180285952914419, 0.16723794505639827], [-1.3063310213391128, 0.027668262899012586], [-0.48566272634400892, -1.8516132602218802]], [[-2.6834906737264048, -1.0972678980787463], [1.348246294971124, 1.4715026793423513], [-0.63266780225939923, 0.024806470057299246], [0.89878257704025244, -0.6747064069212978], [-1.1333796644466807, -1.7963163864923728]]]))
17812          self.failUnless(isinstance(res,Data),"wrong type of result.")
17813          self.failUnlessEqual(res.getShape(),(4, 5, 2),"wrong shape of result.")
17814          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17815       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17816       def test_generalTensorProduct_constData_rank2_taggedData_rank2_offset0(self):
17817          arg0=Data(numarray.array([[-0.88577226636182749, 0.51105202985402975, -0.92051821173109261, 0.68683867152791067, -0.027252262057769983], [-0.56506162587521835, -0.16967764372141003, 0.63874234020929577, -0.57157187857043357, -0.27508244768682211], [-0.11183974079876347, -0.670731559536905, -0.74398397089552382, 0.073277966680087347, -0.13164498575358818], [-0.88541565887555063, 0.7260767716392722, -0.61350576545393443, 0.32306677597426359, 0.32466806856558761]]),self.functionspace)
17818          arg1=Data(numarray.array([[-0.62856448512195318, 0.23315595117230625, 0.14786669940419617, -0.081451702528267056, 0.59948902524387382], [0.71708680526585011, -0.39254552637680562, -0.53134927140563182, -0.21182544634691691, 0.75265849683548103], [-0.31657674975387051, -0.84330148656863035, 0.36037431634276795, 0.46816853489379695, -0.5007490583946248], [0.81943856074559385, -0.78115200153096032, 0.28840868510282247, -0.13787271134040879, 0.96664503015255465]]),self.functionspace)
17819          arg1.setTaggedValue(1,numarray.array([[0.10205229893144629, -0.84541935528576584, 0.48443658343371476, 0.86086367056402402, 0.046869653440018588], [0.064057946477595218, -0.26679150914131089, -0.52071629159316446, -0.47674097865377929, 0.76350720605205047], [-0.34712597474028817, -0.21548681218722976, 0.1124648266240309, -0.03892181901618974, 0.50495936798709851], [0.88560192888241573, -0.10201489443883505, -0.42490557307538923, -0.437031742524709, 0.28910854091665472]]))
17820          res=generalTensorProduct(arg0,arg1,0)
17821          ref=Data(numarray.array([[[[0.55676498854102763, -0.20652307528564129, -0.13097622145069793, 0.072147659147492507, -0.53101075254930896], [-0.63517560467849454, 0.34770594054897963, 0.47065444836267228, 0.18762910568381427, -0.66668402253845038], [0.280414905106947, 0.74697306898419391, -0.31920957492552776, -0.41469070419217485, 0.44354962833275791], [-0.72583595109589871, 0.69192277876915642, -0.25546441464196168, 0.12212382399344393, -0.85622735912562542]], [[-0.32122915601572727, 0.11915482211915415, 0.075567576878330101, -0.041626057912137485, 0.30637008322609538], [0.36646866741265405, -0.2006111880649851, -0.27154712371330791, -0.10825382433032776, 0.38464765259465539], [-0.16178719056630675, -0.43097093648981938, 0.18417002587422981, 0.2392584800712621, -0.2559088227400671], [0.4187757398097004, -0.39920931600693543, 0.14739184394932908, -0.070460128991994622, 0.49400590480777284]], [[0.57860505580213528, -0.2146242992275933, -0.13611398971012967, 0.074977775553773301, -0.55184056546990656], [-0.66009146363928262, 0.36134530596341757, 0.4891166811189312, 0.19498918107040447, -0.69283585355120925], [0.29141466355907447, 0.77627437636632768, -0.33173112123365983, -0.43095766252920359, 0.4609486277594485], [-0.7543081185610343, 0.71906464353944333, -0.26548544705856597, 0.12691434168959023, -0.88981435453477775]], [[-0.43172239593078748, 0.16014052376201324, 0.101560567381995, -0.055944179158201511, 0.41175224569406438], [0.49252294869899005, -0.26961544785086961, -0.36495122768956739, -0.14548990816472313, 0.51695496208067593], [-0.21743715423757223, -0.57921207273231023, 0.24751901668964577, 0.32155625455762377, -0.34393381803661627], [0.56282209246124681, -0.5365254029928932, 0.19809023813313412, -0.094696309896997483, 0.6639291883490378]], [[0.017129804068750729, -0.0063540270816763124, -0.0040297020417806549, 0.0022197431423518596, -0.016337432016703134], [-0.01954223753527402, 0.010697753554425966, 0.014480469588551424, 0.0057727225743502749, -0.020511646595767766], [0.0086274325456895482, 0.022981873105675309, -0.0098210153078628123, -0.012758651600127985, 0.013646544564551879], [-0.022331554397680791, 0.021288159052673269, -0.00785978906615898, 0.0037573432600640959, -0.026343263678558385]]], [[[0.35517766993043037, -0.13174748085190641, -0.083553797578137273, 0.046025231460927213, -0.33874824329865316], [-0.40519823607718736, 0.2218124133645212, 0.30024508320807897, 0.11969443111453271, -0.42529843395065481], [0.1788853729302142, 0.47651730910345891, -0.20363369711631474, -0.2645440735107078, 0.28295407709195136], [-0.46303328543975414, 0.44139902004076548, -0.16296868052073474, 0.077906578433836055, -0.54621401238220202]], [[0.10665334076245431, -0.039561352414541055, -0.025089673139766032, 0.01382053296209357, -0.10171988524022541], [-0.12167359946122305, 0.066606199968996985, 0.090158092365195605, 0.035942042616380822, -0.12770932026994278], [0.053715996955219225, 0.1430894091877275, -0.06114746485475489, -0.079437733865284202, 0.084965920324114694], [-0.13904040416177588, 0.13254403100803663, -0.048936506117037051, 0.023393916793722692, -0.16401805103129682]], [[-0.40149075019924746, 0.14892657788552319, 0.094448721616460743, -0.052026651086936715, 0.38291902291406155], [0.45803370412871663, -0.25073544815661064, -0.33939527708613754, -0.13530188131550833, 0.48075484964710596], [-0.20221097399363985, -0.53865236503282499, 0.23018633417210466, 0.2990390655904212, -0.31984962541658396], [0.52341010394837773, -0.49895485751706098, 0.18421883845926268, -0.088065138292573425, 0.61743710871132806]], [[0.35926978356381212, -0.13326538501143137, -0.084516447156466015, 0.046555502626841737, -0.34265106834099901], [-0.4098666523838726, 0.22436798393561047, 0.30370430123434816, 0.12107346829752788, -0.43019843095825461], [0.18094636756854182, 0.48200741487927129, -0.20597982498057157, -0.26759196897681509, 0.28621407999899146], [-0.46836803753841144, 0.44648451696410518, -0.16484629394024886, 0.078804164624436568, -0.55250711579506906]], [[0.17290705709635396, -0.064137109741227188, -0.040675533603477844, 0.022405933699734617, -0.1649089084254719], [-0.1972579935964536, 0.10798238422424368, 0.14616485815487076, 0.058269462263463516, -0.20704314158178838], [0.087084707203033254, 0.23197743706323457, -0.099132649023033745, -0.12878494650853906, 0.13774727666006481], [-0.22541316501886463, 0.21488120459659676, -0.079336167032222307, 0.037926362904738324, -0.26590708093866672]]], [[[0.070298489091347463, -0.026076101144799881, -0.016537373334133972, 0.0091095372983793742, -0.067046697194978216], [-0.080198802431146049, 0.04390218992169611, 0.059425964787617684, 0.023690503014021563, -0.084177131196067123], [0.035405861635387885, 0.094314619673047523, -0.040304170130306759, -0.052359847592659096, 0.056003644896079709], [-0.091645796234299012, 0.08736383737565788, -0.032255552586011857, 0.015419648299534055, -0.1081093296166746]], [[0.42159803737535939, -0.15638505474511144, -0.099178861894951231, 0.05463222746372063, -0.40209620882708247], [-0.48097275121930055, 0.26329267309595011, 0.35639272546869766, 0.14207801197786857, -0.50483180738116484], [0.21233801707553807, 0.56562892124596775, -0.2417144272176307, -0.31401541153542434, 0.33586819687366343], [-0.54962330379356905, 0.52394330022223579, -0.19344480714300424, 0.092475578694933919, -0.64835932859282153]], [[0.46764190160493113, -0.17346429039109526, -0.11001045418594865, 0.060598761083181102, -0.44601022550922415], [-0.53350108885847236, 0.29204757947108945, 0.39531534087280534, 0.15759473670989596, -0.55996585720391723], [0.23552802737508313, 0.62740278863942789, -0.26811271488145216, -0.34830988563862664, 0.37254927288662748], [-0.60964915432841982, 0.58116456797199012, -0.21457143878355456, 0.10257508726116965, -0.71916840797932091]], [[-0.046059927397052745, 0.017085194021268329, 0.010835371072035178, -0.0059686151439027396, 0.043929336816898631], [0.052546663023001247, -0.02876493800225691, -0.038936194205550577, -0.015522137999404008, 0.055153284252595004], [-0.023198100520154474, -0.061795418234044226, 0.026407497145324609, 0.034306438300612967, -0.036693872816126433], [0.06004679155069436, -0.057241230340269247, 0.021134002017212428, -0.010103031947695776, 0.070833782310990925]], [[0.082747362689091011, -0.03069381187044256, -0.019465909536495511, 0.010722708218939218, -0.07891972418766223], [-0.094400882263308908, 0.051676650227509349, 0.069949467264373857, 0.027885757866587334, -0.099083717093224], [0.041675741711265535, 0.11101641218530708, -0.047441471740902769, -0.061632040106372153, 0.065921102658483083], [-0.10787497765529451, 0.10283474411293017, -0.037967557241572164, 0.01815025112021669, -0.12725397122320989]]], [[[0.55654083774002538, -0.20643993012798326, -0.13092349107871934, 0.072118612860600922, -0.53079697027496608], [-0.63491988615542638, 0.34756595587556921, 0.47046496523466125, 0.18755356714386304, -0.66641561888386902], [0.28030201146800354, 0.74667234136089511, -0.31908106274645798, -0.41452375178779244, 0.44337105746978828], [-0.72554373317059284, 0.69164421411749033, -0.25536156594574677, 0.12207465755242665, -0.85588264627130073]], [[-0.45638607212444909, 0.16928912031567192, 0.10736257573635345, -0.059140189216246489, 0.43527505608224604], [0.52066007255254787, -0.28501818851310978, -0.38580036359508058, -0.15380153623461729, 0.54648785152917345], [-0.22985902443734407, -0.61230162088635021, 0.26165942019186678, 0.33992629839877603, -0.36358225972057456], [0.5949753047428924, -0.56717632343115543, 0.20940684699218479, -0.10010617314719729, 0.70185850281431383]], [[0.38562793558190206, -0.14304252029410591, -0.090717072603118204, 0.049971089107130648, -0.36778997331347585], [-0.43993688936154179, 0.24082894363531973, 0.32598584147710252, 0.12995613260368657, -0.46176032722645949], [0.19422166118266698, 0.51737032402572836, -0.22109172079780817, -0.28722409536146593, 0.3072124343707312], [-0.50273028145269594, 0.47924125663512479, -0.17694039111756985, 0.084585703306106846, -0.59304229914598461]], [[-0.20306830170027237, 0.075324941444449803, 0.047770817850469216, -0.026314338933422013, 0.19367498661749222], [0.23166692227092278, -0.12681841762967483, -0.17166129602929145, -0.068433764020607801, 0.24315895398227433], [-0.1022754298913942, -0.27244269244003116, 0.11642496852478741, 0.1512496991807335, -0.16177538386769968], [0.26473337392906976, -0.25236425868045037, 0.093175264059145474, -0.044542092347576161, 0.31229089340293065]], [[-0.20407481735346755, 0.075698292341685125, 0.04800759570072869, -0.026444766941231254, 0.1946349439521953], [0.23281518805953119, -0.12744699787281941, -0.17251214168099868, -0.06877295853849702, 0.24436418045705405], [-0.1027823618953605, -0.27379306486272603, 0.11700203324765054, 0.15199937398714997, -0.16257722962501947], [0.26604553482543691, -0.25361511159319983, 0.093637090749874127, -0.044762866898791311, 0.3138387749281541]]]]),self.functionspace)
17822          ref.setTaggedValue(1,numarray.array([[[[-0.090395096111941894, 0.74884901835762785, -0.42910049041666204, -0.76252916450405717, -0.041515839151158689], [-0.056740752429944162, 0.23631651969819117, 0.46123604973600352, 0.42228393712971368, -0.67629350828831158], [0.30747456135876355, 0.19087224200216799, -0.09961822436475784, 0.034475867840895263, -0.4472790038025683], [-0.78444162764058334, 0.090361964249749516, 0.37636957245275865, 0.38711059704817014, -0.25608432751230636]], [[0.052154034520185862, -0.43205327759667578, 0.24757229929935098, 0.43994612626933521, 0.023952831529076409], [0.032736943575655833, -0.13634434229448686, -0.26611311779674957, -0.24363944485561057, 0.39019190746107935], [-0.17739943400608293, -0.11012497277505784, 0.057475377933392517, -0.019891074613834943, 0.25806051000361468], [0.45258866339800269, -0.052134918878311225, -0.21714885561646743, -0.22334595912789623, 0.14774950668359321]], [[-0.09394099971542183, 0.77822391309050643, -0.44593269747952335, -0.79244068657185984, -0.043144369569061966], [-0.05896650633872199, 0.24558644289979895, 0.4793288295565859, 0.43884875312930788, -0.70282228795883639], [0.3195357815133425, 0.19835953500622255, -0.1035259210866003, 0.035828243238104213, -0.46482429441634665], [-0.81521270388044753, 0.093906568198772619, 0.39113331828193237, 0.40229567809856842, -0.26612967708078444]], [[0.070093465424443793, -0.58066670686845812, 0.33272977940513249, 0.59127445985683524, 0.032191890503715938], [0.043997474859477505, -0.18324272571354441, -0.35764808596078923, -0.32744414044147779, 0.52440627510677706], [-0.23841954334345061, -0.14800467581446128, 0.07724519211206618, -0.026733010466529532, 0.34682562148383211], [0.60826565233615359, -0.070067774572429506, -0.29184157933590593, -0.30017030145119905, 0.19857092617056774]], [[-0.002781155994077654, 0.023039589818958636, -0.013201992722106348, -0.02346048234622455, -0.001277304078104247], [-0.0017457239442900284, 0.00727067212190694, 0.014190696836247086, 0.012992270083950519, -0.020807298462326262], [0.0094599680306811772, 0.0058725030757198482, -0.0030649209274397566, 0.0010607076115942979, -0.013761285024910315], [-0.024134655844770168, 0.0027801366370428745, 0.011579638027257441, 0.011910103574847227, -0.0078788617202001903]]], [[[-0.057665837958506855, 0.4777140354441537, -0.27373652346849076, -0.48644102534581574, -0.026484242577024926], [-0.036196687386857669, 0.1507536439250923, 0.29423679434734779, 0.26938803251944732, -0.43142862321921699], [0.1961475676702672, 0.12176332844918386, -0.063549557785949451, 0.021993226335309167, -0.28533316147571258], [-0.50041966581252728, 0.057644702115096903, 0.24009783396542084, 0.24694986699009186, -0.16336414218477702]], [[-0.017315993619040779, 0.14344876416136235, -0.082198058009482974, -0.14606931918666777, -0.0079527323577414342], [-0.010869201419950554, 0.045268554635976656, 0.088353913404878817, 0.080892285923412313, -0.12955010368722902], [0.058899517468429793, 0.036563294544967172, -0.019082766783102466, 0.0066041625400182448, -0.085680315735103277], [-0.15026684856790404, 0.017309646912869906, 0.072096976443527444, 0.074154516303054571, -0.049055256002472833]], [[0.065185124243210615, -0.54000513745346412, 0.30943015698544674, 0.549870075537229, 0.029937632123076142], [0.040916522642100987, -0.17041103289689064, -0.33260354267732389, -0.3045146483789849, 0.48768437956034771], [-0.22172405745304455, -0.13764055070071213, 0.07183604654906621, -0.024861013763603706, 0.32253892841868625], [0.5656714485482206, -0.065161232410065772, -0.27140518011414605, -0.27915067796597903, 0.18466586599959897]], [[-0.058330224212678208, 0.48321792908048999, -0.27689032804145092, -0.49204546537731808, -0.026789375864656607], [-0.036613720805563389, 0.15249052406654007, 0.29762678898813466, 0.27249173676064758, -0.43639924806523361], [0.19840744548289937, 0.12316620204900912, -0.064281732226595459, 0.022246617212461996, -0.28862057456212475], [-0.50618515815692189, 0.058308844856569425, 0.24286407661774687, 0.24979505406975797, -0.16524631184248939]], [[-0.028072796182129506, 0.23256002557382355, -0.13326000111998768, -0.23680848562341381, -0.012893018990513394], [-0.017621216710848337, 0.07338966135665298, 0.14323991204185266, 0.13114307532069261, -0.21002743106732488], [0.09548826278723245, 0.059276639740693693, -0.030937099786412497, 0.010706709243396973, -0.13890545892828177], [-0.24361354627314588, 0.02806250686274752, 0.11688406507734993, 0.12021976145053397, -0.079528685082519146]]], [[[-0.011413502660410879, 0.094551481561417766, -0.054179261924665212, -0.096278769778952542, -0.0052418898920595517], [-0.0071642241301553122, 0.029837893229675144, 0.058236775081472847, 0.053318587480787501, -0.085390448022849411], [0.03882247903947194, 0.024099989220571601, -0.012578037058609489, 0.0043530061501870438, -0.056474524829584517], [-0.099045490177094325, 0.011409319351652528, 0.047521329156701583, 0.048877516804795386, -0.032333824278827368]], [[-0.068449697616615401, 0.56704944263350654, -0.32492690510322547, -0.57740843230607219, -0.031436955746777934], [-0.042965686341649031, 0.17894548499755589, 0.34926085033655696, 0.31976522010759972, -0.51210837903295692], [0.23282834639332178, 0.14453380559797677, -0.075433708554583881, 0.026106092368742111, -0.3386921843927565], [-0.59400116288819393, 0.068424609242952572, 0.28499757768477818, 0.2931309822307292, -0.19391422252446694]], [[-0.075925274598034442, 0.62897844901743771, -0.36041305299007587, -0.64046877202591868, -0.034870270880802079], [-0.047658085387814221, 0.19848860637216192, 0.38740457432947395, 0.35468764638745687, -0.56803712296595144], [0.25825616108825888, 0.16031873420667314, -0.083672028297823137, 0.028957209466141755, -0.37568167573593558], [-0.65887363968267498, 0.075897446255092191, 0.31612293551226622, 0.32514461121092314, -0.21509212029098379]], [[0.0074781849607248353, -0.061950611347331278, 0.035498527819471104, 0.063082339367688242, 0.0034345129030849235], [0.0046940360675800409, -0.019549939317387199, -0.038157031065142552, -0.034934609548823874, 0.055948255605088738], [-0.02543668561081168, -0.015790435443454064, 0.0082411938180375361, -0.0028521117569967418, 0.037002395742156573], [0.064895108636466747, -0.0074754440355615827, -0.031136216426001791, -0.032024797466866137, 0.021185286028219293]], [[-0.01343467343895117, 0.11129521898240236, -0.063773647124648308, -0.11332838564718258, -0.0061701548593868626], [-0.0084329074514471365, 0.035121764420086167, 0.068549688788443405, 0.06276055934302846, -0.1005118952634841], [0.045697393999385647, 0.028367758320473994, -0.014805430498700313, 0.0051238623098900362, -0.066475368804802482], [-0.11658505331107584, 0.013429749325054242, 0.055936688114129836, 0.057533037518531137, -0.038059689750213677]]], [[[-0.090358703498151172, 0.74854753548648956, -0.42892773670438322, -0.76222217407447024, -0.041499125081862778], [-0.056717908886674724, 0.23622137984875627, 0.46105035840819503, 0.42211392772771078, -0.67602123590280705], [0.30735077363748997, 0.19079539779174806, -0.099578118565640888, 0.034461988028854577, -0.44709893151167845], [-0.78412581536288262, 0.090325584974680878, 0.37621804794443919, 0.38695474825704523, -0.2559812292422689]], [[0.074097803746510468, -0.61383935616724372, 0.35173815056351054, 0.62505311474466052, 0.034030966657580208], [0.046510986976293626, -0.1937111176580924, -0.37808000393993874, -0.34615055068908324, 0.55436484729359337], [-0.25204010709156399, -0.15645996892374195, 0.08165809823814682, -0.028260228697603081, 0.36663926771707972], [0.64301498948045677, -0.074070645213270489, -0.30851406675011345, -0.31731859671622636, 0.20991499604210509]], [[-0.062609673772270696, 0.51866964869416554, -0.29720463693338994, -0.52814482516086514, -0.028754802610279236], [-0.039299919487144216, 0.16367812903235029, 0.31946244705819848, 0.29248333903224466, -0.46841607287855808], [0.21296378684198361, 0.1322024016561546, -0.068997819544620101, 0.023878760368386986, -0.30979548358005982], [-0.54332188926648728, 0.06258672590039982, 0.26068201885525932, 0.26812149372528837, -0.17736975669434238]], [[0.032969707196544136, -0.27312690545841289, 0.15650536517391758, 0.2781164506024898, 0.015142027827897859], [0.020694994244048623, -0.086191472715591577, -0.16822613352227817, -0.15401917094849168, 0.2466638114923537], [-0.11214486951626856, -0.069616629678299971, 0.036333648947930189, -0.012574346584614203, 0.16313559501359368], [0.28610855996063111, -0.032957623047709272, -0.13727287358696286, -0.1411904360558722, 0.093401364220567107]], [[0.033133122786750652, -0.27448066920859387, 0.15728108988593631, 0.27949494522030399, 0.015217079856709285], [0.020797569759158627, -0.086618683982607719, -0.16905995266218804, -0.15478257274559054, 0.24788640992482736], [-0.11270071976787631, -0.069961687114183407, 0.036513738041587786, -0.012636671805045682, 0.16394418270847108], [0.28752666776821278, -0.033120978742378876, -0.13795327173314076, -0.14189025174735045, 0.093864311585225443]]]]))
17823          self.failUnless(isinstance(res,Data),"wrong type of result.")
17824          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17825          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17826       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17827       def test_generalTensorProduct_constData_rank3_taggedData_rank3_offset1(self):
17828          arg0=Data(numarray.array([[[-0.10197218590151125, -0.5273330957049851, 0.70569111308408461], [-0.88693090786344664, 0.12724811599121355, -0.29743994980089949], [-0.19444452199844431, 0.64425321048055162, -0.34623138394159803], [-0.4810670635540959, 0.90809475503312398, 0.57501343644865588], [0.57869609305191361, 0.63077255315477476, -0.51206100718206238]], [[-0.18049546265781902, 0.69139296534437777, -0.87374336929740015], [0.882032711605792, 0.20394036482010569, -0.92042037575250579], [-0.064073168204180631, -0.93398988454888077, 0.54400297371430506], [0.30000111864733592, 0.34513301178583622, -0.75082361947223974], [0.34825323451057133, -0.60317891847851923, -0.96054785198860193]], [[0.41932479652754062, -0.83194600662718399, -0.81919258160090225], [-0.71921596157911338, 0.92475785014636425, -0.42323834409358851], [0.62027260525205774, -0.20897876910720425, -0.012043636279710501], [-0.6500132017489717, 0.59794420965780826, 0.73968382433177071], [-0.63692034386388441, -0.11636007910330481, 0.91505711969519532]], [[0.74214576662243692, -0.97324560161769247, 0.30462070693415821], [-0.38904388892222408, 0.2671436213912477, 0.94027591977325375], [-0.47110063324677065, 0.53569578167341181, -0.033637950007002537], [-0.4314143719066692, 0.067050653006339722, -0.21654403857770865], [0.39432965996765779, -0.95758610941560418, 0.41837201071800711]]]),self.functionspace)
17829          arg1=Data(numarray.array([[[0.12568008130404729, -0.86727514905073355, -0.64323115743075876, -0.68111405332504571, -0.066333757470758981], [-0.85532856847453775, 0.95268786546384909, 0.57571036941442255, -0.57184718909680199, -0.9479557263669538], [0.69237423597260062, 0.1509541188183432, -0.74539073927127109, 0.98388373857121092, 0.36363008475277936], [-0.28273655622064253, 0.24428551945364529, 0.69912508081342728, 0.47875841355048232, 0.8877812727790062]], [[0.94617727062721846, 0.039221983114187564, -0.90815497006832357, -0.32137126188478216, -0.74500654736499783], [0.51992436541958775, -0.67067206150446435, -0.84668338760204254, 0.79732798094459012, -0.39352179791965258], [0.749165503022301, -0.40328463646984369, 0.5628752866093949, 0.41112420006676764, -0.99236034645351756], [0.44868485897510757, 0.99589834195721205, -0.12149042443293667, 0.53837756563226047, 0.87034592593588389]], [[-0.096703337672140233, 0.37755564094581606, 0.65520062048740058, -0.72553344183790736, -0.84761912799562422], [0.9781832980097529, 0.78662486185279823, 0.64064854796027593, 0.001600196027963019, 0.98043044495886211], [-0.29550735755499624, -0.58094270740249265, -0.72862408501471965, 0.78323978787337589, 0.44667215753727318], [-0.74432340501113736, 0.62491075196514179, -0.16669515188936646, -0.12049454883275268, -0.39359849527900614]]]),self.functionspace)
17830          arg1.setTaggedValue(1,numarray.array([[[-0.73119863528672258, -0.62930368786053736, -0.045441855248795404, -0.23726287420073944, 0.25228732002096943], [0.94698965894939779, 0.57968257411079205, -0.47928936537222189, -0.54000743354861447, -0.23089697638296136], [0.093438854296584273, -0.068714619465769067, 0.11322468106545802, 0.29373204430536037, -0.37411685251533955], [0.98397727859295081, -0.19080814817754033, 0.78705027157499363, -0.29507490580234275, -0.75529538981774191]], [[-0.032396328065713353, -0.92990024443461938, 0.58632938863441253, -0.70523770401409402, 0.70892007954672609], [0.96321593158342766, -0.017771078698074483, -0.07259280657904843, -0.13681727971659519, 0.23153658659164189], [-0.60414015693047696, -0.79956836792982111, 0.46014046013725607, 0.21080344954337571, 0.88264921992964473], [-0.63534202567889042, 0.21677635392931127, 0.34372462328083464, 0.66366112086410145, -0.24165623867449826]], [[0.52518779958003958, 0.51146762917257638, -0.11793624700426442, 0.44862918908392113, -0.43260070336492196], [-0.48817736607810214, 0.048046622673194372, 0.98720745750977934, -0.48281160963118253, 0.38110493915330457], [-0.77138235804915656, 0.6681380132353254, -0.08589436684524987, 0.71953840307016503, -0.75004236718296191], [-0.27571667556553914, 0.95571753650551194, -0.97158474656792326, -0.20236432070387322, 0.85753198958228372]]]))
17831          res=generalTensorProduct(arg0,arg1,1)
17832          ref=Data(numarray.array([[[[-0.58000914782119672, 0.33419255346169707, 1.0068611140743073, -0.27307811088420675, -0.19852647871577234], [0.50334165901496131, 0.81163408461331521, 0.83987771395660338, -0.36101568049375438, 0.99606323748439884], [-0.674199594285669, -0.21269389149178744, -0.73499718592323826, 0.23559718508060334, 0.80143687098456007], [-0.73303752318405913, -0.10908651994203972, -0.12486067837691039, -0.41775628257780589, -0.82725016868735513]], [[0.037693162372452529, 0.66190392788172281, 0.26005774578957674, 0.77900984858471833, 0.21614857106351981], [0.53382594866013455, -1.1642837291223629, -0.80890865846987592, 0.60817146776083497, 0.49907714328240704], [-0.43086251727028674, -0.012407514121272722, 0.94945681612443855, -1.0532889207732792, -0.58164888978218865], [0.52925360969547197, -0.27581161250864084, -0.58595327264599628, -0.32027821090285569, -0.55957885423658349]], [[0.6186216713854169, 0.063184178261401797, -0.68685999773000317, 0.17659687696320397, -0.17360228046387305], [0.16259913925880465, -0.8896817799798602, -0.87923485169396198, 0.62431962678427033, -0.4086586734312882], [0.45033782451685539, -0.088029025685764178, 0.75984388182575968, -0.19762491316278036, -0.86468913644258871], [0.60175135803166446, 0.37774700856401067, -0.15649654500444471, 0.2954785186335131, 0.52437510352595806]], [[0.74315235061704366, 0.66993435294609727, -0.13850428063483899, -0.38136549740707565, -1.1320179397949004], [1.4460795317266948, -0.61502067031184349, -0.67744251720845283, 1.0000663398144256, 0.66243587633527912], [0.17731412220289383, -0.77288958039833489, 0.45075839064583345, 0.35039907074312837, -0.81924519053779676], [0.11546765301391532, 1.1461844223263666, -0.5425028190254686, 0.18929695482195769, 0.13694981708130824]], [[0.71907123324190914, -0.67048011169792965, -1.2805772764977255, -0.22535282797980538, -0.074284063896003893], [-0.66791080621635723, -0.27452470195764506, -0.52895444132013858, 0.17118747409935509, -1.2988412255481743], [1.0245450975033268, 0.13045378686368558, 0.29679155585871747, 0.42762898222479379, -0.64424575488819347], [0.5005385460489653, 0.449559986485769, 0.41330621498674891, 0.67834997510775719, 1.2642923177902121]]], [[[0.71598952453851605, -0.14622970532569043, -1.0842688501017923, 0.53467420045605496, 0.23748224903667459], [-0.34082619613998, -1.3229620395909518, -1.2490664683766579, 0.65308461939391749, -0.95762109572169274], [0.65119494485634655, 0.20152014433167276, 1.1603381228655545, -0.57768874201018217, -1.1420213789063827], [1.0115978604185916, 0.098453054040759769, -0.064537746069382868, 0.39109805330135761, 0.78541463445448056]], [[0.39282540306036484, -1.1044760107870868, -1.3556203791891985, 0.001490315398873121, 0.56972046524882425], [-1.5487340505119263, -0.020500794531675526, -0.25454351795940255, -0.3432534205374197, -1.8187910973903127], [1.0354728038763072, 0.58561195989948289, 0.12797443044563039, 0.23075260132607445, -0.29277485649143831], [0.52721249059699993, -0.1566088988233163, 0.74530400363861493, 0.64298313676679353, 1.3228268639174887]], [[-0.94437962400694309, 0.22432752244096965, 1.2458524997154403, -0.050893706798973648, 0.23897146695488808], [0.10133413616029108, 0.99328545549029412, 1.1024208472956474, -0.70718569633820494, 0.96164098288973066], [-0.9048324938218909, 0.050957102026049639, -0.87433394670843234, -0.020941618695964614, 1.1465465758062041], [-0.80586543844001146, -0.60585781722975773, -0.022006989740380165, -0.59906416161055009, -1.083896001582991]], [[0.43686832608381893, -0.53012440661694127, -0.99834442812081203, 0.22949683540924487, 0.35938590667802045], [-0.81159958953425893, -0.53628016908992249, -0.60051869434009886, 0.10242794604657067, -1.1563354769824121], [0.68814869547863211, 0.34228506959607441, 0.51771696006197099, -0.15101617686838487, -0.56877888898828899], [0.62889026658045788, -0.052194429339934456, 0.29296660752080722, 0.41991008361283921, 0.86224353250585217]], [[-0.43405750467709397, -0.68834950913963766, -0.30557894708730859, 0.65355378713598611, 1.2404500306032522], [-1.5510702227193662, -0.019278942034756885, 0.095820981694517582, -0.68161612732497945, -1.0345149533426756], [0.073089686841115803, 0.85384632072997135, 0.10077905722726188, -0.65768005185062117, 0.29615621222976773], [0.34585707967577917, -1.1158883430071735, 0.4768717036199403, -0.042268051645423368, 0.16226857466120409]]], [[[-0.65524897050227404, -0.70559132783732492, -0.050922361226442447, 0.57610713940419367, 1.2863531343141237], [-1.592529978674271, 0.31305133733229884, 0.42098995880414558, -0.90443440464704428, -0.87327380106190677], [-0.090858127804588462, 0.87471380424294354, -0.18395922178245316, -0.57109051183074766, 0.61215882080522044], [0.11790418613050713, -1.2380209250308973, 0.53078938752641869, -0.14843755091038097, -0.029379148435740077]], [[0.82552229862082949, 0.50023294278424468, -0.65450734797508869, 0.49975107407582275, -0.28249743976681374], [0.68196541797597887, -1.6383273769478599, -1.4681842267876353, 1.1479396711853298, -0.097083240579803276], [0.3199001227601333, -0.23563201564489605, 1.3650019084509122, -0.65893166856939978, -1.3682703659302069], [0.93329969514185673, 0.48078457303096755, -0.54461936091919161, 0.20453610071559961, 0.33293874095804737]], [[-0.11861039008818107, -0.55069072074011605, -0.21708455595879594, -0.34657855671234206, 0.12475395516390415], [-0.65097091728456136, 0.72160858246634507, 0.52632048477714299, -0.52134503799860932, -0.5175612147877735], [0.27646006960931874, 0.18490729414960258, -0.57119915687049061, 0.51492684538361788, 0.42755246672863539], [-0.26017498950820056, -0.064124191885207515, 0.46104467040845354, 0.18590243999836634, 0.37352293977845258]], [[0.41253761360188418, 0.86646465451904287, 0.35972403894861971, -0.28609430957565141, -1.0293246912490122], [1.5904069878734699, -0.4384304793236814, -0.40661140152539843, 0.849649510817575, 1.1060881973903403], [-0.22067523167993966, -0.76897780684053174, 0.28213038967139381, 0.18564171748568459, -0.49934430898860799], [-0.098492975212529699, 0.89893920921977077, -0.65038673546818049, -0.078407409968472314, -0.34778968099843921]], [[-0.27863454029212742, 0.89330629042879139, 1.1149059867356783, -0.19269435902198262, -0.64668157746029853], [1.379371316872199, 0.19105985163050365, 0.31806851453682916, 0.27290823215143556, 1.5467123737657191], [-0.79856630510431814, -0.58081527760832385, -0.25747434347966808, 0.042215130788175292, 0.29259826771641639], [-0.55322677218306826, 0.30035580585940658, -0.58368593703328031, -0.47783602430458627, -1.0268845797298305]]], [[[-0.85704776578459108, -0.56680593666555756, 0.6060742259559263, -0.41372525410357591, 0.41764269012734218], [-0.84281769023217368, 1.5993841217632359, 1.4464467099840101, -1.1999024681988979, -0.021868555059603834], [-0.30529708271729883, 0.32755778066232799, -1.3229584624480721, 0.56865138987665476, 1.3717424588183385], [-0.87324862560066696, -0.59759746182414564, 0.58631394527224079, -0.20537020255701924, -0.30809548290347039]], [[0.11294233518803869, 0.70289247691547696, 0.62370670953909069, -0.50307064695621373, -0.97021285924351675], [1.3914170306563032, 0.18984126010984381, 0.15222373533909167, 0.43697936437358226, 1.1855446825266354], [-0.34708763227834882, -0.71270913421036564, -0.2447494272769839, 0.46351676369198214, 0.013424274787458168], [-0.47000914679301992, 0.75859863319257637, -0.46118516949461064, -0.15573202523448765, -0.48296970352647195]], [[0.45090810873954656, 0.41688472504512686, -0.20550778669817302, 0.17312149013691666, -0.3393348197398941], [0.64856303871077026, -0.83454849871795578, -0.74633234257758174, 0.69646898159209458, 0.20279490554641028], [0.085087120453981521, -0.26761073778858263, 0.67719338647746286, -0.26961733339045429, -0.71793475039448484], [0.39859347041805721, 0.39739476122095313, -0.38883289298667761, 0.066916388670703236, 0.061246167836705431]], [[0.030162141801815659, 0.29502739999979272, 0.074726993560794319, 0.42940418016394966, 0.16221102997252337], [0.19204254353726918, -0.6263111612104113, -0.44386902533367945, 0.29981794478294116, 0.17026946266725629], [-0.18447780331462538, 0.033635405463736293, 0.51709263511012893, -0.56650134586454726, -0.32013784678063473], [0.31324002273434476, -0.17393334776599129, -0.27366177851412188, -0.14435231670646492, -0.23941292976522474]], [[-0.89694479749709655, -0.22159202817702789, 0.89010906196089601, -0.26438570160550823, 0.33263043425000571], [-0.42590926060059603, 1.3470011572476059, 1.30582134642542, -0.98833702960116998, 0.41320860482402832], [-0.56799878966831574, 0.20265528376065486, -1.1377671560555416, 0.3219733217768847, 1.2805357396539385], [-0.85254987811355798, -0.59588422500812088, 0.32228271238310852, -0.37716578272414131, -0.64802327552752459]]]]),self.functionspace)
17833          ref.setTaggedValue(1,numarray.array([[[[0.46226594200057519, 0.91547680777882467, -0.38778364772165524, 0.71268302738779543, -0.70484578153112132], [-0.94900467343355932, -0.015834146633042175, 0.78381830322058166, -0.2135018441496434, 0.17039053313642219], [-0.23530273989204681, 0.90014490089235577, -0.31480795287621882, 0.36665572230919435, -0.95659886529107341], [0.040127755581493174, 0.57958515029485402, -0.94715332753262849, -0.46268774294098042, 0.8096051585712265]], [[0.488188464968839, 0.28768993108601099, 0.14999204737347738, -0.012744636224949771, -0.004879945785275952], [-0.57214353410236629, -0.53069071304818372, 0.12222431748239909, 0.60514700314329328, 0.12089642534245386], [0.069690425220411523, -0.23952938571576127, -0.016322046363508782, -0.44771515341450524, 0.66722381400905484], [-0.87155678265764458, -0.087450549362240559, -0.36533278292342275, 0.40635191476921995, 0.38408025277325286]], [[-0.060530367917715155, -0.65381270821550208, 0.42741374086655848, -0.5635466938141962, 0.55744809009450602], [0.6054403298029386, -0.1408004242005976, -0.29537516139868347, 0.18402104737100983, 0.062114350949017405], [-0.1403111276669729, -0.7330936556876122, 0.30417037523284446, -0.17043056489599753, 0.90108277303132489], [-0.50518836523334543, -0.15413894418054086, 0.40480120964550925, 0.55500638561799476, -0.30572924408522656]], [[0.6243266861707657, -0.24759949838949574, 0.48648829573589691, -0.26831549417832756, 0.2736482687076574], [0.13841725612335049, -0.26737656346489519, 0.73230673331519158, -0.14208642656525761, 0.54047455100431097], [-1.0371220835894843, -0.30883916598540895, 0.31399205853589296, 0.46386894465366157, 0.55021998378188441], [-1.2088506142909219, 0.83819541050465407, -0.62516371936409154, 0.62825579797639719, 0.63699338862858457]], [[-0.71250470166485336, -1.2126337662044588, 0.40393401478937424, -0.81187319988180162, 0.81468296685375774], [1.4055659819562536, 0.29964773016776042, -0.82866287811887374, -0.15157177774916572, -0.1827212332420679], [0.067992497855442424, -0.88623808667518189, 0.3997498094182636, -0.065496942856309026, 0.72431839106851215], [0.30985125369657468, -0.46306903996581034, 1.1697856392952111, 0.35148340236887088, -1.0286253081184844]]], [[[-0.34929991487573142, -0.97623147678125388, 0.51663207718345994, -0.83675829443592431, 0.82258763555858905], [0.92157511923198288, -0.15889729118507059, -0.82624657017364211, 0.42472782935846121, -0.1312292898238443], [0.23942667671818491, -1.1241944267066377, 0.37275096950706565, -0.53596118778710133, 1.3331284009271411], [-0.37596882420633587, -0.65073420929902137, 0.94450551367334279, 0.68892479537689266, -0.78001492248058657]], [[-1.1349415857990477, -1.2154758607517224, 0.1880459513998641, -0.76602749772635481, 0.76527759057485123], [1.4810428599529191, 0.46345166194613491, -1.3461993610269536, -0.05981714368486063, -0.50721578153856095], [0.66920360186213601, -0.83864064798516758, 0.27276801117647864, -0.36020520339281686, 0.54037877947194513], [0.99210350881859555, -1.003751473692462, 1.6585698077883646, 0.061341815915440634, -1.5047686182917477]], [[0.36281178058931074, 1.1870788142137525, -0.60887178344242932, 0.91794267875560309, -0.91362510020313303], [-1.2258805032872373, 0.0055934142766373672, 0.63555432772007248, -0.10026500897509061, 0.0058636912226596449], [0.13863957534519394, 1.1146605970744119, -0.48374799026375986, 0.17572239878855356, -1.2084398691592626], [0.38036579212222532, 0.32967194268345146, -0.90000911699885466, -0.71103318181971897, 0.74059860340365258]], [[-0.62486485539889036, -0.89375305892739965, 0.27727834023260778, -0.65142133203390185, 0.64516502628293282], [0.98307066944295207, 0.13169749564095046, -0.91006019615353173, 0.15328336631110762, -0.27550102155202233], [0.39869514297941638, -0.79822570306379981, 0.2572687132368438, -0.37937125683249084, 0.75554543425115317], [0.28293136976174837, -0.70000128193687394, 1.0842354524042008, 0.29246847134645432, -0.95384827955646601]], [[-0.73956952046019186, -0.14954995361929979, -0.25620339084968713, -0.088172851706135813, 0.075787904740540313], [0.21771838827919371, 0.16644439124875482, -1.0713876239738722, 0.35822961796196334, -0.58613813743858545], [1.1378946567905355, -0.18342583851469685, -0.15561051411519897, -0.71601012969072619, 0.057768778851587155], [0.99073724633976623, -1.1152169082868073, 1.0000189976141538, -0.3086865739163806, -0.94097262443245544]]], [[[-0.7098876725624359, 0.090753666505697328, -0.4102367915008478, 0.11971578154250834, -0.12960961307057633], [-0.0043361249512249289, 0.2185004185310308, -0.94929764576232123, 0.28290177122233906, -0.60164510520946568], [1.1737039248587924, 0.089050262970734595, -0.26497007382818111, -0.64164848029092181, -0.27676382374892328], [1.1670413884866433, -1.0432735259042403, 0.83998438405224163, -0.51008709379124184, -0.81815298726298857]], [[0.27365135625597881, -0.62380000633251353, 0.62481035442059008, -0.6714079318908508, 0.65722354657001225], [0.41626679599391569, -0.45368607750085443, -0.14024225555058678, 0.46620349829540536, 0.21888184356856322], [-0.29940747626815101, -0.97276810020590188, 0.38043929440545671, -0.32085087211567054, 1.4027542963668269], [-1.1785358211643273, -0.06679840678091975, 0.16301484506963898, 0.91159675346884228, -0.043193422965133288]], [[-0.45309750853996217, -0.2021703595841485, -0.14929635060774291, -0.005191080575015895, 0.013547753168084228], [0.3919794937735786, 0.36269634256700645, -0.29400927551497213, -0.3005451035368869, -0.1961951892266508], [0.19350027650280352, 0.11642420609603921, -0.024894938559841165, 0.12947463614231064, -0.40747614484799605], [0.74642777594689402, -0.17516503718491208, 0.42805598703167336, -0.31928076243446396, -0.42831581925259143]], [[0.84439048934188432, 0.2313515702678775, 0.29289453449838188, 0.064374953256247258, -0.060083174645959525], [-0.40070329238926405, -0.35188812999759439, 0.99835935417275701, -0.08792507718226189, 0.57042920303389444], [-0.99255765013127606, 0.060779014788062968, 0.13800611255533676, 0.46734991319167007, 0.21616167677890874], [-1.2234404717277592, 0.9605767833227743, -1.0247304397600483, 0.43894929402551552, 0.9807575674996224]], [[0.9500617606987739, 0.97704168283552684, -0.14720089446260026, 0.6437004000221056, -0.63903127675345295], [-1.1619470357100192, -0.32317837615707323, 1.2170672647295633, -0.081938411109151676, 0.46885415398708985], [-0.69507422949906361, 0.74818802354941516, -0.2042553350617492, 0.44680571789653711, -0.55075410686594672], [-0.80508320526495869, 0.97084161385525081, -1.4303396936986503, -0.074459362484664338, 1.2938728908831494]]], [[[-0.3511433091583584, 0.59378988574611324, -0.64029280202359617, 0.64694759659196877, -0.63449851487047015], [-0.38335023676110502, 0.46214058870453145, 0.015671889811295803, -0.41468182888514699, -0.28060872208144599], [0.4223429614219979, 0.93070880726007188, -0.38996566397508237, 0.23201476013815867, -1.3651621455060272], [1.2646093951509694, -0.061452740803769335, -0.046387282953315456, -0.92653822145444209, -0.064126403824039169]], [[0.7696353295511289, 0.47733053066197995, 0.063420419167205033, 0.32574114048695912, -0.31553138703064831], [-0.57012496944343516, -0.18509231096590406, 1.0953192935040157, -0.28043940190089334, 0.51002637705157294], [-0.92305626081379655, 0.44136749835443156, -0.0018901861627412531, 0.61860477385412971, -0.32390479242779313], [-0.81178766735102936, 1.0307813499068539, -1.1279309990230613, 0.10181162630178886, 1.0356028132478985]], [[0.30944732287967786, -0.21888299500538011, 0.33946900052696383, -0.28110913906956214, 0.27546458076753472], [0.08628456921534855, -0.28422490953154311, 0.15369822816881235, 0.19734619708607856, 0.21998929563832037], [-0.34170671583980183, -0.41842869420285278, 0.19604439494151349, -0.049654630225126131, 0.67430803759233771], [-0.7946278183728247, 0.17386763908776945, -0.15396593145457854, 0.5013375587893002, 0.19752029056353854]], [[0.19955111789661939, 0.098384970594012633, 0.084456429046179768, -0.042076011156828429, 0.032370281954248466], [-0.23824879332620594, -0.2616791657602543, -0.011868964324284248, 0.32834325564349959, 0.032610950721064333], [0.086219394431979693, -0.16864841050854118, 0.00060587674839878564, -0.26839746816755539, 0.38299879681360749], [-0.4073972348885701, -0.1101025616064603, -0.10610695328284353, 0.21561925395024595, 0.1239486373623177]], [[-0.037587159754763844, 0.85629018839643056, -0.62872117422272356, 0.76945993659735212, -0.76035567384653613], [-0.75317583247881326, 0.26570473258488658, 0.29353581974442566, -0.28392148498598724, -0.15332210563818116], [0.29263714588990425, 1.0180895941633556, -0.4319120619894497, 0.21499953053419679, -1.3065347370137201], [0.88105398425669812, 0.11702212986389426, -0.42527252275478611, -0.83653302571914345, 0.29233866590290492]]]]))
17834          self.failUnless(isinstance(res,Data),"wrong type of result.")
17835          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17836          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17837       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17838       def test_generalTensorProduct_constData_rank4_taggedData_rank4_offset2(self):
17839          arg0=Data(numarray.array([[[[0.84683541648398442, 0.0844903913289905, 0.61382428119811627], [0.15211912581739995, -0.7459251974149439, 0.31327094728366323]], [[0.41472792961123117, -0.13706567435989503, 0.77009782820656381], [0.77972996838788977, 0.68318392857317645, -0.50489143035055806]], [[-0.98560226324880573, 0.16898166612689702, 0.37933946923444073], [-0.59835688831446321, 0.88678405268088878, 0.33106054038367039]], [[-0.48818562486494188, 0.80088712762366199, -0.86027522765686748], [0.88250461606642983, -0.48085357997601164, 0.85501391223733525]], [[0.48554286843902572, -0.27896717515129987, 0.10253727361080478], [0.084018282450278869, 0.074578359205834222, -0.27759948251016486]]], [[[0.79649948356881906, 0.01237637364390376, 0.41385813315951259], [-0.98068464772253883, 0.40550601858295332, 0.42080650917665507]], [[0.9290956694750101, 0.78376427422030748, 0.67200032503015361], [-0.93640765203742427, -0.19912419879949605, -0.093197453896406879]], [[-0.58350250811220938, 0.41121910647882642, -0.014083199892927833], [-0.68186469197381205, -0.40007134139134659, 0.30153013899269321]], [[0.32714541285832932, 0.47641413607957861, -0.040787577822255505], [-0.539913481734416, 0.60411017613628504, -0.85468977924436706]], [[-0.36775740756711928, 0.48631445059290179, 0.03032058684795591], [0.35550460423013175, -0.25551787743000465, 0.49638610553498941]]], [[[-0.018749667006709769, -0.051240329860660072, -0.72028172145629976], [0.21204025219066303, 0.82102362028055698, -0.65625094906407777]], [[0.701269034467223, 0.45561931195109184, 0.11494105534630061], [0.58276848886278998, -0.23664533177284119, -0.0082121658373006667]], [[-0.13415760503399476, -0.71795456500790045, 0.30620003696265408], [0.63364923554659103, -0.48893624995685636, -0.33491127506748652]], [[0.72372704068814708, 0.075735539528343221, 0.29556960151891132], [0.52502051533845795, 0.48926557582812746, -0.73198433968195453]], [[-0.65173670239978154, 0.49861653677313189, -0.25406573359917051], [-0.67596008559789911, 0.57255423904838088, 0.52841152077226416]]], [[[-0.040810366200330961, -0.27598104130179002, 0.59197559382862841], [0.041724643268162609, 0.41818320002551546, 0.3122932285436395]], [[0.33619760073392713, -0.29526015376537784, 0.18911890634205486], [0.82947874892487183, -0.52120095046825998, 0.83489390707749189]], [[-0.619428636888399, 0.21968089989750395, 0.26805798534202974], [0.98455253502707984, 0.44773275051637285, -0.7914164180860328]], [[0.79465568602224601, -0.45589504162893912, -0.61415286245522682], [-0.51894250013366605, -0.80954158368325935, -0.064381560050483788]], [[-0.31443745892168029, 0.75598368111473402, 0.57490456476682383], [-0.49868335152066967, 0.89056011118688239, 0.3974574356805205]]]]),self.functionspace)
17840          arg1=Data(numarray.array([[[[-0.96196540384383655, 0.95605762657530158, 0.36002710545979699, 0.19220140741873215, -0.94865221302480052], [0.7335332606981666, 0.0062441644758517434, -0.33748148950661849, -0.22310257878254536, 0.64797330316094826], [-0.012292747964139705, -0.44420703008742923, 0.74422895326839367, -0.67351109955285793, -0.31258312444443903], [-0.63129167565386757, -0.078781808031509915, 0.15738214632674352, -0.42718195444813367, -0.35781857593080457]], [[-0.42092763142364387, -0.21463392861403174, -0.99590973646706527, 0.63829366086251271, 0.48050773678880043], [0.2525354887264466, 0.72372947123496512, 0.82083526377420379, -0.36459822773048267, 0.53305459180513104], [0.052609425154388934, -0.86167377621789387, 0.91642544656925762, -0.78466684468397885, -0.49415956960794194], [-0.13493203849205826, 0.073173728965379103, -0.26235655367153066, 0.93901807305369034, -0.27799663510087647]], [[-0.73072505660463749, -0.71320752221413697, -0.90825269100139705, -0.040927442346321952, -0.05807693728936858], [-0.93224116196182227, -0.10235956194963358, -0.28685681750081038, -0.19992847935492453, 0.86802527487871028], [0.87569308481072894, 0.10428551579678902, -0.83707243226477601, 0.77165531688403655, -0.12362449355175054], [0.15871765600755294, -0.1276471937224537, 0.30601933091843914, 0.95211067723905907, 0.18557265848042803]]], [[[-0.070585411171581791, 0.9233821174948611, -0.28539427410467, -0.69929075441011901, -0.32852257029001697], [-0.46317591149859449, 0.26301834177254668, 0.5815355953074921, -0.083869475438214103, 0.58586138698472845], [-0.65407554053706307, -0.65414704121808009, -0.57991307905669354, -0.23931503864797343, -0.88856872221911343], [-0.14712665451093243, -0.27738457508500569, 0.47700716676301225, -0.13361666972196984, 0.24927308886811206]], [[-0.43880531768985254, -0.035439582265879288, -0.20653231367423608, -0.63282129175702129, 0.22940628359508608], [0.30307393921243819, -0.34646726682628248, -0.24057637565914169, 0.81036828855313914, 0.68198526212561417], [-0.22617123536386186, -0.42145313380908456, -0.021078400381649987, 0.5126351163391909, -0.20440069945108652], [0.4046611365839583, 0.33537011894425994, 0.11971654187190972, 0.60948791463802166, 0.80363102473639203]], [[0.8935738270534479, -0.62257786561102724, 0.22386459550001359, -0.076698082709444781, -0.64605030751944015], [-0.65195316592367392, 0.65362703301718872, 0.54575322846514362, -0.98024672622261022, 0.3416247947759572], [0.27486746502788684, 0.65159350390374882, 0.71240489240444083, 0.37717208573057515, 0.69320571719366919], [0.71454540484211782, 0.86373775108994399, 0.86350781718707093, -0.28657348156443763, -0.89597000182633235]]]]),self.functionspace)
17841          arg1.setTaggedValue(1,numarray.array([[[[-0.22183060662506371, 0.15961907606517478, -0.88708501281212193, -0.24662403556789481, -0.22211451747435418], [-0.6190297148225099, 0.022222207039417352, -0.37975181623275622, -0.26125096829158045, 0.8020412145598883], [-0.21072648909967673, -0.98559936818250526, -0.17370057191529975, -0.32819614516902229, 0.77567796916611642], [-0.31463674788510154, 0.96198281536668162, -0.19600167880555253, 0.90705498991998446, -0.74283753200687186]], [[-0.50921445374327678, -0.95846977470035788, -0.63814087328750602, -0.51453127633661233, 0.87131753162417747], [0.72822422582114488, 0.38803577409891354, 0.068502133200187609, 0.70892036019178661, 0.41807705682305607], [-0.84216074231126448, 0.20687969901292735, -0.80003023004849028, 0.12516661225109726, -0.070909672969090787], [-0.22534759059692333, -0.010072635961560383, 0.45903794159974165, 0.55887005880277907, 0.75650126679246155]], [[-0.31313102462039955, 0.029579981241999009, 0.38951591169196353, 0.062025297440225557, 0.94022318354320578], [0.03380154365835808, -0.6212336667471432, 0.76815455008932365, -0.46064957351652103, -0.78783842487323352], [0.18211818582926909, -0.077915172150728962, -0.48015453482474157, 0.56986053108240386, 0.69713930389823364], [-0.93647244895201109, -0.76301901076444323, -0.33285594404930885, -0.83961674887912441, -0.22197477584091163]]], [[[0.34412717366438517, 0.24961123873310753, -0.89543123577358252, -0.39994641610544823, 0.39072262790427792], [0.57052491968137109, -0.66676939506144395, 0.42128117907015139, 0.079044055226295651, -0.69133620565546838], [-0.0044453399342969657, -0.66101503508652937, 0.93333491224591358, -0.1969166527926749, 0.28526763532076038], [0.90658758865971389, 0.27045116601136043, 0.28228660370957837, -0.41351183492989074, 0.23233462287006867]], [[-0.63787579941057593, -0.29383476172687262, 0.72241108710325896, 0.52165585081092658, 0.085881865914432254], [-0.75104555663045125, 0.16617265708770868, 0.12408308075887597, -0.17295119126412284, -0.015632093743304099], [0.22012799028790186, 0.059331749816009305, -0.58000250845814194, -0.68384869106731783, -0.020252274582062135], [-0.35617007032943793, 0.9404660569897243, 0.3258452518246735, 0.6388893376887157, 0.78414684395334677]], [[-0.59545097829447102, 0.65617141216249708, 0.16624307984115894, -0.97624720105124685, -0.60131634896152297], [0.3549377747461373, 0.28811522045793292, 0.69771248657327734, 0.81995276147968732, 0.96823545277584011], [-0.60322525607061306, 0.2956512537475342, 0.4780768201497323, 0.2372661964689704, -0.1388303607557273], [0.027356506214888165, 0.014361838873796051, 0.38584684364887845, -0.29795737759296848, -0.99333538928883791]]]]))
17842          res=generalTensorProduct(arg0,arg1,2)
17843          ref=Data(numarray.array([[[[-0.70221822488067309, 0.32556865928323431, -0.15599465150958169, 0.5332049499137792, -1.2218863248954646], [-0.43047988311806862, 0.50681632576107782, 0.046365032882917712, -1.266772264691544, 0.81401157735656371], [0.68687415000112373, 0.034029132076921847, 0.3445359909820242, -0.46362387929307441, -0.14788136515793598], [-0.54895725910704907, -0.16065827292320511, 0.55272650334208517, -0.2627193418521056, -1.0548032811768397]], [[-1.7099690386477964, 0.88679436562467095, -0.8902824307070758, -0.97816208309672548, -0.27726555192159563], [-0.27324543867008394, -0.53706398774980424, -0.45984246079377517, 0.78663576284871439, 1.6143851384630055], [-0.14123683068777396, -1.1127811510911298, -1.2878487573237256, 0.3956691213157959, -1.3395881520014548], [-0.32012054472627643, -0.56426282847583242, 0.35464317529880274, 0.88424285308877093, 1.2283766144370272]], [[0.54873011467712218, -2.0391597939007786, -0.80593930866207641, -0.26524170871681563, 1.1802857044308501], [-0.70386437604057472, -0.17091663745620556, -0.018115246453241307, 0.52672376989498859, 0.14802669327776002], [0.63499407050451295, 0.5651563636351864, -0.33203710922622487, 1.5465983139976429, 0.7575980721143547], [1.3430484127036919, 0.79091625928540454, 0.023251124142334822, 1.4664429446454734, 0.6429580916732297]], [[1.6738540350104434, 0.27454111766388367, -0.1531666734129831, 0.074169214358226682, -0.054702533471991166], [-0.46578208881411787, 1.6222098344830786, 2.1644422842171989, -1.3129013176361968, -0.15497105605641892], [-0.93865564259662393, -0.38047121919031568, 1.1982198934726345, -1.0986787684036918, -0.22999501975462233], [0.35010487487315045, 0.53932646588681121, 0.55149555814070605, -0.51450174007315264, -1.1401166226629245]], [[-0.71128848189485294, 0.69871767528770046, 0.25797909103230332, -0.1735941788247326, -0.43176218027968383], [0.35479263851334941, -0.39454776411387404, -0.54284432450207043, 0.29839030237480263, 0.26016857082054001], [-0.078978626585109984, -0.23188331741445162, -0.2281872051972057, -0.11557691422541605, -0.3089277612127152], [-0.43314288551026259, -0.30982078385193756, -0.0097207037707731092, -0.25796252202796366, 0.2524415815858792]]], [[[-0.80652549816180441, -0.71822616639884052, 0.18888325531665262, 0.54094573991104866, -0.63034917216502295], [0.50435042607833425, -0.15181381880441974, -0.81556458289505374, -0.26659099765243244, 0.72770880173674679], [1.0186667141280383, 0.42348930835271864, 1.1176398178629974, 0.37447893399959808, 0.77397426571068451], [0.17025586503112258, 0.65681599056778972, 0.19287824769279721, 0.32300502778173829, -0.50725323005209533]], [[-1.644518735076729, -0.55881162163043008, -0.76889759748946007, 1.439321320745989, -0.22165063609698621], [0.6871169936900684, 0.26603032480818783, -0.4104917249333685, -0.61886612678777464, 0.88688818624049981], [1.2501788459464978, -0.38223709230904246, 1.3280464182490541, -0.63533056365989204, 0.047358724946916703], [-0.5950280687478593, 0.010842735423270675, -0.40474588492609309, 1.0093583972435449, -0.73556812234137825]], [[0.89162926038855739, -1.4392486435064833, -0.26209286561461559, 0.85777348932149911, 0.68937823949478649], [-0.31305356665599315, 0.45176640473903917, 0.40278447179128574, -0.57952463619794847, -0.74042716904712635], [0.63583076074127043, 0.71451669322079603, 0.57304751400271536, 0.13127664890865681, 0.87760712522925488], [0.46452251379000631, 0.39326723760723792, -0.31680450629172885, 0.38285444986536576, -0.66978516742196548]], [[-1.4761390975964133, 0.25176030881277212, -0.4816536712410654, 0.42945505433813486, 0.78907530586975838], [1.3886900543437228, -0.55894719565390605, -0.63341105444179924, 1.1341087115530353, 0.23422814330396913], [-0.033089597548530275, -1.0184190418399299, 0.40569531578844675, -0.50910401545471418, -0.56884854746101099], [-0.56410049469404366, -0.37156934286194421, -1.0092372355706196, 0.95404729736799065, 0.85960288991380362]], [[0.6574974974681399, -0.44931868695671284, -0.58182969121224903, 0.11351120340186024, 0.084691718631752289], [-0.74093920376011457, 0.85304434996098255, 1.0537121671492253, -0.82478413422634744, 0.25084899986961029], [0.018361319367416695, -0.05394349823971778, 0.29944672825871976, -0.13935113965107729, -0.048675100059939524], [0.37034325531934709, 0.30513056139745498, 0.39143426214673627, 0.29713844688032598, -0.55944809985103738]]], [[[-0.39571224761843049, 1.0820472511222614, 0.32148383186766155, -0.62433662778909393, 0.5776563908039295], [1.2232465724148041, -0.62110418630169395, -0.26147548855274605, 1.4577057074999213, -0.2047253067007283], [-1.1379752657829898, -0.93497110504820646, -0.065771181611378293, -0.38035294449122603, -0.6909208561288942], [-0.26345247728938259, -0.26062899786960358, -0.57717075295896936, -0.065758012927995629, 1.1879261704829958]], [[-0.89500151680045892, 1.0423027461604224, -0.42495766623368031, 0.16375901626485187, -0.69344229718630523], [0.18602001270142771, 0.55225961613420049, 0.49570153478574225, -0.57814932536644814, 0.97427276726807155], [-0.2139070706140031, -0.9789495208369805, 0.50441451131381732, -1.0050023402226405, -0.933715139195337], [-0.67330968391339807, -0.28468770193847509, 0.2685698137640668, 0.017955232148414192, -0.39380698057527086]], [[0.078067334759324258, 0.61838725385589566, 0.23377705406609814, -0.60459184249132403, -0.33946056587672346], [-0.78849878213559343, -0.43463036718048909, -0.32854509775711971, 0.10941118174459769, -0.28048084501406423], [-0.16391212016006826, 0.28350653222685479, -1.6098553325906775, 0.36138579895828982, -0.33639869301914799], [-0.30022249899235282, -0.71006645330026141, 0.21547216942453223, -0.61201642557965075, 0.36951320965092088]], [[-1.8498928431744981, 1.3880393126998156, -0.49806867392595167, -0.44527190776796421, -0.25468130725481292], [0.6567879160417005, -0.48079249591271406, -0.47873467096239175, 0.82180617115987498, 1.1570860223230113], [-0.4013434917348937, -1.3825197069102331, -0.47563699574114787, -0.46970215691453909, -1.3741287070711339], [-0.82248368692819285, -0.70299334871497243, -0.13858045649097767, 0.48118614552863204, 0.95473092432201989]], [[0.87136666056964751, -1.5223541336726094, -0.30750723837654714, 0.27323729834839877, 0.8846511877080292], [0.026813490624909064, 0.3520228399439112, 0.45965601629145497, 0.017102962405128763, -0.20208051076808486], [0.26963675241026819, 0.37854788074718793, 0.94094749979320524, 0.50623376263351327, 0.83863889901108624], [1.0125481106414156, 0.95618886798155844, -0.10874217592474894, 0.79257709566064571, -0.13437505418313977]]], [[[-0.18453430052128822, -0.57270291335563617, -0.30586897883853326, -0.52599398796115393, -0.24780708038985899], [-0.74768076255647664, -0.19037394965799465, -0.28848005820111122, 0.020632881458026109, 0.75661953522106584], [0.46833857001972412, 0.31761792466656946, -0.5893468307008618, 1.0230188690762818, 0.16988392131377592], [0.5431902808839274, 0.30586835720791905, 0.58677263154066073, 0.48171609081044076, 0.26783945237768697]], [[0.57887476670546179, 0.51452662126822568, 0.30114449492414008, -0.44583970885894836, -1.4032455621278621], [-1.0907247006358241, 0.71350909096540605, 0.65333563805334305, -1.3155001672228146, 0.64034594294226033], [-0.049232067263056983, 0.34587110746911359, -0.053939141649172573, 0.00038867464093117476, -0.03432559855217987], [0.12123921974678142, 0.24401751165083885, 1.2424573253422793, -0.9085663609374246, -0.96324753875346192]], [[-0.66562908337593074, 0.555427668776445, -1.2358848860636618, -0.9009282383560272, 0.96817252964350242], [-0.45314742217632464, -0.28577710314715976, 0.34539362480735319, 1.0605463051230304, 0.56020077845759908], [-0.70886233538452148, -1.2346064456029284, -1.6282608194765396, 0.14706923497565361, -1.4630468740133913], [-0.12523315622303527, -0.77586200890999646, -0.2332454386828553, 1.0942479688478213, 1.5246365049641344]], [[0.21057567186259807, 0.88519573939791496, 1.5988208497752052, 0.76699951739546013, -0.91088072800782494], [1.0772997481655757, -0.16021156269684317, -0.60838577557849749, -0.43767813964920599, -1.1393196221073254], [-0.066736072669108235, 0.61449184392691891, 0.95984202903314242, -0.96648964947399429, 0.63477055162748308], [-0.83486486637834567, -0.20072725871786568, -0.34331976962358812, -1.7579141455685974, -0.99382244373430362]], [[-0.43625881497069918, -1.6123909076626455, -1.3408875538815319, 0.15324992966478171, 0.73951042585085081], [-0.33392728224350277, 0.30639341975268303, 0.27440342762234238, 0.053481336334975593, 1.1492360522885321], [0.78108273910677328, -0.24191819205420995, 0.53112449626196334, 0.78799461486164035, 0.19024207277963812], [0.90548890036390628, 0.78699845378806343, 0.14005464180095545, 1.8870943948486676, 0.24430066865514377]]]]),self.functionspace)
17844          ref.setTaggedValue(1,numarray.array([[[[-0.081466704327729789, 0.53505534708809588, -1.1890351763555111, -0.97003591129335143, 0.26965533366137484], [0.31626312174431193, -0.46484708409241215, 0.34581367891158704, -0.046197364848825029, 0.44074099610369655], [-0.49166476356246414, -0.91717845741031545, 0.21496297931514713, 0.6369152745734612, 1.0938112487673968], [-0.44815923528692336, -0.3104469060790489, -0.41075231477231344, -0.33283981134470608, -1.5621530179724585]], [[-0.13016717592374732, -0.1170578721444657, -0.26905599497120436, 0.55344378040741304, 1.1794497370268917], [-0.57796487833780963, -1.0742214091119771, 0.48565924685795481, -1.0307735347347498, -1.3699767169877406], [0.61977099169824768, -1.1212645145797095, -0.24202384027764232, -0.45494971661980865, 1.1469700194081931], [-0.37102484826626692, 0.65888147616625725, -0.15262855604235692, -0.082520414089770538, 0.63569319432659066]], [[-0.95489338951505465, -0.50075601032886097, 2.1456842508368754, 0.55836535527971154, 0.36611200060157034], [-0.14389095602187441, 0.44971912798405078, 0.76619466812217374, 0.27332861559418198, -0.2983564470234113], [0.13262920700988431, 1.5228273570240471, -1.0606643092477073, 0.15074211470315002, -0.74665244611266202], [-0.93246608945288789, -0.56235913596905596, 0.39226820098622883, -0.40271382866865035, 1.0032691470403454]], [[0.071149886100508541, 0.051613485452988939, -1.408563559656097, -1.7835415743949392, -0.21320652758618236], [2.0244587411756845, 0.41236696436345943, 0.48809819829804069, 1.9455815364497311, 0.84630955992061041], [-1.3538121702732557, 0.35477845485477971, 1.3684602443674143, 0.12814520573454186, -0.89241065791258833], [1.7734707807011398, -0.022559369001525317, 1.1720102978863158, -0.19981391260060971, 0.13813511481498963]], [[0.14887637412445451, 0.16482190889348844, -0.2802628991561123, 0.30645784420949462, -0.04834930851422542], [-0.60685796445587259, -0.28476758742797575, -0.27376655101270064, -0.60572353875377194, -0.13601954488186238], [0.33479067500925841, -0.6774377173295536, -0.0079429545497388676, -0.26924861441864745, 0.52888569249389916], [-0.14391517935766227, 0.48053036012047667, -0.31644652049603839, 0.29403324595394331, -0.24072904480398766]]], [[[-1.1592943726528804, 0.039695574711188564, 0.68777758340554718, 0.015810446065622374, -0.37839923853855562], [-1.184753426650655, 0.6079151286248482, -0.052942902192512353, -0.1925645517856947, 1.397030027464464], [-0.26311375606201742, -0.017996144510114401, -1.2962936380808177, -0.0083659976918465384, 0.55907553895077911], [-1.662957573950355, 0.57249342477336163, -0.27052421490199285, 0.92111917130559195, -1.0020457653325621]], [[-0.95536239915983789, -0.81941698539243457, -0.3834383426416984, -0.22910520114051167, 0.78143653779196265], [-0.39943889981236097, 0.47173326871034127, -0.2671600269752018, -0.1126535552835696, 1.1036673648886475], [-0.71690819274668482, -0.22631900294718235, -1.9141285265741981, 0.47457444169282526, 0.88342497000349096], [-1.8788198528859086, -0.068730105853217774, -0.41118502834547321, 1.0043067088927395, -0.52754179089554942]], [[-0.23454886932791488, -0.34248656238257214, 0.62138924980006438, -0.29891103343720971, -0.0074283960912286118], [0.67866451397548955, 0.63039098150058637, 0.11241994625005529, 0.71298554720346252, 0.48462737174723758], [-0.49284433517873166, 1.1774035274383021, -0.48108205553889144, 0.71435040168400377, -0.71986051662978134], [-0.36331519259164546, -1.1110497873240006, 0.1013221574824395, -0.35111164874470679, -0.023994560599236714]], [[-0.36461627025125576, -1.2787164389735879, 0.16767248786034103, 1.0371208176122599, 0.65895944955990393], [-0.92206514694993702, 0.43160948228382401, -0.87175311112179865, -0.57690236498786918, 0.029973230723825184], [0.17336847244997222, -0.080652189886306624, -1.6812996072579192, -0.58057094140025334, 0.14394493827962559], [-0.90012045525845752, 0.75088118417884098, -0.11719576224050948, 1.4611196990309003, 1.3237099172542073]], [[-0.18579894206628678, -0.034389565999541238, -0.39269281228415731, -0.91771626987074784, 0.352400944959403], [1.1537395920305722, 0.025215571393017625, 0.66065775488468659, 0.90617383375815086, 0.12331229385822212], [-0.68379639237751277, 0.35731058519139325, 0.37757140232128694, 0.42135183406201271, -0.26093273098701719], [0.40460908265697648, -0.51884019758321198, 0.49384937835349318, -0.54540218954658504, 0.023505703091290076]]], [[[0.19581710423560511, -0.59411717872368863, 0.062921828123991289, 0.97046337130237903, -0.1697332079687377], [-0.77863462816344908, 0.23313735383315468, -0.81634830733874564, -0.36296074632783232, -0.26382565149537635], [0.4915820806405114, -0.22147049231301119, -0.20193238036684746, -1.1696364857790129, -0.37807878495590225], [0.57382649394223983, 1.352134324227988, 0.2940741766480216, 1.1915138271176304, 1.4799936202172068]], [[-0.067175739468700965, -0.11174986903850311, -1.5622127213533727, -0.74875741876798707, 0.56161270837068744], [0.40887239775354117, -0.30928714150961012, 0.063611183598432805, 0.16710193292542394, 0.25523466514876025], [-0.56027688252476826, -1.0075548351490393, 0.13573749205527252, -0.062500786395481886, 0.76395874433995914], [0.18143515319970477, 0.51725283574098901, 0.1176671710514202, 0.40449016239384827, -0.24377634518234645]], [[1.0288321414341957, 0.75785426135782707, -0.27984382729580259, 0.23996271560641064, 0.099106288033150858], [0.18041908513760202, -1.0720338943143817, 0.20957812892949065, -0.75493783383689017, -1.4036909457520199], [0.78024990507064484, -0.5870402554416011, 1.1655431599058095, 0.25877658749605753, 0.39746844878538834], [0.65669333411710995, -0.64872877921248984, -0.51486509547830339, -1.254630644341048, -0.41494485760081229]], [[0.012781494886700773, -0.44134605123251452, -0.81356451505479654, 0.5607218447743394, 0.87045139930226223], [-0.71059772224566542, -0.61780775653409314, -0.2714292499428545, -0.91484982933771519, -0.70008600798366405], [0.3844572370809235, -1.2550956841810044, -0.47192163670181014, -0.67125546019876603, 1.0035461951337206], [-0.23987993805669675, 1.0615423310045617, -0.18027105169575469, 0.76420585844309996, 0.68681587638259423]], [[-0.94224961955584563, -0.57968878849038308, 1.2677356866076688, -0.058414555876490581, -0.19234834068833945], [0.12984803113514898, 1.0349279715570883, 0.24144709168334594, 0.92159945285890088, 0.85589541246524203], [-0.51855816470136218, 1.4023164497049123, -0.87406919301271113, -0.0015328955224893637, -0.99579836888212625], [-0.47166437350444335, -0.07488231058780645, 0.64082820694223352, 0.3886908533390695, 0.68476251379429465]]], [[[-0.47412506867239562, 0.36797206822894069, 0.75955617944192022, 0.085367858108402195, 0.18961672430892187], [-0.3351285837928335, -0.34410625144821527, 0.73867941829525186, -0.27064163881745124, -0.34750351657193906], [0.25231492941155387, 0.026564725105453574, -0.11066189106185448, 0.096100034636051296, 0.36068122456251894], [-0.58191077485144149, -0.079110957731682655, -0.047190789482964651, -0.53141832810910572, -0.282468985385605]], [[0.13732207995141171, 1.2502833062915668, -1.0166206493331762, -1.3379610869428231, -0.37682668558570931], [0.74427994926709706, -0.62372222963162582, 0.8646624182048821, 0.45601582712423278, 0.24028034595735281], [-0.40979456130595959, -0.73955896510143937, 1.5626357909937973, 0.35165244139752211, 0.54483041954502409], [0.74412249751740167, -0.071758654505232375, 0.12208080327102469, -0.94360155811845736, -1.5603956154618968]], [[0.46606934466760269, -0.70660987602444647, -0.1760081433385528, 0.6687718867141792, 1.4800609534610418], [0.49702294019813176, -0.90513534164209364, 0.37433611615523232, -0.45445516787618601, -2.0700833812021928], [0.56592583747185066, -0.22315230966416449, 0.084007781237780299, -0.30428613768863055, 0.072485103175773946], [0.60582524760987244, -0.12664116808602538, 0.25147828225532759, -0.54941281709739032, 1.9327974086567841]], [[0.6243205386920534, 0.6117294329631574, -0.78407168172277852, -0.15140254120771776, -1.3847485006262186], [-0.55558707777367833, 0.41522984601459739, -1.1687569790430214, -0.2016865667047458, 1.2396826381129811], [-0.032425804220063803, -0.55371295777693208, 0.47599561478735292, -0.027330442547800166, 0.097869851776638095], [0.24395060199025781, 0.33502786542486807, -0.59571975802027166, 0.69822768626166398, -1.4902741070793919]], [[-1.4715700744489841, -0.88312633928453876, 1.1764048424779898, 0.00022501594026769212, 0.91171999992828945], [-0.047685412530891813, 0.52421822109126937, 0.79053879587221587, 0.48570470700962742, 0.32660464130869626], [-0.50720123883482604, 0.92149772110556138, -1.6181853592892563, 0.10893040285199998, -0.11219344462077219], [-1.3682257550468475, -0.040381010653841788, 0.5200659121557113, 0.31134052870485623, 0.8655242020329309]]]]))
17845          self.failUnless(isinstance(res,Data),"wrong type of result.")
17846          self.failUnlessEqual(res.getShape(),(4, 5, 4, 5),"wrong shape of result.")
17847          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17848       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17849       def test_generalTensorProduct_constData_rank3_taggedData_rank0_offset0(self):
17850          arg0=Data(numarray.array([[[-0.79171061973518619, 0.16946859689700111], [0.86606689928544878, 0.80219936571494554]], [[0.18259118063551893, 0.54336358717326783], [0.42148273502818268, 0.88241367107147672]], [[-0.80755363333021424, 0.99462657731057691], [0.93925778241661484, 0.7885008670907685]], [[-0.24576577886403084, 0.45983648036990021], [0.43325139756643893, 0.19894093890541353]], [[-0.92781831408156723, -0.49370803978105315], [-0.81581179982467367, -0.4585427682303449]], [[-0.38355175987267609, -0.38582230031327169], [0.78358990619263591, -0.40461874903554174]]]),self.functionspace)
17851          arg1=Data(-0.758605299978,self.functionspace)
17852          arg1.setTaggedValue(1,-0.632982774957)
17853          res=generalTensorProduct(arg0,arg1,0)
17854          ref=Data(numarray.array([[[0.60059587217975174, -0.12855977578585159], [-0.65700293993320535, -0.60855269047011706]], [[-0.13851463735929256, -0.41219849704454287], [-0.31973903664148129, -0.66940368764761227]], [[0.61261446626055893, -0.75452899304649579], [-0.71252593178655721, -0.59816093681207894]], [[0.1864392223994043, -0.34883439113170372], [-0.32866680641665164, -0.15091765063618903]], [[0.70384789047866292, 0.3745295356195143], [0.61887915513135427, 0.34785297424599154]], [[0.29096439785519107, 0.29268684186724059], [-0.59443545584677226, 0.30694592748871397]]]),self.functionspace)
17855          ref.setTaggedValue(1,numarray.array([[[0.50113918504281618, -0.10727070273191412], [-0.54820542920801152, -0.50777838057890212]], [[-0.11557707220132528, -0.34393979121946433], [-0.26679131121455807, -0.55855265417471844]], [[0.51116753975187668, -0.62958149095192129], [-0.59453399751392233, -0.49910746690702745]], [[0.15556550469479527, -0.29106857137094827], [-0.27424067188555468, -0.12592618756087751]], [[0.58729301110317245, 0.31250868503913698], [0.51639481689559563, 0.29024967387085715]], [[0.24278165730380472, 0.24421887029254474], [-0.49599891325002271, 0.25611669856410207]]]))
17856          self.failUnless(isinstance(res,Data),"wrong type of result.")
17857          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17858          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17859       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17860       def test_generalTensorProduct_constData_rank4_taggedData_rank1_offset1(self):
17861          arg0=Data(numarray.array([[[[0.96856454990444618, -0.028529661442104892, 0.74578533611813524], [0.30057409833406012, 0.77635743666761137, -0.61024861465494906]], [[-0.70252922267335616, -0.014978577503766743, -0.54967985881244585], [-0.24065648866266431, -0.70453722731394719, -0.51675253802718468]]], [[[0.95468412155521554, -0.24045585045982998, 0.86096742219310385], [-0.43212128061008115, 0.79759591553032871, 0.9874710813956542]], [[-0.96402232426211709, -0.43521238933868678, -0.92655327796460796], [-0.74934889334543753, -0.14697521367712807, 0.48652555303983513]]], [[[-0.78467794012163194, 0.34213860238991467, -0.50216867326176606], [0.84651857783723505, -0.90478234162803584, 0.56478700818023064]], [[-0.73266143160697017, -0.1798496858320322, -0.77699263399501395], [-0.62377532866557628, -0.42152214665806986, 0.32132227080676268]]], [[[0.64299932791098069, -0.85263841568991339, -0.40244804446472782], [-0.1805376512483805, 0.49670841322246129, -0.5982046835822532]], [[0.32672809214318432, 0.035791193045824787, -0.10747884227177584], [-0.9060626277208168, -0.23580960104288851, 0.48457334095646032]]], [[[0.94127041705620074, 0.49596383088415785, 0.28237800496100873], [-0.62180166343327636, 0.85917460873108742, -0.43135230245227207]], [[0.46643931404258199, 0.29826287295741594, -0.042976217419515184], [-0.95294555196973429, 0.27310713675649612, 0.29821354571222392]]], [[[0.45644011536259921, -0.93762635747110323, 0.95687765569179239], [0.41590265596170894, 0.40899729748517144, 0.74396292000771624]], [[0.69797571918889112, 0.71841451375687515, 0.88772549720371718], [-0.55098133388725912, 0.81897029499976814, -0.65458530864961229]]]]),self.functionspace)
17862          arg1=Data(numarray.array([-0.55153438622809103, 0.64718166335664451, -0.88585990490775446]),self.functionspace)
17863          arg1.setTaggedValue(1,numarray.array([-0.81486046967229209, -0.49318218569414496, 0.63298046021828269]))
17864          res=generalTensorProduct(arg0,arg1,1)
17865          ref=Data(numarray.array([[[-1.2133218552361482, 0.87726212612942978], [0.8647145103881444, 0.13453710829425403]], [[-1.4448562570407466, -0.12024184168755003], [1.0708263815861494, -0.11282146144884786]], [[1.099053789028251, -1.552764810448362], [0.97599917502824896, -0.21341437723766121]], [[-0.54993560137259456, 0.95095884385843688], [-0.061827176920279781, -0.082151048314714092]], [[-0.44831165733220874, 1.2811047608217683], [-0.026156150668468554, 0.43815674790822157]], [[-1.7062165535910567, -0.62373598636457928], [-0.70641333442929999, 1.4137785888406347]]]),self.functionspace)
17866          ref.setTaggedValue(1,numarray.array([[[-0.30310709797583407, -1.0140870573873133], [0.23191384993419545, 0.21647240971151543]], [[-0.11437025465369977, 0.58380835230541939], [0.41369256103523222, 0.99106151677513488]], [[0.1528034131835645, 0.11392714726204051], [0.19389434437269687, 0.91956778974738307]], [[-0.35819040528299678, -0.47650662151456302], [-0.35192139247878496, 1.161337169195223]], [[-0.83286482073600032, -0.19008559484111248], [-0.55438399999155918, 0.83058943282419018]], [[0.69617046843277786, -0.069698823199825455], [-0.361149168719615, -0.36926836151568454]]]))
17867          self.failUnless(isinstance(res,Data),"wrong type of result.")
17868          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
17869          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17870       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17871       def test_generalTensorProduct_constData_rank3_taggedData_rank1_offset0(self):
17872          arg0=Data(numarray.array([[[-0.2863520544782836, -0.95397118120497226], [-0.13772242080947517, -0.31499255464567288]], [[-0.49804960454684322, 0.30459492532216781], [0.45928087666626194, 0.704575788877571]], [[-0.67353897703280796, -0.73909850185921044], [-0.30862800217180353, -0.47787249960935041]], [[0.30345753162326927, 0.75630963070216506], [-0.051412362727160987, 0.19969846123687818]], [[-0.18604963610954428, -0.566395650656635], [0.70112927012678594, -0.59563652901795838]], [[0.10092929709284326, -0.83520068694761784], [0.44066652530977124, -0.062349454773188207]]]),self.functionspace)
17873          arg1=Data(numarray.array([0.73582381100635019, -0.37004768082092987]),self.functionspace)
17874          arg1.setTaggedValue(1,numarray.array([0.21067628392874083, -0.57909989611089707]))
17875          res=generalTensorProduct(arg0,arg1,0)
17876          ref=Data(numarray.array([[[[-0.21070466001570864, 0.10596391365799741], [-0.70195471014447219, 0.35301482317490301]], [[-0.10133943654104828, 0.050963862417590454], [-0.23177902199800504, 0.11656226432249127]]], [[[-0.36647675808786384, 0.18430210109634057], [0.22412819876375215, -0.11271464570529252]], [[0.33794980499090638, -0.16995582325575376], [0.51844364211469984, -0.26072663663672224]]], [[[-0.49560601694159934, 0.24924153639349214], [-0.54384627634712823, 0.27350168651122453]], [[-0.2270958327413326, 0.1142070764400728], [-0.3516299638376828, 0.17683561020854083]]], [[[0.22329127739761404, -0.11229375580483478], [0.55651063476407236, -0.2798706248238701]], [[-0.03783044067474043, 0.01902502559271034], [0.14694288279942361, -0.073897952444215126]]], [[[-0.13689975227846954, 0.068847236359914785], [-0.41676740620358654, 0.20959339695254936]], [[0.51590761155279241, -0.2594512603660884], [-0.43828354075658865, 0.22041391617532399]]], [[[0.074266180029048071, -0.037348652316093266], [-0.61456055242491781, 0.30906407722501344]], [[0.32425292203636213, -0.16306762570629843], [-0.045878213425375416, 0.023072271139267752]]]]),self.functionspace)
17877          ref.setTaggedValue(1,numarray.array([[[[-0.060327586732845134, 0.16582644499951596], [-0.20097910343137501, 0.55244461192858918]], [[-0.029014847829810515, 0.079755039582908319], [-0.066361460877971193, 0.18241215567101524]]], [[[-0.10492723989810783, 0.28842047425115025], [0.064170926970426631, -0.17639088960997382]], [[0.096759588375582392, -0.26596950796315399], [0.1484374089468877, -0.40801976614125474]]], [[[-0.1418986887624375, 0.39004635162633899], [-0.155710525828998, 0.42801186564238841]], [[-0.065020600613906923, 0.17872644399460513], [-0.10067640240943659, 0.27673591487802951]]], [[[0.06393130509257873, -0.17573222503710451], [0.15933650249585044, -0.4379788285672947]], [[-0.01083136552735478, 0.029772893914114685], [0.042071729719673191, -0.11564535815578215]]], [[[-0.039196245961853261, 0.10774132494250729], [-0.11932613091374114, 0.32799966245292128]], [[0.14771130918398157, -0.40602388749073082], [-0.12548649050571709, 0.34493305207415503]]], [[[0.021263409251060083, -0.058448145461011396], [-0.17595697706085572, 0.48366463104311536]], [[0.092837986004053019, -0.25518993902643849], [-0.013135551436598383, 0.036106562781724368]]]]))
17878          self.failUnless(isinstance(res,Data),"wrong type of result.")
17879          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
17880          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17881       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17882       def test_generalTensorProduct_constData_rank4_taggedData_rank2_offset1(self):
17883          arg0=Data(numarray.array([[[[0.0020340447283910823, -0.27701048792302707, -0.76283555959445981], [0.025691655614195064, 0.62115273580168173, 0.027134793369653742]], [[-0.36768354562872552, 0.39773532208959383, 0.4920425638732826], [0.97065168932289603, -0.88283119123949505, 0.10951454269202032]]], [[[0.0097626590821797699, -0.10880789030373705, 0.18512368322577699], [-0.5730394881250751, 0.06401449605723597, 0.71639671833740914]], [[-0.94690098741976048, -0.81632224376522022, 0.59594447841654907], [0.14779969632203493, 0.9177565985041114, -0.17324689138578298]]], [[[0.21755014480559942, -0.5397639327800603, -0.78355481768010637], [-0.69757435710086857, -0.51118208470670057, -0.41321740486000946]], [[0.94050522802917391, 0.13704149514114206, 0.28915032271121732], [0.18370876958301174, 0.0057581694631207991, -0.81885293747901744]]], [[[0.27298366444792865, 0.84807961882748661, 0.62079874977426819], [0.34534356117274911, 0.65884947308481268, -0.52032590222564434]], [[-0.38000299310736452, 0.98241569359945791, -0.79281263966193261], [0.41384071510395648, 0.3816689850459607, -0.73086629065010422]]], [[[0.22704265077341446, 0.29463616117181624, 0.91231728091706721], [0.81463453085303961, -0.26023961417960306, 0.50099806493829191]], [[0.39197362520624379, -0.099331393311526961, -0.71170551325588094], [0.58198402421729023, 0.803687663338845, -0.56027514286668412]]], [[[0.050655715645647748, 0.29701581171903779, -0.44122177736547918], [0.86536858931772498, 0.21874948895883195, -0.79359770285306452]], [[0.87921198514997045, -0.082240877367720788, 0.84492779170030841], [-0.24205843548270778, -0.07808409981710418, -0.79550465441802487]]]]),self.functionspace)
17884          arg1=Data(numarray.array([[0.66541445281728362, -0.51568914252001519], [-0.54183361025838561, 0.79661445653059482], [-0.18686130579621429, -0.18177421334558419]]),self.functionspace)
17885          arg1.setTaggedValue(1,numarray.array([[-0.26535329648521744, -0.74636851446390162], [0.014066258067917392, -0.40481069669656233], [-0.9997502531831941, -0.91672802685096477]]))
17886          res=generalTensorProduct(arg0,arg1,1)
17887          ref=Data(numarray.array([[[[0.29399152428432551, -0.083055660314587026], [-0.32453627332037266, 0.47663793548048128]], [[-0.55211202681222238, 0.4170114698328089], [1.1037692438738675, -1.2237375468177796]]], [[[0.03085953329770915, -0.12536314758135933], [-0.54986078919765757, 0.21628266532890275]], [[-0.29912973736149051, -0.2703148810788274], [-0.36655017670176854, 0.68637129267990971]]], [[[0.58363932734624269, -0.39974193899936505], [-0.10998608082373912, 0.027628752169625057]], [[0.49754107674008052, -0.42839917085340834], [0.27213442979352886, 0.058696771733773898]]], [[[-0.39387403096865431, 0.42197256841966857], [-0.029961414297164923, 0.44134092156134125]], [[-0.63701932066598488, 1.1226828554194195], [0.20514513833661985, 0.22348251262887031]]], [[[-0.17904311210243443, -0.048207760546948475], [0.58945900766107784, -0.718477350642033]], [[0.44763622433475891, -0.1518956567665555], [0.056489337677165685, 0.4419499420937319]]], [[[-0.044778826794894561, 0.29068722836006344], [0.60559564403337751, -0.12774658237674896]], [[0.4717169230433032, -0.67250043121433989], [0.029888446802662255, 0.20722621706391811]]]]),self.functionspace)
17888          ref.setTaggedValue(1,numarray.array([[[[0.7582088023571828, 0.80993139902487366], [-0.025208087369395227, -0.29549994015451075]], [[-0.38875898923002861, -0.33764929979843228], [-0.37947094865074626, -0.46747940046423198]]], [[[-0.18919852280993171, -0.1329480123233947], [-0.56325943892561514, -0.25495607131050163]], [[-0.35601494407051359, 0.4908740537408578], [0.14689388804566469, -0.32301044692225733]]], [[[0.7180390205093572, 0.77443629722186202], [0.59102744120558814, 1.1063874887041998]], [[-0.53671660992099568, -1.0225115578164659], [0.76998169986002152, 0.6112200276165296]]], [[[-0.68115151572993882, -1.1161617264107333], [0.43782544682705093, -0.047465537283041426]], [[0.90726859680028416, 0.61272345490553537], [0.62623841558804572, 0.20662424501880994]]], [[[-0.96819152012652543, -1.1250761764508037], [-0.72069949803143585, -0.96194875262672275]], [[0.60611905247313846, 0.40009402904208202], [0.41700871468395284, -0.24609598830559465]]], [[[0.43184782355657825, 0.2464373604605048], [0.56684808326665181, -0.0069227452502861331]], [[-1.0791753936475434, -1.3974931437080444], [0.85843863236119211, 0.94153548594796521]]]]))
17889          self.failUnless(isinstance(res,Data),"wrong type of result.")
17890          self.failUnlessEqual(res.getShape(),(6, 2, 2, 2),"wrong shape of result.")
17891          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
17892       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17893       def test_generalTensorProduct_constData_rank4_taggedData_rank0_offset0(self):
17894          arg0=Data(numarray.array([[[[-0.032087288197499841, -0.35330250997053381, 0.91804903926826875, -0.98231522734277643], [0.089506036758075336, 0.6588583660109335, -0.41521364897189605, 0.15427703723920971], [0.58299181576236814, -0.72284388496413698, 0.63652331142126051, -0.52588802123469169]], [[-0.98561757607182598, -0.65743379623012577, -0.98876239210785677, -0.94139957163733512], [0.46929505956959505, 0.46965939382321142, -0.66399422323415558, 0.75222689496351025], [0.38795749376342559, -0.56035912385425712, -0.64357752967415283, 0.3897103188919766]]], [[[-0.74559538713686413, 0.77074778295006241, -0.94059727196303733, -0.61915823675059123], [0.12640196557846872, 0.64706229140308857, 0.90047095345803307, 0.38090441932101027], [0.23967143354217679, -0.79185631809109536, -0.78019261524570549, -0.48159574535006677]], [[0.1670372569246974, 0.73019088807557986, -0.41209634218135238, 0.4195277911879669], [0.022626577952166604, 0.29603998289647215, -0.60145816284247622, 0.099229829400991454], [-0.89247339682154303, -0.47802502736571451, -0.95891148425488204, -0.74803594220844505]]], [[[0.062120404436872834, -0.24592664840252376, 0.56530355565819357, -0.53024093628139246], [0.54030431783058641, 0.05975400820973964, 0.79554111833011376, 0.39411975541988431], [-0.0039267804089355707, 0.32773997709254221, -0.43796776179881225, -0.85654904461592207]], [[0.91665618172455576, -0.64446416155130848, -0.37239372275152172, 0.61988182003546477], [0.07284057037139835, -0.39900628985139863, -0.87374610880806225, -0.071798252768016546], [0.074671846696231503, -0.51076315370803771, 0.42873915403637897, 0.60464964234746499]]]]),self.functionspace)
17895          arg1=Data(-0.633837053625,self.functionspace)
17896          arg1.setTaggedValue(1,0.764134816039)
17897          res=generalTensorProduct(arg0,arg1,0)
17898          ref=Data(numarray.array([[[[0.020338112209916388, 0.22393622195800567, -0.58189349813297131, 0.622627789429821], [-0.056732242620380631, -0.41760884546848726, 0.26317779588919082, -0.097786502725679944], [-0.36952181479025104, 0.45816523827644606, -0.40345206027481761, 0.333327313