linsolve
επιλύει ένα σύστημα (μία λίστα)
γραμμικών εξισώσεων. Η σύνταξη είναι ίδια με την solve.
Μπορούμε επίσης να χρησιμοποιήσουμε την συνάρτηση
simult
για να επιλύσουμε ένα ή πολλά συστήματα γραμμικών εξισώσεων
τα οποία διαφέρουν μόνο ως προς το δεύτερο μέλος τους.
Στην περίπτωση αυτή το πρώτο όρισμα της simult
είναι ο (κοινός)
πίνακας του (των) συστήματος(-των), ενώ το δεύτερο όρισμα είναι ένας πίνακας
του οποίου η (οι) στήλη(-ες) είναι το (τα) δεύτερο(-α) μέλος(-η)
του (των) συστήματος(-των).
Τέλος υπάρχει και η συνάρτηση rref
με όρισμα ένα πίνακα που
παίρνουμε συνενώνοντας τον πίνακα του συστήματος
με το δεύτερο μέλος (border(A,b) όπου b είναι
το διάνυσμα του δεύτερου μέρους).
Όταν το σύστημα είναι αδύνατο να λυθεί, η συνάρτηση linsolve
επιστρέφει
μία άδεια λίστα, η simult
επιστρέφει μόνο μία λύση, και
η rref
επιστρέφει ένα πίνακα του οποίου μία των γραμμών είναι μηδενική,
εκτός του τελευταίου στοιχείου.
Όταν το σύστημα είναι απροσδιόριστο, η συνάρτηση linsolve
επιστρέφει μία άδεια λίστα, η simult
επιστρέφει μόνο μία λύση, και η rref
επιστρέφει ένα πίνακα
του οποίου μία ή περισσότερες γραμμές
είναι μηδενικές.
Τα παραδείγματα που ακολουθούν αφορούν το σύστημα
linsolve([x+y+a*z=1,x+a*y+z=1,x+a*y+z=-2],[x,y,z]) a:=1 linsolve([x+y+a*z=1,x+a*y+z=1,x+a*y+z=-2],[x,y,z]) a:=-2 linsolve([x+y+a*z=1,x+a*y+z=1,x+a*y+z=-2],[x,y,z]) purge(a) A:=[[1,1,a],[1,a,1],[a,1,1]] solve(det(A),a) A1:=subst(A,a=1) rank(A1) image(A1) ker(A1) A2:=subst(A,a=-2) rank(A2) image(A2) ker(A2) b:= [1,1,-2] B:=tran(b) simult(A,B) simult(A1,B) simult(A2,B) M:=blockmatrix(1,2,[A,B]) rref(M) rref(border(A,b)) rref(border(A1,b)) rref(border(A2,b))
Γραμμικά συστήματα | |
linsolve |
επίλυση ενός συστήματος |
simult |
επίλυση πολλών συστημάτων ταυτόχρονα |
rref |
αναγωγή Gauss-Jordan |
rank |
τάξη |
det |
ορίζουσα του συστήματος |