M4RI  20140914
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 
50 void mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff);
51 
64 void _mzd_trsm_upper_right(mzd_t const *U, mzd_t *B, const int cutoff);
65 
82 void mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff);
83 
100 void _mzd_trsm_lower_right(mzd_t const *L, mzd_t *B, const int cutoff);
101 
115 void mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff);
116 
127 void _mzd_trsm_lower_left(mzd_t const *L, mzd_t *B, const int cutoff);
128 
142 void mzd_trsm_upper_left(mzd_t const *U, mzd_t *B, const int cutoff);
143 
153 void _mzd_trsm_upper_left (mzd_t const *U, mzd_t *B, const int cutoff);
154 
164 
165 #endif // M4RI_TRSM_H
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:408
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:399
Dense matrices over GF(2).
Definition: mzd.h:86
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:197
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:338
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:42
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:206
mzd_t * mzd_trtri_upper(mzd_t *A)
Invert the upper triangular matrix A by reduction to matrix multiplication.
Definition: triangular.c:460
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:347
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:60