Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/rings/all.py
4059 views
1
"""
2
Rings
3
"""
4
5
#*****************************************************************************
6
# Copyright (C) 2005 William Stein <[email protected]>
7
#
8
# Distributed under the terms of the GNU General Public License (GPL)
9
#
10
# This code is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
# General Public License for more details.
14
#
15
# The full text of the GPL is available at:
16
#
17
# http://www.gnu.org/licenses/
18
#*****************************************************************************
19
20
# Ring base classes
21
from ring import Ring, is_Ring
22
from commutative_ring import CommutativeRing, is_CommutativeRing
23
from integral_domain import IntegralDomain, is_IntegralDomain
24
from dedekind_domain import DedekindDomain, is_DedekindDomain
25
from principal_ideal_domain import PrincipalIdealDomain, is_PrincipalIdealDomain
26
from euclidean_domain import EuclideanDomain, is_EuclideanDomain
27
from field import Field, is_Field, is_PrimeField
28
29
from commutative_algebra_element import CommutativeAlgebraElement, is_CommutativeAlgebraElement
30
31
# Ring element base classes
32
from ring_element import RingElement, is_RingElement
33
from commutative_ring_element import CommutativeRingElement, is_CommutativeRingElement
34
from integral_domain_element import IntegralDomainElement, is_IntegralDomainElement
35
from dedekind_domain_element import DedekindDomainElement, is_DedekindDomainElement
36
from principal_ideal_domain_element import PrincipalIdealDomainElement, is_PrincipalIdealDomainElement
37
from euclidean_domain_element import EuclideanDomainElement, is_EuclideanDomainElement
38
from field_element import FieldElement, is_FieldElement
39
40
41
# Ideals
42
from ideal import Ideal, is_Ideal
43
44
# Quotient
45
from quotient_ring import QuotientRing
46
47
# Infinities
48
from infinity import infinity, Infinity, is_Infinite, InfinityRing, unsigned_infinity, UnsignedInfinityRing
49
50
# Rational integers.
51
from integer_ring import IntegerRing, ZZ, crt_basis
52
from integer import Integer, is_Integer
53
54
# Rational numbers
55
from rational_field import RationalField, QQ, is_RationalField
56
from rational import Rational
57
Rationals = RationalField
58
59
# Integers modulo n.
60
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing, Zmod, is_IntegerModRing
61
from sage.rings.finite_rings.integer_mod import IntegerMod, Mod, mod, is_IntegerMod
62
Integers = IntegerModRing
63
64
# Finite fields
65
from finite_rings.all import *
66
67
# Number field
68
from number_field.all import *
69
70
# Function field
71
from function_field.all import *
72
73
# p-adic field
74
from padics.all import *
75
from padics.padic_printing import _printer_defaults as padic_printing
76
77
# Semirings
78
from semirings.all import *
79
80
# Real numbers
81
from real_mpfr import (RealField, is_RealField, is_RealNumber, RR,
82
create_RealNumber as RealNumber) # this is used by the preparser to wrap real literals -- very important.
83
Reals = RealField
84
85
from real_double import RealDoubleField, RDF, RealDoubleElement, is_RealDoubleElement
86
87
from real_lazy import RealLazyField, RLF, ComplexLazyField, CLF
88
89
# Polynomial Rings and Polynomial Quotient Rings
90
from polynomial.all import *
91
92
# Algebraic numbers
93
from qqbar import (AlgebraicRealField, is_AlgebraicRealField, AA,
94
AlgebraicReal, is_AlgebraicReal,
95
AlgebraicField, is_AlgebraicField, QQbar,
96
AlgebraicNumber, is_AlgebraicNumber,
97
number_field_elements_from_algebraics)
98
99
# Intervals
100
from real_mpfi import (RealIntervalField, is_RealIntervalField,
101
is_RealIntervalFieldElement, RIF,
102
RealInterval)
103
104
# Complex numbers
105
from complex_field import ComplexField, is_ComplexField
106
from complex_number import (is_ComplexNumber, create_ComplexNumber as ComplexNumber)
107
Complexes = ComplexField
108
from complex_interval_field import ComplexIntervalField, is_ComplexIntervalField
109
from complex_interval import (is_ComplexIntervalFieldElement, create_ComplexIntervalFieldElement as ComplexIntervalFieldElement)
110
111
from complex_double import ComplexDoubleField, ComplexDoubleElement, CDF, is_ComplexDoubleElement
112
113
# Power series rings
114
from power_series_ring import PowerSeriesRing, is_PowerSeriesRing
115
from power_series_ring_element import PowerSeries, is_PowerSeries
116
117
# Laurent series ring in one variable
118
from laurent_series_ring import LaurentSeriesRing, is_LaurentSeriesRing
119
from laurent_series_ring_element import LaurentSeries, is_LaurentSeries
120
121
# Pseudo-ring of PARI objects.
122
from pari_ring import PariRing, Pari
123
124
# Big-oh notation
125
from big_oh import O
126
127
# Fraction field
128
from fraction_field import FractionField, is_FractionField
129
Frac = FractionField
130
from fraction_field_element import is_FractionFieldElement
131
132
# continued fractions
133
from contfrac import continued_fraction, CFF, ContinuedFractionField
134
135
# Arithmetic
136
from arith import *
137
from fast_arith import prime_range
138
139
from bernoulli_mod_p import bernoulli_mod_p, bernoulli_mod_p_single
140
141
from morphism import is_RingHomomorphism
142
143
from homset import is_RingHomset
144
145
from monomials import monomials
146
147
#from fast_polynomial.compiled_polynomial import compiled_polynomial
148
149
CC = ComplexField()
150
CIF = ComplexIntervalField()
151
152
# i = I = QuadraticField(-1, 'I').gen()
153
I = CC.gen()
154
155
from residue_field import ResidueField
156
157
158
from misc import composite_field
159
160
import tests
161
162