ProfileSPD SOE: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
(Created page with '{{CommandManualMenu}} 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...')
 
mNo edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{CommandManualMenu}}
{{CommandManualMenu}}


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:
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:


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


Line 30: Line 30:
:<math>
:<math>
\begin{bmatrix}
\begin{bmatrix}
  A_{11} & A_{12} & A_{13} &  0    & 0    & A_{16} \\
  A_{11} & A_{12} & 0      &  0    & 0    \\
       & A_{22}  & A_{23}  &  0    & 0    & 0 \\
       & A_{22}  & A_{23}  &  0    & A_{25} \\
       &        & A_{33}  & 0      & 0    & 0 \\
       &        & A_{33}  & 0      & 0    \\
       &        &        & A_{44} & A_{45} & A_{46} \\
       &        &        & A_{44} & A_{45} \\
       & sym    &        &        & A_{55} & A_{56} \\
       & sym    &        &        & A_{55}  
      &        &        &        &        & A_{66}
\end{bmatrix}.
\end{bmatrix}.
</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_{45} & A_{55} & A_{16}  & A_{46} & A_{56} & A{66} \\
  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>

Latest revision as of 08:43, 10 June 2016




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