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

Serialize Polyhedral Objects over Oscar fields #3386

Merged
merged 50 commits into from
Feb 22, 2024
Merged

Conversation

antonydellavecchia
Copy link
Collaborator

@antonydellavecchia antonydellavecchia commented Feb 19, 2024

Adds serialization fo Polyhedral objects over fields available in Oscar and for Dicts and Sets .

adjusts the Johnson Solids so they are no longer loading from matrices

antonydellavecchia and others added 30 commits February 15, 2024 15:39
currently with a few warnings that might be removed later
@antonydellavecchia antonydellavecchia added serialization backport 1.0.x Should be backported to the release 1.0 branch labels Feb 20, 2024
@aaruni96 aaruni96 mentioned this pull request Feb 20, 2024
33 tasks
Copy link

codecov bot commented Feb 20, 2024

Codecov Report

Merging #3386 (6933db9) into master (a73b844) will decrease coverage by 0.24%.
Report is 15 commits behind head on master.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3386      +/-   ##
==========================================
- Coverage   82.10%   81.87%   -0.24%     
==========================================
  Files         557      560       +3     
  Lines       73971    75034    +1063     
==========================================
+ Hits        60734    61434     +700     
- Misses      13237    13600     +363     
Files Coverage Δ
src/AlgebraicGeometry/Surfaces/SurfacesP4.jl 14.81% <ø> (ø)
...edralGeometry/Polyhedron/standard_constructions.jl 96.53% <ø> (+0.28%) ⬆️
src/PolyhedralGeometry/helpers.jl 80.42% <ø> (-0.13%) ⬇️
...PolyhedralGeometry/mixed_integer_linear_program.jl 55.38% <ø> (-1.76%) ⬇️
src/Serialization/Fields.jl 94.71% <ø> (+0.75%) ⬆️
src/Serialization/PolyhedralGeometry.jl 88.42% <ø> (-0.47%) ⬇️
src/Serialization/containers.jl 94.46% <ø> (-0.61%) ⬇️
src/Serialization/main.jl 85.94% <ø> (-0.65%) ⬇️
src/Serialization/polymake.jl 71.79% <ø> (-5.48%) ⬇️
src/Serialization/serializers.jl 100.00% <ø> (ø)

... and 44 files with indirect coverage changes

@antonydellavecchia antonydellavecchia changed the title Adv/serialize dict Serialize Polyhedral Objects over Oscar fields Feb 21, 2024
src/Serialization/containers.jl Outdated Show resolved Hide resolved
test/PolyhedralGeometry/polyhedron.jl Outdated Show resolved Hide resolved
Co-authored-by: Lars Kastner <lkastner@users.noreply.github.com>
@benlorenz benlorenz merged commit 52c1236 into master Feb 22, 2024
24 checks passed
@benlorenz benlorenz deleted the adv/serialize-dict branch February 22, 2024 23:07
benlorenz pushed a commit that referenced this pull request Feb 23, 2024
* some progress on serializing dicts

* saving

* serialization: add helpers to deconstruct polymake bigobject to dict

currently with a few warnings that might be removed later

* updates

* starting on load

* fix type string for saving

* adds work around for vector{Int}

* use new qualified bigobject name

* serialize dicts

* still need to work out loading

* can load polyhedral object over different fields

* some updates

* add helpers for conversion from oscar graphs back to polymake

* tiny improvement

* fix inner types, store coeff only once

* polymake: improve matrix conversion helpers, allow float in some places

* adds serialzation for sets

* adds test for dicts

* adds test for sets

* replace johnson matrices with Johnson solids

* replace johnson matrices with solids

* pretty print the rest of the Johnson Solids

* pretty print

* padding, + file extension and not pretty printed

* fixes polyhedral test

* update file version tag

* file version tag + add extension for surface files

* fix surface loading

* fix typo

* adds fix for polyhedron of floats and adds test

* fix typo

* better padding implementation

* adds catch for unsupported loading types

* remove Nothing type for coeff inputs, and fixed vector collect

* adds tests for serializing polyhdral objects over oscar fields

* fixes to MILP

* MILP: add missing specialization for QQ to avoid saving other fields for now

* polymake: change warnings to debug when saving unsupported polymake properties

* polyhedral: add missing field for loading milp

* fix for polyhedron with floats

* serialization: fix load distinction between different fields, fix loading float polytopes

* Update test/Serialization/PolyhedralGeometry.jl

* Apply suggestions from code review

Co-authored-by: Lars Kastner <lkastner@users.noreply.github.com>

---------

Co-authored-by: Benjamin Lorenz <lorenz@math.tu-berlin.de>
Co-authored-by: Benjamin Lorenz <benlorenz@users.noreply.github.com>
Co-authored-by: Lars Kastner <lkastner@users.noreply.github.com>
(cherry picked from commit 52c1236)
@benlorenz benlorenz removed the backport 1.0.x Should be backported to the release 1.0 branch label Feb 23, 2024
benlorenz added a commit that referenced this pull request Feb 23, 2024
### Backported PRs

- [x] #3367
- [x] #3379 
- [x] #3369
- [x] #3291
- [x] #3325
- [x] #3350 
- [x] #3351
- [x] #3365 
- [x] #3366
- [x] #3382
- [x] #3373
- [x] #3341
- [x] #3346
- [x] #3381
- [x] #3385
- [x] #3387 
- [x] #3398 
- [x] #3399 
- [x] #3374 
- [x] #3406 
- [x] #2823
- [x] #3298
- [x] #3386 
- [x] #3412 
- [x] #3392 
- [x] #3415 
- [x] #3394
- [x] #3391
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants