# Hess

Advanced Analysis Library Only

AnalysisLibErrType Hess (void *inputMatrix, int matrixSize, void *hessenbergMatrix, void *orthogonalMatrix);

## Purpose

Performs a Hessenberg decomposition of a real matrix A such that A = QHQH, where Q is the orthogonal matrix, H is the Hessenberg matrix, and QH is the transpose of Q.

## Parameters

Input
Name | Type | Description
inputMatrix | numeric array | The input matrix A.
matrixSize | integer | The order of inputMatrix.
Output
Name | Type | Description
hessenbergMatrix | numeric array | The Hessenberg matrix. In place operation is supported. That is, you can call the function with hessenbergMatrix = NULL or hessenbergMatrix = inputMatrix so that the resulting Hessenberg matrix overwrites inputMatrix directly.
orthogonalMatrix | numeric array | The orthogonal matrix Q.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.