1# sys:=Ind2Diff([u[x,x]-u[x,y],u[x,y,y],u[x,y,z]],[x,y,z],[u]); 2 3LoadPackage( "RingsForHomalg" ); 4 5Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z"; 6A3 := RingOfDerivations( Qxyz, "Dx,Dy,Dz" ); 7 8M1 := HomalgMatrix( "[ \ 9Dx \ 10]", 1, 1, A3 ); 11M2 := HomalgMatrix( "[ \ 12Dx, \ 13Dy \ 14]", 2, 1, A3 ); 15M3 := HomalgMatrix( "[ \ 16Dx, \ 17Dy, \ 18Dz \ 19]", 3, 1, A3 ); 20M := DiagMat( [ M1, M2, M3 ] ); 21M := ShallowCopy( M ); ## copy M before setting entries 22SetIsMutableMatrix( M, true ); 23M[ 1, 2 ] := "1";; 24M[ 2, 3 ] := "1";; 25M[ 3, 3 ] := "1";; 26MakeImmutable( M ); 27 28tau1 := HomalgMatrix( "[ \ 291, Dx, Dz, \ 300, 0, 1, \ 310, 1, Dy \ 32]", 3, 3, A3 ); 33 34tau2 := HomalgMatrix( "[ \ 350, 1, Dz+x*y, \ 360, 0, 1, \ 371, Dz, x-y \ 38]", 3, 3, A3 ); 39 40tau3 := HomalgMatrix( "[ \ 411, 0, 0, \ 421, 1, 0, \ 430, -1, 1 \ 44]", 3, 3, A3 ); 45 46tau := tau1 * tau2 * tau3; 47 48LoadPackage( "Modules" ); 49 50N := LeftPresentation( M * tau ); 51 52M := LeftPresentation( M ); 53 54C := 1 * A3 / LeftSubmodule( "Dx^2-Dx*Dy, Dx*Dy*Dz, Dx*Dy^2", A3 ); 55 56tau := HomalgMap( tau, M, N ); 57 58ByASmallerPresentation( N ); 59 60DecideZero( tau ); 61 62id := HomalgIdentityMap( M ); 63 64