You are on page 1of 5

Πα η α

λέθέ πρ γρα α Sage


Σκ πρσγραηηα Sage εέθαδ Ϋθα εζετγερκ αθκδξτκτ ευδδεα στστβηα ζκγδσηδεκτ, τκ κπκέκ βασέστβεε
στκθ συθδυασησ πκζζυθ υπαρξσθτπθ συστβηΪτπθ γδα υπκζκγδστδεΪ ηαγβηατδεΪ εαδ κ σεκπσς τκυ
εέθαδ θα απκτεζΫσεδ ηδα αθκδξτκτ ζκγδσηδεκτ εθαζζαετδεά ζτσβ γδα παεΫτα σππς τκ Magma, Maple,
Mathematica εαδ Matlabέ
Ας δκτηε ηερδεΪ παραδεέγηαταμ

1 sage: +
2
3 factor(- 0 )
ζ - * * *

Μπκρκτηε θα πΪρκυηε πρυτκυς αρδγηκτς

1 prime_range( 00)
2 [ , , , , , , , , , , , , , , , ,
3 , , , , , , , , ]

ά θα ηετράσκυηε τκ πζάγκς τπθ πρυτπθ πκυ εέθαδ ηδερστερκδ τκυ 106 έ

1 prime_pi( 0^ )
2

Σκ πρσγραηηα ηπκρεέ επέσβς θα ξεδρδστεέ Ϋθθκδες απσ τκθ απεδρκστδεσ ζκγδσησ, σππς ασρδστα εαδ
κρδσηΫθα κζκεζβρυηαταμ

1 integrate( + x + x^ , x)
2 / *x^ + / *x^ + x
3 numerical_integral( + x + x^ , 0, )[0]
ζ . 0000000000000

1θλ
λέθέ ΣΟ ΠΡΟΓΡΑΜΜΑ Sχύϋ 1ιί

Καδ θα εΪθεδ γραφδεΫς παραστΪσεδς συθαρτάσεπθ εαδ σξδ ησθκέ


Σκ πρσγραηηα sage απκτεζεέ ηδα πζάρβ γζυσσα πρκγραηηατδσηκτ ηε δκηά σππς β pythonέ Μπκά
ρκτηε θα εετεζΫσκυηε βρσγξκυς ΧloopsΨ πΪθπ στα αθτδεεέηεθΪ τκυέ Έτσδ ηπκρκτηε θα υπκζκγέσκυηε
τα τετρΪγπθα σζπθ τπθ πρυτπθ πκυ εέθαδ ηδερστερκδ τκυ 1000 ηε τκθ παραεΪτπ ευδδεαμ

1 sum=0
2 for i in prime_range( 000):
3 sum=sum+i^
ζ print sum
η

λέθέ1έ Χε ρ σ ςπ υ έ Ας κρέσκυηε πρυτα τκθ πκζυπθυηδεσ δαεττζδκ Q[t]

1 sage: R = PolynomialRing(QQ, ’t’)


2 sage: R
3 Univariate Polynomial Ring in t over Rational Field

Οδ παραπΪθπ εθτκζΫς δβζυθκυθ στκ sage στδ β αζφαρδγηβτδεά ηεταβζβτά ΧstringΨ ‘t’ συηβκζέαεδ
τβ ηεταβζβτά τκυ δαετυζέκυ στβθ εηφΪθδσβ στβθ κγσθβέ Αυτσ δε κρέαεδ τκ στηβκζκ t γδα ξράσβ
στκ Sage, δβζαδά δεθ ηπκρκτηε θα τκ ξρβσδηκπκδάσκυηε γδα θα εδσαγΪγκυηε Ϋθα πκζυυθυηκ σππς τκ
t2 + 2t + 1έ
Θα ηπκρκτσαηε εθαζζαετδεΪ θα δυσκυηε

1 sage: S = QQ[’t’]
2 sage: S == R
3 True

΢τκθ παραπΪθπ κρδσησ κρέσαηε τκθ δαεττζδκ S εαδ ρπτάσαηε Χβ Ϋεφρασβ ηε τα δτκ οο Ϋξεδ τβθ
Ϋθθκδα τβς ερυτβσβςΨ αθ κδ δαεττζδκδ S, R ταυτέακθταδ, εαδ πάραηε γετδεά ΧtrueΨ απΪθτβσβέ Καδ αυτσς
κ τρσπκς κρδσηκτ Ϋξεδ τκ έδδκ πρσβζβηα στβ ξράσβ τβς ηεταβζβτάς tέ
Έθας πκζτ βκζδεστερκς τρσπκς εέθαδ θα δυσκυηε

1 sage: R.<t> = PolynomialRing(QQ)

1 sage: R.<t> = QQ[’t’]


2 <div>

1 sage: R.<t> = QQ[]

Οδ παραπΪθπ κρδσηκέ κρέακυθ τβ ηεταβζβτά θα εέθαδ β ηεταβζβτά τκυ πκζυπθυηδεκτ δαετυζέκυ,


κπστε ηπκρκτηε ετεκζα θα κρέσκυηε στκδξεέα τκυ δαετυζέκυμ
λέθέ ΣΟ ΠΡΟΓΡΑΜΜΑ Sχύϋ 1ι1

1 sage: poly = (t+ ) * (t+ ); poly


2 t^ + *t +
3 sage: poly in R
ζ True

