# NDEigenvalues

NDEigenvalues[[u[x,y,]],u,{x,y,}Ω,n]

gives the n smallest magnitude eigenvalues for the linear differential operator over the region Ω.

NDEigenvalues[{1[u[x,y,],v[x,y,],],2[u[x,y,],v[x,y,],],},{u,v,},{x,y,}Ω,n]

gives eigenvalues for the coupled differential operators {op1,op2,} over the region Ω.

NDEigenvalues[eqns,{u,},t,{x,y,}Ω,n]

gives the eigenvalues in the spatial variables {x,y,} for solutions u, of the coupled time-dependent differential equations eqns.

# Details and Options • NDEigenvalues gives a list {λ1,,λn} of the n smallest magnitude eigenvalues λi.
• The equations eqns are specified as in NDSolve.
• Eigenvalues are sorted in order of increasing absolute value.
• Homogeneous DirichletCondition or NeumannValue boundary conditions may be included. »
• PeriodicBoundaryCondition may be included.
• When no boundary condition is specified on part of the boundary Ω, then this is equivalent to specifying a Neumann 0 condition.
• For a system of first-order time-dependent equations, the time derivatives D[u[t,x,y,],t],D[v[t,x,y,],t], are effectively replaced with λ u[x,y,],λ v[x,y,],.
• Systems of time-dependent equations that are higher than first order are reduced to a coupled first-order system with intermediate variables ut=u*, =, vt=v*, =, . Only the functions u, v, are returned. »
• NDEigenvalues accepts a Method option that may be used to control different stages of the solution. With Method->{s1->m1,s2->m2,}, stage si is handled by method mi. When stages are not given explicitly, NDEigenvalues tries to automatically determine what stage to apply a given method to.
• Possible solution stages are:
•  "PDEDiscretization" discretization of spatial operators. "Eigensystem" computation of the eigensystem from the discretized system. "VectorNormalization" normalization of the eigenvectors that are used to construct the eigenfunctions.

# Examples

open allclose all

## Basic Examples(2)

Find the 4 smallest eigenvalues of the Laplacian operator on [0,π]:

Compute the first 6 eigenvalues for a circular membrane with the edges clamped:

## Scope(12)

### 1D(7)

Specify a Laplacian operator:

Specify homogeneous Dirichlet boundary conditions:

Find the 4 smallest eigenvalues:

Specify a Laplacian operator:

Specify homogeneous Neumann boundary conditions:

Find the four smallest eigenvalues:

This is equivalent:

Specify a transient equation with homogeneous Dirichlet boundary conditions:

Find the 4 smallest eigenvalues:

Specify a wave equation with homogeneous Dirichlet boundary conditions:

Find the 4 smallest eigenvalues:

Compute the eigenvalues of a generalized wave equation :

Compare to the exact solution of an equivalent first-order system of ordinary differential equations:

Specify a Liouville operator:

Compute the 4 smallest eigenvalues:

Compare the eigenvalues with the analytical eigenvalues:

Write a function to compute parametric, complex-valued periodic eigenvalues of the Laplace operator:

Find the eigenvalues:

Visualize the eigenvalues over the range from 0 to 4 :

### 2D(5)

Specify a Laplacian operator:

Find the 4 smallest eigenvalues:

Specify a Laplacian operator:

Find the 4 smallest eigenvalues of the operator in a unit disk:

Specify a Laplacian operator with homogeneous Dirichlet boundary conditions:

Find the 9 smallest eigenvalues in a rectangle:

Specify a wave equation with homogeneous Dirichlet boundary conditions:

Find the 4 smallest eigenvalues in a disk:

Solve a partially constrained eigenvalue problem:

## Options(5)

### Method(5)

#### "Eigensystem"(3)

Specify a method to use for finding the eigenvalues:

In this case, the default method is faster:

Arnoldi is used as the default method:

Specify a maximum number of iterations for the Arnoldi method:

Find two eigenvalues of a SturmLiouville operator within the band of with the FEAST method for Eigenvalues:

According to the SturmLiouville theory, the eigenvalues must be distinct, but for this example they are close to degenerate:

The interval end points are not included in the interval FEAST finds eigenvalues in; for more information, please refer to the Eigenvalues reference page.

#### "PDEDiscretization"(1)

Change the MaxCellMeasure for the underlying computation:

The exact eigenvalues are 0,1,4,9,, so the eigenvalue error is:

A finer mesh results in a decreased discretization error:

#### "VectorNormalization"(1)

Compute without any normalization of the computed eigenvalues:

The normalization does not have an effect on the eigenvalues:

## Properties & Relations(2)

Compare an analytical solution to a higher-order time-dependent PDE.

Find the six smallest eigenvalues of a wave equation for between 0 and :

Compare the eigenvalues with the exact solution of transformed into a system of two first-order equations:

Show the relation between higher-order time-dependent PDEs and systems of first-order PDEs.

Find the six smallest eigenvalues of a wave equation within 0 and :

Find the six smallest eigenvalues of a wave equation given as a system of first-order PDEs :

The eigenvalues for the second-order system and the system of first-order equations are the same:

## Possible Issues(9)

The computed eigenvalues depend on the granularity of the discretization:

The exact eigenvalues are 0,1,4,9,, so the eigenvalue error is:

A finer mesh results in a decreased discretization error:

The eigenvalues of the wave equation will be the square root of the angular frequencies:

Compare to the exact solution of an equivalent first-order system of ordinary differential equations:

Eigenvalues with inhomogeneous Dirichlet conditions cannot be solved for: Eigenvalues with homogeneous Dirichlet conditions can be solved for:

Eigenvalues with inhomogeneous Neumann values cannot be solved for: Eigenvalues with homogeneous Neumann values can be solved for:

The same result:

Eigenvalues with inhomogeneous generalized Neumann values cannot be solved for: The operator and possible boundary conditions need to be stationary and linear: Initial conditions will be set to zero and ignored:  The same result:

NDEigenvalue converts PDEs to time-dependent PDEs. This transformation is not unique and may lead to what seem to be unexpected results for coupled PDEs: Internally, the given equations are rewritten as a system of time-dependent PDEs. In the previous case from the given dependent variables {v[x],u[x]}, the following temporal system is generated: {D[v[t, x], t] == - u[t, x] - Laplacian[u[t, x], {x}],D[u[t, x], t] == -v[t, x] - Laplacian[v[t, x], {x}]}

To uniquely specify the system of equations, it is best to use the temporal description:

More information on this topic can be found in Finite Element Method Usage Tips.

In some cases, NDEigenvalues may return what seem to be unexpected results for coupled PDEs: One way to avoid this issue is to specify an ordering of the dependent variables via the "InterpolationOrder" option:

Alternatively, the "Direct" method can be used:

More information on this topic can be found in Finite Element Method Usage Tips.

Introduced in 2015
(10.2)