Skip to content

Commit

Permalink
Merge branch 'master' into mh/gap-4.13
Browse files Browse the repository at this point in the history
  • Loading branch information
lgoettgens authored May 24, 2024
2 parents c7b655e + efd93b3 commit 3f2c24a
Show file tree
Hide file tree
Showing 216 changed files with 3,949 additions and 4,522 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ jobs:
with:
version: ${{ matrix.julia-version }}
- uses: julia-actions/cache@v1
if: runner.environment != 'self-hosted'
with:
cache-name: julia-cache;workflow=${{ github.workflow }};julia=${{ matrix.julia-version }};arch=${{ runner.arch }}
include-matrix: false
Expand Down Expand Up @@ -143,6 +144,7 @@ jobs:
with:
version: ${{ matrix.julia-version }}
- uses: julia-actions/cache@v1
if: runner.environment != 'self-hosted'
with:
cache-name: julia-cache;workflow=${{ github.workflow }};julia=${{ matrix.julia-version }};arch=${{ runner.arch }}
include-matrix: false
Expand Down
8 changes: 8 additions & 0 deletions Artifacts.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
[QSMDB]
git-tree-sha1 = "5c82e5ff3aa99f2aa660c9ffb3caa57ee535cc21"
lazy = true

[[QSMDB.download]]
sha256 = "3f69aae0fca02d74764f709c622388c564e6e144a8b11347dadef5725a65b0a2"
url = "https://github.com/oscar-system/Oscar.jl/releases/download/archive-tag-1/qsmdb.tar.gz"

[gap_extraperfect]
git-tree-sha1 = "084fa12573e5089ceb3299f9d341f244b415da52"
lazy = true
Expand Down
13 changes: 13 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,19 @@ preferred-citation:
- 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: 2024
month: 8
edition: 1
issn: "1431-1550"
url: "https://link.springer.com/book/9783031621260"
volume: 32
publisher:
name: "Springer"
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ AbstractAlgebra = "0.41.3"
AlgebraicSolving = "0.4.15"
Distributed = "1.6"
GAP = "0.11.0"
Hecke = "0.31.5"
Hecke = "0.32.0"
JSON = "^0.20, ^0.21"
JSON3 = "1.13.2"
LazyArtifacts = "1.6"
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,11 @@ If you are using BibTeX, you can use the following BibTeX entries:
year = {2024},
publisher = {Springer},
series = {Algorithms and {C}omputation in {M}athematics},
volume = {32},
edition = {1},
url = {https://link.springer.com/book/9783031621260},
month = {8},
issn = {1431-1550},
}

