ProfileSPD SOE

From OpenSeesWiki
Jump to navigation Jump to search




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