oscar.jl

A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.

https://github.com/oscar-system/oscar.jl

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    24 of 64 committers (37.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

abstract-algebra computer-algebra computer-algebra-system julia julia-package math mathematics maths

Keywords from Contributors

algebraic-number-theory class-field-theory discrete-mathematics number-theory matrix-exponential quantum-computing julialang music-manipulation notes quantizer
Last synced: 4 months ago · JSON representation ·

Repository

A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.

Basic Info
  • Host: GitHub
  • Owner: oscar-system
  • License: other
  • Language: Julia
  • Default Branch: master
  • Homepage: https://www.oscar-system.org
  • Size: 36.7 MB
Statistics
  • Stars: 429
  • Watchers: 18
  • Forks: 142
  • Open Issues: 301
  • Releases: 43
Topics
abstract-algebra computer-algebra computer-algebra-system julia julia-package math mathematics maths
Created over 6 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog License Citation

README.md

Oscar.jl

| Documentation | Build Status | |:-------------------------------------------------------------------------:|:-----------------------------------------------------:| | | |

Welcome to the OSCAR project, a visionary new computer algebra system which combines the capabilities of four cornerstone systems: GAP, Polymake, Antic and Singular.

Installation

OSCAR requires Julia 1.10 or newer. In principle it can be installed and used like any other Julia package; doing so will take a couple of minutes:

julia> using Pkg julia> Pkg.add("Oscar") julia> using Oscar

However, some of OSCAR's components have additional requirements. For more detailed information, please consult the installation instructions on our website.

Contributing to OSCAR

Please read the introduction for new developers in the OSCAR manual to learn more on how to contribute to OSCAR.

Examples of usage

``` julia> using Oscar


/ _ \ / \ / _\ / \ | _ \ | Combining and extending ANTIC, GAP, | || |__ | | / ^ \ | ´ / | Polymake and Singular _/ _/ __/// _|_|_\ | Type "?Oscar" for more information o--------o-----o-----o--------o | Documentation: https://docs.oscar-system.org S Y M B O L I C T O O L S | Version 1.5.0-DEV

julia> k, a = quadratic_field(-5) (Imaginary quadratic field defined by x^2 + 5, sqrt(-5))

julia> zk = maximal_order(k) Maximal order of Imaginary quadratic field defined by x^2 + 5 with basis AbsSimpleNumFieldElem[1, sqrt(-5)]

julia> factorizations(zk(6)) 2-element Vector{Fac{AbsSimpleNumFieldOrderElem}}: -1 * -3 * 2 -1 * (-sqrt(-5) - 1) * (-sqrt(-5) + 1)

julia> Qx, x = polynomial_ring(QQ, [:x1,:x2]) (Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x1, x2])

julia> R = grade(Qx, [1,2])[1] Multivariate polynomial ring in 2 variables over QQ graded by x1 -> [1] x2 -> [2]

julia> f = R(x[1]^2+x[2]) x1^2 + x2

julia> degree(f) [2]

julia> F = free_module(R, 1) Free module of rank 1 over R

julia> s = sub(F, [fF[1]])[1] Submodule with 1 generator 1: (x1^2 + x2)e[1] represented as subquotient with no relations

julia> H, mH = hom(s, quo(F, s)[1]) (hom of (s, Subquotient of submodule with 1 generator 1: e[1] by submodule with 1 generator 1: (x1^2 + x2)e[1]), Map: H -> set of all homomorphisms from s to subquotient of submodule with 1 generator 1: e[1] by submodule with 1 generator 1: (x1^2 + x2)e[1])

julia> mH(H[1]) Module homomorphism from s to subquotient of submodule with 1 generator 1: e[1] by submodule with 1 generator 1: (x1^2 + x2)*e[1] ```

Of course, the cornerstones are also available directly. For example:

``` julia> C = Polymake.polytope.cube(3);

julia> C.F_VECTOR pm::Vectorpm::Integer 8 12 6

julia> RP2 = Polymake.topaz.realprojectiveplane();

julia> RP2.HOMOLOGY pm::Arraytopaz::HomologyGroup<pm::Integer > ({} 0) ({(2 1)} 0) ({} 0) ```

Citing OSCAR

If you have used OSCAR in the preparation of a paper please cite it as described on our website.

Funding

The development of this Julia package is supported by the German Research Foundation (DFG) within the Collaborative Research Center TRR 195.

Owner

  • Name: oscar-system
  • Login: oscar-system
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: OSCAR -- Open Source Computer Algebra Research system
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - name: The OSCAR Team
identifiers:
  - type: url
    value: 'https://www.oscar-system.org'
repository-code: 'https://github.com/oscar-system/Oscar.jl'
url: 'https://www.oscar-system.org'
abstract: >-
  A comprehensive open source computer algebra system for
  computations in algebra, geometry, and number theory. 
license: GPL-3.0+
preferred-citation:
  type: book
  authors:
  - family-names: "Decker"
    given-names: "Wolfram"
  - family-names: "Eder"
    given-names: "Christian"
  - family-names: "Fieker"
    given-names: "Claus"
  - family-names: "Horn"
    given-names: "Max"
  - family-names: "Joswig"
    given-names: "Michael"
  title: "The Computer Algebra System OSCAR: Algorithms and Examples"
  collection-type: "Series"
  collection-title: "Algorithms and Computation in Mathematics"
  abstract: >-
    The book is an invitation to use OSCAR.  With discussions of
    theoretical and algorithmic aspects included, it offers a
    multitude of explicit code snippets. These are valuable for
    interested researchers from graduate students through established
    experts.
  year: 2025
  edition: 1
  issn: "1431-1550"
  url: "https://link.springer.com/book/9783031621260"
  doi: "10.1007/978-3-031-62127-7"
  volume: 32
  publisher:
    name: "Springer"

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 4,466
  • Total Committers: 64
  • Avg Commits per committer: 69.781
  • Development Distribution Score (DDS): 0.85
Top Committers
Name Email Commits
Martin Bies H****d@u****m 672
Lars Kastner l****r@y****k 484
Max Horn m****x@q****e 481
Claus Fieker f****r@m****e 410
Rafael Fourquet f****l@g****m 241
Wolfram Decker d****r@m****e 236
Thomas Breuer s****m@m****e 192
Christian Eder e****c@m****e 169
Tommy Hofmann t****a@g****m 158
William Hart g****t@g****m 126
Alexander Dinges a****7@g****m 124
Daniel Schultz t****2@g****m 122
Alexej Jordan j****n@m****e 118
Yue Ren y****l@g****m 95
Benjamin Schroeter s****t@k****e 94
Benjamin Lorenz l****z@m****e 88
Matthias Zach z****h@m****e 85
Giovanni De Franceschi f****i@m****e 77
Michael Joswig j****g@m****e 59
Johannes Schmitt j****t@p****u 59
tbrysiewicz t****z@g****m 50
Lukas Kuehne l****e@g****m 42
Delphine Pol p****l@m****e 42
Simon Brandhorst s****t@w****e 38
Rafael Mohr R****r@l****r 23
Antony Della Vecchia a****a@g****m 21
raulepure e****e@m****e 20
Marta Panizzut p****t@m****e 18
Oguzhan Yürük y****k@m****e 14
Cameron Braunstein c****n@b****u 10
and 34 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 674
  • Total pull requests: 2,328
  • Average time to close issues: 8 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 79
  • Total pull request authors: 78
  • Average comments per issue: 3.32
  • Average comments per pull request: 2.5
  • Merged pull requests: 1,743
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 215
  • Pull requests: 724
  • Average time to close issues: 14 days
  • Average time to close pull requests: 6 days
  • Issue authors: 44
  • Pull request authors: 49
  • Average comments per issue: 1.2
  • Average comments per pull request: 1.93
  • Merged pull requests: 486
  • Bot issues: 0
  • Bot pull requests: 9
Top Authors
Issue Authors
  • fingolfin (192)
  • lgoettgens (60)
  • thofma (55)
  • HechtiDerLachs (37)
  • YueRen (35)
  • wdecker (25)
  • HereAround (23)
  • benlorenz (20)
  • JohnAAbbott (19)
  • ThomasBreuer (18)
  • fieker (18)
  • joschmitt (18)
  • lkastner (14)
  • simonbrandhorst (14)
  • oskarhenriksson (9)
Pull Request Authors
  • lgoettgens (350)
  • fingolfin (306)
  • HechtiDerLachs (186)
  • ThomasBreuer (185)
  • HereAround (141)
  • joschmitt (116)
  • antonydellavecchia (115)
  • wdecker (79)
  • thofma (78)
  • benlorenz (73)
  • paemurru (68)
  • ederc (59)
  • simonbrandhorst (55)
  • lkastner (46)
  • StevellM (44)
Top Labels
Issue Labels
bug (261) enhancement (154) topic: groups (92) documentation (35) triage (35) serialization (21) singular coding sprint (17) package: GAP (15) nightly (11) package: Polymake (10) Decision (9) topic: polytopes (8) topic: algebraic geometry (8) topic: tropical geometry (7) topic: commutative algebra (6) package: Singular (6) optimization (6) testsuite (6) bug: crash (6) topic: polyhedral geometry (5) topic: toric varieties (5) topic: FTheoryTools (5) oscar book (4) CI (4) regression (3) topic: LieTheory (3) printing (3) package: AbstractAlgebra (3) package: Nemo (3) package: Hecke (3)
Pull Request Labels
release notes: not needed (191) topic: groups (184) enhancement (157) experimental (143) documentation (140) serialization (90) topic: FTheoryTools (87) release notes: use title (74) package: GAP (56) backport 1.0 (47) topic: toric varieties (43) optimization (40) topic: LieAlgebras (38) topic: combinatorics (32) CI (31) topic: commutative algebra (30) backport 1.0.x (28) bug (26) topic: schemes (25) FTheoryTools (24) triage (22) topic: toric schemes (22) topic: tropical geometry (21) topic: algebraic geometry (21) WIP (20) topic: polyhedral geometry (20) testsuite (19) LieAlgebras (16) oscar book (15) package: AbstractAlgebra (15)

Dependencies

.github/workflows/BibtoolCI.yml actions
  • actions/checkout v3 composite
.github/workflows/CI.yml actions
  • actions/checkout v3 composite
  • codecov/codecov-action v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CleanupDocPreview.yml actions
  • actions/checkout v3 composite
.github/workflows/Docu.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/setup-julia latest composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite