5
$\begingroup$

Hi,

I'm trying to employ Mercer's theorem on the kernel $k(x,y)=\min(x,y)$. It is known (and easy to verify) that this is a nonnegative-definite kernel over $[0,T]$ for any $T>0$.

Fix $T>0$. Let's calculate the eigenfunctions of the transformation $ \mathscr T_kf=\intop_{0}^T k(x,y)f(y)dy$:

$$ \lambda\psi(x)=\intop_{0}^T \min(x,y)\psi(y)dy=$$ $$ \intop_{0}^x \min(x,y)\psi(y)dy - \intop_{T}^x \min(x,y)\psi(y)dy=$$ $$ \intop_{0}^x y\psi(y)dy - x\intop_{T}^x \psi(y)dy\implies$$ $$ \lambda\psi'(x)= x\psi(x)-x\psi(x)-\intop_{T}^x \psi(y)dy\implies$$ $$ -\lambda\psi''(x)= \psi(x)\implies$$ $$\psi(x)=C_1\sin\frac x {\sqrt\lambda} + C_2\cos\frac x {\sqrt\lambda}$$

it seems like we're allowed to pick $C_1=1$ and $C_2=0$. So we pick $\psi_n(x)=\sin nx $ and $\lambda_n = n^{-2}$. Then Mercer's theorem actually says that we should get: $$ \min(x,y)=\sum_{n=1}^\infty n^{-2}\sin nx\sin ny$$

this all seem very nice, but when evaluating this numerically, it doesn't work. I tried also to normalize $\psi$ by dividing by its norm which is $\sqrt {\frac 1 {4n} (2nT-\sin2nT)}$, and it didn't help.

I also tried to substitute the original solution with $C_1,C_2$ in the original eigenvalue problem equation, and then to calculate $C_1,C_2$, but they turned out to depend on $x$, which is of cource unacceptable.

So what's wrong here?

I also asked the question on https://math.stackexchange.com/questions/272857/elaborating-mercers-theorem-rkhs-on-cameron-martin-space-kx-y-minx-y, but no answers there. I'll post in either forum immediately if an answer will come.

$\endgroup$
4
  • $\begingroup$ Seems to be a bug in your numerics... Calculations look fine and my plots also... $\endgroup$
    – Dirk
    Jan 8, 2013 at 21:42
  • $\begingroup$ wow that's amazing. you actually got $ \min(x,y)=\sum_{n=1}^\infty n^{-2}\sin nx\sin ny$? $\endgroup$
    – Ohad Asor
    Jan 8, 2013 at 21:50
  • $\begingroup$ here's my code: ## #include <iostream> #include <cmath> using namespace std; long double phi(double x, double n) { return sin(nx)/n; } int main(int, char*) { long double sum = 0, x=8,y=1; for (long double n = 1;n< 100000;n++) { sum += phi(x,n)*phi(y,n); if (((int)n)%1000) cout<<n<<' '<<sum<<endl; } return 0; } ## $\endgroup$
    – Ohad Asor
    Jan 8, 2013 at 22:01
  • $\begingroup$ Seems like I did not look careful enough on my mesh plot... Sorry. $\endgroup$
    – Dirk
    Jan 8, 2013 at 22:26

2 Answers 2

5
$\begingroup$

What Branimir Ćaćić writes is correct. Another way to see that your $\lambda$'s where not right is as follows:

From $$\lambda\psi(x) = \int_0^x y\psi(y) dy + x\int_x^T \psi(y)dy$$ you get that $ $$\psi(0)=0.$$

Similarly, from $$\lambda\psi'(x) = \int_x^T \psi(y)dy$$ you get $$\psi'(T)=0.$$

Hence, you have two boundary conditions for the differential equation $\lambda\psi''(x) = -\psi(x)$. The first forces $C_2=0$, the second gives $$\lambda = \frac{T^2}{\pi^2(n+\tfrac{1}{2})^2}$$ ($T/\sqrt{\lambda}$ has to be a root of $\cos$) and no condition on $C_1$. Since you want an orthonormal basis, you have to normalize the functions in $L^2([0,T])$ which gives $C_1=\sqrt{2/T}$.

What you are missing in your numerics is that the series starts with $n=0$ and hence, your result differs from $\min(x,y)$ by $\psi_0(x)\psi_0(y) = \sin(\tfrac{\pi x}{2T})\sin(\tfrac{\pi y}{2T})$.

$\endgroup$
1
  • $\begingroup$ now it really works :) $\endgroup$
    – Ohad Asor
    Jan 9, 2013 at 10:22
7
$\begingroup$

If my chalkboard scribblings are correct, if $f(x) = \cos(\alpha x)$ and $g(x) = \sin(\alpha x)$ for $\alpha \neq 0$, then $$ \mathscr{T}_k f(x) = \alpha^{-2}(f(x) + \alpha x\sin(\alpha T) - 1), \quad \mathscr{T}_k g(x) = \alpha^{-2}(g(x) - \alpha x \cos(\alpha T))$$ (up to some inconsequential signs), so that your orthonormal basis of eigenfunctions is $$ \psi_k(x) = \sqrt{\frac{2}{T}} \sin\left(\frac{\pi(k+\tfrac{1}{2})}{T}x\right) $$ with corresponding eigenvalues $$ \lambda_k = \frac{T^2}{\pi^2(k+\tfrac{1}{2})^2}. $$ Hence, $$ k(x,y) = \sum_{k=0}^\infty \frac{2T}{\pi^2(k+\tfrac{1}{2})^2} \sin\left(\frac{\pi(k+\tfrac{1}{2})}{T}x\right) \sin\left(\frac{\pi(k+\tfrac{1}{2})}{T}y\right).$$ I hope this works!

$\endgroup$
1
  • $\begingroup$ Thanks for your help! Unfortunatly, this doesn't work as well. Here's my code: #include <iostream> #include <cmath> using namespace std; long double phi(long double x, long double n, long double t = 2) { static long double pi = acos((long double)-1); return sin((n+.5)*pix/t)*sqrt(t*2.)/(pi*(n+.5)); } int main(int, char*) { long double sum = 0, x=.8,y=.3; for (long double n = 1;n< 100000;n++) { sum += phi(x,n)*phi(y,n); if (((int)n)%1000) cout<<n<<' '<<sum<<endl; } return 0; } $\endgroup$
    – Ohad Asor
    Jan 9, 2013 at 8:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.