CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
2
3 Examples
3
4
5
3.1 Spectral Filtrations
6
7
8
3.1-1 ExtExt
9
10
This is Example B.2 in [Bar].
11
12
 Example 
13
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
14
Q[x,y,z]
15
gap> wmat := HomalgMatrix( "[ \
16
> x*y, y*z, z, 0, 0, \
17
> x^3*z,x^2*z^2,0, x*z^2, -z^2, \
18
> x^4, x^3*z, 0, x^2*z, -x*z, \
19
> 0, 0, x*y, -y^2, x^2-1,\
20
> 0, 0, x^2*z, -x*y*z, y*z, \
21
> 0, 0, x^2*y-x^2,-x*y^2+x*y,y^2-y \
22
> ]", 6, 5, Qxyz );
23
<A 6 x 5 matrix over an external ring>
24
gap> W := LeftPresentation( wmat );
25
<A left module presented by 6 relations for 5 generators>
26
gap> Y := Hom( Qxyz, W );
27
<A right module on 5 generators satisfying yet unknown relations>
28
gap> F := InsertObjectInMultiFunctor( Functor_Hom_for_fp_modules, 2, Y, "TensorY" );
29
<The functor TensorY for f.p. modules and their maps over computable rings>
30
gap> G := LeftDualizingFunctor( Qxyz );;
31
gap> II_E := GrothendieckSpectralSequence( F, G, W );
32
<A stable homological spectral sequence with sheets at levels 
33
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
34
[ 0 .. 3 ]>
35
gap> Display( II_E );
36
The associated transposed spectral sequence:
37

38
a homological spectral sequence at bidegrees
39
[ [ 0 .. 3 ], [ -3 .. 0 ] ]
40
---------
41
Level 0:
42

43
 * * * *
44
 * * * *
45
 . * * *
46
 . . * *
47
---------
48
Level 1:
49

50
 * * * *
51
 . . . .
52
 . . . .
53
 . . . .
54
---------
55
Level 2:
56

57
 s s s s
58
 . . . .
59
 . . . .
60
 . . . .
61

62
Now the spectral sequence of the bicomplex:
63

64
a homological spectral sequence at bidegrees
65
[ [ -3 .. 0 ], [ 0 .. 3 ] ]
66
---------
67
Level 0:
68

69
 * * * *
70
 * * * *
71
 . * * *
72
 . . * *
73
---------
74
Level 1:
75

76
 * * * *
77
 * * * *
78
 . * * *
79
 . . . *
80
---------
81
Level 2:
82

83
 * * s s
84
 * * * *
85
 . * * *
86
 . . . *
87
---------
88
Level 3:
89

90
 * s s s
91
 * s s s
92
 . . s *
93
 . . . *
94
---------
95
Level 4:
96

97
 s s s s
98
 . s s s
99
 . . s s
100
 . . . s
101
gap> filt := FiltrationBySpectralSequence( II_E, 0 );
102
<An ascending filtration with degrees [ -3 .. 0 ] and graded parts:
103

104
0: <A non-zero left module presented by yet unknown relations for 23 generator\
105
s>
106
 -1: <A non-zero left module presented by 37 relations for 22 generators>
107
 -2: <A non-zero left module presented by 31 relations for 10 generators>
108
 -3: <A non-zero left module presented by 32 relations for 5 generators>
109
of
110
<A non-zero left module presented by 111 relations for 37 generators>>
111
gap> ByASmallerPresentation( filt );
112
<An ascending filtration with degrees [ -3 .. 0 ] and graded parts:
113
 0: <A non-zero left module presented by 25 relations for 16 generators>
114
 -1: <A non-zero left module presented by 30 relations for 14 generators>
115
 -2: <A non-zero left module presented by 18 relations for 7 generators>
116
 -3: <A non-zero left module presented by 12 relations for 4 generators>
117
of
118
<A non-zero left module presented by 48 relations for 20 generators>>
119
gap> m := IsomorphismOfFiltration( filt );
120
<A non-zero isomorphism of left modules>
121

122
123
124
3.1-2 Purity
125
126
This is Example B.3 in [Bar].
127
128
 Example 
129
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
130
Q[x,y,z]
131
gap> wmat := HomalgMatrix( "[ \
132
> x*y, y*z, z, 0, 0, \
133
> x^3*z,x^2*z^2,0, x*z^2, -z^2, \
134
> x^4, x^3*z, 0, x^2*z, -x*z, \
135
> 0, 0, x*y, -y^2, x^2-1,\
136
> 0, 0, x^2*z, -x*y*z, y*z, \
137
> 0, 0, x^2*y-x^2,-x*y^2+x*y,y^2-y \
138
> ]", 6, 5, Qxyz );
139
<A 6 x 5 matrix over an external ring>
140
gap> W := LeftPresentation( wmat );
141
<A left module presented by 6 relations for 5 generators>
142
gap> filt := PurityFiltration( W );
143
<The ascending purity filtration with degrees [ -3 .. 0 ] and graded parts:
144

