Skip to content
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

Creation of Matrix of RationalFunctions throws DivideError #598

Open
Fabi293 opened this issue Feb 27, 2025 · 2 comments
Open

Creation of Matrix of RationalFunctions throws DivideError #598

Fabi293 opened this issue Feb 27, 2025 · 2 comments

Comments

@Fabi293
Copy link

Fabi293 commented Feb 27, 2025

using Polynomials


x = Polynomial([0,1])
A = (1.0 + 2.0*x^2) // (1.0 + 2.0*x^2)
B = (0.0) // (1.0 + 2.0*x^2)
C = (3.0*x) // (1.0 + 2.0*x^2)
D = (1.0 + 2.0*x^2) // (1.0 + 2.0*x^2)

if true  # Should do the same as the else case but fails
	[A B; C D]
else  # works and should do the same
	a = [A B]
	b = [C D]
	[a;b]
end

Somehow this code makes an error, but the else case, which should do the same, works:

ERROR: DivideError: integer division error
Stacktrace:
[1] divrem(num::Polynomial{Float64, :x}, den::Polynomial{Float64, :x})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\polynomials\standard-basis\standard-basis.jl:198
[2] ngcd(::Polynomial{Float64, :x}, ::Polynomial{Float64, :x}; kwargs::@kwargs{})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\polynomials\ngcd.jl:20
[3] ngcd(::Polynomial{Float64, :x}, ::Polynomial{Float64, :x})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\polynomials\ngcd.jl:11
[4] ngcd(::Polynomial{Float64, :x}, ::Polynomial{Float64, :x}; kwargs::@kwargs{})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\polynomials\ngcd.jl:16
[5] ngcd
@ $USER.julia\packages\Polynomials\MS0TY\src\polynomials\ngcd.jl:11 [inlined]
[6] #uvw#130
@ $USER.julia\packages\Polynomials\MS0TY\src\polynomials\standard-basis\standard-basis.jl:349 [inlined]
[7] uvw
@ $USER.julia\packages\Polynomials\MS0TY\src\polynomials\standard-basis\standard-basis.jl:348 [inlined]
[8] uvw(p::Polynomial{Float64, :x}, q::Polynomial{Float64, :x}; method::Symbol, kwargs::@kwargs{})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\polynomials\standard-basis\standard-basis.jl:343
[9] uvw
@ $USER.julia\packages\Polynomials\MS0TY\src\polynomials\standard-basis\standard-basis.jl:343 [inlined]
[10] lowest_terms(pq::RationalFunction{Float64, :x, Polynomial{Float64, :x}}; method::Symbol, kwargs::@kwargs{})
@ Polynomials $USER.julia\packages\Polynomials\MS0TY\src\rational-functions\common.jl:424
[11] lowest_terms
@ $USER.julia\packages\Polynomials\MS0TY\src\rational-functions\common.jl:420 [inlined]
[12] #isconstant#182
@ $USER.julia\packages\Polynomials\MS0TY\src\rational-functions\common.jl:191 [inlined]
[13] isconstant
@ $USER.julia\packages\Polynomials\MS0TY\src\rational-functions\common.jl:190 [inlined]
[14] convert
@ $USER.julia\packages\Polynomials\MS0TY\src\rational-functions\common.jl:38 [inlined]
[15] fill!(A::SubArray{RationalFunction{…}, 2, Matrix{…}, Tuple{…}, false}, x::RationalFunction{Float64, :x, Polynomial{…}})
@ Base .\multidimensional.jl:1142
[16] _copy_or_fill!
@ .\abstractarray.jl:1856 [inlined]
[17] __cat_offset1!
@ .\abstractarray.jl:1849 [inlined]
[18] __cat_offset!
@ .\abstractarray.jl:1840 [inlined]
[19] __cat_offset!
@ .\abstractarray.jl:1841 [inlined]
[20] __cat
@ .\abstractarray.jl:1836 [inlined]
[21] _cat_t
@ .\abstractarray.jl:1829 [inlined]
[22] typed_hcat(::Type{…}, ::RationalFunction{…}, ::RationalFunction{…})
@ Base .\abstractarray.jl:1971
[23] typed_hvcat(::Type{…}, ::Tuple{…}, ::RationalFunction{…}, ::Vararg{…})
@ Base .\abstractarray.jl:2266
[24] hvcat(::Tuple{…}, ::RationalFunction{…}, ::RationalFunction{…}, ::Vararg{…})
@ Base .\abstractarray.jl:2246
[25] top-level scope
@ $PATH:11
Some type information was truncated. Use show(err) to see complete types.

@jverzani
Copy link
Member

Thanks for this report. I hope to get time to look at it soon.

jverzani added a commit to jverzani/Polynomials.jl that referenced this issue Feb 28, 2025
@jverzani
Copy link
Member

Thanks again. Fix coming soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants