Skip to content

Releases: oscar-system/Polymake.jl

v0.4.2

01 Jun 14:08
3fd128c
Compare
Choose a tag to compare

Polymake v0.4.2

Diff since v0.4.1

Closed issues:

  • json docs are very short (#269)
  • Find out which version of polymake we're running (#272)
  • Cannot construct topaz.vietoris_rips_filtration (#280)
  • wipe polymake_user/wrappers at build time (#286)

Merged pull requests:

v0.4.1

29 Apr 13:05
0f967ed
Compare
Choose a tag to compare

Polymake v0.4.1

Diff since v0.4.0

Closed issues:

  • Make a release with CxxWrap 0.10 support (#264)
  • Spurious test failure in test/matrices.jl (#274)

Merged pull requests:

v0.4.0

24 Apr 17:05
2c5910f
Compare
Choose a tag to compare

Polymake v0.4.0

Library updates

  • Polymake.jl depends now on CxxWrap ^0.10.1
  • Polymake.jl uses LoadFlint.jl and latest SingularBuilder

New features

  • documentation strings of all polymake functions and methods was made
    available in julia
  • handling of polynomials should be much smoother
  • polymake banner is suppressed when imported in Oscar.jl

Fixed notable bugs

  • libpolymake no longer requires GLIBCXX_3.4.26, i.e. Polymake.jl is
    compatible with libstdc++ shipped by julia, even when using very modern Linux
    systems (big thanks to Max Horn for investigating!)
  • polymake doesn't grab all interrupts, so after using Polymake one can
    still Ctrl^C to interrupt julia. However...

Known Bugs:

  • a Ctrl^C interrupt issued during computations in polymake may render
    involved objects into incomplete state which is leads to segfault at exit().
    We can not exclude silent data corruption in the process, so please DO NOT DO
    IT. We will be looking into a proper solution in the near future.

Diff since v0.3.3

Closed issues:

  • expose help strings in json files (#192)
  • Drop CxxWrap 0.9 support and simplify code again? (#262)

Merged pull requests:

v0.3.3

14 Apr 11:05
fd04c00
Compare
Choose a tag to compare

Polymake v0.3.3

Major bug fixed: due to empty default std::ostringstream constructor libpolymake.so was no longer compatible with the libstdc++ shipped with julia, which caused problems on linux distribution shipping newer versions of libstdc++. This has been fixed in #252.

Diff since v0.3.2

Closed issues:

  • Error in printing of cones (#244)
  • Julia 1.4 library compatibility problem on Linux. (#250)
  • Polymake.jl doesn't work if user has too new C++ library (#251)

Merged pull requests:

v0.3.2

25 Mar 11:05
dd8359f
Compare
Choose a tag to compare

Polymake v0.3.2

Diff since v0.3.1

Merged pull requests:

v0.3.1

11 Mar 15:07
1e41ef1
Compare
Choose a tag to compare

Polymake v0.3.1

Diff since v0.3.0

Closed issues:

  • shell execute errors upon showing the result (#223)
  • No Sascha no release (#228)
  • nvars for polynomials is a CxxWrap type (#235)

Merged pull requests:

v0.3.0

20 Feb 15:07
f8f5bc0
Compare
Choose a tag to compare

Polymake v0.3.0

Library updates

  • polymake binaries were updated to version 4.0r1 (released 19.02.2020)
  • Polymake.jl depends now on CxxWrap ^0.9.0 (released 29.01.2020)
  • polymake binaries link to SingularBuilder and FlintBuilder binaries.
  • Polymake.jl supports julia versions: 1.0, 1.1, 1.2, 1.3 and 1.4.

Breaking changes

  • constructors for big objects no longer support Pair{Symbol, Any} or Dict{Symbol, Any} arguments. The only supported syntax is through keyword arguments, i.e.
    polytope.Polytope(:POINTS => ...)
    needs to be replaced with
    polytope.Polytope(POINTS = ...)

Changes in exports

  • internal (small) types are no longer exported in order to facilitate the use of Polymake.jl within Oscar project.
  • Small types (the c++ wrapped structures) in Polymake.jl were renamed dropping the unfortunate pm_ prefix, so that:
    • pm_Matrix <: AbstractMatrix became Polymake.Matrix <: AbstractMatrix,
    • pm_Integer <: Base.Integer became Polymake.Integer <: Base.Integer, etc.
  • internal modules of Polymake.jl have been renamed to lowercase (matching polymake application names), i.e. Polymake.Tropical became Polymake.tropical.
  • those modules remain exported from Polymake.jl, i.e. upon using Polymake one can immediately call polytope.Cone(...).

To summarize: the only names exported from Polymake at the moment are: visual, application names and macros: @pm and @convert_to.

New features

  • All BigObjects from polymake (i.e. Cones, Polytopes, Fans, etc) gained the corresponding constructors with doc-strings attached, i.e. polytope.Polytope is an actual struct with constructors producing an instance of BigObject. Asking for @doc polytope.Polytope will bring polymake helpstring.

  • updated syntax for @pm macro. The rule of thumb is

    use @pm macro when julia throws UndefinedVariable error.

    Examples:

    • @pm polytope.Polytope(...) can be safely replaced by polytope.Polytope(...) (call to an actual constructor);
    • @pm polytope.Polytope{Rational}(...) can be safely replaced by polytope.Polytope{Rational}(...) (call to a parametrized constructor);
    • @pm polytope.Polytope{QuadraticExtension}(...) must use the macro, as QuadraticExtension is not a valid object in julia;
  • @convert_to PerlType argument calls common::convert_to<PerlType> function to help with the conversion of Polymake.jl return types.

  • New small types are wrapped and accessible from julia:

    • IncidenceMatrix <: AbstractMatrix
    • SparseMatrix <: SparseArrays.AbstractSparseMatrix
    • TropicalNumber <: Number
    • SparseVector <: SparseArrays.AbstractSparseVector
    • Polynomial (based on libsingular).
  • All Polymake.jl array-style containers (except IncidenceMatrix, which stores only Bools) support the following element types:

    • Int64 (pm::Int, aka long)
    • Float64 (dobule)
    • Polymake.Integer (pm::Integer)
    • Polymake.Rational (pm::Rational)

Known Bugs:

Diff since v0.2.2

Closed issues:

  • TODO List (#30)
  • Wrapping Polymake types (#142)
  • Segmentation fault in MILP computation (#144)
  • Visualizing of subdivision (#163)
  • Option to disable warnings (#165)
  • cleaning polymake_caller.cpp (#168)
  • BigObject name completion and help strings (#177)
  • List of all small types (#188)
  • @convert_to macro (#189)
  • prefer function (#193)
  • Sparse system tests flaky (#196)
  • Options for visual broken (#204)
  • gcc internal compiler error: Segmentation fault (#206)
  • BigObject from another BigObject (#214)
  • Wrapper Compilation Errors (#217)
  • Bug: IncidenceMatrix becoming SparseMatrix (#218)
  • shell execute errors upon showing the result (#223)

Merged pull requests:

v0.2.2

27 Sep 15:18
v0.2.2
c41b24c
Compare
Choose a tag to compare

v0.2.2 (2019-09-26)

Diff since v0.2.1

Merged pull requests:

v0.2.1

19 Sep 10:15
v0.2.1
fb53af5
Compare
Choose a tag to compare

v0.2.1 (2019-09-18)

Diff since v0.2.0

Closed issues:

  • Package does not build on single core systems (#157)

Merged pull requests:

v0.2.0

19 Aug 14:00
v0.2.0
aebfbef
Compare
Choose a tag to compare

v0.2.0 (2019-08-17)

Diff since v0.1.1

Closed issues:

  • optimum on an empty polytope? (#151)
  • Multiple polymake sessions are started (#147)
  • tag 0.3 (#112)
  • Register package? (#102)

Merged pull requests: