# Complex Burst Matrix Solve Using QR Decomposition

Compute the value of x in the equation Ax = B for complex-valued matrices using QR decomposition

## Description

The Complex Burst Matrix Solve Using QR Decomposition block solves the system of linear equations Ax = B using QR decomposition, where A and B are complex-valued matrices. To compute x = A-1, set B to be the identity matrix.

### Creation

`model = fixed.getMatrixSolveModel(A, B)` generates a model named `model` containing a Matrix Solve QR Decomposition block and data input matrices, `A` and `B`.

## Ports

### Input

expand all

Rows of complex matrix A, where A is a m-by-n matrix with m ≥ 2 and mn. If B is single or double, A must be the same data type as B. If A is fixed point, A must be signed, use binary point scaling, and have the same word length as B. Slope-bias representation is not supported for fixed-point data types.

Data Types: `single` | `double` | `fixed point`
Complex Number Support: Yes

Rows of complex matrix B, where B is a m-by-p matrix with m ≥ 2. If A is single or double, B must be the same data type as A. If B is fixed point, B must be signed, use binary point scaling, and have the same word length as A. Slope-bias representation is not supported for fixed-point data types.

Data Types: `single` | `double` | `fixed point`
Complex Number Support: Yes

Indicates valid inputs, specified as a `Boolean` scalar. Control signal that indicates when the data from the `A(i,:)` and `B(i,:)` input ports is valid. When this value is 1 (`true`) and ready is 1 (`true`), the block captures the values on the `A(i,:)` and `B(i,:)` input ports. When this value is 0 (`false`), the block ignores the input samples.

Data Types: `Boolean`

Clears internal state, specified as a `Boolean` scalar. When this value is 1 (`true`), the block stops the current calculation and clears all internal states. When this value is 0 (`false`) and the validIn value is 1 (`true`), the block begins a new subframe.

Data Types: `Boolean`

### Output

expand all

Rows of the matrix X.

Data Types: `single` | `double` | `fixed point`

Control signal that indicates when the data at the output port `X(i,:)` is valid. When this value is 1 (`true`), the block has successfully computed a row of matrix `X`. When this value is 0 (`false`), the output data is not valid.

Data Types: `Boolean`

Control signal that indicates when the block is ready for new input data. When this value is 1 (`true`) and validIn is 1 (`true`), the block accepts input data in the next time step. When this value is 0 (`false`), the block ignores input data in the next time step.

Data Types: `Boolean`

## Parameters

expand all

Number of rows in input matrices A and B, specified as a positive integer-valued scalar.

#### Programmatic Use

 Block Parameter: `m` Type: character vector Values: integer-valued scalar Default: `'4'`

Number of columns in input matrix A, specified as a positive integer-valued scalar.

#### Programmatic Use

 Block Parameter: `n` Type: character vector Values: integer-valued scalar Default: `'4'`

Number of columns in input matrix B, specified as a positive integer-valued scalar.

#### Programmatic Use

 Block Parameter: `p` Type: character vector Values: integer-valued scalar Default: `'1'`

Data type of the output matrix X, specified as a string. The type be specified directly, or expressed as a data type object such as `Simulink.NumericType`.

#### Programmatic Use

 Block Parameter: `OutputType` Type: character vector Values: `'fixdt(1,18,14)'` | `'double'` | `'single'` | `'fixdt(1,16,0)'` | `''` Default: `fixdt(1,18,14)` 