- Notifications
You must be signed in to change notification settings - Fork138
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
License
oscar-system/Oscar.jl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Documentation | Build Status |
---|---|
Welcome to the OSCAR project, a visionary new computer algebra systemwhich combines the capabilities of four cornerstone systems: GAP,Polymake, Antic and Singular.
OSCAR requires Julia 1.6 or newer. In principle it can be installed and usedlike any other Julia package; doing so will take a couple of minutes:
julia> using Pkgjulia> Pkg.add("Oscar")julia> using Oscar
However, some of OSCAR's components have additional requirements.For more detailed information, please consult theinstallationinstructions on our website.
Please read theintroduction for new developersin the OSCAR manual to learn more on how to contribute to OSCAR.
julia> using Oscar ___ ____ ____ _ ____ / _ \ / ___| / ___| / \ | _ \ | Combining ANTIC, GAP, Polymake, Singular| | | |\___ \| | / _ \ | |_) | | Type "?Oscar" for more information| |_| | ___) | |___ / ___ \| _ < | Manual: https://docs.oscar-system.org \___/ |____/ \____/_/ \_\_| \_\ | Version 1.4.0-DEVjulia> 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 + 5with 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 + x2julia> degree(f)[2]julia> F = free_module(R, 1)Free module of rank 1 over Rjulia> s = sub(F, [f*F[1]])[1]Submodule with 1 generator 1: (x1^2 + x2)*e[1]represented as subquotient with no relationsjulia> 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_VECTORpm::Vector<pm::Integer>8 12 6julia> RP2 = Polymake.topaz.real_projective_plane();julia> RP2.HOMOLOGYpm::Array<topaz::HomologyGroup<pm::Integer> >({} 0)({(2 1)} 0)({} 0)
If you have used OSCAR in the preparation of a paper please cite it as described below:
[OSCAR] OSCAR -- Open Source Computer Algebra Research system, Version 1.4.0-DEV, The OSCAR Team, 2025. (https://www.oscar-system.org)[OSCAR-book] Wolfram Decker, Christian Eder, Claus Fieker, Max Horn, Michael Joswig, eds. The Computer Algebra System OSCAR: Algorithms and Examples, Algorithms and Computation in Mathematics, Springer, 2025.
If you are using BibTeX, you can use the following BibTeX entries:
@misc{OSCAR, key = {OSCAR}, organization = {The OSCAR Team}, title = {OSCAR -- Open Source Computer Algebra Research system, Version 1.4.0-DEV}, year = {2025}, url = {https://www.oscar-system.org}, }@book{OSCAR-book, editor = {Decker, Wolfram and Eder, Christian and Fieker, Claus and Horn, Max and Joswig, Michael}, title = {The {C}omputer {A}lgebra {S}ystem {OSCAR}: {A}lgorithms and {E}xamples}, year = {2025}, publisher = {Springer}, series = {Algorithms and {C}omputation in {M}athematics}, volume = {32}, edition = {1}, url = {https://link.springer.com/book/9783031621260}, issn = {1431-1550}, doi = {10.1007/978-3-031-62127-7},}
The development of this Julia package is supported by theGerman Research Foundation (DFG) within theCollaborative Research Center TRR 195.
About
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.