@@ -200,6 +200,66 @@ class DynamicalSemigroup(Parent, metaclass=InheritComparisonClasscallMetaclass):
200
200
Defn: Defined on coordinates by sending (x) to
201
201
(x^2)
202
202
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
+
203
263
A dynamical semigroup may contain dynamical systems over finite fields::
204
264
205
265
sage: F = FiniteField(5)
@@ -557,6 +617,14 @@ def orbit(self, p, n):
557
617
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
558
618
notation `[a, b]`, return `(f^a(p), \dots, f^b(p))`.
559
619
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
+
560
628
EXAMPLES::
561
629
562
630
sage: P.<x,y> = ProjectiveSpace(QQ, 1)
@@ -654,6 +722,14 @@ def orbit(self, p, n):
654
722
655
723
def specialization (self , assignments ):
656
724
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
+
657
733
EXAMPLES::
658
734
659
735
sage: R.<r> = QQ[]
@@ -669,6 +745,54 @@ def specialization(self, assignments):
669
745
Dynamical System of Projective Space of dimension 1 over Rational Field
670
746
Defn: Defined on coordinates by sending (x : y) to
671
747
(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)
672
796
"""
673
797
specialized_systems = []
674
798
for ds in self .defining_systems ():
0 commit comments