ProfileSPD SOE: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 30: Line 30:
:<math>
:<math>
\begin{bmatrix}
\begin{bmatrix}
  A_{11} & A_{12} & A_{13} &  0    & 0    \\
  A_{11} & A_{12} & 0      &  0    & 0    \\
       & A_{22}  & A_{23}  &  0    & A_{25} \\
       & A_{22}  & A_{23}  &  0    & A_{25} \\
       &        & A_{33}  & 0      & 0    \\
       &        & A_{33}  & 0      & 0    \\
Line 38: Line 38:
</math>
</math>


The matrix is stored as 1-d arary
The matrix is stored as 1-d array
:<math>
:<math>
\begin{bmatrix}
\begin{bmatrix}
  A_{11} & A_{12} & A_{22} & A_{13} & A_{23} & A_{33} & A_{44} & A_{25} & 0 & A_{45} & A_{55}  
  A_{11} & A_{12} & A_{22} & A_{23} & A_{33} & A_{44} & A_{25} & 0 & A_{45} & A_{55}  
\end{bmatrix}.
</math>
 
with a further array containing indices of diagonal elements:
 
:<math>
\begin{bmatrix}
1 & 3 & 5 & 6 & 10
\end{bmatrix}.
\end{bmatrix}.
</math>
</math>

Revision as of 23:47, 10 March 2010




This command is used to construct a profileSPDSOE linear system of equation object. As the name implies, this class is used for symmetric positive definite matrix systems. The matrix is stored as shown below in a 1 dimensional array with only those values below the first non-zero row in any column being stored. This is sometimes also referred to as a skyline storage scheme. To following command is used to construct such a system:

system ProfileSPD



NOTES:


THEORY:

An n×n matrix A=(ai,j ) is a symmmetric postive definite matrix if:

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


In the skyline or profile storage scheme only the entries below the first no-zero row entry in any column are stored if storing by rows: The reason for this is that as no reordering of the rows is required in gaussian eleimination because the matrix is SPD, no non-zero entries will ocur in the elimination process outside the area stored.

For example, a symmetric 6-by-6 matrix with a structura as shown below:

<math>

\begin{bmatrix}

A_{11} & A_{12} & 0      &   0    & 0     \\
     & A_{22}  & A_{23}  &  0     & A_{25} \\
     &         & A_{33}  & 0      & 0     \\
     &         &         & A_{44} & A_{45} \\
     & sym     &         &        & A_{55} 

\end{bmatrix}. </math>

The matrix is stored as 1-d array

<math>

\begin{bmatrix}

A_{11} & A_{12} & A_{22} & A_{23} & A_{33} & A_{44} & A_{25} &  0 & A_{45} & A_{55} 

\end{bmatrix}. </math>

with a further array containing indices of diagonal elements:

<math>

\begin{bmatrix}

1 & 3 & 5 & 6 & 10 

\end{bmatrix}. </math>



Code Developed by: fmk