# Riemann Surfaces

- [Introduction to Riemann Surfaces](Introduction.md)

  - [`Example: Rie Srf Verbose`](Introduction.md#example-ex-5b318d)

- [Creation Functions](rie-srf-creation.md)

  - [Riemann Surfaces over Number Fields](rie-srf-creation.md#riemann-surfaces-over-number-fields)

    - [`RiemannSurface(f): RngMPolElt → RieSrf`](rie-srf-creation.md#function-riemannsurface-rngmpolelt)

    - [`RiemannSurface(f,sigma): RngMPolElt, PlcNumElt → RieSrf`](rie-srf-creation.md#function-riemannsurface-rngmpolelt-plcnumelt)

    - [`Example: Riesrf Ex 1`](rie-srf-creation.md#example-ex-c4a814)

    - [`Example: Riesrf Ex 2`](rie-srf-creation.md#example-ex-6d46eb)

  - [Superelliptic Riemann Surfaces](rie-srf-creation.md#superelliptic-riemann-surfaces)

    - [`RiemannSurface(p,m): RngUPolElt, RngIntElt → RieSrf`](rie-srf-creation.md#function-riemannsurface-rngupolelt-rngintelt)

    - [`RiemannSurface(L,m): SeqEnum[FldComElt], RngIntElt → RieSrf`](rie-srf-creation.md#function-riemannsurface-seqenum-fldcomelt-rngintelt)

    - [`Example: Riesrf Ex 2`](rie-srf-creation.md#example-ex-d6ff62)

- [Properties of Riemann Surfaces](attribute-functions.md)

  - [Basic Invariants](attribute-functions.md#basic-invariants)

    - [`BasePoint(X): RieSrf → RieSrfPt`](attribute-functions.md#function-basepoint-riesrf)

    - [`Genus(X): RieSrf → RngIntElt`](attribute-functions.md#function-genus-riesrf)

    - [`Degree(X): RieSrf → RngIntElt`](attribute-functions.md#function-degree-riesrf)

    - [`Precision(X): RieSrf → RngIntElt`](attribute-functions.md#function-precision-riesrf)

    - [`Embedding(X): RieSrf → PlcNumElt`](attribute-functions.md#function-embedding-riesrf)

    - [`BigPeriodMatrix(X): RieSrf → Mtrx`](attribute-functions.md#function-bigperiodmatrix-riesrf)

    - [`SmallPeriodMatrix(X): RieSrf → Mtrx`](attribute-functions.md#function-smallperiodmatrix-riesrf)

    - [`FunctionField(X): RieSrf → FldFun`](attribute-functions.md#function-functionfield-riesrf)

    - [`Example: invariants`](attribute-functions.md#example-ex-1117c8)

  - [Fundamental Group](attribute-functions.md#fundamental-group)

    - [`DiscriminantPoints(f): RngMPolElt → SeqEnum[FldComElt]`](attribute-functions.md#function-discriminantpoints-rngmpolelt)

    - [`DiscriminantPoints(f, sigma): RngMPolElt, PlcNumElt → SeqEnum[FldComElt]`](attribute-functions.md#function-discriminantpoints-rngmpolelt-plcnumelt)

    - [`DiscriminantPoints(X): RieSrf → SeqEnum[FldComElt]`](attribute-functions.md#function-discriminantpoints-riesrf)

    - [`BranchPoints(X): RieSrf → Tup`](attribute-functions.md#function-branchpoints-riesrf)

    - [`RamificationPoints(X): RieSrf → SeqEnum[RieSrfPt]`](attribute-functions.md#function-ramificationpoints-riesrf)

    - [`SingularPoints(X): RieSrf → SeqEnum`](attribute-functions.md#function-singularpoints-riesrf)

    - [`FundamentalGroup(P): SeqEnum[FldComElt] → FldComElt, SeqEnum[FldComElt], SeqEnum[CPath], SeqEnum[SeqEnum[RngIntElt]]`](attribute-functions.md#function-fundamentalgroup-seqenum-fldcomelt)

    - [`FundamentalGroup(X): RieSrf → SeqEnum[CChain]`](attribute-functions.md#function-fundamentalgroup-riesrf)

    - [`MonodromyRepresentation(X): RieSrf → SeqEnum`](attribute-functions.md#function-monodromyrepresentation-riesrf)

    - [`Example: Riesrf Ex 1`](attribute-functions.md#example-ex-447d32)

  - [Basis for Period Matrix](attribute-functions.md#basis-for-period-matrix)

    - [`HolomorphicDifferentials(X): RieSrf → Tup`](attribute-functions.md#function-holomorphicdifferentials-riesrf)

    - [`Example: Riesrf Ex 1`](attribute-functions.md#example-ex-86f032)

    - [`Example: Riesrf Ex 1`](attribute-functions.md#example-ex-784cd3)

    - [`HomologyBasis(L): SeqEnum[GrpPermElt] → SeqEnum[SeqEnum[RngIntElt]], Mtrx, Mtrx`](attribute-functions.md#function-homologybasis-seqenum-grppermelt)

    - [`HomologyBasis(X): RieSrf → SeqEnum[SeqEnum[RngIntElt]], Mtrx, Mtrx`](attribute-functions.md#function-homologybasis-riesrf)

    - [`Example: Homology Basis1`](attribute-functions.md#example-ex-701b67)

    - [`Example: Homology Basis2`](attribute-functions.md#example-ex-8af6bb)

- [Points on Riemann Surfaces](Points.md)

  - [Points](Points.md#points)

    - [`IsCoercible(X, S): RieSrf, Any → BoolElt, .`](Points.md#function-iscoercible-riesrf-any)

    - [`Point(X, S): RieSrf, SeqEnum → RieSrfPt`](Points.md#function-point-riesrf-seqenum)

    - [`Point(X, S): RieSrf, Tup → RieSrfPt`](Points.md#function-point-riesrf-tup)

    - [`Example: Rie Points`](Points.md#example-ex-6a04d2)

  - [Access Functions](Points.md#access-functions)

    - [`RiemannSurface(P): RieSrfPt → RieSrf`](Points.md#function-riemannsurface-riesrfpt)

    - [`Representation(P): RieSrfPt → Tup`](Points.md#function-representation-riesrfpt)

    - [`Coordinates(P): RieSrfPt → SeqEnum[FldComElt]`](Points.md#function-coordinates-riesrfpt)

    - [`RamificationIndex(P): RieSrfPt → RngIntElt`](Points.md#function-ramificationindex-riesrfpt)

    - [`PointsOverDiscriminantPoint(X, k): RieSrf, RngIntElt → SeqEnum[RieSrfPt]`](Points.md#function-pointsoverdiscriminantpoint-riesrf-rngintelt)

    - [`RandomPoint(X): RieSrf → RieSrfPt`](Points.md#function-randompoint-riesrf)

    - [`Example: Create Pts 1`](Points.md#example-ex-cb6770)

- [Divisors on Riemann Surfaces](divisors.md)

  - [`Divisor(S,V): SeqEnum[RieSrfPt], SeqEnum[RngIntElt] → DivRieSrfElt`](divisors.md#function-divisor-seqenum-riesrfpt-seqenum-rngintelt)

  - [`ZeroDivisor(X): RieSrfElt → DivRieSrfElt`](divisors.md#function-zerodivisor-riesrfelt)

  - [`RiemannSurface(D): DivRieSrfElt → RieSrf`](divisors.md#function-riemannsurface-divriesrfelt)

  - [`Support(D): DivRieSrfElt → SeqEnum[RieSrfPt], SeqEnum[RngIntElt]`](divisors.md#function-support-divriesrfelt)

  - [`Degree(D): DivRieSrfElt → RngIntElt`](divisors.md#function-degree-divriesrfelt)

  - [`RandomDivisor(X,d): RieSrf, RngIntElt → RieSrfDivElt`](divisors.md#function-randomdivisor-riesrf-rngintelt)

- [Abel–Jacobi Map](abel-jacobi.md)

  - [`AbelJacobi(P): RieSrfPt → Mtrx`](abel-jacobi.md#function-abeljacobi-riesrfpt)

  - [`AbelJacobi(DX): DivRieSrfElt → Mtrx`](abel-jacobi.md#function-abeljacobi-divriesrfelt)

  - [`AbelJacobi(DF, X): DivFunElt, RieSrf → Mtrx`](abel-jacobi.md#function-abeljacobi-divfunelt-riesrf)

  - [`AbelJacobi(P, Q): RieSrfPt, RieSrfPt → Mtrx`](abel-jacobi.md#function-abeljacobi-riesrfpt-riesrfpt)

  - [`AbelJacobi(D, P): DivRieSrfElt, RieSrfPt → Mtrx`](abel-jacobi.md#function-abeljacobi-divriesrfelt-riesrfpt)

  - [`Example: Abel Jacobi Sup`](abel-jacobi.md#example-ex-909191)

  - [`Example: Abel Jacobi Gen 1`](abel-jacobi.md#example-ex-860b42)

  - [`Example: Abel Jacobi Gen 2`](abel-jacobi.md#example-ex-3a3dc0)

- [Period Matrix Functions](anal-jac.md)

  - [`Example: Iso Small Pm 1`](anal-jac.md#example-ex-7d1774)