145
0: <A codegree-[ 1, 1 ]-pure rank 2 left module presented by 3 relations for 4\
146
 generators>
147

148
-1: <A codegree-1-pure grade 1 left module presented by 4 relations for 3 gene\
149
rators>
150

151
-2: <A cyclic reflexively pure grade 2 left module presented by 2 relations fo\
152
r a cyclic generator>
153

154
-3: <A cyclic reflexively pure grade 3 left module presented by 3 relations fo\
155
r a cyclic generator>
156
of
157
<A non-pure rank 2 left module presented by 6 relations for 5 generators>>
158
gap> W;
159
<A non-pure rank 2 left module presented by 6 relations for 5 generators>
160
gap> II_E := SpectralSequence( filt );
161
<A stable homological spectral sequence with sheets at levels
162
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
163
[ 0 .. 3 ]>
164
gap> Display( II_E );
165
The associated transposed spectral sequence:
166

167
a homological spectral sequence at bidegrees
168
[ [ 0 .. 3 ], [ -3 .. 0 ] ]
169
---------
170
Level 0:
171

172
 * * * *
173
 * * * *
174
 . * * *
175
 . . * *
176
---------
177
Level 1:
178

179
 * * * *
180
 . . . .
181
 . . . .
182
 . . . .
183
---------
184
Level 2:
185

186
 s . . .
187
 . . . .
188
 . . . .
189
 . . . .
190

191
Now the spectral sequence of the bicomplex:
192

193
a homological spectral sequence at bidegrees
194
[ [ -3 .. 0 ], [ 0 .. 3 ] ]
195
---------
196
Level 0:
197

198
 * * * *
199
 * * * *
200
 . * * *
201
 . . * *
202
---------
203
Level 1:
204

205
 * * * *
206
 * * * *
207
 . * * *
208
 . . . *
209
---------
210
Level 2:
211

212
 s . . .
213
 * s . .
214
 . * * .
215
 . . . *
216
---------
217
Level 3:
218

219
 s . . .
220
 * s . .
221
 . . s .
222
 . . . *
223
---------
224
Level 4:
225

226
 s . . .
227
 . s . .
228
 . . s .
229
 . . . s
230

231
gap> m := IsomorphismOfFiltration( filt );
232
<A non-zero isomorphism of left modules>
233
gap> IsIdenticalObj( Range( m ), W );
234
true
235
gap> Source( m );
236
<A left module presented by 12 relations for 9 generators (locked)>
237
gap> Display( last );
238
0, 0, x, -y,0,1, 0, 0, 0,
239
x*y,-y*z,-z,0, 0,0, 0, 0, 0,
240
x^2,-x*z,0, -z,1,0, 0, 0, 0,
241
0, 0, 0, 0, y,-z,0, 0, 0,
242
0, 0, 0, 0, x,0, -z, 0, -1,
243
0, 0, 0, 0, 0,x, -y, -1, 0,
244
0, 0, 0, 0, 0,-y,x^2-1,0, 0,
245
0, 0, 0, 0, 0,0, 0, z, 0,
246
0, 0, 0, 0, 0,0, 0, y-1,0,
247
0, 0, 0, 0, 0,0, 0, 0, z,
248
0, 0, 0, 0, 0,0, 0, 0, y,
249
0, 0, 0, 0, 0,0, 0, 0, x
250

251
Cokernel of the map
252

253
Q[x,y,z]^(1x12) --> Q[x,y,z]^(1x9),
254

255
currently represented by the above matrix
256
gap> Display( filt );
257
Degree 0:
258

259
0, 0, x, -y,
260
x*y,-y*z,-z,0, 
261
x^2,-x*z,0, -z 
262

263
Cokernel of the map
264

265
Q[x,y,z]^(1x3) --> Q[x,y,z]^(1x4),
266

267
currently represented by the above matrix
268
----------
269
Degree -1:
270

271
y,-z,0, 
272
x,0, -z, 
273
0,x, -y, 
274
0,-y,x^2-1
275

276
Cokernel of the map
277

278
Q[x,y,z]^(1x4) --> Q[x,y,z]^(1x3),
279

280
currently represented by the above matrix
281
----------
282
Degree -2:
283

284
Q[x,y,z]/< z, y-1 >
285
----------
286
Degree -3:
287