## Funding
Expand All @@ -158,7 +163,7 @@ Forschungsgemeinschaft DFG within the
[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[docs-stable-url]: https://docs.oscar-system.org/stable/

[ga-img]: https://github.com/oscar-system/Oscar.jl/workflows/Run%20tests/badge.svg
[ga-img]: https://github.com/oscar-system/Oscar.jl/actions/workflows/CI.yml/badge.svg?branch=master&event=push
[ga-url]: https://github.com/oscar-system/Oscar.jl/actions?query=workflow%3A%22Run+tests%22

[codecov-img]: https://codecov.io/gh/oscar-system/Oscar.jl/branch/master/graph/badge.svg?branch=master
Expand Down
39 changes: 20 additions & 19 deletions docs/doc.main
Original file line number Diff line number Diff line change
Expand Up @@ -163,15 +163,13 @@
"AlgebraicGeometry/Schemes/GeneralSchemes.md",
"AlgebraicGeometry/Schemes/AffineSchemes.md",
"AlgebraicGeometry/Schemes/MorphismsOfAffineSchemes.md",
"AlgebraicGeometry/Schemes/ArchitectureOfAffineSchemes.md",
"AlgebraicGeometry/Schemes/RationalPointsAffine.md",
"AlgebraicGeometry/Schemes/CoveredSchemes.md",
"AlgebraicGeometry/Schemes/CoveringsAndGluings.md",
"AlgebraicGeometry/Schemes/CoveredSchemeMorphisms.md",
"AlgebraicGeometry/Schemes/ProjectiveSchemes.md",
"AlgebraicGeometry/Schemes/MorphismsOfProjectiveSchemes.md",
],
"Sheaf Cohomology" => [
"AlgebraicGeometry/SheafCohomology/sheaf_cohomology.md",
"AlgebraicGeometry/Schemes/RationalPointsProjective.md",
],
"Algebraic Sets" => [
"AlgebraicGeometry/AlgebraicSets/AffineAlgebraicSet.md",
Expand All @@ -181,9 +179,20 @@
"AlgebraicGeometry/AlgebraicVarieties/AffineVariety.md",
"AlgebraicGeometry/AlgebraicVarieties/ProjectiveVariety.md",
],
"Rational Points" => [
"AlgebraicGeometry/RationalPoints/Affine.md",
"AlgebraicGeometry/RationalPoints/Projective.md",
"Curves" => [
"AlgebraicGeometry/Curves/AffinePlaneCurves.md",
"AlgebraicGeometry/Curves/ProjectiveCurves.md",
"AlgebraicGeometry/Curves/ProjectivePlaneCurves.md",
"AlgebraicGeometry/Curves/ParametrizationPlaneCurves.md",
],
"Surfaces" => [
"AlgebraicGeometry/Surfaces/K3Surfaces.md",
"AlgebraicGeometry/Surfaces/AdjunctionProcess.md",
"AlgebraicGeometry/Surfaces/ParametrizationSurfaces.md",
"AlgebraicGeometry/Surfaces/SurfacesP4.md",
],
"Sheaf Cohomology" => [
"AlgebraicGeometry/SheafCohomology/sheaf_cohomology.md",
],
"Toric Varieties" => [
"AlgebraicGeometry/ToricVarieties/intro.md",
Expand All @@ -201,20 +210,12 @@
"AlgebraicGeometry/ToricVarieties/ToricIdealSheaves.md",
"AlgebraicGeometry/ToricVarieties/BlowdownMorphisms.md",
],
"Curves" => [
"AlgebraicGeometry/Curves/AffinePlaneCurves.md",
"AlgebraicGeometry/Curves/ProjectiveCurves.md",
"AlgebraicGeometry/Curves/ProjectivePlaneCurves.md",
],
"Surfaces" => [
"AlgebraicGeometry/Surfaces/K3Surfaces.md",
"AlgebraicGeometry/Surfaces/AdjunctionProcess.md",
"AlgebraicGeometry/Surfaces/ParametrizationSurfaces.md",
"AlgebraicGeometry/Surfaces/SurfacesP4.md",
],
"Miscellaneous" => [
"AlgebraicGeometry/Miscellaneous/miscellaneous.md",
]
],
"Frameworks for Developers" => [
"AlgebraicGeometry/FrameWorks/ArchitectureOfAffineSchemes.md",
],
],

