Eigenvalue Solution Changes as Mesh changes

Asked by Houdong Hu

Originally I try to use adaptive mesh to solve some eigenvalue problems. But the results I get are far from the real values. Finally I test it with 1D harmonic oscilator and uniform mesh, and I find the calculated eigenvalue is proportional to the mesh size.

I also test the demo examples in dolfin/demo/la/eigenvalue/python/demo_eigenvalue.py, which has the same problem.
When I run "demo_eigenvalue.py", I get the result is about 10
If I add "mesh=refine(mesh)" and run it again, I get the result is about 6

Is the eigenvalue solution should be independent with the mesh size?

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Houdong Hu
Solved:
Last query:
Last reply:
Revision history for this message
Jan Blechta (blechta) said :
#1

An assembled matrix of whatever operator is typpicaly dependent on mesh size. Hence are eigenvalues.

Revision history for this message
Jan Blechta (blechta) said :
#2

On Wed, 20 Mar 2013 12:21:02 -0000
Jan Blechta <email address hidden> wrote:
> Question #224702 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/224702
>
> Status: Open => Answered
>
> Jan Blechta proposed the following answer:
> An assembled matrix of whatever operator is typpicaly dependent on
> mesh size. Hence are eigenvalues.
>

I was thinking and realized that this is not good explanation. Better
way to look at it is that if you halve mesh step then you enlarge
(finite-dimensional) domain of operator whose eigenvalues you search.
And that can have very problem-specific conclusions. For example when
operator represents harmonic oscilator you can't wonder that finer mesh
supports shorter wave-lengths, can you?

Jan

Revision history for this message
Houdong Hu (vincehouhou) said :
#3

I see the problem,

Eigenvalue problems is Ax=lamda Mx, A is the coefficient matrix, and M is the basis normalization matrix. Originally I though I only need to set up A, and M will be set up automatically. Now it seems you have to set both A and M to solve the eigenvalue problem.

I think people are more interested in the real eigenvalue problem, not just the eigenvalue of A.

Thanks~