metodi numerici teoria generale Flashcards
matrice grande o piccola
m < 50, m> 400
matrice sparsa
sparsity > 0.33
diagonale strettamente dominante
diagonale maggiore di somma dei valori assoluti dei elementi della riga
formula condizionamento built in
np.linalg.cond(A)
codice matrice simmetrica e definita positiva
np.allClose(A, A.T)
try: scipy.linalg.cholesky(A)
except scipy.LinAlgError:
formula rank matrice
np.linalg.matrix_rank(A)
codice diagonale strettamente dominante
n, _ = A.shape
diagonally_dominant = True
for i in range(n):
# Calcola la somma dei valori assoluti degli elementi della riga, escluso l’elemento diagonale
sum_row = np.sum(np.abs(A[i, :])) - np.abs(A[i, i])
# Controlla se valore assoluto dell’elemento diagonale è strettamente maggiore della somma degli altri elementi della riga
if np.abs(A[i, i]) <= sum_row:
diagonally_dominant = False
break
if diagonally_dominant: print("Matrice a Diagonale Strettamente Dominante")
codice residuo di sistema Ax = b
residuo_sol = np.linalg.norm(A @ x - b)
codice derivata
df = sym.diff(f, var, 1)
codice trasformare funz simbolica in numreica
f_numerica = sym.lamdify(var, f, np)
codice radice quadrata
sym.sqrt(expr)
o np.sqrt(valore)
codice matrice
sym.matrix
codice condizionamento
np.linalg.cond()
importare cholesky
scipy.linalg.cholesky(A)
vettore di zeri
np.zeros_like(vet)
scambiare costanti per numeri in funzione simbolica
f.subs(var, numero)
codice norma metodo built-in?
np.linalg.norm(A, 1)
come ricordare differenza tra numpy e sympy?
numpy riguarda operazioni NON simboliche, ma operazioni su array e matrici