Coefficiente di correlazione tra funzioni di (L^2)

Vogliamo studiare la correlazione tra la funzione  sin x e la funzione sin(kx) con k parametro reale ≥ 1. Calcoliamo i quadrati delle norme delle funzioni in gioco:

Integrate[Sin[k x]^2, {x, 0, 2 Pi}]

Introduciamo la norma in  \(TraditionalForm\`\(\(L\^\(\(2\)\( \)\)\)\(\ \)\(della\)\(\ \)\(funzione\)\( \ \)\)\)sin(kx) :

n[k_] :=  Sqrt[π - Sin[4 k π]/(4 k)]

Calcoliamo i prodotti scalari (o interni, che dir si voglia):

Integrate[Sin[x]*Sin[k x], {x, 0, 2 Pi}] // Simplify

La formula precedente cade in difetto per k = 1; poniamo dunque

prod[1]  =  π;

prod[k_] :=  Sin[2 k π]/(-1 + (k^2))

Definiamo lil coefficiente di correlazione (in analogia a quanto si fa in Statistica) come il rapporto tra il prodotto scalare delle due funzioni e il prodotto delle rispettive norme:

corr[k_] := prod[k]/(n[1]* n[k]) // Chop

Mostriamo in sovrapposizione i grafici delle due funzioni e, mediante la barra colorata a sinistra, il loro indice di correlazione. A funzioni ortogonali corrisponde un indice nullo.

Do[Plot[{Sin[x],  Sin[k*x]},  {x, 0, 
          2  Pi}, 
PlotStyle -> {{RGBColor[1, 0, 0], 
              Thickness[0.01]}, {RGBColor[0, 0, 1], Thickness[0.01]}}, 
        PlotRange -> {{-2, 7}, {-1, 
              1}}, 
Epilog -> {If[corr[k] > 0, 
              RGBColor[1, 0, 0], RGBColor[0, 0, 1]], 
            Rectangle[{-2. , 0. }, {-1.7, corr[k]}]}], {k, 1, 3, 
        0.05} ]