# gen2par

Convert between parity-check and generator matrices

## Syntax

```parmat = gen2par(genmat) genmat = gen2par(parmat) ```

## Description

`parmat = gen2par(genmat) ` converts the standard-form binary generator matrix `genmat` into the corresponding parity-check matrix `parmat`.

`genmat = gen2par(parmat) ` converts the standard-form binary parity-check matrix `parmat` into the corresponding generator matrix `genmat`.

The standard forms of the generator and parity-check matrices for an [n,k] binary linear block code are shown in the table below

Type of MatrixStandard FormDimensions
Generator [Ik P] or [P Ik] k-by-n
Parity-check [-P`'` In-k] or [In-k -P`'` ] (n-k)-by-n

.

where Ik is the identity matrix of size k and the `'` symbol indicates matrix transpose. Two standard forms are listed for each type, because different authors use different conventions. For binary codes, the minus signs in the parity-check form listed above are irrelevant; that is, -1 = 1 in the binary field.

## Examples

collapse all

Convert the parity-check matrix for a Hamming code into the corresponding generator matrix and back again.

Create the parity-check matrix.

`parmat = hammgen(3)`
```parmat = 3×7 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 ```

Convert the parity-check matrix into the corresponding generator matrix.

`genmat = gen2par(parmat)`
```genmat = 4×7 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 ```

Convert the generator matrix back again. The output, `parmat2`, should be the same as the original matrix, `parmat`.

`parmat2 = gen2par(genmat)`
```parmat2 = 3×7 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 ```