Basi
\(\mathbb{R}^n\) è il più comune esempio di spazio vettoriale, cioè una struttura entro cui i suoi elementi possono essere sommati tra loro e moltiplicati per uno scalare, dotato di un prodotto interno e di una base utile a algebrizzare la sua geometria e viceversa.
In \(\mathbb{R}^3\) la base canonica è spesso indicata dai versori \(\mathbf{i}, \; \mathbf{j}, \; \mathbf{k}\) in modo che
ogni altro vettore \(\mathbf v\) si scrive in modo univoco come combinazione lineare delle basi mediante coefficienti \(x,y,z\), le coordinate rispetto alla base,
\[\mathbf v=x\mathbf i+y\mathbf j+z\mathbf k\] ovvero, poiché i vettori della base sono ortogonali tra loro e sono unitari,
\[\mathbf v=\langle \mathbf v, \mathbf i\rangle\mathbf i+\langle \mathbf v, \mathbf j\rangle\mathbf j+\langle \mathbf v, \mathbf k\rangle\mathbf k.\]
Un altro esempio comune di spazio vettoriale è \(\mathcal M(m, n)\) formato dalle matrici con \(m\) righe ed \(n\) colonne in cui una base è formata dalle matrici \(\{M_{i,j}, i=1,2,\dots,m,\;j=1,2,\dots,n\}\) con \(M_{i,j}=(a_{h,k})\) la matrice con \(a_{i,j}=1,\;\; a_{h,k}=0\;\text{per }h\not=i,k\not=j.\)
Più precisamente uno spazio vettoriale su un campo \(K\), tipicamente \(\mathbb R\), campo dei numeri reali, o \(\mathbb C\), campo dei numeri complessi, è un insieme non vuoto \({V}\), i cui elementi sono detti vettori, dotato di due operazioni:
- Addizione vettoriale: \[+:{V}×{V}→{V}\] che a ogni coppia \((\textbf u,\textbf v)∈{V}×{V}\) associa un elemento di \(V\) che indicheremo con \(\textbf u+\textbf v.\)
- Moltiplicazione per uno scalare: \[⋅:K×V→V\] che a ogni coppia \((α,v)∈K×V\) associa un elemento \(α⋅v∈V.\)
- Assiomi per l'Addizione (Struttura di Gruppo Abeliano)
- Commutatività: \(\mathbf u+\mathbf v=\mathbf v+\mathbf u\)
- Associatività: \((\mathbf u+\mathbf v)+\mathbf w=\mathbf u+(\mathbf v+\mathbf w)\)
- Esistenza dell'elemento neutro (vettore nullo): esiste un elemento \(\textbf 0∈V\) tale che \(\textbf v+\textbf 0=\textbf v,\;\;\text{per ogni }\mathbf v∈V\)
- Esistenza dell'opposto (vettore inverso): \(\text{per ogni }\mathbf v∈V\), esiste un elemento \(−\mathbf v∈V \text{ tale che }\mathbf v+(− \mathbf v)=0\)
- Assiomi per la Moltiplicazione per Scalare (Compatibilità con il Campo)
- Compatibilità con la moltiplicazione del campo: \(α⋅(β⋅\mathbf v)=(αβ)⋅\mathbf v\) (dove \(αβ\) è il prodotto in \(K\)).
- Esistenza dell'elemento identico per la moltiplicazione: se \(1∈K\) è l'unità moltiplicativa del campo, allora \(1⋅\mathbf v=\mathbf v\)
- Assiomi Distributivi (Collegano le due operazioni)
- Distributività della somma di vettori: \(α⋅(\textbf u+\textbf v)=α⋅\textbf u+α⋅\textbf v\)
- Distributività della somma di scalari: \((α+β)⋅\textbf v=α⋅\textbf v+β⋅\textbf v\)
Inoltre valgono le leggi di annullamento:
- \(0\textbf v=\textbf 0\) per ogni \(\textbf v\in V,\)
- \(α⋅\textbf 0=\textbf 0\) per ogni \(α\in K,\)
- \(α⋅\textbf v=\textbf 0\), allora \(α=0\) o \(\textbf v=\textbf 0.\)
Limitandosi a spazi vettoriali discreti, una base \(\mathcal{B} = \{\mathbf{u}_1, \mathbf{u}_2, \dots, \mathbf{u}_n,\dots\}\) di \(V\) è un sottinsieme minimale di vettori che generano tutto lo spazio, permettendo di esprimere qualsiasi vettore come combinazione lineare unica dei vettori di base.
Più precisamente:
- ogni vettore \(\mathbf{v}\) può essere scritto in modo unico come:\[\mathbf{v} = \sum_{n} \pi_n(\mathbf{v}) \mathbf{u}_n\] dove \(\pi_1(\mathbf{v}),\pi_2(\mathbf{v}),\dots,\pi_n(\mathbf{v}),\dots\) sono le coordinate di \(\mathbf{v}\) rispetto alla base \(\mathcal{B}\) e in particolare \[\pi_i(\mathbf{u}_n)=\begin{cases} 0 & i\not=n\\ 1& i=n\end{cases};\]
- gli elementi della base sono linearmente independenti, cioè per ogni sottinsieme \({\displaystyle \{\mathbf {v} _{1},\dotsc ,\mathbf {v} _{m}\}}\) di \(\mathcal{B}\), \[{\displaystyle c_{1}\mathbf {v} _{1}+\cdots +c_{m}\mathbf {v} _{m}=\mathbf {0} \implies c_{1}=\cdots =c_{m}=0}.\]
L'indipendenza tra vettori si collega al rango della matrice che ha per colonne tali vettori, ciò che a sua volta è riconducibile alla sua triangolazione.
Il classico dall’algoritmo di eliminazione di Gauss è di seguito applicato alla matrice
ottenendo
Un più semplice metodo di triangolazione è di seguito codificato in Python.def triang_matr(M): m = len(M) # n° righe n = len(M[0]) # n° colonne for col in range(n): row = col if M[row][col] == 0: M = M[:row] + M[row+1:] + [M[row]] for r in range(row + 1, m): if M[r][col] > 0: factor = M[r][col] / M[row][col] for c in range(col, n): M[r][c] -= factor * M[row][c] return M A = [ [0, 1, 2], [1, 2, 1], [2, 7, 8] ] triang_matr(A)[[1, 2, 1], [0.0, 3.0, 6.0], [0, 0.0, 0.0]]Alternativamente, utilizzando la libreria sympy per il calcolo simbolicoimport sympy from sympy import * init_printing() def triMatrix(A): M = A.copy() m, n = M.shape for col in range(n): row = col if M[row,col] == 0: M = M[[i for i in range(M.rows) if i != row] + [row], :] for r in range(row + 1, m): if M[r,col] > 0: factor = M[r,col] / M[row,col] for c in range(col, n): M[r,c] -= factor * M[row,c] return M A = Matrix([ [0, 1, 2], [1, 2, 1], [2, 7, 8] ]) A, triMatrix(A)\(\left(\left[\begin{matrix}0 & 1 & 2\\1 & 2 & 1\\2 & 7 & 8\end{matrix}\right], \left[\begin{matrix}1 & 2 & 1\\0 & 3 & 6\\0 & 0 & 0\end{matrix}\right]\right)\)Si può utilizzare anche il metodo .rank() che fornisce il rango della matrice per valutare l'indipendenza o meno tra vettori.def sono_indipendenti(*vettori): """ vettori: lista di oggetti sympy.Matrix come vettori """ if len(vettori) == 0: raise ValueError("La lista dei vettori è vuota") # costruisci la matrice con i vettori come colonne A = Matrix.hstack(*vettori) return A.rank() == len(vettori) v1 = Matrix([1, 1, 0]) v2 = Matrix([2, 2, 0]) v3 = Matrix([0, 1, 1]) sono_indipendenti(v1, v2, v3)False
Il Lemma di Zorn, equivalente all'assioma della scelta, garantisce l'esistenza di una base per ogni spazio vettoriale, anche a dimensione infinita. Il Teorema della dimensione assicura che tutte le basi di uno spazio vettoriale \(V\) hanno la stessa cardinalità, detta dimensione di \(V\).
Una trasformazione lineare \(T: V \longrightarrow V\) ha la proprietà
\[T(\lambda\mathbf{v}_1+\mu\mathbf{v}_2)=\lambda T(\mathbf{v}_1)+\mu T(\mathbf{v}_2)\quad \forall \mathbf{v}_1,\mathbf{v}_2\in V,\;\forall \lambda,\mu\in K.\]
Quando i vettori \(\{T(\mathbf{u}_1), T(\mathbf{u}_2), \dots, T(\mathbf{u}_n),\dots \}\) corrispondenti a quelli di una base \(\{\mathbf{u}_1, \mathbf{u}_2, \dots, \mathbf{u}_n,\dots\}\) sono indipendenti la trasformazione è biunivoca, altrimenti trasforma \(V\) in un suo sottospazio proprio.
Ad esempio la trasformazione \(\Pi_k: \mathbf{v}\longrightarrow \pi_k(\mathbf{v})\mathbf{u}_k\) è lineare, la proiezione sul sottospazio generato da \(\mathbf{u}_k\).
In generale
\[T(\mathbf{v})=\sum_n x_nT(\mathbf{u}_n)=\sum_n \sum_k x_n\pi_k(T(\mathbf{u}_n))\mathbf{u}_k=\sum_k\left(\sum_n x_n\pi_k(T(\mathbf{u}_n))\right)\mathbf{u}_k.\]
Se in uno spazio finito rappresentiamo un vettore come matrice a una colonna formata dalle sue coordinate rispetto alla base, ogni trasformazione lineare può essere associata alla matrice che ha per righe le coordinate degli elementi della seconda base rispetto alla prima \(A=\left(\pi_j(T(\mathbf{u}_i))\right)\) per cui \[\mathbf{v}'=A\mathbf{v}.\]
Ad esempio la trasformazione \(\Pi_k\) può essere vista come la matrice di tutti 0 tranne un 1 nella riga \(k\) alla colonna \(k.\)
Per ogni trasformazione lineare \(T\) hanno un ruolo particolare quei vettori, detti autovettori, ai quali corrispondono vettori con la medesima direzione: \(T \mathbf{v}= \lambda \mathbf{v};\) il parametro \(\lambda\) è il corrispondente autovalore.
Ogni matrice simmetrica \(A=A^\top\) rappresenta una trasformazione i cui autovettori formano una base ortonormale. Se indichiamo con \(Q\) la matrice le cui colonne sono gli autovettori normalizzati (ortonormali) relativi a \(A\), \(Q\) è ortogonale \(Q^{\top }=Q^{-1}\) ovvero \(Q^{\top }Q=I\), e indichiamo con \(\Lambda \) la matrice diagonale degli autovalori \(\lambda _{i}\) di \(A\), si ha
\[
A = Q \Lambda Q^\top
\]
Ad esempio se \(A= \)
allora
Rimasto a lungo confinato negli spazi finiti \(\mathbb{R}^n\), il concetto di base ha subito una importante evoluzione quando si iniziò a trattare le funzioni non più come singole entità ma come elementi di uno spazio vettoriale di dimensione infinita. In questo spazio le funzioni potevano essere scomposte sulla base di "funzioni fondamentali" così come i vettori di \(\mathbb{R}^3\) possono essere scomposti nella base \(\mathbf{i}, \mathbf{j}, \mathbf{k}.\)
Le Basi Trigonometriche di Fourier \(\{1,\sin(t), \cos(t),\sin(2t), \cos(2t),\sin(3t), \cos(3t),\dots\}\) condividono la stessa logica intrinseca di disaccoppiamento e indipendenza della base canonica in \(\mathbb{R}^n\) estendendo quel modello all'analisi, fornendo un "microscopio" capace di analizzare qualsiasi segnale periodico in base alla sua composizione armonica.
Il salto concettuale dalla base finita di vettori alla base infinita di funzioni ortogonali, che ha risolto il problema della conduzione del calore, ha aperto le porte a tutta l'analisi moderna, dalle onde elettromagnetiche in fisica, all'elaborazione dei segnali in ingegneria.
Lo spazio vettoriale dei polinomi è un esempio interessante. Se \(K\) è un campo, l'insieme \(K[x]\) di tutti i polinomi in un \(x\) indeterminato con coefficienti in \(K\) è uno spazio vettoriale e i monomi \(1,x,x^{2},\ldots \) costituiscono una base.
Qualsiasi insieme di polinomi tale che esista esattamente un polinomio di ciascun grado, come i polinomi di base di Bernstein o i polinomi di Chebyshev, è anch'esso una base, e un tale insieme di polinomi è chiamato successione polinomiale. Esistono anche molte basi per \(K[x]\) che non sono di questa forma.
Nello spazio delle funzioni liscie, ovvero infinitamente derivabili, su un intervallo \(I\) contenente 0, si potrebbe pensare a \(\left(f(0),f'(0),\frac{f''(0)}{2},\dots,\frac{f^{(n)}(0)}{n!},\dots\right)\) come le "coordinate" di una funzione \(f\) in questo spazio di funzioni rispetto alla base dei monomi \(1,x,x^2, \dots\), che sono ancora linearmente indipendenti. Ad esempio \(\sin x\) avrebbe "coordinate" \(\left(0,1,0,- \frac{1}{6},0, \frac{1}{120},0, - \frac{1}{5040},0, \frac{1}{362880},0, - \frac{1}{39916800},\dots \right).\)
x = symbols('x')
sin(x).series(x, x0=0, n=12)
\(x - \frac{x^{3}}{6} + \frac{x^{5}}{120} - \frac{x^{7}}{5040} + \frac{x^{9}}{362880} - \frac{x^{11}}{39916800} + O\left(x^{12}\right)\)
Tuttavia la convergenza della serie di Taylor a \(f(x)\) non è garantita per tutte queste funzioni, nemmeno su un intorno di 0, e anche quando la serie converge potrebbe convergere a un limite diverso da \(f(x)\) fuori da un intorno piccolissimo di 0.
Parlando più in generale di basi si può osservare anche che l'insieme di tutti i numeri naturali > 1 è generato dall'operazione di moltiplicazione a partire dalla base costituita da tutti i numeri primi. Ovvero: l'insieme dei logaritmi dei numeri naturali > 1 è generato dalla base formata dai logaritmi dei numeri primi.
Bibliografia
- Basis (linear algebra) From Wikipedia, the free encyclopedia
- Basis on Encyclopedia of Mathematics
- Grőbner basis