Skip to content

Commit

Permalink
updated Dmodule packages to use LeftIdeal
Browse files Browse the repository at this point in the history
  • Loading branch information
mahrud committed Dec 7, 2023
1 parent 80a2cc2 commit b7099d8
Show file tree
Hide file tree
Showing 28 changed files with 326 additions and 329 deletions.
166 changes: 78 additions & 88 deletions M2/Macaulay2/packages/BernsteinSato/DHom.m2

Large diffs are not rendered by default.

50 changes: 25 additions & 25 deletions M2/Macaulay2/packages/BernsteinSato/DOC/DHom.m2
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ document {
TO [Dresolution,Strategy]
}
document {
Key => {DHom, (DHom,Module,Module), (DHom,Module,Module,List), (DHom,Ideal,Ideal)},
Key => {DHom, (DHom,Module,Module), (DHom,Module,Module,List), (DHom,LeftIdeal,LeftIdeal)},
Headline=>"D-homomorphisms between holonomic D-modules",
Usage => "DHom(M,N), DHom(M,N,w), DHom(I,J)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"N" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"J" => Ideal => {"which represents the module ", EM "N = D/J"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"J" => LeftIdeal => {"which represents the module ", EM "N = D/J"},
"w" => List => "a positive weight vector"
},
Outputs => {
Expand All @@ -37,8 +37,8 @@ document {
the restriction algorithm."},
EXAMPLE lines ///
W = QQ[x, D, WeylAlgebra=>{x=>D}]
M = W^1/ideal(D-1)
N = W^1/ideal((D-1)^2)
M = coker gens ideal(D-1)
N = coker gens ideal((D-1)^2)
DHom(M,N)
///,
Caveat => {"Input modules ", EM "M", ", ", EM "N", ", ",
Expand Down Expand Up @@ -102,8 +102,8 @@ document {
the restriction algorithm."},
EXAMPLE lines ///
W = QQ[x, D, WeylAlgebra=>{x=>D}]
M = W^1/ideal(x*(D-1))
N = W^1/ideal((D-1)^2)
M = coker gens ideal(x*(D-1))
N = coker gens ideal((D-1)^2)
DExt(M,N)
///,
Caveat =>{
Expand All @@ -115,12 +115,12 @@ document {
}

document {
Key => {Ddual, (Ddual,Module), (Ddual,Ideal)},
Key => {Ddual, (Ddual,Module), (Ddual,LeftIdeal)},
Headline => "holonomic dual of a D-module",
Usage => "Ddual M, Ddual I",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"}
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"}
},
Outputs => {
Module => {"the holonomic dual of ", EM "M"}
Expand Down Expand Up @@ -148,12 +148,12 @@ document {
TO [Dresolution,Strategy]
}
document {
Key => {polynomialExt, (polynomialExt,Module), (polynomialExt,ZZ,Ideal), (polynomialExt,ZZ,Module), (polynomialExt,Ideal)},
Key => {polynomialExt, (polynomialExt,Module), (polynomialExt,ZZ,LeftIdeal), (polynomialExt,ZZ,Module), (polynomialExt,LeftIdeal)},
Headline => "Ext groups between a holonomic module and a polynomial ring",
Usage => "polynomialExt M, polynomialExt I; rationalFunctionExt(i,M), rationalFunctionExt(i,I)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"i" => ZZ => "nonnegative"
},
Outputs => {
Expand All @@ -172,7 +172,7 @@ document {
the restriction algorithm."},
EXAMPLE lines ///
W = QQ[x, D, WeylAlgebra=>{x=>D}]
M = W^1/ideal(x^2*D^2)
M = coker gens ideal(x^2*D^2)
polynomialExt(M)
///,
Caveat =>{"Does not yet compute explicit representations of
Expand All @@ -187,15 +187,15 @@ document {
}

document {
Key => {rationalFunctionExt, (rationalFunctionExt,Module), (rationalFunctionExt,ZZ,Ideal,RingElement), (rationalFunctionExt,ZZ,Ideal),
(rationalFunctionExt,Ideal,RingElement), (rationalFunctionExt,Ideal),(rationalFunctionExt,ZZ,Module,RingElement),
Key => {rationalFunctionExt, (rationalFunctionExt,Module), (rationalFunctionExt,ZZ,LeftIdeal,RingElement), (rationalFunctionExt,ZZ,LeftIdeal),
(rationalFunctionExt,LeftIdeal,RingElement), (rationalFunctionExt,LeftIdeal),(rationalFunctionExt,ZZ,Module,RingElement),
(rationalFunctionExt,ZZ,Module), (rationalFunctionExt,Module,RingElement)},
Headline => "Ext(holonomic D-module, polynomial ring localized at the singular locus)",
Usage => "rationalFunctionExt M, rationalFunctionExt I; rationalFunctionExt(M,f), rationalFunctionExt(I,f);
rationalFunctionExt(i,M), rationalFunctionExt(i,I); rationalFunctionExt(i,M,f), rationalFunctionExt(i,I,f)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"f" => RingElement => "a polynomial",
"i" => ZZ => "nonnegative"
},
Expand All @@ -215,7 +215,7 @@ document {
the restriction algorithm."},
EXAMPLE lines ///
W = QQ[x, D, WeylAlgebra=>{x=>D}]
M = W^1/ideal(x*D+5)
M = coker gens ideal(x*D+5)
rationalFunctionExt M
///,
Caveat =>{"Input modules M or D/I should be holonomic."},
Expand All @@ -226,9 +226,9 @@ doc ///
Key
polynomialSolutions
(polynomialSolutions,Module)
(polynomialSolutions,Ideal,List)
(polynomialSolutions,LeftIdeal,List)
(polynomialSolutions,Module,List)
(polynomialSolutions,Ideal)
(polynomialSolutions,LeftIdeal)
Headline
polynomial solutions of a holonomic system
Usage
Expand All @@ -239,7 +239,7 @@ doc ///
Inputs
M:Module
over the Weyl algebra $D$
I:Ideal
I:LeftIdeal
holonomic ideal in the Weyl algebra $D$
w:List
a weight vector
Expand Down Expand Up @@ -292,11 +292,11 @@ document {
doc ///
Key
rationalFunctionSolutions
(rationalFunctionSolutions,Ideal,List,List)
(rationalFunctionSolutions,Ideal,RingElement,List)
(rationalFunctionSolutions,Ideal,List)
(rationalFunctionSolutions,Ideal,RingElement)
(rationalFunctionSolutions,Ideal)
(rationalFunctionSolutions,LeftIdeal,List,List)
(rationalFunctionSolutions,LeftIdeal,RingElement,List)
(rationalFunctionSolutions,LeftIdeal,List)
(rationalFunctionSolutions,LeftIdeal,RingElement)
(rationalFunctionSolutions,LeftIdeal)
Headline
rational solutions of a holonomic system
Usage
Expand All @@ -306,7 +306,7 @@ doc ///
rationalFunctionSolutions(I,ff)
rationalFunctionSolutions(I,ff,w)
Inputs
I:Ideal
I:LeftIdeal
holonomic ideal in the Weyl algebra @EM "D"@
f:RingElement
a polynomial
Expand Down
6 changes: 3 additions & 3 deletions M2/Macaulay2/packages/BernsteinSato/DOC/Dlocalize.m2
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ document {

EXAMPLE lines ///
W = QQ[x,y,Dx,Dy, WeylAlgebra => {x=>Dx,y=>Dy}]
M = W^1/(ideal(x*Dx+1, Dy))
M = coker gens ideal(x*Dx+1, Dy)
f = x^2-y^3
Mf = Dlocalize(M, f)
///,
Expand All @@ -61,7 +61,7 @@ document {
" that computes the localization map.",
EXAMPLE lines ///
W = QQ[x,y,Dx,Dy, WeylAlgebra => {x=>Dx,y=>Dy}]
M = W^1/(ideal(x*Dx+1, Dy))
M = coker gens ideal(x*Dx+1, Dy)
f = x^2-y^3
DlocalizeMap(M, f)
///,
Expand Down Expand Up @@ -105,7 +105,7 @@ doc ///
$s$ such that (the images of) the generators of $M$ are $f^{-s}$ times the generators of $M_f$.
Example
W = makeWeylAlgebra(QQ[x,y])
M = W^1/ideal(x*dx + 1, dy)
M = coker gens ideal(x*dx + 1, dy)
f = x^2 - y^3
Mfall = DlocalizeAll(M, f)
gens image Mfall.LocMap == f^(-Mfall.GeneratorPower) * gens Mfall.LocModule
Expand Down
58 changes: 29 additions & 29 deletions M2/Macaulay2/packages/BernsteinSato/DOC/Drestriction.m2
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ document {
}

document {
Key => {Dresolution, (Dresolution,Module), (Dresolution,Ideal,List),
(Dresolution,Module,List), (Dresolution,Ideal)},
Key => {Dresolution, (Dresolution,Module), (Dresolution,LeftIdeal,List),
(Dresolution,Module,List), (Dresolution,LeftIdeal)},
Headline => "resolution of a D-module",
Usage => "Dresolution M, Dresolution I, Dresolution(M,w), Dresolution(I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Expand Down Expand Up @@ -81,14 +81,14 @@ document {
}

document {
Key => {Drestriction, (Drestriction,ZZ,Module,List), (Drestriction,Ideal,List),
(Drestriction,Module,List), (Drestriction,ZZ,Ideal,List)},
Key => {Drestriction, (Drestriction,ZZ,Module,List), (Drestriction,LeftIdeal,List),
(Drestriction,Module,List), (Drestriction,ZZ,LeftIdeal,List)},
Headline => "restriction modules of a D-module",
Usage => "N = Drestriction(M,w), NI = Drestriction(I,w), Ni = Drestriction(i,M,w),
NIi = Drestriction(i,I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector",
"i" => ZZ => "nonnegative"
},
Expand Down Expand Up @@ -131,15 +131,15 @@ document {
}

document {
Key => {DrestrictionIdeal, (DrestrictionIdeal, Ideal, List)},
Key => {DrestrictionIdeal, (DrestrictionIdeal, LeftIdeal, List)},
Headline => "restriction ideal of a D-module",
Usage => "DrestrictionIdeal(I,w)",
Inputs => {
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Ideal => {"the restriction ideal of ", EM "M", " w.r.t. the weight vector ", EM "w"}
LeftIdeal => {"the restriction ideal of ", EM "M", " w.r.t. the weight vector ", EM "w"}
},
"A supplementary function for ", TO "Drestriction",
" that computes the restriction ideal.",
Expand All @@ -156,12 +156,12 @@ document {
}

document {
Key => {DrestrictionAll, (DrestrictionAll, Module, List), (DrestrictionAll, Ideal, List)},
Key => {DrestrictionAll, (DrestrictionAll, Module, List), (DrestrictionAll, LeftIdeal, List)},
Headline => "restriction modules of a D-module (extended version)",
Usage => "N = DrestrictionAll(M,w), NI = DrestrictionAll(I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Expand All @@ -184,12 +184,12 @@ document {
}

document {
Key => {DrestrictionComplex, (DrestrictionComplex, Module, List), (DrestrictionComplex, Ideal, List)},
Key => {DrestrictionComplex, (DrestrictionComplex, Module, List), (DrestrictionComplex, LeftIdeal, List)},
Headline => "derived restriction complex of a D-module",
Usage => "N = DrestrictionComplex(M,w), NI = DrestrictionComplex(I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Expand All @@ -212,14 +212,14 @@ document {


document {
Key => {DrestrictionClasses, (DrestrictionClasses,ZZ,Module,List), (DrestrictionClasses,Ideal,List), (DrestrictionClasses,Module,List),
(DrestrictionClasses,ZZ,Ideal,List)},
Key => {DrestrictionClasses, (DrestrictionClasses,ZZ,Module,List), (DrestrictionClasses,LeftIdeal,List), (DrestrictionClasses,Module,List),
(DrestrictionClasses,ZZ,LeftIdeal,List)},
Headline => "restriction classes of a D-module",
Usage => "N = DrestrictionClasses(M,w), NI = DrestrictionClasses(I,w), Ni = DrestrictionClasses(i,M,w),
NIi = DrestrictionClasses(i,I,w), ",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector",
"i" => ZZ => "nonnegative"
},
Expand Down Expand Up @@ -297,14 +297,14 @@ document {
}

document {
Key => { Dintegration, (Dintegration,ZZ,Module,List), (Dintegration,Ideal,List),
(Dintegration,Module,List), (Dintegration,ZZ,Ideal,List) },
Key => { Dintegration, (Dintegration,ZZ,Module,List), (Dintegration,LeftIdeal,List),
(Dintegration,Module,List), (Dintegration,ZZ,LeftIdeal,List) },
Headline => "integration modules of a D-module",
Usage => "N = Dintegration(M,w), NI = Dintegration(I,w), Ni = Dintegration(i,M,w),
NIi = Dintegration(i,I,w), ",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector",
"i" => ZZ => "nonnegative"
},
Expand Down Expand Up @@ -344,15 +344,15 @@ document {
}

document {
Key => {DintegrationIdeal, (DintegrationIdeal, Ideal, List)},
Key => {DintegrationIdeal, (DintegrationIdeal, LeftIdeal, List)},
Headline => "integration ideal of a D-module",
Usage => "DintegrationIdeal(I,w)",
Inputs => {
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Ideal => {"the integration ideal of ", EM "M", " w.r.t. the weight vector ", EM "w"}
LeftIdeal => {"the integration ideal of ", EM "M", " w.r.t. the weight vector ", EM "w"}
},
"A supplementary function for ", TO "Dintegration",
" that computes the integration ideal.",
Expand All @@ -369,12 +369,12 @@ document {
}

document {
Key => {DintegrationAll, (DintegrationAll, Module, List), (DintegrationAll, Ideal, List)},
Key => {DintegrationAll, (DintegrationAll, Module, List), (DintegrationAll, LeftIdeal, List)},
Headline => "integration modules of a D-module (extended version)",
Usage => "N = DintegrationAll(M,w), NI = DintegrationAll(I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Expand All @@ -397,12 +397,12 @@ document {
}

document {
Key => {DintegrationComplex, (DintegrationComplex, Module, List), (DintegrationComplex, Ideal, List)},
Key => {DintegrationComplex, (DintegrationComplex, Module, List), (DintegrationComplex, LeftIdeal, List)},
Headline => "derived integration complex of a D-module",
Usage => "N = DintegrationComplex(M,w), NI = DintegrationComplex(I,w)",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector"
},
Outputs => {
Expand All @@ -425,14 +425,14 @@ document {


document {
Key => {DintegrationClasses, (DintegrationClasses,ZZ,Module,List), (DintegrationClasses,Ideal,List), (DintegrationClasses,Module,List),
(DintegrationClasses,ZZ,Ideal,List)},
Key => {DintegrationClasses, (DintegrationClasses,ZZ,Module,List), (DintegrationClasses,LeftIdeal,List), (DintegrationClasses,Module,List),
(DintegrationClasses,ZZ,LeftIdeal,List)},
Headline => "integration classes of a D-module",
Usage => "N = DintegrationClasses(M,w), NI = DintegrationClasses(I,w), Ni = DintegrationClasses(i,M,w),
NIi = DintegrationClasses(i,I,w), ",
Inputs => {
"M" => Module => {"over the Weyl algebra ", EM "D"},
"I" => Ideal => {"which represents the module ", EM "M = D/I"},
"I" => LeftIdeal => {"which represents the module ", EM "M = D/I"},
"w" => List => "a weight vector",
"i" => ZZ => "nonnegative"
},
Expand Down
8 changes: 4 additions & 4 deletions M2/Macaulay2/packages/BernsteinSato/DOC/WeylClosure.m2
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
doc ///
Key
WeylClosure
(WeylClosure, Ideal)
(WeylClosure, Ideal, RingElement)
(WeylClosure, LeftIdeal)
(WeylClosure, LeftIdeal, RingElement)
Headline
Weyl closure of an ideal
Usage
WeylClosure I
WeylClosure(I,f)
Inputs
I:Ideal
I:LeftIdeal
a left ideal of the Weyl Algebra
f:RingElement
a polynomial
Outputs
:Ideal
:LeftIdeal
the Weyl closure (w.r.t. $f$) of $I$
Description
Text
Expand Down
Loading

0 comments on commit b7099d8

Please sign in to comment.