BandSPD SOE: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{CommandManualMenu}}
{{CommandManualMenu}}


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:
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. The following command is used to construct such a system:


{|  
{|  
| style="background:yellow; color:black; width:800px" | '''system BandSPD'''
| style="background:limegreen; color:black; width:800px" | '''system BandSPD'''
|}
|}



Latest revision as of 08:42, 10 June 2016




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. The 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