288
Q[x,y,z]/< z, y, x >
289
gap> Display( m );
290
1, 0, 0, 0, 0,
291
0, -1, 0, 0, 0,
292
0, 0, -1, 0, 0,
293
0, 0, 0, -1, 0,
294
-x^2,-x*z, 0, -z, 0,
295
0, 0, x, -y, 0,
296
0, 0, 0, 0, -1,
297
0, 0, x^2,-x*y,y,
298
-x^3,-x^2*z,0, -x*z,z
299

300
the map is currently represented by the above 9 x 5 matrix
301

302
303
304
3.1-3 A3_Purity
305
306
This is Example B.4 in [Bar].
307
308
 Example 
309
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
310
Q[x,y,z]
311
gap> A3 := RingOfDerivations( Qxyz, "Dx,Dy,Dz" );
312
Q[x,y,z]<Dx,Dy,Dz>
313
gap> nmat := HomalgMatrix( "[ \
314
> 3*Dy*Dz-Dz^2+Dx+3*Dy-Dz, 3*Dy*Dz-Dz^2, \
315
> Dx*Dz+Dz^2+Dz, Dx*Dz+Dz^2, \
316
> Dx*Dy, 0, \
317
> Dz^2-Dx+Dz, 3*Dx*Dy+Dz^2, \
318
> Dx^2, 0, \
319
> -Dz^2+Dx-Dz, 3*Dx^2-Dz^2, \
320
> Dz^3-Dx*Dz+Dz^2, Dz^3, \
321
> 2*x*Dz^2-2*x*Dx+2*x*Dz+3*Dx+3*Dz+3,2*x*Dz^2+3*Dx+3*Dz\
322
> ]", 8, 2, A3 );
323
<A 8 x 2 matrix over an external ring>
324
gap> N := LeftPresentation( nmat );
325
<A left module presented by 8 relations for 2 generators>
326
gap> filt := PurityFiltration( N );
327
<The ascending purity filtration with degrees [ -3 .. 0 ] and graded parts:
328
 0: <A zero left module>
329

330
-1: <A cyclic reflexively pure grade 1 left module presented by 1 relation for\
331
 a cyclic generator>
332

333
-2: <A cyclic reflexively pure grade 2 left module presented by 2 relations fo\
334
r a cyclic generator>
335

