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