M4RI 20250128
triangular.h
Go to the documentation of this file.
1
9#ifndef M4RI_TRSM_H
10#define M4RI_TRSM_H
11
12/*******************************************************************
13 *
14 * M4RI: Linear Algebra over GF(2)
15 *
16 * Copyright (C) 2008 Clement Pernet <clement.pernet@gmail.com>
17 *
18 * Distributed under the terms of the GNU General Public License (GPL)
19 * version 2 or higher.
20 *
21 * This code is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * General Public License for more details.
25 *
26 * The full text of the GPL is available at:
27 *
28 * http://www.gnu.org/licenses/
29 *
30 ********************************************************************/
31
32#include <m4ri/mzd.h>
33
50void mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff);
51
64void _mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff);
65
82void mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff);
83
100void _mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff);
101
115void mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff);
116
127void _mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff);
128
142void mzd_trsm_upper_left(mzd_t const *U, mzd_t *B, const int cutoff);
143
153void _mzd_trsm_upper_left(mzd_t const *U, mzd_t *B, const int cutoff);
154
164
165#endif // M4RI_TRSM_H
Dense matrices over GF(2) represented as a bit field.
Dense matrices over GF(2).
Definition mzd.h:68
void _mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff)
Solves X U = B with X and B matrices and U upper triangular.
Definition triangular.c:61
void _mzd_trsm_upper_left(mzd_t const *U, mzd_t *B, const int cutoff)
Solves U X = B with X and B matrices and U upper triangular.
Definition triangular.c:467
void mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff)
Solves X L = B with X and B matrices and L lower triangular.
Definition triangular.c:301
void _mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff)
Solves X L = B with X and B with matrices and L lower triangular.
Definition triangular.c:312
mzd_t * mzd_trtri_upper(mzd_t *A)
Invert the upper triangular matrix A by reduction to matrix multiplication.
Definition triangular.c:518
void mzd_trsm_upper_left(mzd_t const *U, mzd_t *B, const int cutoff)
Solves U X = B with X and B matrices and U upper triangular.
Definition triangular.c:457
void mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff)
Solves X U = B with X and B matrices and U upper triangular.
Definition triangular.c:41
void _mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff)
Solves L X = B with X and B matrices and L lower triangular.
Definition triangular.c:406
void mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff)
Solves L X = B with X and B matrices and L lower triangular.
Definition triangular.c:396