ihermite παίρνει ως όρισμα έναν πίνακα
A με συντελεστές
στο ℤ.
ihermite επιστρέφει δύο πίνακες
U και
B τέτοιους ώστε
B=U*A, όπου ο
U είναι αντιστρέψιμος στο ℤ (
det(U) = ± 1)
και ο
B είναι άνω τριγωνικός. Εκτός αυτού,
η απόλυτη τιμή των συντελεστών πάνω από τη διαγώνιο του
B είναι μικρότερη
από τον οδηγό της στήλης διαιρεμένο δια 2.
Η απάντηση υπολογίζεται από έναν αλγόριθμο σαν τον αλγόριθμο αναγωγής
Gauss
κάνοντας μόνο πράξεις γραμμών με ακέραιους συντελεστές.
Είσοδος :
΄Έξοδος :
Εφαρμογή: Υπολογίστε μια ℤ-βάση του πυρήνα ενός πίνακα
με ακέραιους συντελεστές
Έστω
M ένας πίνακας με ακέραιους συντελεστές.
Είσοδος :
Αυτό επιστρέφει τους πίνακες U και τον A τέτοιους ώστε
A=U*transpose(M) και επομένως
transpose(A)=M*transpose(U).
Οι μηδενικές στήλες του
transpose(A) (στα δεξιά του πίνακα,
προερχόμενες από τις μηδενικές γραμμές του A στο κάτω μέρος του πίνακα)
αντιστοιχούν στις στήλες του
transpose(U) οι οποίες σχηματίζουν μια βάση
του
Ker(M). Με άλλα λόγια, οι μηδενικές γραμμές του
A
αντιστοιχούν στις γραμμές του
U
οι οποίες σχηματίζουν μια βάση του
Ker(M).
Παράδειγμα
Έστω
M:=[[1,4,7],[2,5,8],[3,6,9]]. Είσοδος
Έξοδος:
Αφού
A[2]=[0,0,0], μια ℤ-βάση του
Ker(M) είναι
U[2]=[-1,2,-1].
Επαλήθευση
M*U[2]=[0,0,0].