### 1.31.17 Αναγωγή γραμμών σε κλιμακωτή μορφή στο ℤ/pℤ : rref

rref (row reduction to echelon form) αναγάγει τις γραμμές του πίνακα, με συντελεστές στο ℤ/pℤ, σε κλιμακωτή μορφή.

Αυτό μπορεί να χρησιμοποιηθεί για να λύσουμε ένα γραμμικό σύστημα εξισώσεων με συντελεστές στο ℤ/pℤ, αναγράφοντάς το σε μορφή πίνακα :

A*X=B

rref παίρνει σαν όρισμα τον επαυξημένο πίνακα του συστήματος (ο πίνακας που παίρνουμε αν επαυξήσουμε τον πίνακα A στα δεξιά με το διάνυσμα στήλης B).
rref επιστρέφει έναν πίνακα [A1,B1] : ο A1 έχει 1 στην κύρια διαγώνιό του, και μηδενικά έξω από αυτήν, και η λύση στο ℤ/pℤ, του συστήματος :

A1*X=B1

είναι ίδια, με την λύση του :

A*X=B

Παράδειγμα: Να λυθεί στο ℤ/13ℤ

⎧
⎨
⎩

x+   2 ·y | = | 9
3 ·x+10 ·y | = | 0

Είσοδος:

rref([[1, 2, 9]%13,[3,10,0]%13])

ή :

rref([[1, 2, 9],[3,10,0]])%13

Έξοδος :

[[1%13,0%13,3%13],[0%13,1%13,3%13]]

και επομένως η λύση είναι x=3%13 και y=3%13.