## GOQuadQR GOQuadQR |

## Functions

void | go_quad_qr_determinant ()
void | go_quad_qr_determinantl ()
void | go_quad_qr_determinantD ()
void | go_quad_qr_free ()
void | go_quad_qr_freel ()
void | go_quad_qr_freeD ()
void | go_quad_qr_mark_degenerate ()
void | go_quad_qr_mark_degeneratel ()
void | go_quad_qr_mark_degenerateD ()
void | go_quad_qr_multiply_qt ()
void | go_quad_qr_multiply_qtl ()
void | go_quad_qr_multiply_qtD ()
GOQuadQR * | go_quad_qr_new ()
GOQuadQRl * | go_quad_qr_newl ()
GOQuadQRD * | go_quad_qr_newD ()
const GOQuadMatrix * | go_quad_qr_r ()
const GOQuadMatrixl * | go_quad_qr_rl ()
const GOQuadMatrixD * | go_quad_qr_rD ()

## Description

## Functions

### go_quad_qr_determinant ()

    void
    go_quad_qr_determinant (const GOQuadQR *qr,
                            GOQuad *det);

Computes the determinant of the original matrix from its QR decomposition `qr` and stores it in `det` .

#### Parameters

qr | GOQuadQR |
det | determinant. | [out]

### go_quad_qr_determinantl ()

    void
    go_quad_qr_determinantl (const GOQuadQRl *qr,
                             GOQuadl *det);

Computes the determinant of the original matrix from its QR decomposition `qr` and stores it in `det` .

#### Parameters

qr | GOQuadQR |
det | determinant. | [out]

### go_quad_qr_determinantD ()

    void
    go_quad_qr_determinantD (const GOQuadQRD *qr,
                             GOQuadD *det);

Computes the determinant of the original matrix from its QR decomposition `qr` and stores it in `det` .

#### Parameters

qr | GOQuadQR |
det | determinant. | [out]

### go_quad_qr_free ()

    void
    go_quad_qr_free (GOQuadQR *qr);

Frees `qr` and its associated data.

[skip]

#### Parameters

qr | GOQuadQR to free. | [transfer full]

### go_quad_qr_freel ()

    void
    go_quad_qr_freel (GOQuadQRl *qr);

Frees `qr` and its associated data.

[skip]

#### Parameters

qr | GOQuadQR to free. | [transfer full]

### go_quad_qr_freeD ()

    void
    go_quad_qr_freeD (GOQuadQRD *qr);

Frees `qr` and its associated data.

[skip]

#### Parameters

qr | GOQuadQR to free. | [transfer full]

### go_quad_qr_mark_degenerate ()

    void
    go_quad_qr_mark_degenerate (GOQuadQR *qr,
                                int i);

Marks dimension i of the qr decomposition as degenerate. In practice this means setting the i-th eigenvalue of R to zero.

[skip]

#### Parameters

qr | A QR decomposition. |
i | a dimension |

### go_quad_qr_mark_degeneratel ()

    void
    go_quad_qr_mark_degeneratel (GOQuadQRl *qr,
                                 int i);

Marks dimension i of the qr decomposition as degenerate. In practice this means setting the i-th eigenvalue of R to zero.

[skip]

#### Parameters

qr | A QR decomposition. |
i | a dimension |

### go_quad_qr_mark_degenerateD ()

    void
    go_quad_qr_mark_degenerateD (GOQuadQRD *qr,
                                 int i);

Marks dimension i of the qr decomposition as degenerate. In practice this means setting the i-th eigenvalue of R to zero.

[skip]

#### Parameters

qr | A QR decomposition. |
i | a dimension |

### go_quad_qr_multiply_qt ()

    void
    go_quad_qr_multiply_qt (const GOQuadQR *qr,
                            GOQuad *x);

Replaces `x` by Q^t * x

#### Parameters

qr | A QR decomposition. |
x | a vector. | [inout]

### go_quad_qr_multiply_qtl ()

    void
    go_quad_qr_multiply_qtl (const GOQuadQRl *qr,
                             GOQuadl *x);

Replaces `x` by Q^t * x

#### Parameters

qr | A QR decomposition. |
x | a vector. | [inout]

### go_quad_qr_multiply_qtD ()

    void
    go_quad_qr_multiply_qtD (const GOQuadQRD *qr,
                             GOQuadD *x);

Replaces `x` by Q^t * x

#### Parameters

qr | A QR decomposition. |
x | a vector. | [inout]

### go_quad_qr_new ()

    GOQuadQR *
    go_quad_qr_new (const GOQuadMatrix *A);

QR decomposition of a matrix using Householder matrices.

A (input) is an m-times-n matrix. A0...m-1 If qAT is TRUE, this parameter is transposed.

V is a pre-allocated output m-times-n matrix. V will contain n vectors of different lengths: n, n-1, ..., 1. These are the Householder vectors (or null for the degenerate case). The matrix Q of size m-times-m is implied from V.

R is a matrix of size n-times-n. (To get the m-times-n version of R, simply add m-n null rows.)

[skip]

#### Parameters

A | Source matrix. |

#### Returns

a new GOQuadQR.

[transfer full]

### go_quad_qr_newl ()

    GOQuadQRl *
    go_quad_qr_newl (const GOQuadMatrixl *A);

QR decomposition of a matrix using Householder matrices.

A (input) is an m-times-n matrix. A0...m-1 If qAT is TRUE, this parameter is transposed.

V is a pre-allocated output m-times-n matrix. V will contrain n vectors of different lengths: n, n-1, ..., 1. These are the Householder vectors (or null for the degenerate case). The matrix Q of size m-times-m is implied from V.

R is a matrix of size n-times-n. (To get the m-times-n version of R, simply add m-n null rows.)

[skip]

#### Parameters

A | Source matrix. |

#### Returns

a new GOQuadQR.

[transfer full]

### go_quad_qr_newD ()

    GOQuadQRD *
    go_quad_qr_newD (const GOQuadMatrixD *A);

QR decomposition of a matrix using Householder matrices.

A (input) is an m-times-n matrix. A0...m-1 If qAT is TRUE, this parameter is transposed.

V is a pre-allocated output m-times-n matrix. V will contain n vectors of different lengths: n, n-1, ..., 1. These are the Householder vectors (or null for the degenerate case). The matrix Q of size m-times-m is implied from V.

R is a matrix of size n-times-n. (To get the m-times-n version of R, simply add m-n null rows.)

[skip]

#### Parameters

A | Source matrix. |

#### Returns

a new GOQuadQR.

[transfer full]

### go_quad_qr_r ()

    const GOQuadMatrix *
    go_quad_qr_r (const GOQuadQR *qr);

#### Parameters

qr | A QR decomposition. |

#### Returns

the small R from the decomposition, i.e., a square matrix of size n. To get the large R, if needed, add m-n zero rows.

### go_quad_qr_rl ()

    const GOQuadMatrixl *
    go_quad_qr_rl (const GOQuadQRl *qr);

#### Parameters

qr | A QR decomposition. |

#### Returns

the small R from the decomposition, i.e., a square matrix of size n. To get the large R, if needed, add m-n zero rows.

### go_quad_qr_rD ()

    const GOQuadMatrixD *
    go_quad_qr_rD (const GOQuadQRD *qr);

#### Parameters

qr | A QR decomposition. |

#### Returns

the small R from the decomposition, i.e., a square matrix of size n. To get the large R, if needed, add m-n zero rows.