In Polynomials.jl, we can use an OffsetArray to easily construct Laurent polynomials:
julia> using OffsetArrays
julia> using Polynomials
julia> o = OffsetArrays{Float64}(ones(5), -1:3)
julia> p = LaurentPolynomial(o)
LaurentPolynomial(1.0*x⁻¹ + 1.0 + 1.0*x + 1.0*x² + 1.0*x³)
However, I cannot do the same for an OffsetMatrix with MultivariatePolynomials. Reading through the documentation, it appears the this library is more focuses on very sophisticated manipulations on polynomials that you could type out by hand, rather than large polynomials whose coefficients are stored in a matrix-so hopefully this issue is not too annoying. However, I felt like it might be natural to type something like the following, as well as increase compatibility with the univariate case:
julia> using OffsetArrays
julia> using MultivariatePolynomials
julia> o = OffsetMatrix{Float64}(ones(5), ones(5), -1:1, -1:1)
julia> p = MultivariateLaurentPolynomial(o, x, y)
MultivariateLaurentPolynomial(1.0*x⁻¹ y⁻¹ + 1.0x⁻¹ + 1.0*y⁻¹ + 1.0 + 1.0*x + 1.0*y + 1.0*xy)
In Polynomials.jl, we can use an
OffsetArrayto easily construct Laurent polynomials:However, I cannot do the same for an
OffsetMatrixwithMultivariatePolynomials. Reading through the documentation, it appears the this library is more focuses on very sophisticated manipulations on polynomials that you could type out by hand, rather than large polynomials whose coefficients are stored in a matrix-so hopefully this issue is not too annoying. However, I felt like it might be natural to type something like the following, as well as increase compatibility with the univariate case: