Programma Python per calcolare la somma della diagonale sinistra della matrice
Python è un linguaggio di programmazione popolare e generico che può essere utilizzato in un'ampia gamma di settori, dalle applicazioni desktop allo sviluppo web e al machine learning.
La sua sintassi semplice lo rende ideale per i principianti che vogliono iniziare con la programmazione. In questo articolo vedremo come utilizzare Python per calcolare “La somma degli elementi diagonali di sinistra in una matrice ”.
Matrice
In matematica, usiamo una disposizione rettangolare o una matrice, che viene utilizzata per descrivere un oggetto matematico o un suo attributo. Si tratta di una matrice o tabella rettangolare contenente numeri, simboli o espressioni disposti in righe e colonne.
Esempio
2 3 4 5
1 2 3 6
7 5 7 4
Quindi, questa è una matrice con 3 righe e 4 colonne. Ed è rappresentato come matrice 3*4.
Ci sono due diagonali nella matrice: la diagonale primaria o principale e la diagonale secondaria.
-
La diagonale primaria o principale è la diagonale che parte dall'angolo in alto a sinistra fino all'angolo in basso a destra e la diagonale secondaria che parte dall'angolo in basso a sinistra fino all'angolo in alto a destra.
Dall'esempio dato −
2 3 a00 a01
1 2 a10 a11
Qui sia a00, a11 sono le diagonali principali sia a10, a01 è la matrice secondaria.
Somma della diagonale sinistra di una matrice
Ora che abbiamo ripassato i fondamenti e abbiamo una conoscenza approfondita di matrici e diagonali, approfondiamo l'argomento e concludiamo con l'aspetto della codifica.
Per calcolare la somma prendiamo una matrice 2D. Considera una matrice 4*4 con elementi come segue:
2 4 6 8 a00 a01 a02 a03
3 5 7 9 a10 a11 a12 a13
1 4 6 7 a20 a21 a22 a23
3 5 1 4 a30 a31 a32 a33
Qui, a00, a11, a22, a33 è la matrice primaria o principale, c'è una condizione prima di completare l'attività. Impariamo le condizioni per entrambe le diagonali.
Per estrarre la somma degli elementi presenti nella diagonale primaria di una matrice dovrebbe soddisfare la condizione che è la condizione riga-colonna che specifica che per la somma degli elementi dovrebbero avere gli elementi con elementi di riga=colonna.
Ora per la diagonale secondaria, per gli elementi a03, a12, a21, a30 la condizione rigacolonna sarà numero di righe-colonna -1.
Utilizzo dei cicli For
In questo metodo utilizzeremo due cicli allo scopo, ovvero per le righe e le colonne e un ciclo interno per verificare la condizione che abbiamo fornito.
Algoritmo
Dai un valore che sia MAX.
-
Definire una funzione per la matrice.
Utilizzare il ciclo for per scorrere i numeri.
Fornire la condizione per la diagonale sinistra della matrice.
Stampa il valore.
Esempio
L'esempio fornito di seguito sta calcolando la somma degli elementi diagonali sinistri in una matrice 4 x 4. I cicli for attraversano ogni riga e colonna della matrice e, se sono uguali (cioè è sulla diagonale sinistra), aggiungono quell'elemento a una variabile chiamata "matricesinistra".
max = 50
def sumleftmatrix(matrix, m):
leftmatrix = 0
for i in range(0, m):
for j in range(0, m):
if (i == j):
leftmatrix += matrix[i][j]
print("Sum of left diagonal of the matrix:", leftmatrix)
A = [[ 10, 22, 13, 84 ],
[ 52, 63, 97, 82 ],
[ 11, 32, 23, 14 ],
[ 55, 63, 72, 83 ]]
sumleftmatrix(A, 4)
Produzione
In questo metodo abbiamo semplicemente definito una funzione e creato un intervallo utilizzando il ciclo for per le righe e le colonne. La condizione per sommare gli elementi presenti nella diagonale sinistra.
Complessità temporale − O(N*N), poiché esaminiamo N*N volte utilizzando cicli annidati.
Poiché non stiamo consumando spazio aggiuntivo, lo spazio ausiliario è O(1).
Sum of left diagonal of the matrix: 179
Utilizzando un ciclo singolo
In questo approccio la somma delle diagonali maggiore e secondaria può essere calcolata utilizzando un singolo ciclo.
Algoritmo
Dai un valore che sia MAX.
-
Definire una funzione per la matrice.
Utilizzare il ciclo for per scorrere i numeri.
Fornire la condizione per la diagonale sinistra della matrice.
Stampa il valore.
Esempio
L'esempio seguente definisce una funzione chiamata sumofleftdiagonal che accetta due parametri, matrice e m.
Il primo parametro, matrice, è una matrice 2D di numeri mentre il secondo parametro, m, rappresenta la dimensione della matrice 2D.
All'interno di questa funzione c'è una variabile chiamata left_diagonal che memorizza la somma di tutti gli elementi sulla diagonale sinistra della matrice
Un ciclo for quindi attraversa ogni elemento nell'intervallo da 0 a m (la dimensione) e somma questi valori in left_diagonal.
Infine un'istruzione di output stampa "La somma della diagonale sinistra è:" seguita da ciò che è stato memorizzato in diagonale_sinistra. Viene fornito un caso di esempio con MAX impostato su 50 e T come un altro array 4x4
MAX = 50
def sumofleftdiagonal (matrix, m):
left_diagonal = 0
for i in range(0, m):
left_diagonal += matrix[i][i]
print("Sum of Left Diagonal is:", left_diagonal)
T = [[ 11, 12, 33, 24 ],
[ 54, 69, 72, 84 ],
[ 14, 22, 63, 34 ],
[ 53, 64, 79, 83 ]]
sumofleftdiagonal (T, 4)
Produzione
La complessità temporale è O(N), poiché richiede un ciclo per scorrere N elementi. Poiché non viene consumato spazio aggiuntivo, la complessità dello spazio ausiliario è O(1).
Sum of Left Diagonal is: 226
Conclusione
In questo articolo, abbiamo discusso brevemente i due semplici metodi che utilizzano il programma Python per calcolare la somma della diagonale sinistra della matrice. Il primo metodo utilizza due cicli per completare l'attività fornitaci, mentre il secondo metodo ci fornisce un approccio efficiente per completare la stessa attività ma con un percorso più breve.