Decomposizione in fratti semplici

Primo esempio: poli semplici

Costruiamoci una funzione razionale fratta propria. Denominatore:

d[z_]  :=  (z^2 + 1) (z - 2) (z + 2) // 
        Expand

d[z]

Numeratore:

n[z_]  :=  z^2  +  z  +  1

La funzione:

f[z]  :=  n[z]/d[z]

f[z]

Calcoliamo i residui nei poli:

a1  =  Residue[f[z], {z, 2}]

a2  =  Residue[f[z], {z, -2}]

a3  =  Residue[f[z], {z, I}]

a4  =  Residue[f[z], {z, -I}]

Controlliamo uno dei residui utilizzando la formula consueta:

Limit[(z - I)*f[z],  z -> I]

Sommiamo la parti caratteristiche:

a1/(z - 2)  +  a2/(z + 2) +  a3/(z - I) + 
      a4/(z + I)

Together[%]

ExpandAll[%]

Together[%]

Verifichiamo che la somma delle parti caratteristiche coincide con f :

%  ==  f[z]

Secondo esempio: un polo doppio e altri semplici

Cambiamo il denominatore:

d[z_]  :=  (z - 1)^2 (z - 2) (z + 2)

f[z]  :=  n[z]/d[z]

f[z]

Calcoliamo la parte caratteristica in corrispondenza del polo doppio z = 1:

Series[f[z],  {z, 1, -1}]

σ1  =  Normal[%]

Calcoliamo i residui nei due poli semplici:

a2  =  Residue[f[z], {z, 2}]

a3  =  Residue[f[z], {z, -2}]

Sommiamo la parti caratteristiche:

σ1  +  a2/(z - 2) +  a3/(z + 2)

Together[%]

Expand[%]

Together[%]

Verifichiamo che la somma delle parti caratteristiche coincide con f :

%  ==  f[z]