Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168756
Image: ubuntu2004
n=4; variables=[] for row in range(n): variables.append([]); for column in range(n): variables[row].append(var('z'+str(n-row)+str(column+1))) variables
[[z41, z42, z43, z44], [z31, z32, z33, z34], [z21, z22, z23, z24], [z11, z12, z13, z14]]
p=[1,2,4,3] for column in range (n): variables[p[column]-1][column]=1 for column_prime in range (column+1,n): variables[p[column]-1][column_prime]=0
M = matrix(variables);M
[ 1 0 0 0] [z31 1 0 0] [z21 z22 z23 1] [z11 z12 1 0]
e=[] zero_vector=list(0 for dummy in range(n)) for i in range (n): zero_vector[i]=1; e.append(vector(zero_vector)); zero_vector[i]=0; e
[(1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)]
s=e[1:] s.append(vector(zero_vector)) N=matrix(s) N
[0 1 0 0] [0 0 1 0] [0 0 0 1] [0 0 0 0]
a=[]; for row in range(n): a.append([]) for column in range(row+2): a[row].append(var('a'+str(row+1)+str(column+1))) a
[[a11, a12], [a21, a22, a23], [a31, a32, a33, a34], [a41, a42, a43, a44, a45]]
X=[]; for i in range(n-2): X.append([]); X[i]=vector(zero_vector) for j in range (i+2): X[i]=X[i]+a[i][j]*M*e[j] X
[(a11, a11*z31 + a12, a11*z21 + a12*z22, a11*z11 + a12*z12), (a21, a21*z31 + a22, a21*z21 + a22*z22 + a23*z23, a21*z11 + a22*z12 + a23)]
poly=[]; for j in range(n-2): for i in range(n): poly.append(e[i]*N*M*e[j] == e[i]*X[j]);
print(poly)
[z31 == a11, z21 == a11*z31 + a12, z11 == a11*z21 + a12*z22, 0 == a11*z11 + a12*z12, 1 == a21, z22 == a21*z31 + a22, z12 == a21*z21 + a22*z22 + a23*z23, 0 == a21*z11 + a22*z12 + a23]
print(solve(poly[0],a11)); print(solve(poly[1],a12)); print(poly[2]); print(poly[3]);
[ a11 == z31 ] [ a12 == -a11*z31 + z21 ] z11 == a11*z21 + a12*z22 0 == a11*z11 + a12*z12
a11 = z31; a12 = -a11*z31 + z21; z11 = a11*z21 + a12*z22; 0 == a11*z11 + a12*z12
0 == -(z31^2 - z21)*z12 - ((z31^2 - z21)*z22 - z21*z31)*z31
print(solve(poly[4],a21)); print(solve(poly[5],a22)); print(solve(poly[7],a23)); poly[6]
[ a21 == 1 ] [ a22 == -a21*z31 + z22 ] [ a23 == -a21*z11 - a22*z12 ] z12 == a21*z21 + a22*z22 + a23*z23
a21 = 1; a22 = -a21*z31 + z22; a23 = -a21*z11 - a22*z12; z12 == a21*z21 + a22*z22 + a23*z23
z12 == (z22 - z31)*z22 - ((z22 - z31)*z12 - (z31^2 - z21)*z22 + z21*z31)*z23 + z21
R = singular.ring(0, '(z12,z13,z21,z22,z23,z31)', 'ds');
f1 = singular('-z12 + (z22 - z31)*z22 - ((z22 - z31)*z12 - (z31^2 - z21)*z22 +z21*z31)*z23 + z21'); f2 = singular('-(z31^2 - z21)*z12 - ((z31^2 - z21)*z22 - z21*z31)*z31'); f2
z12*z21+z21*z22*z31-z12*z31^2+z21*z31^2-z22*z31^3
I = singular.ideal(f1,f2); I
-z12+z21+z22^2-z22*z31-z12*z22*z23-z21*z22*z23+z12*z23*z31-z21*z23*z31+z22*z23*z31^2, z12*z21+z21*z22*z31-z12*z31^2+z21*z31^2-z22*z31^3
J = singular.std(I);
J
z12-z21-z22^2+z22*z31+z12*z22*z23+z21*z22*z23-z12*z23*z31+z21*z23*z31-z22*z23*z31^2, z21^2+z21*z22^2-z12*z31^2+z21*z31^2-z12*z21*z22*z23-z21^2*z22*z23+z12*z21*z23*z31-z21^2*z23*z31-z22*z31^3+z21*z22*z23*z31^2
singular.mult(J);
2
print("This says that the multiplicity of e_{1243} is 2")
This says that the multiplicity of e_{1243} is 2