Commit 9e482c41 authored by Charles Bouillaguet's avatar Charles Bouillaguet
Browse files

reasonable program to generate macaulay matrices

should remove empty columns though...
parent c8694daf
......@@ -9,3 +9,4 @@ moebius_demo
/monica_oblivious
/monica_vector
/macaulay
/macaulay_gen
......@@ -6,14 +6,16 @@ CFLAGS += -fopenmp
LDFLAGS += -fopenmp
LDLIBS += -lm
all: parser_demo parser_demo_alt moebius_demo monica monica_vector macaulay
all: parser_demo parser_demo_alt moebius_demo monica monica_vector macaulay_gen
monica: parser.o monica.o
monica_vector: parser.o monica_vector.o
parser_demo: parser.o parser_demo.o
parser_demo_alt: parser.o parser_demo_alt.o
moebius_demo: parser.o moebius.o moebius_demo.o
macaulay: parser.o macaulay.o
macaulay_gen: parser.o macaulay_gen.o
macaulay_gen: LDLIBS += `pkg-config --libs m4ri`
moebius_demo.o: parser.h moebius.h
parser_demo.o: parser.h
......@@ -21,8 +23,11 @@ parser.o: parser.h
moebius.o: moebius.h
monica.o: parser.h ffs.h
monica_vector.o: parser.h ffs.h
macaulay_gen.o: parser.h
macaulay_gen.o: CFLAGS += `pkg-config --cflags m4ri`
clean:
rm -f *.o
rm -f parser_demo moebius_demo parser_demo_alt monica monica_vector
rm -f parser_demo moebius_demo parser_demo_alt monica monica_vector macaulay_gen
......@@ -42,8 +42,32 @@ Example:
# ./moebius_demo < examples/large.in
```
# Towards a Full-Blown Implementation of the Joux-Vitse Algorithm
# Input format
This relies on a collection of several interoperable executables.
## Macaulay Matrix Generation
`macaulay_gen.c` reads quadratic polynomials and generates a (sparse) macaulay
matrix in which some columns are removed. The sparse matrix format is as
follows:
A file `FILE.bin` is expected to contain nrows rows, each coded as the
row length `<nentries>` written as a 32-bit little-endian integer, followed
by the `<nentries>` indices of non-zero columns, all as 32-bit little-endian
integers.
The most important parameter (and required) are `--degree` and
`--inner-hybridation`, which specifies the degree of the macaulay matrix and
how many variables are not guessed, respectively.
Example:
```
./macaulay_gen --degree 4 --inner-hybridation 12 --in examples/random_48_quad.in --out test.bin
```
# Polynomials Input format
This code parses polynomial systems modulo 2 in the following format:
......
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment