All Projects → oscar-system → Oscar.jl

oscar-system / Oscar.jl

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

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Oscar.jl

Sage
Mirror of the Sage source tree -- please do not submit PRs here -- everything must be submitted via https://trac.sagemath.org/
Stars: ✭ 1,656 (+809.89%)
Mutual labels:  math, computer-algebra, mathematics
Gap
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
Stars: ✭ 447 (+145.6%)
Mutual labels:  math, computer-algebra, mathematics
Stdlib
✨ Standard library for JavaScript and Node.js. ✨
Stars: ✭ 2,749 (+1410.44%)
Mutual labels:  math, mathematics
Julia Set Playground
A Swift playground that generates beautiful Julia set fractal images.
Stars: ✭ 236 (+29.67%)
Mutual labels:  math, mathematics
diofant
A Python CAS library
Stars: ✭ 61 (-66.48%)
Mutual labels:  computer-algebra, mathematics
Mppp
Multiprecision for modern C++
Stars: ✭ 196 (+7.69%)
Mutual labels:  math, computer-algebra
Mathmodel
研究生数学建模,本科生数学建模、数学建模竞赛优秀论文,数学建模算法,LaTeX论文模板,算法思维导图,参考书籍,Matlab软件教程,PPT
Stars: ✭ 3,834 (+2006.59%)
Mutual labels:  math, mathematics
Fourier-and-Images
Fourier and Images
Stars: ✭ 81 (-55.49%)
Mutual labels:  math, mathematics
Reduce.jl
Symbolic parser generator for Julia language expressions using REDUCE algebra term rewriter
Stars: ✭ 172 (-5.49%)
Mutual labels:  math, computer-algebra
mml-book-chinese
mml-book-chinese《Mathematics For Machine Learning》机器学习中的数学 中文版
Stars: ✭ 113 (-37.91%)
Mutual labels:  math, mathematics
piranha
The Piranha computer algebra system.
Stars: ✭ 91 (-50%)
Mutual labels:  computer-algebra, computer-algebra-system
Linear-Algebra-and-Its-Applications-notes
《线性代数及其应用》笔记
Stars: ✭ 196 (+7.69%)
Mutual labels:  math, mathematics
Pybotics
The Python Toolbox for Robotics
Stars: ✭ 192 (+5.49%)
Mutual labels:  math, mathematics
Ugm
Ubpa Graphics Mathematics
Stars: ✭ 178 (-2.2%)
Mutual labels:  math, mathematics
Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (+12.09%)
Mutual labels:  math, mathematics
Computator.net
Computator.NET is a special kind of numerical software that is fast and easy to use but not worse than others feature-wise. It's features include: - Real and complex functions charts - Real and complex calculator - Real functions numerical calculations including different methods - Over 107 Elementary functions - Over 141 Special functions - Over 21 Matrix functions and operations - Scripting language with power to easy computations including matrices - You can declare your own custom functions with scripting language
Stars: ✭ 174 (-4.4%)
Mutual labels:  math, mathematics
MathImprove
Modify and Improve math expressions.
Stars: ✭ 13 (-92.86%)
Mutual labels:  math, mathematics
noteworthy
Markdown editor with bidirectional links and excellent math support, powered by ProseMirror. (In Development!)
Stars: ✭ 178 (-2.2%)
Mutual labels:  math, mathematics
Jlatexmath Android
aJLaTeXMath Library - Displays LaTeX commands in android OS.
Stars: ✭ 147 (-19.23%)
Mutual labels:  math, mathematics
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+1003.85%)
Mutual labels:  math, mathematics

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.6 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
Version 0.11.3-DEV ...
... which comes with absolutely no warranty whatsoever
Type: '?Oscar' for more information
(c) 2019-2022 by The OSCAR Development Team

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 nf_elem[1, sqrt(-5)]

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

julia> Qx, x = PolynomialRing(QQ, [:x1,:x2])
(Multivariate Polynomial Ring in x1, x2 over Rational Field, fmpq_mpoly[x1, x2])

julia> R = grade(Qx, [1,2])[1]
Multivariate Polynomial Ring in x1, x2 over Rational Field graded by
  x1 -> [1]
  x2 -> [2]

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

julia> degree(f)
graded by [2]

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

julia> s = sub(F, [f*F[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))
(hom of (s, Subquotient of Submodule with 1 generator
1 -> e[1]
by Submodule with 1 generator
1 -> (x1^2 + x2)*e[1]), Map from
H to Set of all homomorphisms from Submodule with 1 generator
1 -> (x1^2 + x2)*e[1]
represented as subquotient with no relations. to Subquotient of Submodule with 1 generator
1 -> e[1]
by Submodule with 1 generator
1 -> (x1^2 + x2)*e[1] defined by a julia-function with inverse)

julia> mH(H[1])
Map with following data
Domain:
=======
s
Codomain:
=========
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:

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

julia> C.F_VECTOR
pm::Vector<pm::Integer>
8 12 6

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

julia> RP2.HOMOLOGY
PropertyValue wrapping pm::Array<polymake::topaz::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 below:

[OSCAR]
    OSCAR -- Open Source Computer Algebra Research system, Version 0.11.3-DEV The OSCAR Team, 2022. (https://oscar.computeralgebra.de)
[OSCAR-book]
    Christian Eder, Wolfram Decker, Claus Fieker, Max Horn, Michael Joswig, The OSCAR book, 2024.

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 0.11.3-DEV},
  year         = {2022},
  url          = {https://oscar.computeralgebra.de},
  }

@Book{OSCAR-book,
  editor = {Decker, Wolfram and Eder, Christian and Fieker, Claus and Horn, Max and Joswig, Michael},
  title = {The OSCAR book},
  year = {2024},
}

Funding

The development of this Julia package is supported by the Deutsche Forschungsgemeinschaft DFG within the Collaborative Research Center TRR 195.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].