Macaulay2 Engine
Loading...
Searching...
No Matches

◆ PfaffianComputation()

PfaffianComputation::PfaffianComputation ( const Matrix * M,
int p )

Definition at line 7 of file pfaff.cpp.

8 : R(M0->get_ring()), M(M0), p(p0), done(false), row_set(nullptr)
9{
10 pfaffs = MatrixConstructor(R->make_FreeModule(1), 0);
11 if (p == 0)
12 {
13 pfaffs.append(R->make_vec(0, R->one()));
14 done = true;
15 return;
16 }
17 if (p % 2 != 0 || p < 0 || (p > M->n_cols()) || (p > M->n_rows()))
18 {
19 done = true;
20 return;
21 }
22 row_set = newarray_atomic(size_t, p);
23 for (int i = 0; i < p; i++) row_set[i] = i;
24}
const Ring * R
Definition pfaff.hpp:51
MatrixConstructor pfaffs
Definition pfaff.hpp:53
size_t * row_set
Definition pfaff.hpp:58
const Matrix * M
Definition pfaff.hpp:52
#define newarray_atomic(T, len)
Definition newdelete.hpp:91

References done, get_ring(), M, Matrix, newarray_atomic, p, pfaffs, R, and row_set.