-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extending GB for modules to non-commutative #827
Conversation
""" | ||
(R::PolyRing{T})(m::libSingular.poly,::Val{:vector}) where T | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There really should be an empty line here.
@@ -38,7 +38,7 @@ function checkbounds(I::smodule, i::Int) | |||
(i > ngens(I) || i < 1) && throw(BoundsError(I, i)) | |||
end | |||
|
|||
function getindex(I::smodule{T}, i::Int) where T <: AbstractAlgebra.RingElem | |||
function getindex(I::smodule{T}, i::Int) where T |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe
function getindex(I::smodule{T}, i::Int) where T | |
function getindex(I::smodule{T}, i::Int) where T <: Nemo.NCRingElem |
function *(a::svector{Singular.spluralg{T}}, b::Singular.spluralg{T}) where T <: AbstractAlgebra.RingElem | ||
base_ring(a) != parent(b) && error("Incompatible base rings") | ||
R = base_ring(a) | ||
s = GC.@preserve a b R libSingular.pp_Mult_qq(a.ptr, b.ptr, R.ptr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is libSingular.pp_Mult_qq
the correct function to call here? Maybe @hannes14 can comment
function *(b::Singular.spluralg{T}, a::svector{Singular.spluralg{T}}) where T | ||
base_ring(a) != parent(b) && error("Incompatible base rings") | ||
R = base_ring(a) | ||
s = GC.@preserve a b R libSingular.pp_Mult_qq(a.ptr, b.ptr, R.ptr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same question here: is this the right function to call here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, pp_Mult_qq (and most other p_,pp_ routines) work for all types of Singular rings.
This is a draft for extending Groebner basis machinery for submodules to non-commutative rings. This is to support the pull request #3900 in Oscar.jl