Applicazioni lineari con spazi polinomiali

E' sufficiente usare le funzioni già scritte (vedi "Matrice associata da applicazione lineare" e "Dimensione e base di nucleo e immagine") semplicemente trasformano le definizioni polinomiali in definizioni vettoriali.

Calcolo matrice associata

Esempio 1 applicazione lineare definita in spazio polinomiale

\(F:\mathbb{R}^3 \to \mathbb{R}_4[x]\) data da \(F(a,b,c) = a+bx+(a+b)x^2 + (a+2c)x^3 + (a+2b-3c)x^4\), la matrice associata alle basi canoniche deve risultare: \(\begin{bmatrix}1&0&0\\0&1&0\\1&1&0\\1&0&2\\1&2&-3\end{bmatrix}\).

x,y,z,a,b,c = sp.symbols("x y z a b c")

base_dominio = sp.eye(3)
base_codominio = sp.eye(5)

espressione_polinomiale = a+b*x+(a+b)*x**2+(a+2*c)*x**3+(a+2*b-3*c)*x**4

definizione = [a, b, a+b, a+2*c, a+2*b-3*c]

A = matriceAssociataDaFormaEsplicita(definizione, base_dominio, base_codominio, [a,b,c])
print(sp.latex(A))

Matrix([[1, 0, 0], [0, 1, 0], [1, 1, 0], [1, 0, 2], [1, 2, -3]]) \(\left[\begin{matrix}1 & 0 & 0\\0 & 1 & 0\\1 & 1 & 0\\1 & 0 & 2\\1 & 2 & -3\end{matrix}\right]\)

Esempio 2 applicazione lineare definita in spazio polinomiale

\(F:\mathbb{R}_2[x] \to \mathbb{R}_3[x]\) data da \(F[p(x)]=x^2p'(x)\), la matrice associata alla base \(\beta_V = \{1+x,1+x^2,x+x^2\}\) e la base canonica di \(W\), deve risultare: \(\begin{bmatrix}0&0&0\\0&0&0\\1&0&1\\0&2&2\end{bmatrix}\)

x,y,z,a,b,c = sp.symbols("x y z a b c")

base_dominio = sp.Matrix([[1,1,0],[1,0,1],[0,1,1]])
base_codominio = sp.eye(4)

px = a+b*x+c*x**2

"""ottenimento espressione polinomiale dalla definizione con derivata"""
espressione_polinomiale = sp.expand(x**2*sp.diff(px, x))
print(espressione_polinomiale)
# > b*x**2 + 2*c*x**3

definizione = [0*a, 0*b, b, 2*c]

A = matriceAssociataDaFormaEsplicita(definizione, base_dominio, base_codominio, [a,b,c])
print(A)

Matrix([[0, 0, 0], [0, 0, 0], [1, 0, 1], [0, 2, 2]])

Come da esercizio.

Calcolo dimensione/base nucleo/immagine

Esempio base nucleo di applicazione lineare definita in spazio polinomiale

x,y,z,a,b,c = sp.symbols("x y z a b c")

b_v = sp.eye(3)
b_w = sp.eye(3)

px = a+b*x+c*x**2

definizione = [a+b, a-b, a+b-2*c]

A = baseNucleo(b_v, b_w, definizione=definizione, incognite=[a,b,c])
print(A)

Non ammette soluzioni

Come da esercizio.

Esempio base immagine di applicazione lineare in spazio polinomiale

x,y,z,a,b,c = sp.symbols("x y z a b c")

b_v = sp.eye(3)
b_w = sp.eye(3)

px = a+b*x+c*x**2

definizione = [a+b, a-b, a+b-2*c]

A = baseImmagine(b_v, b_w, definizione=definizione, incognite=[a,b,c])
print(A)

Matrix([[1, 1, 1], [1, -1, 1], [0, 0, -2]])

Come da esercizio.

Riferimenti

  • https://www.youmath.it/lezioni/algebra-lineare/applicazioni-lineari/697-applicazioni-lineari-tra-spazi-di-polinomi.html