# Rational Curves and Conics

- [Introduction](crvgen0-sec:introduction.md)

- [Rational Curves and Conics](crvgen0-sec:main.md)

  - [Rational Curve and Conic Creation](crvgen0-sec:main.md#rational-curve-and-conic-creation)

    - [`Conic(coeffs): [RngElt] → CrvCon`](crvgen0-sec:main.md#function-conic-rngelt)

    - [`Conic(M): Mtrx → CrvCon`](crvgen0-sec:main.md#function-conic-mtrx)

    - [`Conic(X, f): Prj, RngMPolElt → CrvCon`](crvgen0-sec:main.md#function-conic-prj-rngmpolelt)

    - [`IsConic(S): Sch → BoolElt, CrvCon`](crvgen0-sec:main.md#function-isconic-sch)

    - [`RationalCurve(X, f): Prj, RngMPolElt → CrvRat`](crvgen0-sec:main.md#function-rationalcurve-prj-rngmpolelt)

    - [`IsRationalCurve(S): Sch → BoolElt, CrvRat`](crvgen0-sec:main.md#function-isrationalcurve-sch)

    - [`Example: Conic Creation`](crvgen0-sec:main.md#example-ex-e93efc)

  - [Access Functions](crvgen0-sec:main.md#access-functions)

    - [`DefiningPolynomial(C): Crv → RngMPolElt`](crvgen0-sec:main.md#function-definingpolynomial-crv)

    - [`DefiningIdeal(C): Crv → RngMPol`](crvgen0-sec:main.md#function-definingideal-crv)

    - [`BaseRing(C): Crv → Rng`](crvgen0-sec:main.md#function-basering-crv)

    - [`BaseField(C): Crv → Rng`](crvgen0-sec:main.md#function-basefield-crv)

    - [`Category(C): Crv → Cat`](crvgen0-sec:main.md#function-category-crv)

    - [`Type(C): Crv → Cat`](crvgen0-sec:main.md#function-type-crv)

  - [Rational Curve and Conic Examples](crvgen0-sec:main.md#rational-curve-and-conic-examples)

    - [`Example: Rational Curve Example`](crvgen0-sec:main.md#example-ex-626aa7)

    - [`Example: Conic Curve`](crvgen0-sec:main.md#example-ex-5e7c60)

    - [`Example: Conic Access`](crvgen0-sec:main.md#example-ex-8b9072)

- [Conics](crvcon-sec:models.md)

  - [Elementary Invariants](crvcon-sec:models.md#elementary-invariants)

    - [`Discriminant(C): CrvCon → FldElt`](crvcon-sec:models.md#function-discriminant-crvcon)

  - [Alternative Defining Polynomials](crvcon-sec:models.md#alternative-defining-polynomials)

    - [`LegendrePolynomial(C): CrvCon → RngMPolElt, ModMatRngElt`](crvcon-sec:models.md#function-legendrepolynomial-crvcon)

    - [`ReducedLegendrePolynomial(C): CrvCon → RngMPolElt, ModMatRngElt`](crvcon-sec:models.md#function-reducedlegendrepolynomial-crvcon)

  - [Alternative Models](crvcon-sec:models.md#alternative-models)

    - [`LegendreModel(C): CrvCon → CrvCon, MapIsoSch`](crvcon-sec:models.md#function-legendremodel-crvcon)

    - [`ReducedLegendreModel(C): CrvCon → CrvCon, MapIsoSch`](crvcon-sec:models.md#function-reducedlegendremodel-crvcon)

  - [Other Functions on Conics](crvcon-sec:models.md#other-functions-on-conics)

    - [`MinimalModel(C): CrvCon → CrvCon, Map`](crvcon-sec:models.md#function-minimalmodel-crvcon)

    - [`Example: Conic Minimal Model`](crvcon-sec:models.md#example-ex-4f68ee)

- [Local-Global Correspondence](local-global.md)

  - [Local Conditions for Conics](local-global.md#local-conditions-for-conics)

    - [`BadPrimes(C): CrvCon → SeqEnum`](local-global.md#function-badprimes-crvcon)

  - [Local Solubility](local-global.md#local-solubility)

    - [`IsLocallySolvable(C): CrvCon → BoolElt`](local-global.md#function-islocallysolvable-crvcon)

  - [Norm Residue Symbol](local-global.md#norm-residue-symbol)

    - [`NormResidueSymbol(a, b, p): FldRatElt, FldRatElt, RngIntElt → RngIntElt`](local-global.md#function-normresiduesymbol-fldratelt-fldratelt-rngintelt)

    - [`NormResidueSymbol(a, b, p): RngIntElt, RngIntElt, RngIntElt → RngIntElt`](local-global.md#function-normresiduesymbol-rngintelt-rngintelt-rngintelt)

    - [`HilbertSymbol(a, b, p : parameters): FldRatElt, FldRatElt, RngIntElt → RngIntElt`](local-global.md#function-hilbertsymbol-fldratelt-fldratelt-rngintelt)

    - [`HilbertSymbol(a, b, p : parameters): RngIntElt, RngIntElt, RngIntElt → RngIntElt`](local-global.md#function-hilbertsymbol-rngintelt-rngintelt-rngintelt)

    - [`HilbertSymbol(a, b, p): FldAlgElt, FldAlgElt, RngOrdIdl → RngIntElt`](local-global.md#function-hilbertsymbol-fldalgelt-fldalgelt-rngordidl)

    - [`Example: Local Global`](local-global.md#example-ex-d2227e)

- [Rational Points on Conics](crvcon-sec:ratpoints.md)

  - [Finding Points](crvcon-sec:ratpoints.md#finding-points)

    - [`HasRationalPoint(C): CrvCon → BoolElt, Pt`](crvcon-sec:ratpoints.md#function-hasrationalpoint-crvcon)

    - [`RationalPoint(C): CrvCon → Pt`](crvcon-sec:ratpoints.md#function-rationalpoint-crvcon)

    - [`Random(C : parameters): CrvCon → Pt`](crvcon-sec:ratpoints.md#function-random-crvcon)

    - [`Points(C : parameters): CrvCon → SetIndx`](crvcon-sec:ratpoints.md#function-points-crvcon)

    - [`RationalPoints(C : parameters): CrvCon → SetIndx`](crvcon-sec:ratpoints.md#function-rationalpoints-crvcon)

    - [`Example: Rational Point Enum`](crvcon-sec:ratpoints.md#example-ex-979e60)

  - [Point Reduction](crvcon-sec:ratpoints.md#point-reduction)

    - [`IsReduced(p): Pt → BoolElt`](crvcon-sec:ratpoints.md#function-isreduced-pt)

    - [`Reduction(p): Pt → Pt`](crvcon-sec:ratpoints.md#function-reduction-pt)

    - [`Example: Point Reduction`](crvcon-sec:ratpoints.md#example-ex-3fc80b)

    - [`Example: Point Finding`](crvcon-sec:ratpoints.md#example-ex-b34839)

- [Isomorphisms](crvgen0-sec:isoms.md)

  - [Isomorphisms with Standard Models](crvgen0-sec:isoms.md#isomorphisms-with-standard-models)

    - [`Conic(C): Crv → MapSch`](crvgen0-sec:isoms.md#function-conic-crv)

    - [`Example`](crvgen0-sec:isoms.md#example-ex-564e2f)

    - [`ParametrizationMatrix(C): CrvCon → ModMatRngElt`](crvgen0-sec:isoms.md#function-parametrizationmatrix-crvcon)

    - [`Example`](crvgen0-sec:isoms.md#example-ex-c3a025)

    - [`Parametrization(C): CrvCon → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvcon)

    - [`Parametrization(C, P): CrvCon, Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvcon-crv)

    - [`Parametrization(C, p): Crv, Pt → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crv-pt)

    - [`Parametrization(C, p): Crv, PlcCrvElt → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crv-plccrvelt)

    - [`Parametrization(C, p, P): CrvCon, Pt, Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvcon-pt-crv)

    - [`Parametrization(C, p, P): CrvRat, Pt, Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvrat-pt-crv)

    - [`Parametrization(C, p, P): CrvCon, PlcCrvElt, Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvcon-plccrvelt-crv)

    - [`Parametrization(C, p, P): CrvRat, PlcCrvElt, Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrization-crvrat-plccrvelt-crv)

    - [`ParametrizeOrdinaryCurve(C): Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrizeordinarycurve-crv)

    - [`ParametrizeOrdinaryCurve(C, p): Crv, Pt → MapSch`](crvgen0-sec:isoms.md#function-parametrizeordinarycurve-crv-pt)

    - [`ParametrizeOrdinaryCurve(C, p): Crv, PlcCrvElt → MapSch`](crvgen0-sec:isoms.md#function-parametrizeordinarycurve-crv-plccrvelt)

    - [`ParametrizeOrdinaryCurve(C, p, I): Crv, Pt, RngMPol → MapSch`](crvgen0-sec:isoms.md#function-parametrizeordinarycurve-crv-pt-rngmpol)

    - [`ParametrizeOrdinaryCurve(C, p, I): Crv, PlcCrvElt, RngMPol → MapSch`](crvgen0-sec:isoms.md#function-parametrizeordinarycurve-crv-plccrvelt-rngmpol)

    - [`ParametrizeRationalNormalCurve(C): Crv → MapSch`](crvgen0-sec:isoms.md#function-parametrizerationalnormalcurve-crv)

    - [`Example: Rational Parametrization`](crvgen0-sec:isoms.md#example-ex-270a43)

- [Automorphisms](crvgen0-sec:autom.md)

  - [Automorphisms of Rational Curves](crvgen0-sec:autom.md#automorphisms-of-rational-curves)

    - [`Automorphism(C, S, T): CrvRat, SetIndx, SetIndx → MapIsoSch`](crvgen0-sec:autom.md#function-automorphism-crvrat-setindx-setindx)

  - [Automorphisms of Conics](crvgen0-sec:autom.md#automorphisms-of-conics)

    - [`QuaternionAlgebra(C): CrvCon → AlgQuat`](crvgen0-sec:autom.md#function-quaternionalgebra-crvcon)

    - [`Automorphism(C, a): CrvCon, AlgQuatElt → MapIsoSch`](crvgen0-sec:autom.md#function-automorphism-crvcon-algquatelt)

    - [`Example: Conic Automorphisms`](crvgen0-sec:autom.md#example-ex-85304b)
