Skip to content

Commit 8a09e04

Browse files
finished specialization and added examples for making dynamical semigroups over polynomial rings
1 parent b93122b commit 8a09e04

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

src/sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,66 @@ class DynamicalSemigroup(Parent, metaclass=InheritComparisonClasscallMetaclass):
200200
Defn: Defined on coordinates by sending (x) to
201201
(x^2)
202202
203+
A dynamical semigroup may contain dynamical systems over function fields::
204+
205+
sage: R.<r> = QQ[]
206+
sage: P.<x,y> = ProjectiveSpace(R, 1)
207+
sage: f = DynamicalSystem([r * x, y], P)
208+
sage: g = DynamicalSystem([x, r * y], P)
209+
sage: DynamicalSemigroup((f, g))
210+
Dynamical semigroup over Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field defined by 2 dynamical systems:
211+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
212+
Defn: Defined on coordinates by sending (x : y) to
213+
(r*x : y)
214+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
215+
Defn: Defined on coordinates by sending (x : y) to
216+
(x : r*y)
217+
218+
::
219+
220+
sage: R.<r> = QQ[]
221+
sage: P.<x,y> = ProjectiveSpace(R, 1)
222+
sage: f = DynamicalSystem([r * x, y], P)
223+
sage: g = DynamicalSystem([x, y], P)
224+
sage: DynamicalSemigroup((f, g))
225+
Dynamical semigroup over Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field defined by 2 dynamical systems:
226+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
227+
Defn: Defined on coordinates by sending (x : y) to
228+
(r*x : y)
229+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
230+
Defn: Defined on coordinates by sending (x : y) to
231+
(x : y)
232+
233+
::
234+
235+
sage: R.<r,s> = QQ[]
236+
sage: P.<x,y> = ProjectiveSpace(R, 1)
237+
sage: f = DynamicalSystem([r * x, y], P)
238+
sage: g = DynamicalSystem([s * x, y], P)
239+
sage: DynamicalSemigroup((f, g))
240+
Dynamical semigroup over Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field defined by 2 dynamical systems:
241+
Dynamical System of Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field
242+
Defn: Defined on coordinates by sending (x : y) to
243+
(r*x : y)
244+
Dynamical System of Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field
245+
Defn: Defined on coordinates by sending (x : y) to
246+
(s*x : y)
247+
248+
::
249+
250+
sage: R.<r,s> = QQ[]
251+
sage: P.<x,y> = ProjectiveSpace(R, 1)
252+
sage: f = DynamicalSystem([r * x, s * y], P)
253+
sage: g = DynamicalSystem([s * x, r * y], P)
254+
sage: DynamicalSemigroup((f, g))
255+
Dynamical semigroup over Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field defined by 2 dynamical systems:
256+
Dynamical System of Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field
257+
Defn: Defined on coordinates by sending (x : y) to
258+
(r*x : s*y)
259+
Dynamical System of Projective Space of dimension 1 over Multivariate Polynomial Ring in r, s over Rational Field
260+
Defn: Defined on coordinates by sending (x : y) to
261+
(s*x : r*y)
262+
203263
A dynamical semigroup may contain dynamical systems over finite fields::
204264
205265
sage: F = FiniteField(5)
@@ -557,6 +617,14 @@ def orbit(self, p, n):
557617
If ``n`` is an integer, return `(p, f(p), f^2(p), \dots, f^n(p))`. If ``n`` is a list or tuple in interval
558618
notation `[a, b]`, return `(f^a(p), \dots, f^b(p))`.
559619
620+
INPUT:
621+
622+
- `p` -- value on which this dynamical semigroup can be evaluated
623+
- `n` -- a nonnegative integer or a list or tuple of length 2 describing an
624+
interval of the number line containing entirely nonnegative integers
625+
626+
OUTPUT: a tuple of sets of values on the domain of this dynamical semigroup.
627+
560628
EXAMPLES::
561629
562630
sage: P.<x,y> = ProjectiveSpace(QQ, 1)
@@ -654,6 +722,14 @@ def orbit(self, p, n):
654722

655723
def specialization(self, assignments):
656724
r"""
725+
Returns the specialization of the generators of this dynamical semigroup.
726+
727+
INPUT:
728+
729+
- `assignments` -- argument for specialization of the generators of this dynamical semigroup.
730+
731+
OUTPUT: a dynamical semigroup with the specialization of the generators of this dynamical semigroup.
732+
657733
EXAMPLES::
658734
659735
sage: R.<r> = QQ[]
@@ -669,6 +745,54 @@ def specialization(self, assignments):
669745
Dynamical System of Projective Space of dimension 1 over Rational Field
670746
Defn: Defined on coordinates by sending (x : y) to
671747
(x : 2*y)
748+
749+
::
750+
751+
sage: R.<r> = QQ[]
752+
sage: P.<x,y> = ProjectiveSpace(R, 1)
753+
sage: f = DynamicalSystem([r * x, y], P)
754+
sage: g = DynamicalSystem([x, y], P)
755+
sage: d = DynamicalSemigroup((f, g))
756+
sage: d.specialization({r:2})
757+
Dynamical semigroup over Projective Space of dimension 1 over Rational Field defined by 2 dynamical systems:
758+
Dynamical System of Projective Space of dimension 1 over Rational Field
759+
Defn: Defined on coordinates by sending (x : y) to
760+
(2*x : y)
761+
Dynamical System of Projective Space of dimension 1 over Rational Field
762+
Defn: Defined on coordinates by sending (x : y) to
763+
(x : y)
764+
765+
::
766+
767+
sage: R.<r,s> = QQ[]
768+
sage: P.<x,y> = ProjectiveSpace(R, 1)
769+
sage: f = DynamicalSystem([r * x, y], P)
770+
sage: g = DynamicalSystem([s * x, y], P)
771+
sage: d = DynamicalSemigroup((f, g))
772+
sage: d.specialization({r:2, s:3})
773+
Dynamical semigroup over Projective Space of dimension 1 over Rational Field defined by 2 dynamical systems:
774+
Dynamical System of Projective Space of dimension 1 over Rational Field
775+
Defn: Defined on coordinates by sending (x : y) to
776+
(2*x : y)
777+
Dynamical System of Projective Space of dimension 1 over Rational Field
778+
Defn: Defined on coordinates by sending (x : y) to
779+
(3*x : y)
780+
781+
::
782+
783+
sage: R.<r,s> = QQ[]
784+
sage: P.<x,y> = ProjectiveSpace(R, 1)
785+
sage: f = DynamicalSystem([r * x, s * y], P)
786+
sage: g = DynamicalSystem([s * x, r * y], P)
787+
sage: d = DynamicalSemigroup((f, g))
788+
sage: d.specialization({s:3})
789+
Dynamical semigroup over Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field defined by 2 dynamical systems:
790+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
791+
Defn: Defined on coordinates by sending (x : y) to
792+
(r*x : 3*y)
793+
Dynamical System of Projective Space of dimension 1 over Univariate Polynomial Ring in r over Rational Field
794+
Defn: Defined on coordinates by sending (x : y) to
795+
(3*x : r*y)
672796
"""
673797
specialized_systems = []
674798
for ds in self.defining_systems():

0 commit comments

Comments
 (0)