Συμβολική άλγεβρα και μαθηματικά με το Xcas Renée De Graeve, Bernard Parisse |
© 2002, 2007 Renée De Graeve, Bernard Parisse
renee.degraeve@wanadoo.fr
bernard.parisse@ujf-grenoble.fr
|
|
e είναι ο αριθμός exp(1);
pi είναι ο αριθμός π.
άπειρο είναι χωρίς πρόσημο ∞.
+άπειρο είναι +∞.
-άπειρο είναι −∞.
i είναι ο μιγαδικός αριθός i.
convert ή convertir μπορούν να κάνουν διαφορετικού είδους μετατροπές ανάλογα με την επιλογή που δίνεται ως δεύτερο όρισμα.
Για να μετατρέψετε έναν ακέραιο
n σε μία λίστα με τους συντελεστές του ως προς την βάση
b, η επιλογή είναι
base. Τα ορίσματά του
convert ή
convertir είναι ένας ακέραιος
n,
base και το
b, η τιμή της βάσης.
convert ή
convertir επιστρέφει την λίστα των συντελεστών του ακέραιου
n ως προς την βάση
b
Είσοδος :
Έξοδος :
Για να ελέγξετε την απάντηση, εισάγετε
expr("0173") ή
horner(revlist([3,7,1]),8)
ή
convert([3,7,1],base,8) οπότε η απάντηση θα είναι 123
Είσοδος :
Έξοδος :
Για να μετατρέψετε τη λίστα των συντελεστών του ακέραιου
n ως προς την βάση
b,
η επιλογή είναι επίσης
base.
convert ή
convertir επιστρέφει τον ακέραιο
n.
Είσοδος :
ή
Έξοδος :
Είσοδος :
ή
Έξοδος :
Για όλες τις συναρτήσεις σε αύτο το κεφάλαιο, μπορείτε να χρησιμοποιήσετε Gaussian ακεραίους (αριθμούς της μορφής a+ib, όπου a και b ανήκουν στο ℤ).
Μία μετάθεση p μεγέθους n είναι μια
"αμφιμονοσήμαντη και επί
" απεικόνιση από το [0..n−1] στο
[0..n−1] και αναπαρίσταται από την λίστα:
[p(0),p(1),p(2)...p(n−1)].
Για παράδειγμα, η μετάθεση p που αναπαρίσταται από την λίστα [1,3,2,0] είναι η απεικόνιση από το [0,1,2,3] στο [0,1,2,3] που ορίζεται ως:
p(0)=1, p(1)=3, p(2)=2, p(3)=0 |
Ένας κύκλος c μεγέθους p αναπαρίσταται από την λίστα: [a0,...,ap−1] (0≤ ak≤ n−1) Eίναι η μετάθεση όπου
c(ai)=ai+1 for (i=0..p−2), c(ap−1)=a0, c(k)=k αλλιώς |
Ένας κύκλος c αναπαρίσταται από μια λίστα και η διάσπαση ενός κύκλου
αναπαρίσταται από λίστες λιστών.
Για παράδειγμα, ο κύκλος c που αναπαρίσταται από την λίστα [3,2,1] είναι η μετάθεση
c ορισμένη για c(3)=2, c(2)=1, c(1)=3, c(0)=0 (δηλαδή η μετάθεση που αναπαρίσταται από την λίστα [0,3,1,2]).
Σημειώστε ότι οι μιγαδικοί αριθμοί χρησιμοποιούνται επίσης για να αναπαραστήσουν ένα σημείο στο επίπεδο ή μία 1- d γραφική παράσταση.
Ένας τελεστής είναι μια ενθηματική συνάρτηση.
Ένα πολυώνυμο μιας μεταβλητής αναπαριστάται είτε από μια συμβολική παράσταση είτε από την λίστα των συντελεστών του διατεταγμένων σε φθίνουσα τάξη των δυνάμεων (πυκνή αναπαράσταση). Στην τελευταία περίπτωση, για να αποφύγουμε τη σύγχυση με άλλου είδους λίστες
poly1[…]
για οριοθέτες στην είσοδο
Σημειώστε ότι πολυώνυμα που αναπαριστώνται ως λίστες συντελεστών γράφονται πάντοτε σε φθίνουσα τάξη δυνάμεων ακόμα κι αν στις Ρυθμίσεις του Cas έχει τσεκαρισθεί η "αύξουσα δύναμη ".
Ένα πολυώνυμο πολλών μεταβλητών αναπαριστάται :
Τα πολυώνυμα αντιπροσωπεύονται από παραστάσεις ή μια λίστα συντελεστών σε φθίνουσα τάξη δύναμης. Στην 1η περίπτωση, για εντολές που απαιτείται μια κύρια μεταβλητή (όπως στους υπολογισμούς για τον επεκταμένο Ευκλείδειο αλγόριθμο), η μεταβλητή που χρησιμοποιείται από προεπιλογή είναι x αν δεν ορίζεται αλλιώς. Για συντελεστές στον δακτύλιο ℤ/nℤ, χρησιμοποιείστε % n για κάθε συντελεστή n της λίστας ή εφαρμόστε το στην παράσταση που ορίζει το πολυώνυμο.
Ο τρόπος με τον οποίο κάνουμε υπολογισμούς στο ℤ/pℤ ή στο ℤ/pℤ[x] εξαρτάται από τον τρόπο λειτουργίας του συστήματος, ο οποίος καθορίζει το συντακτικό της γλώσσας :
^
2+3*x-1)%13 ή^
2+3%13*x-1%13.
Σχόλιο
Οι συναρτήσεις που γράφονται εδώ μπορεί να χρησιμοποιηθούν εάν η στατιστική σειρά περιέχεται σε μία λίστα. Δείτε επίσης το τμήμα 1.42.31 για πίνακες και το κεφάλαιο ?? για σταθμισμένες λίστες.
^
2=size(l)*stddev(l)^
2/(size(l)-1).
Παράδειγμα
Ορίστε τη λίστα
A ως εξής:
Έξοδοι :
Ένας πίνακας είναι μία απεικόνιση που χρησιμοποιείται για να αποθηκεύσουμε πληροφορίες
που σχετίζονται με (αντιστοιχούν σε) δείκτες οι οποίοι εκτός από ακεραίους μπορεί να είναι
συμβολοσειρές ή ακολουθίες. Ένας πίνακας μπορεί για παράδειγμα να χρησιμοποιηθεί για να αποθηκεύσουμε
τηλεφωνικούς αριθμούς τους οποίους βρίσκουμε με την βοήθεια ονομάτων (που παίζουν τον ρόλο των δεικτών).
Στο
Xcas, οι δείκτες ενός πίνακα μπορεί να είναι κάθε είδους αντικείμενα του
Xcas. Πρόσβαση γίνεται με έναν δυαδικό αλγόριθμο αναζήτησης, όπου η
συνάρτηση διάταξης πρώτα ταξινομεί με βάση τον τύπο (
type) και μετά χρησιμοποιεί
μια διάταξη για κάθε τύπο (π.χ. < για αριθμητικούς τύπους, λεξικογραφική διάταξη για
συμβολοσειρές, κτλ.)
table παίρνει σαν όρισμα μια λίστα (ή μια ακολουθία) από ισότητες όνομα_δείκτη = τιμή_στοιχείου (
index_name=element_value).
table επιστρέφει αυτόν τον πίνακα.
Είσοδος :
Είσοδος :
Έξοδος :
Είσοδος :
Έξοδος :
Σχόλιο
Εάν κάνετε την ανάθεση
T[n]:= ... όπου T είναι όνομα μεταβλητής
και
n ακέραιος ισχύουν τα ακόλουθα :
Ένας πίνακας αναπαρίσταται από μια λίστα από λίστες, που έχουν όλες το ίδιο μέγεθος.
Στις απαντήσεις του
Xcas, οι οριοθέτες των πινάκων είναι παχειές αγκύλες [].
Για παράδειγμα, [1,2,3] είναι ο πίνακας [[1,2,3]] με μόνο μια γραμμή,
ενώ [1,2,3] (με κανονικές αγκύλες) είναι η λίστα [1,2,3].
Σε αυτό το εγχειρίδιο, ο συμβολισμός εισόδου στο
Xcas (δηλαδή [[1,2,3]]) θα χρησιμοποιηθεί τόσο για την είσοδο όσο
και για την έξοδο.
Τα προβλήματα του Γραμμικά Προγραμματισμού είναι προβλήματα μεγιστοποίησης μιας γραμμικής συνάρτησης κάτω από περιορισμούς που εκφράζονται με γραμμικές ισότητες ή ανισότητες. Η πιο απλή περίπτωση μπορεί να επιλυθεί άμεσα από τον αποκαλούμενο αλγόριθμο simplex. Οι περισσότερες περιπτώσεις απαιτούν την επίλυση ενός βοηθητικού προβλήματος γραμμικού προγραμματισμού για την εύρεση μια αρχικής κορυφής για τον αλγόριθμο simplex.
Σημειώστε ότι οι περισσότεροι αλγόριθμοι παραγοντοποίησης πινάκων υλοποιούνται αριθμητικά, και ότι μόνο λίγοι απ’ αυτούς θα δουλέψουν συμβολικά.
Σε αυτή την ενότητα, αποκαλούμε
"επαυξημένο πίνακα
" του συστήματος
A · X
=B (ή πίνακα που
"αντιπροσωπεύει
" το σύστημα A · X=B),
τον πίνακας που παίρνουμε προσκολλώντας το στηλο-διάνυσμα B ή −B
στα δεξιά του πίνακα A, όπως με την εντολή
border(A,tran(B)).
Η ενότητα αυτή περιορίζεται στις συμβολικές (ή ακριβείς) λύσεις των διαφορικών εξισώσεων. Για αριθμητικές λύσεις διαφορικών εξισώσεων, δείτε την odesolve. Για γραφική αναπαράσταση των λύσεων των διαφορικών εξισώσεων, δείτε plotfield, plotode και interactive_plotode.
Οι περισσότερες εντολές γράφων παίρνουν παραστάσεις σαν ορίσματα. Λίγες εξαιρέσεις (κυρίως εντολές συμβατότητας με το maple) επίσης δέχονται συναρτήσεις. Μερικά προαιρετικά ορίσματα, όπως χρώμα, πάχος γραμμής, μπορούν να χησιμοποιηθούν σαν προαιρετικά ορίσματα σε όλες τις γραφικές εντολές. Περιγράφονται παρακάτω.
Υπάρχουν δύο είδη χαρακτηριστικών: καθολικά χαρακτηριστικά ενός γραφικού περιβάλλοντος και ατομικά χαρακτηριστικά.
plot(f(x),x) σχεδιάζει τον γράφο της y=f(x).
Το δεύτερο όρισμα καθορίζει το πεδίο τιμών
x=xmin..xmax. Mπορούμε επίσης να σχεδιάσουμε μια συνάρτηση αντί για μια παράσταση
χρησιμοποιώντας την ακόλουθη σύνταξη
plot(f,xmin..xmax).
plot δέχεται ένα προαιρετικό όρισμα για να ορίσει
το βήμα που χρησιμοποιεί το x στην διακριτοποίηση με
xstep=
ή τον αριθμό των σημείων για την διακριτοποίηση
με
nstep=
.
Είσοδος :
^
2-2,x)Έξοδος :
^
2-2Είσοδος :
^
2-2,xstep=1)ή
^
2-2,x,xstep=1)Έξοδος :
^
2-2 Είσοδος :
^
2-2,x=-2..3,nstep=30)Έξοδος :
^
2-2 στο διάστημα [-2, 3] και με 30 σημεία
plot3d παίρνει τρία ορίσματα : μια συνάρτηση δύο μεταβλητών ή
μια παράσταση δύο μεταβλητών ή μια λίστα τριών συναρτήσεων με δύο μεταβλητές
ή μια λίστα τριών παραστάσεων με δύο μεταβλητές και τα ονόματα αυτών των δύο
μεταβλητών με ένα προαιρετικό πεδίο τιμών (για παραστάσεις) ή τα πεδία τιμών
(για συναρτήσεις).
plot3d(f(x,y),x,y) (αντιστ.
plot3d([f(u,v),g(u,v),h(u,v)],u,v)) σχεδιάζει την
επιφάνεια z=f(x,y) (αντιστ. x=f(u,v),y=g(u,v),z=h(u,v)).
plot3d(f(x,y),x=x0..x1,y=y0..y1) ή
plot3d(f,x0..x1,y0..y1) καθορίζει πιο τμήμα της επιφάνειας
θα σχεδιαστεί (διαφορετικά από προεπιλογή τα πεδία τιμών ορίζονται από τα χαρακτηριστικά του γράφου).
Είσοδος :
Έξοδος :
Είσοδος :
Έξοδος :
Είσοδος :
Έξοδος :
plotinequation([f1(x,y)<a1,…fk(x,y)<ak],[x=x1..x2,y=y1..y2]) σχεδιάζει στο επίπεδο τα σημεία των οποίων οι συντεταγμένες ικανοποιούν τις ανισότητες δύο μεταβλητών :
⎧ ⎪ ⎨ ⎪ ⎩ |
| , x1≤ x ≤ x2, y1 ≤ y ≤ y2 |
Είσοδος :
^
2-y^
2<3, [x=-2..2,y=-2..2],xstep=0.1,ystep=0.1)Έξοδος :
^
2-y^
2=3Είσοδος :
^
2<y], [x-2..2,y=-1..10],xstep=0.2,ystep=0.2)Έξοδος :
^
2Σημειώστε ότι αν τα πεδία τιμών για τα x και y δεν συγκεκριμενοποιούνται, το Xcas παίρνει τις προεπιλεγμένες τιμές του X-,X+,Y-,Y+ που ορίζονται στις Ρυθμίσεις, δεξιά από το παράθυρο γραφικών ( Cfg▸Ρυθμίσεις Γραφικών).
^
2,x=0..1,5,trapezoid)^
2,x=0..1,5,trapezoid);
plot(x^
2,x=0..1,display=red+line_width_3)^
2,x=0..1,5,middle_point)^
2,x=0..1,5,middle_point); plot(x^
2,x=0..1,display=red+line_width_3)
plotcontour(f(x,y),[x,y]) (ή
DrwCtour(f(x,y),[x,y]) ή
contourplot(f(x,y),[x,y]))
σχεδιάζει τις ισοϋψείς καμπύλες της επιφάνειας που ορίζεται από z=f(x,y) για z=−10,
z=−8, .., z=0, z=2, .., z=10. Μπορείτε να ορίσετε τις επιθυμητές ισοϋψείς καμπύλες με μία λίστα τιμών του z που δίνονται σαν τρίτο όρισμα.
Είσοδος :
^
2+y^
2,[x=-3..3,y=-3..3],[1,2,3], display=[green,red,black])Έξοδος :
^
2-y^
2 = n για
n=1,2,3Είσοδος :
^
2-y^
2,[x,y])Έξοδος :
^
2-y^
2 = n για
n=-10,-8,…,10
Αν θέλετε να σχεδιάσετε την επιφάνεια σε τρισδιάστατο περιβάλλον,
εισάγετε
plotfunc(f(x,y),[x,y]), βλέπε 2.2.2):
^
2-y^
2,[x,y])Έξοδος :
^
2+y^
2
plotdensity(f(x,y),[x,y]) ή
densityplot(f(x,y),[x,y])
σχεδιάζει τον γράφο της z=f(x,y) στο επίπεδο όπου οι τιμές του
z αντιπροσωπεύονται από τα χρώματα του ουράνιου τόξου. Το προαιρετικό όρισμα
z=zmin..zmax ορίζει το πεδίο τιμών του z που αντιστοιχεί στο
πλήρες ουράνιο τόξο. Αν δεν ορίζεται, συνεπάγεται από την μέγιστη
και ελάχιστη τιμή της f στη διακριτοποίηση. Η διακριτοποίηση
μπορεί να ορίζεται από τα προαιρετικά ορίσματα
xstep=... και
ystep=...
ή
nstep=...
Είσοδος :
^
2-y^
2,[x=-2..2,y=-2..2], xstep=0.1,ystep=0.1)Έξοδος :
^
2-y^
2=z έχει ένα χρώμα από το ουράνιο τόξοΣχόλιο : Ένα ορθογώνιο που αντιπροσωπεύει την κλιμακα των χρωμάτων εμφανίζεται κάτω από τον γράφο .
plotimplicit ή implicitplot σχεδιάζει καμπύλες ή επιφάνειες που ορίζονται από μια πεπλεγμένη παράσταση ή εξίσωση. Εάν η επιλογή unfactored δίνεται σαν τελευταίο όρισμα, η αρχική παράσταση παίρνεται χωρίς τροποποίηση. Αλλιώς, η παράσταση κανονικοποιείται, μετά αντικαθίσταται από την παραγοντοποίηση του αριθμητή της κανονικοποίησής της.
Κάθε παράγοντας της παράστασης, αντιστοιχεί σε μία συνιστώσα της πεπλεγμένης καμπύλης ή επιφάνειας. Για κάθε παράγοντα, το Xcas εξετάζει εάν είναι ολικού βαθμού μικρότερου ή ίσου του 2, και σε αυτή την περίπτωση καλείται η conic ή quadric. Διαφορετικά, καλείται ο αριθμητικός επιλυτής πεπλεγμένων.
Προαιρετικά ορίσματα για το βήμα και τα πεδία τιμών μπορεί να περαστούν στον αριθμητικό επιλυτή πεπλεγμένων, αλλά αυτά απελευθερώνονται όταν η συνιστώσα είναι κωνική καμπύλη ή δευτεροβάθμια επιφάνεια.
Έστω Et μια παράσταση που εξαρτάται από την μεταβλητή t.
plotpolar(Et,t) σχεδιάζει την πολική παράσταση της
καμπύλης που ορίζεται από ρ=Et για θ=t, και που στις
καρτεσιανές συντενταγμένες είναι η καμπύλη (Et cos(t),Et sin(t)).
Το πεδίο τιμών της παραμέτρου μπορεί να οριστεί αντικαθιστώντας το δεύτερο όρισμα
με
t=tmin..tmax. Η παράμετρος διακριτοποίησης μπορεί να οριστεί
από ένα προαιρετικό όρισμα
tstep=....
Είσοδος:
Έξοδος :
Είσοδος:
ή :
Έξοδος :
Έστω f(x) μια παράσταση που εξαρτάται από την μεταβλητή x
(αντίστ. f(t) μια παράσταση που εξαρτάται από την μεταβλητή t).
plotseq(f(x),a,n) (αντιστ.
plotseq(f(t),t=a,n)) σχεδιάζει την γραμμή
y=x, τον γράφο της y=f(x) (αντιστ y=f(t)) και τους n πρώτους όρους της
αναδρομικής ακολουθίας που ορίζεται από: u0=a, un=f(un−1).
Η τιμή a μπορεί να αντικατασταθεί από μια λίστα τριών στοιχείων, [a,x−,x+]
όπου x−..x+ θα περαστεί σαν το πεδίο τιμών του x για τον υπολογισμό του γράφου.
Είσοδος :
Έξοδος :
Είσοδος :
Έξοδος :
Έστω f(t,y) μια παράσταση ως προς δύο μεταβλητές t και y.
Είσοδος :
Έξοδος :
Είσοδος :
Έξοδος, ο γράφος, στον χώρο, της λύσης της :
[h,p]′=[h−0.3 h*p, 0.3 h*p−p] [h,p](0)=[0.3,0.7] |
Για να έχετε ένα διδιάστατο ( 2-d) γράφο (στο επίπεδο), χρησιμοποιήστε την επιλογή plane
Έστω f(t,y) μια παράσταση ως προς τις δύο
μεταβλητές t και y.
interactive_plotode(f(t,y),[t,y]) σχεδιάζει το πεδίο κλίσεων
της διαφορικής εξίσωσης y′=f(t,y) σε ένα νέο παράθυρο.
Στο παράθυρο αυτό, μπορεί κανείς να επιλέξει ένα σημείο (κάνοντας κλικ με το ποντίκι) για να πάρει τον
γράφο της λύσης της y′=f(t,y) που περνά από αυτό το σημείο.
Μπορείτε να επιλέξετε περισσότερα σημεία για να εμφανίσετε
περισσότερες λύσεις. Για να σταματήσετε πιέστε το
κουμπί
Esc.
Είσοδος:
Έξοδος :
Το Xcas μπορεί να εμφανίσει εφέ κίνησης γράφων 2D, 3D ή "4D". Αυτό γίνεται πρώτα υπολογίζοντας μια ακολουθία γραφικών αντικειμένων, και μετά την ολοκλήρωση, εμφανίζοντας την ακολουθία σε βρόχο.
Οι πραγματικοί αριθμοί μπορεί να έχουν ακριβή αναπαράσταση (π.χ. ρητοί, συμβολικές παραστάσεις που περιλαμβάνουν τετραγωνικές ρίζες ή σταθερές όπως π, ...) ή προσεγγιστική αναπαράσταση, που σημαίνει ότι ο πραγματικός αναπαρίσταται από έναν ρητό (με παρονομαστή που είναι μια δύναμη της βάσης της αναπαράστασης) που είναι κοντά στον πραγματικό. Στο Xcas, ο συνήθης επιστημονικός συμβολισμός χρησιμοποιείται για την προσεγγιστική αναπαράσταση, δηλαδή το κλασματικό μέρος ( mantissa) (με μία τελίτσα για δεκαδικό οριοθέτη, αντί για κόμμα που χρησιμοποιούμε στην Ελλάδα) που ακολουθείται προαιρετικά από το γράμμμα e και έναν ακέραιο εκθέτη.
Σημειώστε ότι ο πραγματικός αριθμός 10−4 είναι ένας ακριβής αριθμός αλλά ο 1e−4 είναι η προσεγγιστική αναπαράσταση του πρώτου.
Σε αυτήν την ενότητα, θα δούμε πως αναπαρίστανται οι πραγματικοί αριθμοί.
evalf ή
approx υπολογίζει μία αριθμητική προσέγγιση (εάν αυτό είναι δυνατό).
Είσοδος :
Έξοδος, εάν στις Ρυθμίσεις CAS (από το μενού Ρυθμίσεις) έχουμε ορίσει Digits=7 (εδώ χρησιμοποιούνται αριθμοί μηχανής κινητής υποδιαστολής και εμφανίζονται 7 ψηφία) :
Μπορούμε να αλλάξουμε τον αριθμό των ψηφίων κάνοντας ανάθεση τιμής στην μεταβλητή DIGITS ή Digits στην γραμμή εντολών. Είσοδος :
Έξοδος :
Είσοδος ( DIGITS:=7) :
^
-5)Έξοδος :
Είσοδος :
^
15)Έξοδος :
Είσοδος :
^
-5Έξοδος :
fsolve ή nSolve λύνει αριθμητικές εξισώσεις (σε αντίθεση με την solve ή την proot, δεν περιορίζεται σε πολυωνυμικές εξισώσεις) της μορφής:
f(x)=0, x ∈ ]a,b[ |
fsolve ή nSolve δέχεται ένα τελευταίο προαιρετικό όρισμα, το όνομα ενός επαναληπτικού αλγορίθμου που χρησιμοποιείται από τον επιλυτή. Οι διαφορετικές μέθοδοι εξηγούνται στην συνέχεια.
Tο Xcas παρέχει έξι μεθόδους (από την GSL) για την επίλυση αριθμητικών συστημάτων εξισώσεων της μορφής f(x)=0:
Όλες οι μέθοδοι χρησιμοποιούν μια επανάληψη τύπου Newton
xn+1=xn−f′(xn)−1*f(xn) |
Οι τέσσερις μέθοδοι
hybrid*_solver χρησιμοποιούν επίσης μια μέθοδο
μεγίστης καθόδου όταν η επανάληψη
Newton θα έκανε ένα πολύ μεγάλο βήμα.
Το μήκος του βήματος υπολογίζεται χωρίς κλιμάκωση
για
hybrid_solver και
hybridj_solver
ή με κλιμάκωση (υπολογίζεται από f′(xn)) για
hybrids_solver και
hybridsj_solver.
proot παίρνει σαν όρισμα ένα
squarefree πολυώνυμο,
είτε σε συμβολική μορφή είτε σαν μια λίστα
πολυωνυμικών συντελεστών (γραμμένων σε φθίνουσα σειρά).
proot επιστρέφει μια λίστα των αριθμητικών ριζών αυτού του πολυωνύμου.
Για να βρείτε τις αριθμητικές ρίζες της P(x)=x3+1, εισάγετε :
ή :
^
3+1) Έξοδος :
Για να βρείτε τις αριθμητικές ρίζες του x2−3, εισάγετε :
ή :
^
2-3)Έξοδος :
Αριθμητικές παραγοντοποιήσεις πίνακα του
περιγράφονται στην ενότητα 1.48.
This document was translated from LATEX by HEVEA.