Ticket #61: jacobiM.m2.sing.out

File jacobiM.m2.sing.out, 3.4 KB (added by Oleksandr , 15 years ago)

... and Singular output

Line 
1jacobiM.m2.sing   1> ring R = (0,a,b,c, d,e,f, g,h),(x,y), dp;
2jacobiM.m2.sing   2>
3jacobiM.m2.sing   3. LIB "matrix.lib";
4jacobiM.m2.sing   5.   proc jacobM(matrix M)
5jacobiM.m2.sing   6.   {
6jacobiM.m2.sing   7.      int n=nvars(basering);
7jacobiM.m2.sing   9.      matrix B=transpose(diff(M,var(1)));
8jacobiM.m2.sing  11.      int i;
9jacobiM.m2.sing  13.      for(i=2;i<=n;i++)
10jacobiM.m2.sing  15.      {
11jacobiM.m2.sing  17.        B=concat(B,transpose(diff(M,var(i))));
12jacobiM.m2.sing  19.      }
13jacobiM.m2.sing  21.      return(transpose(B));
14jacobiM.m2.sing  23.   }
15jacobiM.m2.sing  24>
16jacobiM.m2.sing  25.
17jacobiM.m2.sing  26.
18jacobiM.m2.sing  27. module M = [(a*x+b*y)];
19jacobiM.m2.sing  28>
20jacobiM.m2.sing  29. print(M);
21(a)*x+(b)*y
22jacobiM.m2.sing  30>
23jacobiM.m2.sing  31. print(diff(M, x));
24(a)
25jacobiM.m2.sing  32> print(diff(M, y));
26(b)
27jacobiM.m2.sing  33>
28jacobiM.m2.sing  34. print(jacobM(M));
29(a),
30(b)
31jacobiM.m2.sing  35> print(jacob(M[1][1]));
32(a),
33(b)
34jacobiM.m2.sing  36>
35jacobiM.m2.sing  37.
36jacobiM.m2.sing  38.
37jacobiM.m2.sing  39.
38jacobiM.m2.sing  40. M = [a*x+b*y], [c*x+d*y];
39jacobiM.m2.sing  41>
40jacobiM.m2.sing  42. print(M);
41(a)*x+(b)*y,(c)*x+(d)*y
42jacobiM.m2.sing  43>
43jacobiM.m2.sing  44. print(diff(M, x));
44(a),(c)
45jacobiM.m2.sing  45> print(diff(M, y));
46(b),(d)
47jacobiM.m2.sing  46>
48jacobiM.m2.sing  47. print(jacob(ideal(M[1][1], M[2][1])));
49(a),(b),
50(c),(d)
51jacobiM.m2.sing  48> print(jacobM(M)); // BUG! This is inconsistent with jacob. see before!!!! (but it is the same as in M2!)
52(a),(c),
53(b),(d)
54jacobiM.m2.sing  49>
55jacobiM.m2.sing  50.
56jacobiM.m2.sing  51.
57jacobiM.m2.sing  52.
58jacobiM.m2.sing  53.
59jacobiM.m2.sing  54. M = [(a*x+b*y),(c*x+d*y)];
60jacobiM.m2.sing  55>
61jacobiM.m2.sing  56. print(M);
62(a)*x+(b)*y,
63(c)*x+(d)*y
64jacobiM.m2.sing  57>
65jacobiM.m2.sing  58.
66jacobiM.m2.sing  59. print(diff(M, x)); // BUG: wrong result!!!!
67(a)
68jacobiM.m2.sing  60> print(diff(M, y)); // BUG: wrong result!!!!
69(b)
70jacobiM.m2.sing  61>
71jacobiM.m2.sing  62. print(jacobM(M)); // BUG! This is inconsistent with jacob. see before!!!! (but it is the same as in M2!)
72(a),
73(c),
74(b),
75(d)
76jacobiM.m2.sing  63>
77jacobiM.m2.sing  64.
78jacobiM.m2.sing  65.
79jacobiM.m2.sing  66. matrix MM[2][2] = a*x+b*y, c*x+d*y, e*x+f*y, g*x+h*y;
80jacobiM.m2.sing  67> print(MM);
81(a)*x+(b)*y,(c)*x+(d)*y,
82(e)*x+(f)*y,(g)*x+(h)*y
83jacobiM.m2.sing  68>
84jacobiM.m2.sing  69. print(diff(MM, x)); // Correct!!!!
85(a),(c),
86(e),(g)
87jacobiM.m2.sing  70> print(diff(MM, y)); // Correct!!!!
88(b),(d),
89(f),(h)
90jacobiM.m2.sing  71>
91jacobiM.m2.sing  72. print(jacobM(MM)); // BUG! This is inconsistent with jacob. see before!!!! (but it is the same as in M2!)
92(a),(c),
93(e),(g),
94(b),(d),
95(f),(h)
96jacobiM.m2.sing  73>
97jacobiM.m2.sing  74.
98jacobiM.m2.sing  75.
99jacobiM.m2.sing  76.
100jacobiM.m2.sing  77. M = [(a*x+b*y),(e*x+f*y)], [(c*x+d*y), (g*x+h*y)];
101jacobiM.m2.sing  78>
102jacobiM.m2.sing  79. print(M);
103(a)*x+(b)*y,(c)*x+(d)*y,
104(e)*x+(f)*y,(g)*x+(h)*y
105jacobiM.m2.sing  80>
106jacobiM.m2.sing  81. print(diff(M, x)); // BUG: again wrong result!!!!
107(a),(c)
108jacobiM.m2.sing  82> print(diff(M, y)); // BUG: again wrong result!!!!
109(b),(d)
110jacobiM.m2.sing  83>
111jacobiM.m2.sing  84.
112jacobiM.m2.sing  85. print(jacobM(M)); // BUG! This is inconsistent with jacob. see before!!!! (but it is the same as in M2!)
113(a),(c),
114(e),(g),
115(b),(d),
116(f),(h)
117jacobiM.m2.sing  86>
118jacobiM.m2.sing  87.
119jacobiM.m2.sing  88. $$$
120$Bye.