Πρόσθεση πινάκων

Από testwiki
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Στην γραμμική άλγεβρα, η πρόσθεση δύο πινάκων ίδιων διαστάσεων είναι η πράξη που δίνει ως αποτέλεσμα ένα πίνακα με στοιχεία το άθροισμα των στοιχείων στις αντίστοιχες θέσεις των δύο πινάκων. Πιο συγκεκριμένα, για πίνακες A και B διαστάσεων n×m η πρόσθεσή τους δίνει τον n×m πίνακα (A+B) με στοιχεία[1]Πρότυπο:Rp[2]Πρότυπο:Rp[3]Πρότυπο:Rp[4]Πρότυπο:Rp

(A+B)ij=Aij+Bij,

για κάθε 1in και 1jm. Δηλαδή,

A+B=[A11A12A1mA21A22A2mAn1An2Anm]+[B11B12B1mB21B22B2mBn1Bn2Bnm]=[A11+B11A12+B12A1m+B1mA21+B21A22+B22A2m+B2mAn1+Bn1An2+Bn2Anm+Bnm].

Παραδείγματα

Δίνονται τα παρακάτω παραδείγματα πρόσθεσης πινάκων διαστάσεων 2×2, 2×3 και 3×3:

  • [3857]+[2416]=[(3+(2))((8)+4)(5+(1))(7+6)]=[14413],
  • [842131]+[371436]=[(8+3)((4)+7)(2+(1))(1+4)(3+3)((1)+(6))]=[1131567],
  • [324347781]+[912635744]=[(3+9)((2)+1)((4)+(2))((3)+6)(4+3)(7+(5))(7+7)(8+(4))(1+4)]=[12163721445].

Ιδιότητες

Η πρόσθεση σε πίνακες με στοιχεία σε ένα σώμα 𝔽 συνιστούν μία αβελιανή ομάδα, δηλαδή ισχύουν οι εξής ιδιότητες:Πρότυπο:RΠρότυπο:RΠρότυπο:RΠρότυπο:R

Πρότυπο:Μαθηματική απόδειξη

  • Η πρόσθεση είναι αντιμεταθετική, δηλαδή A+B=B+A για κάθε πίνακες A,B διαστάσεων n×m.

Πρότυπο:Μαθηματική απόδειξη

  • Η πρόσθεση είναι προσεταιριστική, δηλαδή A+(B+C)=(A+B)+C για κάθε πίνακες A, B, C διαστάσεων n×m.

Πρότυπο:Μαθηματική απόδειξη

  • Κάθε πίνακας έχει έναν αντίθετο πίνακα ως προς την πρόσθεση, που συμβολίζεται ως A. Πιο συγκεκριμένα, ο n×m πίνακας A, έχει στοιχεία (A)ij=Aij, τα αντίθετα του A ως προς την πρόσθεση στοιχείων.

Πρότυπο:Μαθηματική απόδειξη

Υπολογισμός

Στην πληροφορική ο βασικός αλγόριθμος που υλοποιείται με δύο εμφολευμένους βρόγχους είναι βέλτιστος (για έναν επεξεργαστή), καθώς χρειάζεται χρόνο O(nm), όσα και τα στοιχεία του αποτελέσματος. Για παράδειγμα, στην γλώσσα προγραμματισμού Java, η παρακάτω συνάρτηση υλοποιεί την πρόσθεση δύο πινάκων:

public class MatrixAddition {
	public static double[][] add(double[][] a, double b[][]) {
		int n = a.length, m = a[0].length;
		double c[][] = new double[n][m];
		for (int i = 0; i < n; ++i) {
			for (int j = 0; j < m; ++j) {
				c[i][j] = a[i][j] + b[i][j]; 
			}
		}
		return c;
	}
 }

Ο αλγόριθμος αυτός μπορεί να γίνει παράλληλος, μοιράζοντας τις προσθέσεις στους διαθέσιμους επεξεργαστές. Στην πράξη έχει αναπτυχθεί υλικό υπολογιστή ειδικό για την γρήγορη πρόσθεση (και γενικότερα πράξεις) πινάκων. Το πιο κοινό τέτοιο υλικό είναι οι κάρτες γραφικών, που υπάρχουν στους περισσότερους μοντέρνους υπολογιστές και αναλαμβάνουν πράξεις σχετικές με τα γραφικά, τα νευρωνικά δίκτυα και άλλα.[5] Άλλα υλικά υπολογιστών περιλαμβάνουν τις SIMD εντολές στις κάρτες επεξεργαστών, που επιτρέπουν την πρόσθεση διανυσμάτων επομένως και την πρόσθεση πινάκων.[6]

Δείτε επίσης

Παραπομπές

Πρότυπο:Authority control Πρότυπο:Portal bar