BandSPD SOE: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:


:<math>a_{i,j} = a_{j,i}\,</math>
:<math>a_{i,j} = a_{j,i}\,</math>
:<math> y^T A y  != 0 \,</math> for all non-zero vectors ''y'' with real entries (<math>y \in \mathbb{R}^n</math>),


The ''bandwidth'' of the matrix is ''k''&nbsp;+&nbsp;''k''&nbsp;+&nbsp;1.
The ''bandwidth'' of the matrix is ''k''&nbsp;+&nbsp;''k''&nbsp;+&nbsp;1.

Revision as of 01:27, 9 March 2010




This command is used to construct a BandSPDSOE linear system of equation object. As the name implies, this class is used for symmetric positive definite matrix systems which have a banded profile. The matrix is stored as shown below in a 1 dimensional array of size equal to the (bandwidth/2) times the number of unknowns. When a solution is required, the Lapack routines DPBSV and DPBTRS are used. To following command is used to construct such a system:

system BandSPD



NOTES:


THEORY:

An n×n matrix A=(ai,j ) is a symmmetric banded matrix if all matrix elements are zero outside a diagonally bordered band whose range is determined by constants k:

<math>a_{i,j}=0 \quad\mbox{if}\quad j<i-k \quad\mbox{ or }\quad j>i+k; \quad k \ge 0.\,</math>
<math>a_{i,j} = a_{j,i}\,</math>
<math> y^T A y  != 0 \,</math> for all non-zero vectors y with real entries (<math>y \in \mathbb{R}^n</math>),


The bandwidth of the matrix is k + k + 1.


For example, a symmetric 6-by-6 matrix with a right bandwidth of 2:

<math>

\begin{bmatrix}

A_{11} & A_{12} & A_{13} &   0  & \cdots & 0 \\
     & A_{22} & A_{23} & A_{24} & \ddots & \vdots \\
     &        & A_{33} & A_{34} & A_{35} & 0 \\
     &        &        & A_{44} & A_{45} & A_{46} \\
     & sym    &        &        & A_{55} & A_{56} \\
     &        &        &        &        & A_{66}

\end{bmatrix}. </math> This matrix is stored as the 6-by-3 matrix:

<math>

\begin{bmatrix}

A_{11} & A_{12} & A_{13} \\
A_{22} & A_{23} & A_{24} \\
A_{33} & A_{34} & A_{35} \\
A_{44} & A_{45} & A_{46} \\
A_{55} & A_{56} & 0 \\
A_{66} & 0 & 0

\end{bmatrix}. </math>



Code Developed by: fmk