WOLFRAM SYSTEM MODELER

# householderVector

Calculate a normalized householder vector to reflect vector a onto vector b # Wolfram Language

In:= `SystemModel["Modelica.Math.Vectors.Utilities.householderVector"]`
Out:= # Information

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

#### Syntax

```Vectors.Utilities.householderVector(a,b);
```

#### Description

The function call "`householderVector(a, b)`" returns the normalized Householder vector u for Householder reflection of input vector a onto vector b, i.e., Householder vector u is the normal vector of the reflection plane. Algebraically, the reflection is performed by transformation matrix Q

Q = I - 2*u*u',

i.e., vector a is mapped to

a -> Q*a=c*b

with scalar c, |c| = ||a|| / ||b||. Q*a is the reflection of a about the hyperplane orthogonal to u. Q is an orthogonal matrix, i.e.

Q = inv(Q) = Q'

#### Example

```  a = {2, -4, -2, -1};
b = {1, 0, 0, 0};

u = householderVector(a,b);    // {0.837, -0.478, -0.239, -0.119}
// Computation (identity(4) - 2*matrix(u)*transpose(matrix(u)))*a results in
// {-5, 0, 0, 0} = -5*b
```

Vectors.Utilities.householderReflection
Matrices.Utilities.householderReflection
Matrices.Utilities.householderSimilarityTransformation

# Syntax

u = householderVector(a, b)

# Inputs (2)

a Type: Real[:] Description: Real vector to be reflected Type: Real[size(a, 1)] Description: Real vector b vector a is mapped onto

# Outputs (1)

u Type: Real[size(a, 1)] Description: Householder vector to map a onto b

# Revisions

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