metodi numerici teoria generale Flashcards
matrice grande o piccola
m < 50, m> 400
matrice sparsa
Sparsity > 0.33
diagonale strettamente dominante
Abs della diagonale maggiore di somma degli abs 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.utilities.lambdify(var, f, np)
codice radice quadrata
sym.sqrt(expr)
o np.sqrt(valore)
codice matrice
sym.matrix
O
Np.array
Metodo python 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
cos’è norma uno e come si calcola non usando funzioni built-in?
norma 1 = MAX SOMMA DI OGNI COLONNA, CONSIDERANDO ABS DI OGNI ELEMENTO
c = np.sum(np.abs(B),axis=0) #equivale a sommare gli elementi di tutte le colonna
norma1 = np.max(c)
norma 2 cos’è e codice?
norma 2 è valore singolare massimo di matrice M = A * A.T
è necessario fare radice del massimo degli autovalori
def norma2EIGVALS(A):
M = A @ A.T
autovalori = np.linalg.eigvals(M)
norma2 = np.sqrt(np.max(autovalori))
return norma2
condizionamento in norma 1? non built-in
cond = norma(A) * norma(np.linalg.inv(A))
norma infinito cos’è e codice?
come norma 1 ma la somma riguarda le righe
c = np.sum(np.abs(B),axis=1) #equivale a sommare gli elementi di tutte le righe
normainf = np.max(c)