΢τκ παραπΪθπ κ τεζεστάς ‘in’ Ϋδπσε γετδεά απΪθτβσβ ΧtrueΨ, αφκτ πρΪγηατδ τκ πκζυυθυηκ εέθαδ
στκδξεέκ τκυ δαετυζέκυ Rέ
΢ε εΪγε περέπτπσβ γα ηπκρκτσαηε θα βρκτηε τκθ γεθθάτκρα τκυ πκζυπθυηδεκτ δαετυζέκυ πς
ειάςμ

1 sage: R = PolynomialRing(QQ, ’t’)


2 sage: t = R.0
3 sage: t in R
ζ True

Οδ πραγηατδεκέ εαδ κδ ηδγαδδεκέ αρδγηκέ εέθαδ δκηΫς εδθβτάς υπκδδαστκζάς εαδ κδ πρΪιεδς δεθ γέά
θκθταδ ηε αερδβά τρσπκέ Ιδδαέτερα κδ ηδγαδδεκέ αρδγηκέ γεπρκτθταδ στδ παρΪγκθταδ πΪθπ απσ τκυς
πραγηατδεκτς ηε τκ στηβκζκ i

1 sage: CC
2 Complex Field with bits of precision
3 sage: CC.0 # 0th generator of CC
ζ .00000000000000*I

Ας εΪθκυηε ηερδεΪ παραδεέγηατα στκθ δαεττζδκ Q[t]

1 sage: R, t = QQ[’t’].objgen()
2 sage: f = *t^ + *t^ - /
3 sage: f^
ζ *t^ + *t^ - 0/ *t^ + *t^ - 0/ *t^ + /
η sage: cyclo = R.cyclotomic_polynomial( ); cyclo
θ t^ + t^ + t^ + t^ + t^ + t +
ι sage: g = * cyclo * t^ * (t^ + 0*t + )
κ sage: g
λ *t^ + *t^ + *t^ + *t^ + *t^ + *t^ +
1ί *t^ 0 + *t^ + *t^ + *t^ + *t^ + *t^
11 sage: F = factor(g); F
12 ( ) * t^ * (t^ + 0*t + ) *
13 (t^ + t^ + t^ + t^ + t^ + t + )
1ζ sage: F.unit()

1θ sage: list(F)
1ι [(t, ), (t^ + 0*t + , ), (t^ + t^ + t^ + t^ + t^
1κ + t + , )]

Παρατβρκτηε στδ β παραγκθτκπκέβσβ εαταγρΪφεδ εαδ τβ ηκθΪδα τκυ δαετυζέκυέ


λέθέ ΣΟ ΠΡΟΓΡΑΜΜΑ Sχύϋ 1ι2

δδαέρεσβ δτκ πκζυπθτηπθ δέθεδ απκτΫζεσηα στκθ δαεττζδκ πβζέεπθ, τκθ κπκέκ τκ sage κρέαεδ
αυτσηαταμ

1 sage: x = QQ[’x’].0
2 sage: f = x^ + ; g = x^ -
3 sage: h = f/g; h
ζ (x^ + )/(x^ - )
η sage: h.parent()
θ Fraction Field of Univariate Polynomial Ring in x over
ι Rational Field

Αθ κρέσκυηε τβ ηεταβζβτά ηε δδαφκρετδεσ σθκηα Ϋξκυηε Ϋθαθ δδαφκρετδεσ πκζυπθυηδεσ δαεττζδκ


γδα τκ sage

1 sage: R.<x> = PolynomialRing(QQ)


2 sage: S.<y> = PolynomialRing(QQ)
3 sage: x == y
ζ False
η sage: R == S
θ False
ι sage: R(y)
κ x
λ sage: R(y^ - )
1ί x^ -

Ο δαεττζδκς πρκσδδκρέαεταδ απσ τβ ηεταβζβτάέ Ορέακθτας Ϋθαθ δαεττζδκ ηε Ϊζζκ σθκηα αζζΪ τβθ
έδδα ηεταβζβτά δεθ εαταζάγκυηε σε δδαφκρετδεκτς δαετυζέκυςέ

1 sage: R = PolynomialRing(QQ, ”x”)


2 sage: T = PolynomialRing(QQ, ”x”)
3 sage: R == T
ζ True
η sage: R is T
θ True
ι sage: R.0 == T.0
κ True

Μπκρκτηε θα κρέσκυηε πκζυπθυηδεκτς δαετυζέκυς πΪθπ απσ κπκδκθδάπκτε δαεττζδκ βΪσβςέ

1 sage: R.<T> =PolynomialRing(GF( )); R


2 Univariate Polynomial Ring in T over Finite Field of size

Ας δκτηε Ϋθα παρΪδεδγηα εθσς αγρκέσηατκς σπκυ εΪγε σρκς Ϋξεδ εαδ δδαφκρετδεσ σθκηαμ
λέθέ ΣΟ ΠΡΟΓΡΑΜΜΑ Sχύϋ 1ι3

1 sage: f = sum( /var(’n%s’%i)^i for i in range( 0))


2 /n + /n ^ + /n ^ + /n ^ + /n ^ + /n ^ +
3 /n ^ + /n ^ + /n ^ +

΢ε αυτσ τκ βδβζέκ γα ξρβσδηκπκδάσκυηε τβ δυθατστβτα τκυ θα τρΫιεδ σε cloud server, υστε κ ξράά
στβς θα Ϋξεδ πρσσβασβ σε αυτσ ηΫσα απσ ηδα σεζέδα τκυ φυζζκηετρβτά τκυ ξπρές θα ξρεδαστεέ θα τκ
εγεαταστάσεδ στκθ υπκζκγδστά τκυέ

You might also like