oscar-system / Oscar.jl

A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
https://www.oscar-system.org
Other
345 stars 126 forks source link

`matrix(R::QQField, iter::SubObjectIterator{Union{PointVector{QQFieldElem}, RayVector{QQFieldElem}}})` fails #2313

Closed YueRen closed 6 months ago

YueRen commented 1 year ago

Describe the bug Sometimes it is quite handy to be able to manipulate a list of vertices and rays as a matrix. But currently, conversion to matrix only works for vertices or for rays, but not for a mix thereof.

To Reproduce

using Oscar
IM = IncidenceMatrix([[1,2,3],[1,3,4]])
vr = [0 0; 1 0; 1 1; 0 1]
PC = PolyhedralComplex(IM, vr)
matrix(QQ,vertices_and_rays(PC)) # doesn't work

Expected behavior Vertices and rays as row vectors in a matrix. Basically the vertical concatenation of the following two matrices, but in an order compatible with vertex_and_ray_incidences(maximal_polyhedra(PC)):

using Oscar
IM = IncidenceMatrix([[1,2,3],[1,3,4]])
vr = [0 0; 1 0; 1 1; 0 1]
PC = PolyhedralComplex(IM, vr)
matrix(QQ,vertices(PC)) # works
matrix(QQ,rays(PC)) # works

System (please complete the following information):

julia> Oscar.versioninfo(full=true)
OSCAR version 0.12.0
  combining:
    AbstractAlgebra.jl   v0.29.4
    GAP.jl               v0.9.4
    Hecke.jl             v0.18.9
    Nemo.jl              v0.33.7
    Polymake.jl          v0.9.0
    Singular.jl          v0.18.2
  building on:
    Antic_jll               v0.201.500+0
    Arb_jll                 v200.2300.0+0
    Calcium_jll             v0.401.100+0
    FLINT_jll               v200.900.5+0
    GAP_jll                 v400.1200.200+0
    Singular_jll            v403.201.1+0
    libpolymake_julia_jll   v0.9.0+0
    libsingular_julia_jll   v0.30.0+0
    polymake_jll            v400.900.0+0
See `]st -m` for a full list of dependencies.

Julia Version 1.8.5
Commit 17cfb8e65ea (2023-01-08 06:45 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 8 × Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 1 on 8 virtual cores
Official https://julialang.org/ release
lkastner commented 1 year ago

Could you give me more info on what you plan to do with this matrix? I remembered.

fingolfin commented 6 months ago

duplicate of your other issue #3524