336
-3: <A cyclic reflexively pure grade 3 left module presented by 3 relations fo\
337
r a cyclic generator>
338
of
339
<A non-pure grade 1 left module presented by 8 relations for 2 generators>>
340
gap> II_E := SpectralSequence( filt );
341
<A stable homological spectral sequence with sheets at levels 
342
[ 0 .. 2 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
343
[ 0 .. 3 ]>
344
gap> Display( II_E );
345
The associated transposed spectral sequence:
346

347
a homological spectral sequence at bidegrees
348
[ [ 0 .. 3 ], [ -3 .. 0 ] ]
349
---------
350
Level 0:
351

352
 * * * *
353
 . * * *
354
 . . * *
355
 . . . *
356
---------
357
Level 1:
358

359
 * * * *
360
 . . . .
361
 . . . .
362
 . . . .
363
---------
364
Level 2:
365

366
 s . . .
367
 . . . .
368
 . . . .
369
 . . . .
370

371
Now the spectral sequence of the bicomplex:
372

373
a homological spectral sequence at bidegrees
374
[ [ -3 .. 0 ], [ 0 .. 3 ] ]
375
---------
376
Level 0:
377

378
 * * * *
379
 . * * *
380
 . . * *
381
 . . . *
382
---------
383
Level 1:
384

385
 * * * *
386
 . * * *
387
 . . * *
388
 . . . .
389
---------
390
Level 2:
391

392
 s . . .
393
 . s . .
394
 . . s .
395
 . . . .
396
gap> m := IsomorphismOfFiltration( filt );
397
<A non-zero isomorphism of left modules>
398
gap> IsIdenticalObj( Range( m ), N );
399
true
400
gap> Source( m );
401
<A left module presented by 6 relations for 3 generators (locked)>
402
gap> Display( last );
403
Dx,1/3,-1/9*x,
404
0, Dy, 1/6, 
405
0, Dx, -1/2, 
406
0, 0, Dz, 
407
0, 0, Dy, 
408
0, 0, Dx 
409

410
Cokernel of the map
411

412
R^(1x6) --> R^(1x3), ( for R := Q[x,y,z]<Dx,Dy,Dz> )
413

414
currently represented by the above matrix
415
gap> Display( filt );
416
Degree 0:
417

418
0
419
----------
420
Degree -1:
421

422
Q[x,y,z]<Dx,Dy,Dz>/< Dx > 
423
----------
424
Degree -2:
425

426
Q[x,y,z]<Dx,Dy,Dz>/< Dy, Dx >
427
----------
428
Degree -3:
429

430
Q[x,y,z]<Dx,Dy,Dz>/< Dz, Dy, Dx >
431
gap> Display( m );
432
1, 1, 
433
3*Dz+3, 3*Dz, 
434
-6*Dz^2+6*Dx-6*Dz,-6*Dz^2
435

436
the map is currently represented by the above 3 x 2 matrix
437

438
439
440
3.1-4 TorExt-Grothendieck
441
442
This is Example B.5 in [Bar].
443
444
 Example 
445
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
446
Q[x,y,z]
447
gap> wmat := HomalgMatrix( "[ \
448
> x*y, y*z, z, 0, 0, \
449
> x^3*z,x^2*z^2,0, x*z^2, -z^2, \
450
> x^4, x^3*z, 0, x^2*z, -x*z, \
451
> 0, 0, x*y, -y^2, x^2-1,\
452
> 0, 0, x^2*z, -x*y*z, y*z, \
453
> 0, 0, x^2*y-x^2,-x*y^2+x*y,y^2-y \
454
> ]", 6, 5, Qxyz );
455
<A 6 x 5 matrix over an external ring>
456
gap> W := LeftPresentation( wmat );
457
<A left module presented by 6 relations for 5 generators>
458
gap> F := InsertObjectInMultiFunctor( Functor_TensorProduct_for_fp_modules, 2, W, "TensorW" );
459
<The functor TensorW for f.p. modules and their maps over computable rings>
460
gap> G := LeftDualizingFunctor( Qxyz );;
461
gap> II_E := GrothendieckSpectralSequence( F, G, W );
462
<A stable cohomological spectral sequence with sheets at levels
463
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
464
[ 0 .. 3 ]>
465
gap> Display( II_E );
466
The associated transposed spectral sequence:
467

468
a cohomological spectral sequence at bidegrees
469
[ [ 0 .. 3 ], [ -3 .. 0 ] ]
470
---------
471
Level 0:
472

473
 * * * *
474
 * * * *
475
 . * * *
476
 . . * *
477
---------
478
Level 1:
479

480
 * * * *
481
 . . . .
482
 . . . .
483
 . . . .
484
---------
485
Level 2:
486

487
 s s s s
488
 . . . .
489
 . . . .
490
 . . . .
491

492
Now the spectral sequence of the bicomplex:
493

494
a cohomological spectral sequence at bidegrees
495
[ [ -3 .. 0 ], [ 0 .. 3 ] ]
496
---------
497
Level 0:
498

499
 * * * *
500
 * * * *
501
 . * * *
502
 . . * *
503
---------
504
Level 1:
505

506
 * * * *
507
 * * * *
508
 . * * *
509
 . . . *
510
---------
511
Level 2:
512

513
 * * s s
514
 * * * *
515
 . * * *
516
 . . . *
517
---------
518
Level 3:
519

520
 * s s s
521
 . s s s
522
 . . s *
523
 . . . s
524
---------
525
Level 4:
526

527
 s s s s
528
 . s s s
529
 . . s s
530
 . . . s
531
gap> filt := FiltrationBySpectralSequence( II_E, 0 );
532
<A descending filtration with degrees [ -3 .. 0 ] and graded parts:
533

534
-3: <A non-zero cyclic torsion left module presented by yet unknown relations \
535
for a cyclic generator>
536
 -2: <A non-zero left module presented by 17 relations for 6 generators>
537
 -1: <A non-zero left module presented by 23 relations for 10 generators>
538
 0: <A non-zero left module presented by 13 relations for 10 generators>
539
of
540
<A left module presented by yet unknown relations for 41 generators>>
541
gap> ByASmallerPresentation( filt );
542
<A descending filtration with degrees [ -3 .. 0 ] and graded parts:
543

544
-3: <A non-zero cyclic torsion left module presented by 3 relations for a cycl\
545
ic generator>
546
 -2: <A non-zero left module presented by 12 relations for 4 generators>
547
 -1: <A non-zero left module presented by 18 relations for 8 generators>
548
 0: <A non-zero left module presented by 11 relations for 10 generators>
549
of
550
<A non-zero left module presented by 21 relations for 12 generators>>
551
gap> m := IsomorphismOfFiltration( filt );
552
<A non-zero isomorphism of left modules>
553

554
555
556
3.1-5 TorExt
557
558
This is Example B.6 in [Bar].
559
560
 Example 
561
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
562
Q[x,y,z]
563
gap> wmat := HomalgMatrix( "[ \
564
> x*y, y*z, z, 0, 0, \
565
> x^3*z,x^2*z^2,0, x*z^2, -z^2, \
566
> x^4, x^3*z, 0, x^2*z, -x*z, \
567
> 0, 0, x*y, -y^2, x^2-1,\
568
> 0, 0, x^2*z, -x*y*z, y*z, \
569
> 0, 0, x^2*y-x^2,-x*y^2+x*y,y^2-y \
570
> ]", 6, 5, Qxyz );
571
<A 6 x 5 matrix over an external ring>
572
gap> W := LeftPresentation( wmat );
573
<A left module presented by 6 relations for 5 generators>
574
gap> P := Resolution( W );
575
<A right acyclic complex containing 3 morphisms of left modules at degrees 
576
[ 0 .. 3 ]>
577
gap> GP := Hom( P );
578
<A cocomplex containing 3 morphisms of right modules at degrees [ 0 .. 3 ]>
579
gap> FGP := GP * P;
580
<A cocomplex containing 3 morphisms of left complexes at degrees [ 0 .. 3 ]>
581
gap> BC := HomalgBicomplex( FGP );
582
<A bicocomplex containing left modules at bidegrees [ 0 .. 3 ]x[ -3 .. 0 ]>
583
gap> p_degrees := ObjectDegreesOfBicomplex( BC )[1];
584
[ 0 .. 3 ]
585
gap> II_E := SecondSpectralSequenceWithFiltration( BC, p_degrees );
586
<A stable cohomological spectral sequence with sheets at levels 
587
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
588
[ 0 .. 3 ]>
589
gap> Display( II_E );
590
The associated transposed spectral sequence:
591

592
a cohomological spectral sequence at bidegrees
593
[ [ 0 .. 3 ], [ -3 .. 0 ] ]
594
---------
595
Level 0:
596

597
 * * * *
598
 * * * *
599
 * * * *
600
 * * * *
601
---------
602
Level 1:
603

604
 * * * *
605
 . . . .
606
 . . . .
607
 . . . .
608
---------
609
Level 2:
610

611
 s s s s
612
 . . . .
613
 . . . .
614
 . . . .
615

616
Now the spectral sequence of the bicomplex:
617

618
a cohomological spectral sequence at bidegrees
619
[ [ -3 .. 0 ], [ 0 .. 3 ] ]
620
---------
621
Level 0:
622

623
 * * * *
624
 * * * *
625
 * * * *
626
 * * * *
627
---------
628
Level 1:
629

630
 * * * *
631
 * * * *
632
 * * * *
633
 * * * *
634
---------
635
Level 2:
636

637
 * * s s
638
 * * * *
639
 . * * *
640
 . . . *
641
---------
642
Level 3:
643

644
 * s s s
645
 . s s s
646
 . . s *
647
 . . . s
648
---------
649
Level 4:
650

651
 s s s s
652
 . s s s
653
 . . s s
654
 . . . s
655
gap> filt := FiltrationBySpectralSequence( II_E, 0 );
656
<A descending filtration with degrees [ -3 .. 0 ] and graded parts:
657

658
-3: <A non-zero cyclic torsion left module presented by yet unknown relations \
659
for a cyclic generator>
660
 -2: <A non-zero left module presented by 17 relations for 7 generators>
661
 -1: <A non-zero left module presented by 29 relations for 13 generators>
662
 0: <A non-zero left module presented by 13 relations for 10 generators>
663
of
664
<A left module presented by yet unknown relations for 24 generators>>
665
gap> ByASmallerPresentation( filt );
666
<A descending filtration with degrees [ -3 .. 0 ] and graded parts:
667

668
-3: <A non-zero cyclic torsion left module presented by 3 relations for a cycl\
669
ic generator>
670
 -2: <A non-zero left module presented by 12 relations for 4 generators>
671
 -1: <A non-zero left module presented by 21 relations for 8 generators>
672
 0: <A non-zero left module presented by 11 relations for 10 generators>
673
of
674
<A non-zero left module presented by 23 relations for 12 generators>>
675
gap> m := IsomorphismOfFiltration( filt );
676
<A non-zero isomorphism of left modules>
677

678
679
680
3.1-6 CodegreeOfPurity
681
682
This is Example B.7 in [Bar].
683
684
 Example 
685
gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";
686
Q[x,y,z]
687
gap> vmat := HomalgMatrix( "[ \
688
> 0, 0, x,-z, \
689
> x*z,z^2,y,0, \
690
> x^2,x*z,0,y \
691
> ]", 3, 4, Qxyz );
692
<A 3 x 4 matrix over an external ring>
693
gap> V := LeftPresentation( vmat );
694
<A non-torsion left module presented by 3 relations for 4 generators>
695
gap> wmat := HomalgMatrix( "[ \
696
> 0, 0, x,-y, \
697
> x*y,y*z,z,0, \
698
> x^2,x*z,0,z \
699
> ]", 3, 4, Qxyz );
700
<A 3 x 4 matrix over an external ring>
701
gap> W := LeftPresentation( wmat );
702
<A non-torsion left module presented by 3 relations for 4 generators>
703
gap> Rank( V );
704
2
705
gap> Rank( W );
706
2
707
gap> ProjectiveDimension( V );
708
2
709
gap> ProjectiveDimension( W );
710
2
711
gap> DegreeOfTorsionFreeness( V );
712
1
713
gap> DegreeOfTorsionFreeness( W );
714
1
715
gap> CodegreeOfPurity( V );
716
[ 2 ]
717
gap> CodegreeOfPurity( W );
718
[ 1, 1 ]
719
gap> filtV := PurityFiltration( V );
720
<The ascending purity filtration with degrees [ -2 .. 0 ] and graded parts:
721

722
0: <A codegree-[ 2 ]-pure rank 2 left module presented by 3 relations for 4 ge\
723
nerators>
724
 -1: <A zero left module>
725
 -2: <A zero left module>
726
of
727
<A codegree-[ 2 ]-pure rank 2 left module presented by 3 relations for 4 gener\
728
ators>>
729
gap> filtW := PurityFiltration( W );
730
<The ascending purity filtration with degrees [ -2 .. 0 ] and graded parts:
731

732
0: <A codegree-[ 1, 1 ]-pure rank 2 left module presented by 3 relations for 4\
733
 generators>
734
 -1: <A zero left module>
735
 -2: <A zero left module>
736
of
737
<A codegree-[ 1, 1 ]-pure rank 2 left module presented by 3 relations for 4 ge\
738
nerators>>
739
gap> II_EV := SpectralSequence( filtV );
740
<A stable homological spectral sequence with sheets at levels 
741
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
742
[ 0 .. 2 ]>
743
gap> Display( II_EV );
744
The associated transposed spectral sequence:
745

746
a homological spectral sequence at bidegrees
747
[ [ 0 .. 2 ], [ -3 .. 0 ] ]
748
---------
749
Level 0:
750

751
 * * *
752
 * * *
753
 * * *
754
 . * *
755
---------
756
Level 1:
757

758
 * * *
759
 . . .
760
 . . .
761
 . . .
762
---------
763
Level 2:
764

765
 s . .
766
 . . .
767
 . . .
768
 . . .
769

770
Now the spectral sequence of the bicomplex:
771

772
a homological spectral sequence at bidegrees
773
[ [ -3 .. 0 ], [ 0 .. 2 ] ]
774
---------
775
Level 0:
776

777
 * * * *
778
 * * * *
779
 . * * *
780
---------
781
Level 1:
782

783
 * * * *
784
 * * * *
785
 . . * *
786
---------
787
Level 2:
788

789
 * . . .
790
 * . . .
791
 . . * *
792
---------
793
Level 3:
794

795
 * . . .
796
 . . . .
797
 . . . *
798
---------
799
Level 4:
800

801
 . . . .
802
 . . . .
803
 . . . s
804
gap> II_EW := SpectralSequence( filtW );
805
<A stable homological spectral sequence with sheets at levels 
806
[ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
807
[ 0 .. 2 ]>
808
gap> Display( II_EW ); 
809
The associated transposed spectral sequence:
810

811
a homological spectral sequence at bidegrees
812
[ [ 0 .. 2 ], [ -3 .. 0 ] ]
813
---------
814
Level 0:
815

816
 * * *
817
 * * *
818
 . * *
819
 . . *
820
---------
821
Level 1:
822

823
 * * *
824
 . . .
825
 . . .
826
 . . .
827
---------
828
Level 2:
829

830
 s . .
831
 . . .
832
 . . .
833
 . . .
834

835
Now the spectral sequence of the bicomplex:
836

837
a homological spectral sequence at bidegrees
838
[ [ -3 .. 0 ], [ 0 .. 2 ] ]
839
---------
840
Level 0:
841

842
 * * * *
843
 . * * *
844
 . . * *
845
---------
846
Level 1:
847

848
 * * * *
849
 . * * *
850
 . . . *
851
---------
852
Level 2:
853

854
 * . . .
855
 . * . .
856
 . . . *
857
---------
858
Level 3:
859

860
 * . . .
861
 . . . .
862
 . . . *
863
---------
864
Level 4:
865

866
 . . . .
867
 . . . .
868
 . . . s
869

870
871
872
3.1-7 HomHom
873
874
This corresponds to the example of Section 2 in [BR06].
875
876
 Example 
877
gap> R := HomalgRingOfIntegersInExternalGAP( ) / 2^8;
878
Z/( 256 )
879
gap> Display( R );
880
<A residue class ring>
881
gap> M := LeftPresentation( [ 2^5 ], R );
882
<A cyclic left module presented by 1 relation for a cyclic generator>
883
gap> Display( M );
884
Z/( 256 )/< |[ 32 ]| > 
885
gap> M;
886
<A cyclic left module presented by 1 relation for a cyclic generator>
887
gap> _M := LeftPresentation( [ 2^3 ], R );
888
<A cyclic left module presented by 1 relation for a cyclic generator>
889
gap> Display( _M );
890
Z/( 256 )/< |[ 8 ]| > 
891
gap> _M;
892
<A cyclic left module presented by 1 relation for a cyclic generator>
893
gap> alpha2 := HomalgMap( [ 1 ], M, _M );
894
<A "homomorphism" of left modules>
895
gap> IsMorphism( alpha2 );
896
true
897
gap> alpha2;
898
<A homomorphism of left modules>
899
gap> Display( alpha2 );
900
[ [ 1 ] ]
901

902
modulo [ 256 ]
903

904
the map is currently represented by the above 1 x 1 matrix
905
gap> M_ := Kernel( alpha2 );
906
<A cyclic left module presented by yet unknown relations for a cyclic generato\
907
r>
908
gap> alpha1 := KernelEmb( alpha2 );
909
<A monomorphism of left modules>
910
gap> seq := HomalgComplex( alpha2 );
911
<An acyclic complex containing a single morphism of left modules at degrees 
912
[ 0 .. 1 ]>
913
gap> Add( seq, alpha1 );
914
gap> seq;
915
<A sequence containing 2 morphisms of left modules at degrees [ 0 .. 2 ]>
916
gap> IsShortExactSequence( seq );
917
true
918
gap> seq;
919
<A short exact sequence containing 2 morphisms of left modules at degrees 
920
[ 0 .. 2 ]>
921
gap> Display( seq );
922
-------------------------
923
at homology degree: 2
924
Z/( 256 )/< |[ 4 ]| > 
925
-------------------------
926
[ [ 24 ] ]
927

928
modulo [ 256 ]
929

930
the map is currently represented by the above 1 x 1 matrix
931
------------v------------
932
at homology degree: 1
933
Z/( 256 )/< |[ 32 ]| > 
934
-------------------------
935
[ [ 1 ] ]
936

937
modulo [ 256 ]
938

939
the map is currently represented by the above 1 x 1 matrix
940
------------v------------
941
at homology degree: 0
942
Z/( 256 )/< |[ 8 ]| > 
943
-------------------------
944
gap> K := LeftPresentation( [ 2^7 ], R );
945
<A cyclic left module presented by 1 relation for a cyclic generator>
946
gap> L := RightPresentation( [ 2^4 ], R );
947
<A cyclic right module on a cyclic generator satisfying 1 relation>
948
gap> triangle := LHomHom( 4, seq, K, L, "t" );
949
<An exact triangle containing 3 morphisms of left complexes at degrees 
950
[ 1, 2, 3, 1 ]>
951
gap> lehs := LongSequence( triangle );
952
<A sequence containing 14 morphisms of left modules at degrees [ 0 .. 14 ]>
953
gap> ByASmallerPresentation( lehs );
954
<A non-zero sequence containing 14 morphisms of left modules at degrees 
955
[ 0 .. 14 ]>
956
gap> IsExactSequence( lehs );
957
false
958
gap> lehs;
959
<A non-zero left acyclic complex containing 
960
14 morphisms of left modules at degrees [ 0 .. 14 ]>
961
gap> Assert( 0, IsLeftAcyclic( lehs ) );
962
gap> Display( lehs );
963
-------------------------
964
at homology degree: 14
965
Z/( 256 )/< |[ 4 ]| > 
966
-------------------------
967
[ [ 4 ] ]
968

969
modulo [ 256 ]
970

971
the map is currently represented by the above 1 x 1 matrix
972
------------v------------
973
at homology degree: 13
974
Z/( 256 )/< |[ 8 ]| > 
975
-------------------------
976
[ [ 2 ] ]
977

978
modulo [ 256 ]
979

980
the map is currently represented by the above 1 x 1 matrix
981
------------v------------
982
at homology degree: 12
983
Z/( 256 )/< |[ 8 ]| > 
984
-------------------------
985
[ [ 2 ] ]
986

987
modulo [ 256 ]
988

989
the map is currently represented by the above 1 x 1 matrix
990
------------v------------
991
at homology degree: 11
992
Z/( 256 )/< |[ 4 ]| > 
993
-------------------------
994
[ [ 4 ] ]
995

996
modulo [ 256 ]
997

998
the map is currently represented by the above 1 x 1 matrix
999
------------v------------
1000
at homology degree: 10
1001
Z/( 256 )/< |[ 8 ]| > 
1002
-------------------------
1003
[ [ 2 ] ]
1004

1005
modulo [ 256 ]
1006

1007
the map is currently represented by the above 1 x 1 matrix
1008
------------v------------
1009
at homology degree: 9
1010
Z/( 256 )/< |[ 8 ]| > 
1011
-------------------------
1012
[ [ 2 ] ]
1013

1014
modulo [ 256 ]
1015

1016
the map is currently represented by the above 1 x 1 matrix
1017
------------v------------
1018
at homology degree: 8
1019
Z/( 256 )/< |[ 4 ]| > 
1020
-------------------------
1021
[ [ 4 ] ]
1022

1023
modulo [ 256 ]
1024

1025
the map is currently represented by the above 1 x 1 matrix
1026
------------v------------
1027
at homology degree: 7
1028
Z/( 256 )/< |[ 8 ]| > 
1029
-------------------------
1030
[ [ 2 ] ]
1031

1032
modulo [ 256 ]
1033

1034
the map is currently represented by the above 1 x 1 matrix
1035
------------v------------
1036
at homology degree: 6
1037
Z/( 256 )/< |[ 8 ]| > 
1038
-------------------------
1039
[ [ 2 ] ]
1040

1041
modulo [ 256 ]
1042

1043
the map is currently represented by the above 1 x 1 matrix
1044
------------v------------
1045
at homology degree: 5
1046
Z/( 256 )/< |[ 4 ]| > 
1047
-------------------------
1048
[ [ 4 ] ]
1049

1050
modulo [ 256 ]
1051

1052
the map is currently represented by the above 1 x 1 matrix
1053
------------v------------
1054
at homology degree: 4
1055
Z/( 256 )/< |[ 8 ]| > 
1056
-------------------------
1057
[ [ 2 ] ]
1058

1059
modulo [ 256 ]
1060

1061
the map is currently represented by the above 1 x 1 matrix
1062
------------v------------
1063
at homology degree: 3
1064
Z/( 256 )/< |[ 8 ]| > 
1065
-------------------------
1066
[ [ 2 ] ]
1067

1068
modulo [ 256 ]
1069

1070
the map is currently represented by the above 1 x 1 matrix
1071
------------v------------
1072
at homology degree: 2
1073
Z/( 256 )/< |[ 4 ]| > 
1074
-------------------------
1075
[ [ 8 ] ]
1076

1077
modulo [ 256 ]
1078

1079
the map is currently represented by the above 1 x 1 matrix
1080
------------v------------
1081
at homology degree: 1
1082
Z/( 256 )/< |[ 16 ]| > 
1083
-------------------------
1084
[ [ 1 ] ]
1085

1086
modulo [ 256 ]
1087

1088
the map is currently represented by the above 1 x 1 matrix
1089
------------v------------
1090
at homology degree: 0
1091
Z/( 256 )/< |[ 8 ]| > 
1092
-------------------------
1093

1094
1095
1096
3.2 Commutative Algebra
1097
1098
1099
3.2-1 Eliminate
1100
1101
 Example 
1102
gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z,l,m";
1103
Q[x,y,z,l,m]
1104
gap> var := Indeterminates( R );
1105
[ x, y, z, l, m ]
1106
gap> x := var[1];; y := var[2];; z := var[3];; l := var[4];; m := var[5];;
1107
gap> L := [ x*m+l-4, y*m+l-2, z*m-l+1, x^2+y^2+z^2-1, x+y-z ];
1108
[ x*m+l-4, y*m+l-2, z*m-l+1, x^2+y^2+z^2-1, x+y-z ]
1109
gap> e := Eliminate( L, [ l, m ] );
1110
<A ? x 1 matrix over an external ring>
1111
gap> Display( e );
1112
4*y+z, 
1113
4*x-5*z,
1114
21*z^2-8
1115
gap> I := LeftSubmodule( e );
1116
<A torsion-free (left) ideal given by 3 generators>
1117
gap> Display( I );
1118
4*y+z, 
1119
4*x-5*z,
1120
21*z^2-8
1121

1122
A (left) ideal generated by the 3 entries of the above matrix
1123
gap> J := LeftSubmodule( "x+y-z, -2*z-3*y+x, x^2+y^2+z^2-1", R );
1124
<A torsion-free (left) ideal given by 3 generators>
1125
gap> I = J;
1126
true
1127

1128
1129
1130