M4RI  20140914
ple.h
Go to the documentation of this file.
1 
10 #ifndef M4RI_PLUQ_H
11 #define M4RI_PLUQ_H
12 
13 /*******************************************************************
14 *
15 * M4RI: Linear Algebra over GF(2)
16 *
17 * Copyright (C) 2008, 2009 Clement Pernet <clement.pernet@gmail.com>
18 *
19 * Distributed under the terms of the GNU General Public License (GPL)
20 * version 2 or higher.
21 *
22 * This code is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 * General Public License for more details.
26 *
27 * The full text of the GPL is available at:
28 *
29 * http://www.gnu.org/licenses/
30 *
31 ********************************************************************/
32 
33 #include <m4ri/mzd.h>
34 #include <m4ri/mzp.h>
35 
40 #define __M4RI_PLE_CUTOFF MIN(524288, __M4RI_CPU_L3_CACHE >> 3)
41 
70 rci_t mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
71 
72 
104 rci_t mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
105 
121 rci_t _mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
122 
138 rci_t _mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Qt, const int cutoff);
139 
155 
170 rci_t _mzd_ple_naive(mzd_t *A, mzp_t *P, mzp_t *Qt);
171 
172 #endif // M4RI_PLUQ_H
rci_t _mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Qt, const int cutoff)
PLE matrix decomposition.
Definition: ple.c:64
Dense matrices over GF(2).
Definition: mzd.h:86
int rci_t
Type of row and column indexes.
Definition: misc.h:72
rci_t mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff)
PLE matrix decomposition.
Definition: ple.c:33
rci_t _mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff)
PLUQ matrix decomposition.
Definition: ple.c:52
Permutations.
Definition: mzp.h:37
rci_t _mzd_pluq_naive(mzd_t *A, mzp_t *P, mzp_t *Q)
PLUQ matrix decomposition (naive base case).
Definition: ple.c:190
rci_t _mzd_ple_naive(mzd_t *A, mzp_t *P, mzp_t *Qt)
PLE matrix decomposition (naive base case).
Definition: ple.c:238
rci_t mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff)
PLUQ matrix decomposition.
Definition: ple.c:42