# 3.2.9. eigen Command¶

This command is used to perform the eigenvalue analysis.

eigen <$solver>$numEigenvalues

Argument

Type

Description

$numEigenvalues integer number of eigenvalues required.$solver

string

optional string detailing type of solver: -genBandArpack, -symmBandLapack, -fullGenLapack (default: -genBandArpack).

Returns

A list containing the eigenvalues

Note

1. The eigenvectors are stored at the nodes and can be printed out using a Node Recorder, the nodeEigenvector command, or the Print command.

2. The default eigensolver is able to solve only for N-1 eigenvalues, where N is the number of inertial DOFs. When running into this limitation the -fullGenLapack solver can be used instead of the default Arpack solver.

## 3.2.9.1. Theory¶

A generalized eigenvalue problem for two symmetric matrices $$K$$ and $$M$$ of size $$n \times n$$ is given by:
$\left (K - \lambda M \right ) \Phi = 0$
where:
• $$K$$ is the stiffness matrix

• $$M$$ is the mass matrix

• $$\lambda$$ is the eigenvalue

• and $$\Phi$$ is the associated eigenvector

Example

The following example shows how to use the eigen command to obtain a list of eigenvalues.

1. Tcl Code

# obtain 10 eigenvalues using the default solver (-genBandArpack)
set eigenvalues [eigen 10]

# or, obtain 10 eigenvalues explicitly specifying the solver
set eigenvalues [eigen -fullGenLapack 10]

1. Python Code

# obtain 10 eigenvalues using the default solver (-genBandArpack)
eigenvalues = eigen(10)

# or, obtain 10 eigenvalues explicitly specifying the solver
eigenvalues = eigen('-fullGenLapack', 10)


Code Developed by: fmk