Releases: oscar-system/Polymake.jl
v0.3.3
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.
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:
- Mention DFG funding in README (#248) (@fingolfin)
- Enh/docstring polymake jl (#249) (@kalmarek)
- fix #251: adjust ostringstream constructor for recent libstdc++ (#252) (@benlorenz)
v0.3.2
Polymake v0.3.2
Merged pull requests:
- SingularBuilder moved to oscar-system; update to latest version (#239) (@fingolfin)
- deps: switch from Nemo to LoadFlint (#240) (@benlorenz)
- supress banner in oscar (#241) (@fieker)
- bump version to 0.3.2 (#242) (@benlorenz)
v0.3.1
Polymake v0.3.1
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:
- add some nicer logic/user facing errors to shell_execute (#227) (@kalmarek)
- Add bit operations for Integers (#229) (@saschatimme)
- add gcc version check to cmake (#230) (@benlorenz)
- Nemo dependency (#232) (@saschatimme)
- Add support for Array (#234) (@saschatimme)
- Add Array<Array> (#236) (@saschatimme)
- Fix: polynomial nvars (#237) (@saschatimme)
v0.3.0
Polymake v0.3.0
Library updates
polymake
binaries were updated to version4.0r1
(released 19.02.2020)Polymake.jl
depends now onCxxWrap
^0.9.0
(released 29.01.2020)polymake
binaries link toSingularBuilder
andFlintBuilder
binaries.Polymake.jl
supportsjulia
versions:1.0
,1.1
,1.2
,1.3
and1.4
.
Breaking changes
- constructors for big objects no longer support
Pair{Symbol, Any}
orDict{Symbol, Any}
arguments. The only supported syntax is through keyword arguments, i.e.needs to be replaced withpolytope.Polytope(:POINTS => ...)
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) inPolymake.jl
were renamed dropping the unfortunatepm_
prefix, so that:pm_Matrix <: AbstractMatrix
becamePolymake.Matrix <: AbstractMatrix
,pm_Integer <: Base.Integer
becamePolymake.Integer <: Base.Integer
, etc.
- internal modules of
Polymake.jl
have been renamed to lowercase (matchingpolymake
application names), i.e.Polymake.Tropical
becamePolymake.tropical
. - those modules remain exported from
Polymake.jl
, i.e. uponusing Polymake
one can immediately callpolytope.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
BigObject
s frompolymake
(i.e.Cone
s,Polytope
s,Fan
s, etc) gained the corresponding constructors with doc-strings attached, i.e.polytope.Polytope
is an actualstruct
with constructors producing an instance ofBigObject
. Asking for@doc polytope.Polytope
will bring polymake helpstring. -
updated syntax for
@pm
macro. The rule of thumb isuse
@pm
macro when julia throwsUndefinedVariable
error.Examples:
@pm polytope.Polytope(...)
can be safely replaced bypolytope.Polytope(...)
(call to an actual constructor);@pm polytope.Polytope{Rational}(...)
can be safely replaced bypolytope.Polytope{Rational}(...)
(call to a parametrized constructor);@pm polytope.Polytope{QuadraticExtension}(...)
must use the macro, asQuadraticExtension
is not a valid object in julia;
-
@convert_to PerlType argument
callscommon::convert_to<PerlType>
function to help with the conversion ofPolymake.jl
return types. -
New small types are wrapped and accessible from julia:
IncidenceMatrix <: AbstractMatrix
SparseMatrix <: SparseArrays.AbstractSparseMatrix
TropicalNumber <: Number
SparseVector <: SparseArrays.AbstractSparseVector
Polynomial
(based onlibsingular
).
-
All
Polymake.jl
array-style containers (exceptIncidenceMatrix
, which stores onlyBool
s) support the following element types:Int64
(pm::Int
, akalong
)Float64
(dobule
)Polymake.Integer
(pm::Integer
)Polymake.Rational
(pm::Rational
)
Known Bugs:
Nemo.jl
MUST be loaded beforePolymake.jl
, see Nemo.jl/issues/108.
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:
- run tests on 1.3 (#162) (@kalmarek)
- Remove warning for doc string syntax (#164) (@saschatimme)
- Add pm::Matrix (#166) (@saschatimme)
- Interrupt (#167) (@kalmarek)
- get rid of c macros (#169) (@kalmarek)
- Fix mismatch between pm_array cpp and pm_Array_suppT (#170) (@saschatimme)
- Allow JSON 0.21 (#172) (@saschatimme)
- bump to polymake 3.6 (#174) (@benlorenz)
- add support for pm_Vector{Float64} (#175) (@kalmarek)
- rename *.jl files (#176) (@kalmarek)
- add objects with help and params to json (#178) (@benlorenz)
- add solve_LP (#179) (@kalmarek)
- small fix for apptojson.pl (#180) (@kalmarek)
- Types/sparsematrix (#181) (@alexej-jordan)
- Types/tropicalnumber (#182) (@alexej-jordan)
- V0.3 (#183) (@kalmarek)
- Types/incidencematrix (#184) (@alexej-jordan)
- bump polymake binary for flint and singular (#185) (@benlorenz)
- Fix/docstrings something something (#186) (@kalmarek)
- Remove void calls (#190) (@saschatimme)
- trying to remove pm_ and update to polymake 4.0 (#191) (@benlorenz)
- Add toplevel visual function (#194) (@saschatimme)
- Add prefer function (#195) (@saschatimme)
- added support for global_epsilon and fixed sparsematrix test (#201) (@alexej-jordan)
- bump to final polymake 4.0 and add version check (#202) (@benlorenz)
- Fix show for svg (#203) (@saschatimme)
- Adjust Travis Test Matrix (#205) (@saschatimme)
- add workaround for gcc 9 internal compiler error (#207) (@benlorenz)
- Types/sparsevector (#208) (@alexej-jordan)
- Upd/cxx wrap v0.9 (#210) (@kalmarek)
- show correct application name in repl prompt (#211) (@benlorenz)
- fix for mac os cxxlong issue (#212) (@benlorenz)
- Macro/convert to (#213) (@alexej-jordan)
- Install TagBot as a GitHub Action (#215) (@JuliaTagBot)
- Types/polynomial (#216) (@alexej-jordan)
- fixed bug, now convert_to_pm_type(IncidenceMatrix) == IncidenceMatrix (#219) (@alexej-jordan)
- Fix readme (req. polymake 4.0) (#220) (@saschatimme)
- add github actions based tests (#222) (@kalmarek)
- bump polymake to 4.0r1 (#224) (@benlorenz)
- Bigobject copy conversion and cast (#226) (@benlorenz)
- add some nicer logic/user facing errors to shell_execute (#227) (@kalmarek)
v0.2.2
v0.2.1
v0.2.0
v0.2.0 (2019-08-17)
Closed issues:
- optimum on an empty polytope? (#151)
- Multiple polymake sessions are started (#147)
- tag 0.3 (#112)
- Register package? (#102)
Merged pull requests:
- Update to version 0.2.0 (#155) (saschatimme)
- deps: polymake version 3.5 binaries (#154) (benlorenz)
- fix conversion for pm_Array{pm_Set{...}} (#153) (kalmarek)
- Cite (#152) (kalmarek)
- try codecov.yml without dot (#150) (benlorenz)
- Fix/no banner in noninteractive (#149) (kalmarek)
- Fix/converts take two (#148) (kalmarek)
- remove superfluous return from @pm macro (#146) (kalmarek)
- Fix/convert sets (#145) (kalmarek)
- more deps via binarybuilder (#143) (benlorenz)
v0.1.1
Merge pull request #140 from oscar-system/st/o Bump version to 0.1.1
v0.1.0
Merge pull request #134 from oscar-system/st/prepare-release Prepare initial release