WOLFRAM SYSTEM MODELER

# householderSimilarityTransformation

Perform the similarity transformation S*A*S of matrix A with symmetric householder matrix S = I - 2u*u'

# Wolfram Language

In[1]:=
`SystemModel["Modelica.Math.Matrices.Utilities.householderSimilarityTransformation"]`
Out[1]:=

# Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

#### Syntax

```  As = Matrices.householderSimilarityTransformation(A,u);
```

#### Description

This function computes the Householder similarity transformation

As = S*A*S
with
S = I -2*u*u'/(u'*u).

This transformation is widely used for transforming non-symmetric matrices to a Hessenberg form.

#### Example

```// First step of Hessenberg decomposition
import   Modelica.Math.Vectors.Utilities;

Real A[4,4] = [1,2,3,4;
3,4,5,6;
9,8,7,6;
1,2,0,0];
Real Ar[4,4];
Real u[4]={0,0,0,0};

u[2:4]=Utilities.householderVector(A[2:4,1],{1,0,0});
// u= = {0, 0.8107, 0.5819, 0.0647}

Ar=householderSimilarityTransformation(A,u);
//  Ar = [1.0,     -3.8787,    -1.2193,    3.531;
-9.5394, 11.3407,      6.4336,   -5.9243;
0.0,     3.1307,      0.7525,   -3.3670;
0.0,     0.8021,     -1.1656,   -1.0932]
```

# Syntax

SAS = householderSimilarityTransformation(A, u)

# Inputs (2)

A Type: Real[:,size(A, 1)] Description: Square matrix A Type: Real[size(A, 1)] Description: Householder vector

# Outputs (1)

SAS Type: Real[size(A, 1),size(A, 1)] Description: Transformation of matrix A

# Revisions

• 2010/04/30 by Marcus Baur, DLR-RM