"Tropical Geometry" => [
Expand Down
14 changes: 14 additions & 0 deletions docs/oscar_references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,20 @@ @Article{BHMPW20
primaryclass = {math.AG}
}

@Book{BHPV-D-V04,
author = {Barth, Wolf P. and Hulek, Klaus and Peters, Chris A. M. and Van de Ven, Antonius},
title = {Compact complex surfaces},
zbl = {1036.14016},
series = {Ergeb. Math. Grenzgeb., 3. Folge},
volume = {4},
publisher = {Berlin: Springer},
edition = {2nd enlarged ed.},
year = {2004},
fseries = {Ergebnisse der Mathematik und ihrer Grenzgebiete. 3. Folge},
language = {English},
zbmath = {2008523}
}

@Article{BJRR10,
author = {Blumenhagen, Ralph and Jurke, Benjamin and Rahn, Thorsten and Roschy, Helmut},
title = {Cohomology of line bundles: A computational algorithm},
Expand Down
80 changes: 80 additions & 0 deletions docs/src/AlgebraicGeometry/Curves/ParametrizationPlaneCurves.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
```@meta
CurrentModule = Oscar
```

# Rational Parametrizations of Rational Plane Curves

!!! note
In this section, $C$ will denote a complex projective plane curve, defined by an absolutely irreducible,
homogeneous polynomial in three variables, with coefficients in $\mathbb Q$. Moreover, we will write $n = \deg C$.

Recall that the curve $C$ is *rational* if it is birationally equivalent to the projective line $\mathbb P^1(\mathbb C)$.
In other words, there exists a *rational parametrization* of $C$, that is, a birational map $\mathbb P^1(\mathbb C)\dashrightarrow C$.
Note that such a parametrization is given by three homogeneous polynomials of the same degree in the homogeneous coordinates on
$\mathbb P^1(\mathbb C)$.

!!! note
The curve $C$ is rational iff its geometric genus is zero.

Based on work of Max Noether on adjoint curves, Hilbert und Hurwitz showed that if
$C$ is rational, then there is a birational map $C \dashrightarrow D$ defined over $\mathbb Q$ such
that $D = \mathbb P^1(\mathbb C)$ if $n$ is odd, and $D\subset\mathbb P^2(\mathbb C)$ is a conic if $n$ is even.

!!! note
If a conic $D$ contains a rational point, then there exists a parametrization of $D$ defined over $\mathbb Q$;
otherwise, there exists a parametrization of $D$ defined over a quadratic field extension of $\mathbb Q$.

The approach of Hilbert und Hurwitz is constructive and allows one, in principle, to find rational parametrizations.
The resulting algorithm is not very practical, however, as the approach asks to compute adjoint curves repeatedly,
at each of a number of reduction steps.

The algorithm implemented in OSCAR relies on reduction steps of a different type and requires the computation of adjoint
curves only once. Its individual steps are interesting in their own right:

- Assure that the curve $C$ is rational by checking that its geometric genus is zero;
- compute a basis of the adjoint curves of $C$ of degree ${n-2}$; each such basis defines a birational map $C \dashrightarrow C_{n-2},$
where $C_{n-2}$ is a rational normal curve in $\mathbb P^{n-2}(\mathbb C)$;
- the anticanonical linear system on $C_{n-2}$ defines a birational map $C_{n-2}\dashrightarrow C_{n-4}$, where $C_{n-4}$ is a rational normal curve in in $\mathbb P^{n-4}(\mathbb C)$;
- iterate the previous step to obtain a birational map $C_{n-2} \dashrightarrow \dots \dashrightarrow D$,
where $D = \mathbb P^1(\mathbb C)$ if $n$ is odd, and $D\subset\mathbb P^2(\mathbb C)$ is a conic if $n$ is even;
- invert the birational map $C \dashrightarrow C_{n-2} \dashrightarrow \dots \dashrightarrow D$;
- if $n$ is even, compute a parametrization of the conic $D$ and compose it with the inverted map above.

!!! note
The defining property of an adjoint curve is that it passes with “sufficiently high” multiplicity through the singularities of $C$.
There are several concepts of making this precise. For each such concept, there is a corresponding *adjoint ideal* of $C$,
namely the homogeneous ideal formed by the defining polynomials of the adjoint curves. In OSCAR, we follow
the concept of Gorenstein which leads to the largest possible adjoint ideal.

See [Bhm99](@cite) and [BDLP17](@cite) for details and further references.




## Adjoint Ideals of Plane Curves

```@docs
adjoint_ideal(C::ProjectivePlaneCurve{QQField})
```

## Rational Points on Conics

```@docs
rational_point_conic(D::ProjectivePlaneCurve{QQField})
```
## Parametrizing Rational Plane Curves

```@docs
parametrization(C::ProjectivePlaneCurve{QQField})
```


## Contact

Please direct questions about this part of OSCAR to the following people:
* [Janko Böhm](https://www.mathematik.uni-kl.de/~boehm/),
* [Wolfram Decker](https://math.rptu.de/en/wgs/agag/people/head/decker).

You can ask questions in the [OSCAR Slack](https://www.oscar-system.org/community/#slack).

Alternatively, you can [raise an issue on github](https://www.oscar-system.org/community/#how-to-report-issues).
76 changes: 0 additions & 76 deletions docs/src/AlgebraicGeometry/Curves/ProjectivePlaneCurves.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,79 +21,3 @@ intersection_multiplicity(C::S, D::S, P::AbsProjectiveRationalPoint) where S <:
is_transverse_intersection(C::S, D::S, P::AbsProjectiveRationalPoint) where S <: ProjectivePlaneCurve
```

# Rational Parametrizations of Rational Plane Curves

!!! note
In this section, $C$ will denote a complex projective plane curve, defined by an absolutely irreducible,
homogeneous polynomial in three variables, with coefficients in $\mathbb Q$. Moreover, we will write $n = \deg C$.

Recall that the curve $C$ is *rational* if it is birationally equivalent to the projective line $\mathbb P^1(\mathbb C)$.
In other words, there exists a *rational parametrization* of $C$, that is, a birational map $\mathbb P^1(\mathbb C)\dashrightarrow C$.
Note that such a parametrization is given by three homogeneous polynomials of the same degree in the homogeneous coordinates on
$\mathbb P^1(\mathbb C)$.

!!! note
The curve $C$ is rational iff its geometric genus is zero.

Based on work of Max Noether on adjoint curves, Hilbert und Hurwitz showed that if
$C$ is rational, then there is a birational map $C \dashrightarrow D$ defined over $\mathbb Q$ such
that $D = \mathbb P^1(\mathbb C)$ if $n$ is odd, and $D\subset\mathbb P^2(\mathbb C)$ is a conic if $n$ is even.

!!! note
If a conic $D$ contains a rational point, then there exists a parametrization of $D$ defined over $\mathbb Q$;
otherwise, there exists a parametrization of $D$ defined over a quadratic field extension of $\mathbb Q$.

The approach of Hilbert und Hurwitz is constructive and allows one, in principle, to find rational parametrizations.
The resulting algorithm is not very practical, however, as the approach asks to compute adjoint curves repeatedly,
at each of a number of reduction steps.

The algorithm implemented in OSCAR relies on reduction steps of a different type and requires the computation of adjoint
curves only once. Its individual steps are interesting in their own right:

- Assure that the curve $C$ is rational by checking that its geometric genus is zero;
- compute a basis of the adjoint curves of $C$ of degree ${n-2}$; each such basis defines a birational map $C \dashrightarrow C_{n-2},$
where $C_{n-2}$ is a rational normal curve in $\mathbb P^{n-2}(\mathbb C)$;
- the anticanonical linear system on $C_{n-2}$ defines a birational map $C_{n-2}\dashrightarrow C_{n-4}$, where $C_{n-4}$ is a rational normal curve in in $\mathbb P^{n-4}(\mathbb C)$;
- iterate the previous step to obtain a birational map $C_{n-2} \dashrightarrow \dots \dashrightarrow D$,
where $D = \mathbb P^1(\mathbb C)$ if $n$ is odd, and $D\subset\mathbb P^2(\mathbb C)$ is a conic if $n$ is even;
- invert the birational map $C \dashrightarrow C_{n-2} \dashrightarrow \dots \dashrightarrow D$;
- if $n$ is even, compute a parametrization of the conic $D$ and compose it with the inverted map above.

!!! note
The defining property of an adjoint curve is that it passes with “sufficiently high” multiplicity through the singularities of $C$.
There are several concepts of making this precise. For each such concept, there is a corresponding *adjoint ideal* of $C$,
namely the homogeneous ideal formed by the defining polynomials of the adjoint curves. In OSCAR, we follow
the concept of Gorenstein which leads to the largest possible adjoint ideal.

See [Bhm99](@cite) and [BDLP17](@cite) for details and further references.




## Adjoint Ideals of Plane Curves

```@docs
adjoint_ideal(C::ProjectivePlaneCurve{QQField})
```

## Rational Points on Conics

```@docs
rational_point_conic(D::ProjectivePlaneCurve{QQField})
```
## Parametrizing Rational Plane Curves

```@docs
parametrization(C::ProjectivePlaneCurve{QQField})
```


## Contact

Please direct questions about this part of OSCAR to the following people:
* [Janko Böhm](https://www.mathematik.uni-kl.de/~boehm/),
* [Wolfram Decker](https://math.rptu.de/en/wgs/agag/people/head/decker).

You can ask questions in the [OSCAR Slack](https://www.oscar-system.org/community/#slack).

Alternatively, you can [raise an issue on github](https://www.oscar-system.org/community/#how-to-report-issues).
Loading

0 comments on commit 3f2c24a

Please sign in to comment.