diff --git a/src/ideal/ideal.jl b/src/ideal/ideal.jl index a37e8e488..d2e642520 100644 --- a/src/ideal/ideal.jl +++ b/src/ideal/ideal.jl @@ -539,6 +539,7 @@ end function Ideal(R::PolyRing{T}, ids::spoly{T}...) where T <: Nemo.RingElem S = elem_type(R) + length(ids) == 0 && return sideal{S}(R, R(0)) return sideal{S}(R, ids...) end diff --git a/src/matrix/matrix.jl b/src/matrix/matrix.jl index 678e2c779..699c368c4 100644 --- a/src/matrix/matrix.jl +++ b/src/matrix/matrix.jl @@ -157,7 +157,11 @@ function *(p::spoly{T}, M::smatrix{spoly{T}}) where T <: AbstractAlgebra.RingEle x = libSingular.mp_Copy(M.ptr, R.ptr) y = libSingular.p_Copy(p.ptr, R.ptr) ptr = libSingular.mp_MultP(x, y, R.ptr) - return smatrix{T}(R, ptr) + return smatrix{spoly{T}}(R, ptr) +end + +function *(M::smatrix{spoly{T}}, p::spoly{T}) where T <: AbstractAlgebra.RingElem + return p*M end function *(i::Int, M::smatrix{T}) where T <: AbstractAlgebra.RingElem diff --git a/src/poly/poly.jl b/src/poly/poly.jl index 20c3cba96..163c2db98 100644 --- a/src/poly/poly.jl +++ b/src/poly/poly.jl @@ -907,7 +907,7 @@ function jacobian_matrix(p::spoly) end @doc Markdown.doc""" - jacobian_matrix(A::Array{spoly, 1}) + jacobian_matrix(A::Vector{spoly, 1}) > Given an array $A$ of polynomials over the same base ring, > this function returns the Jacobian matrix of $A$. """ diff --git a/test/ideal/sideal-test.jl b/test/ideal/sideal-test.jl index 625acf647..f7dbb5e24 100644 --- a/test/ideal/sideal-test.jl +++ b/test/ideal/sideal-test.jl @@ -35,7 +35,7 @@ end I0 = Ideal(R) I1 = Ideal(R, x, y) - @test ngens(I0) == 0 + @test ngens(I0) == 1 @test ngens(I1) == 2 @test x in gens(I1) && y in gens(I1)