passagemath-brial 10.8.1a3__cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- passagemath_brial/__init__.py +3 -0
- passagemath_brial-10.8.1a3.dist-info/METADATA +96 -0
- passagemath_brial-10.8.1a3.dist-info/RECORD +39 -0
- passagemath_brial-10.8.1a3.dist-info/WHEEL +6 -0
- passagemath_brial-10.8.1a3.dist-info/top_level.txt +3 -0
- passagemath_brial.libs/libbrial-a2b87c7c.so.3.0.7 +0 -0
- passagemath_brial.libs/libbrial_groebner-607bf574.so.3.0.7 +0 -0
- passagemath_brial.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
- passagemath_brial.libs/libm4ri-4311ab86.so.2.0.1 +0 -0
- passagemath_brial.libs/libpng16-5d944a30.so.16.54.0 +0 -0
- sage/all__sagemath_brial.py +9 -0
- sage/libs/all__sagemath_brial.py +1 -0
- sage/libs/polybori/__init__.pxd +2 -0
- sage/libs/polybori/decl.pxd +401 -0
- sage/libs/polybori/pb_wrap.h +133 -0
- sage/rings/all__sagemath_brial.py +1 -0
- sage/rings/polynomial/all__sagemath_brial.py +1 -0
- sage/rings/polynomial/pbori/PyPolyBoRi.py +124 -0
- sage/rings/polynomial/pbori/__init__.py +46 -0
- sage/rings/polynomial/pbori/blocks.py +499 -0
- sage/rings/polynomial/pbori/cnf.py +241 -0
- sage/rings/polynomial/pbori/easy_polynomials.py +59 -0
- sage/rings/polynomial/pbori/fglm.py +93 -0
- sage/rings/polynomial/pbori/frontend.py +70 -0
- sage/rings/polynomial/pbori/gbcore.py +644 -0
- sage/rings/polynomial/pbori/gbrefs.py +129 -0
- sage/rings/polynomial/pbori/heuristics.py +35 -0
- sage/rings/polynomial/pbori/interpolate.py +122 -0
- sage/rings/polynomial/pbori/interred.py +34 -0
- sage/rings/polynomial/pbori/ll.py +302 -0
- sage/rings/polynomial/pbori/nf.py +671 -0
- sage/rings/polynomial/pbori/parallel.py +308 -0
- sage/rings/polynomial/pbori/pbori.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/pbori/pbori.pxd +127 -0
- sage/rings/polynomial/pbori/pbori.pyx +8103 -0
- sage/rings/polynomial/pbori/randompoly.py +111 -0
- sage/rings/polynomial/pbori/rank.py +27 -0
- sage/rings/polynomial/pbori/specialsets.py +119 -0
- sage/rings/polynomial/pbori/statistics.py +35 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: passagemath-brial
|
|
3
|
+
Version: 10.8.1a3
|
|
4
|
+
Summary: passagemath: Boolean Ring Algebra with BRiAl
|
|
5
|
+
Author-email: The Sage Developers <sage-support@googlegroups.com>
|
|
6
|
+
Maintainer: Matthias Köppe, passagemath contributors
|
|
7
|
+
License-Expression: GPL-2.0-or-later
|
|
8
|
+
Project-URL: release notes, https://github.com/passagemath/passagemath/releases
|
|
9
|
+
Project-URL: repo (upstream), https://github.com/sagemath/sage
|
|
10
|
+
Project-URL: repo, https://github.com/passagemath/passagemath
|
|
11
|
+
Project-URL: documentation, https://passagemath.org/docs/latest
|
|
12
|
+
Project-URL: homepage (upstream), https://www.sagemath.org
|
|
13
|
+
Project-URL: discourse, https://passagemath.discourse.group
|
|
14
|
+
Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
|
|
15
|
+
Project-URL: tracker, https://github.com/passagemath/passagemath/issues
|
|
16
|
+
Classifier: Development Status :: 6 - Mature
|
|
17
|
+
Classifier: Intended Audience :: Education
|
|
18
|
+
Classifier: Intended Audience :: Science/Research
|
|
19
|
+
Classifier: Operating System :: POSIX
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
22
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
27
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
29
|
+
Requires-Python: <3.15,>=3.11
|
|
30
|
+
Description-Content-Type: text/x-rst
|
|
31
|
+
Requires-Dist: cysignals!=1.12.4; sys_platform == "win32"
|
|
32
|
+
Requires-Dist: cysignals!=1.12.0,>=1.11.2
|
|
33
|
+
Requires-Dist: passagemath-categories==10.8.1.alpha3
|
|
34
|
+
Provides-Extra: test
|
|
35
|
+
Requires-Dist: passagemath-modules; extra == "test"
|
|
36
|
+
Requires-Dist: passagemath-ntl; extra == "test"
|
|
37
|
+
Requires-Dist: passagemath-flint; extra == "test"
|
|
38
|
+
Requires-Dist: passagemath-pari; extra == "test"
|
|
39
|
+
Requires-Dist: passagemath-repl; extra == "test"
|
|
40
|
+
Requires-Dist: passagemath-singular; extra == "test"
|
|
41
|
+
|
|
42
|
+
=========================================================================
|
|
43
|
+
passagemath: Boolean Ring Algebra with BRiAl
|
|
44
|
+
=========================================================================
|
|
45
|
+
|
|
46
|
+
`passagemath <https://github.com/passagemath/passagemath>`__ is open
|
|
47
|
+
source mathematical software in Python, released under the GNU General
|
|
48
|
+
Public Licence GPLv2+.
|
|
49
|
+
|
|
50
|
+
It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
|
|
51
|
+
developed 2005-2025 under the motto “Creating a Viable Open Source
|
|
52
|
+
Alternative to Magma, Maple, Mathematica, and MATLAB”.
|
|
53
|
+
|
|
54
|
+
The passagemath fork uses the motto "Creating a Free Passage Between the
|
|
55
|
+
Scientific Python Ecosystem and Mathematical Software Communities."
|
|
56
|
+
It was created in October 2024 with the following goals:
|
|
57
|
+
|
|
58
|
+
- providing modularized installation with pip,
|
|
59
|
+
- establishing first-class membership in the scientific Python
|
|
60
|
+
ecosystem,
|
|
61
|
+
- giving `clear attribution of upstream
|
|
62
|
+
projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
|
|
63
|
+
- providing independently usable Python interfaces to upstream
|
|
64
|
+
libraries,
|
|
65
|
+
- offering `platform portability and integration testing
|
|
66
|
+
services <https://github.com/passagemath/passagemath/issues/704>`__
|
|
67
|
+
to upstream projects,
|
|
68
|
+
- inviting collaborations with upstream projects,
|
|
69
|
+
- `building a professional, respectful, inclusive
|
|
70
|
+
community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
|
|
71
|
+
- `empowering Sage users to participate in the scientific Python ecosystem
|
|
72
|
+
<https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
|
|
73
|
+
- developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
|
|
74
|
+
serverless deployment with Javascript,
|
|
75
|
+
- developing a native Windows port.
|
|
76
|
+
|
|
77
|
+
`Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
|
|
78
|
+
available online.
|
|
79
|
+
|
|
80
|
+
passagemath attempts to support and provides binary wheels suitable for
|
|
81
|
+
all major Linux distributions and recent versions of macOS.
|
|
82
|
+
|
|
83
|
+
Binary wheels for native Windows (x86_64) are are available for a subset of
|
|
84
|
+
the passagemath distributions. Use of the full functionality of passagemath
|
|
85
|
+
on Windows currently requires the use of Windows Subsystem for Linux (WSL)
|
|
86
|
+
or virtualization.
|
|
87
|
+
|
|
88
|
+
The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
About this pip-installable distribution package
|
|
92
|
+
-----------------------------------------------
|
|
93
|
+
|
|
94
|
+
This pip-installable source distribution ``passagemath-brial`` provides
|
|
95
|
+
a Boolean Ring Algebra implementation using binary decision diagrams,
|
|
96
|
+
implemented by the BRiAl library, the successor to PolyBoRi.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
passagemath_brial/__init__.py,sha256=u3JOuHEFYqH_QD2APr5v33fbb-mXCTSzBtw6MCCcXNk,84
|
|
2
|
+
passagemath_brial.libs/libbrial-a2b87c7c.so.3.0.7,sha256=dR90BHFyenROH3GdAl16vLmvDS9S-QlLqMPWHH_6Wq8,10503625
|
|
3
|
+
passagemath_brial.libs/libbrial_groebner-607bf574.so.3.0.7,sha256=6zZRQHhvu7qpVhn0HkuB-1b-eg-jCn_6nj8j331EwsY,20569865
|
|
4
|
+
passagemath_brial.libs/libgmp-93ebf16a.so.10.5.0,sha256=J_oguU4vvekVCVuY5w0xJjRsPinQWaZ9HqUVq6yFhas,668537
|
|
5
|
+
passagemath_brial.libs/libm4ri-4311ab86.so.2.0.1,sha256=NVtbhZ90ROh4EgO7JNNZ4lvyWNYRqMFTb2C-xh96UCA,1250769
|
|
6
|
+
passagemath_brial.libs/libpng16-5d944a30.so.16.54.0,sha256=T9ZCvVAtYrPiFypaCeFuqlMkODCSXnyKoWWf7OCnEag,1384689
|
|
7
|
+
sage/all__sagemath_brial.py,sha256=3pdx_TyESRdnfj0a-BFotJd7IohjzFSV7y0adPc8jdc,181
|
|
8
|
+
sage/libs/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
|
|
9
|
+
sage/libs/polybori/__init__.pxd,sha256=aFtUBJSK6uu2h1fqD5xOraYKZHzYQK--ellmPEkdDBA,96
|
|
10
|
+
sage/libs/polybori/decl.pxd,sha256=MmjQbEcG-TKiG2lE6nbsnLJMqxvqVYyDYHQiz_0EqVc,13068
|
|
11
|
+
sage/libs/polybori/pb_wrap.h,sha256=_ANpLeG1ZUzoL88LzrLXaZYY84jWeRA8LU19HGOJsZ8,3814
|
|
12
|
+
sage/rings/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
|
|
13
|
+
sage/rings/polynomial/all__sagemath_brial.py,sha256=5q-Ygp3aEBaIBwJqkUylkJoxtuov5smlTEUM5Rv_U7w,44
|
|
14
|
+
sage/rings/polynomial/pbori/PyPolyBoRi.py,sha256=PL_frkfT7NhJNmEldWIz2084Ce5Ql31L54UKG8yutW8,3357
|
|
15
|
+
sage/rings/polynomial/pbori/__init__.py,sha256=oa0vKWiihNIbKPAYPlHbzSMeDOiouHsEhzhdvPzQpOM,2108
|
|
16
|
+
sage/rings/polynomial/pbori/blocks.py,sha256=Vp3LkNUNQpw7fPfcO7F9OnGunmB_hrDYLZ_VADxKCLk,15569
|
|
17
|
+
sage/rings/polynomial/pbori/cnf.py,sha256=nKjNGdenHwwDGzDh9aW1JizQflQ75LqU_P9wOPt3Dqw,9156
|
|
18
|
+
sage/rings/polynomial/pbori/easy_polynomials.py,sha256=YA1D86INvZ5bueUANLO5XPNq1yHIZRwasGteoyTVEe4,2046
|
|
19
|
+
sage/rings/polynomial/pbori/fglm.py,sha256=047RrCKXeiC8s3LbD6DRKgdatWKAX78Egqzb6vc6F_s,3414
|
|
20
|
+
sage/rings/polynomial/pbori/frontend.py,sha256=bZQHO9Q73VHhAjNX_dz_Ms4J_-VkYWPC9-PcNPCHxvY,1690
|
|
21
|
+
sage/rings/polynomial/pbori/gbcore.py,sha256=T7kuQWUUuEkzXcTeteMIvqEUBiI5WjJBUIwrcQwIS6k,21028
|
|
22
|
+
sage/rings/polynomial/pbori/gbrefs.py,sha256=MOtP2YtcRBIO3kjuYyvtpPUvNi0A5A52JbetyvcB20w,3393
|
|
23
|
+
sage/rings/polynomial/pbori/heuristics.py,sha256=4jf56TdHw-YIPfkUjIaWffWQ1SfVe04n3URIC7ycWak,871
|
|
24
|
+
sage/rings/polynomial/pbori/interpolate.py,sha256=x4_h-lMs04kZbGW5W5xETKC08XN3uArfpqeLVGKipYo,3958
|
|
25
|
+
sage/rings/polynomial/pbori/interred.py,sha256=zSqSo4S9qojVl3NrEwTR913s4_pwNInWOY8FxOwerrc,1005
|
|
26
|
+
sage/rings/polynomial/pbori/ll.py,sha256=ophQ0epXYR2SPLdq2fDwyt12B2pzdMqg8T0mx4Wrxnk,10598
|
|
27
|
+
sage/rings/polynomial/pbori/nf.py,sha256=4lj82HQiGC5eqdxYZY6hvJ6-n4wISFwhhB1tkat1hv4,22374
|
|
28
|
+
sage/rings/polynomial/pbori/parallel.py,sha256=igbW4G2JpqQbbxosLdOYCBNjDbKZgu2JtAWZx7v8nyo,8850
|
|
29
|
+
sage/rings/polynomial/pbori/pbori.cpython-314-aarch64-linux-gnu.so,sha256=OFCuSU2f0JRqaRxoMLm02gCetBVTRzrJEKmQ6_Pv6VE,14392641
|
|
30
|
+
sage/rings/polynomial/pbori/pbori.pxd,sha256=zN8LPgF_gE30SN4Vrs-BRsj9U2MEAkVyWG3Dd0yhd0c,3845
|
|
31
|
+
sage/rings/polynomial/pbori/pbori.pyx,sha256=Ly2AAJYYN1czQHSsILBgi_ftDvqnn3m4sgKV2Re-178,249433
|
|
32
|
+
sage/rings/polynomial/pbori/randompoly.py,sha256=P1TXjOi4fQThHtWZs3AIwZqoE-lnb-zP4xJh-KMkg9c,4298
|
|
33
|
+
sage/rings/polynomial/pbori/rank.py,sha256=k8r_T2okbuZpgdNRi-H5rxIaA5cMyzHipXo8Cyq0FBU,699
|
|
34
|
+
sage/rings/polynomial/pbori/specialsets.py,sha256=kS4sii6FLxaLRkVAUPi9yjM2c33h7Hn_y_Y6s8Ti1ro,3692
|
|
35
|
+
sage/rings/polynomial/pbori/statistics.py,sha256=1XbDXlIevARUfjmRO17UKg60p7t0d-lRDdVfAGPTcQA,867
|
|
36
|
+
passagemath_brial-10.8.1a3.dist-info/METADATA,sha256=wf4WuZOQ01CUKkbCAx4Wb8L7nE3DX3-1VOKunPNX1tE,4612
|
|
37
|
+
passagemath_brial-10.8.1a3.dist-info/WHEEL,sha256=0pvOHbmfRgKx5XLW_GLLcBRMiVWAGGbU5VJH4qo_KVg,155
|
|
38
|
+
passagemath_brial-10.8.1a3.dist-info/top_level.txt,sha256=IaysPN4SFFFJLfRhdy8REPwed_xkmY6Qtx0N0YEoDyk,24
|
|
39
|
+
passagemath_brial-10.8.1a3.dist-info/RECORD,,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-brial
|
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-brial
|
|
2
|
+
# distutils: language = c++
|
|
3
|
+
# distutils: extra_compile_args = -std=c++17
|
|
4
|
+
|
|
5
|
+
from libcpp.string cimport string as std_string
|
|
6
|
+
from libcpp.vector cimport vector
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
cdef extern from "polybori/pbori_defs.h" namespace "COrderEnums":
|
|
10
|
+
cdef enum ordercodes:
|
|
11
|
+
pblp "CTypes::lp"
|
|
12
|
+
pbdlex "CTypes::dlex"
|
|
13
|
+
pbdp_asc "CTypes::dp_asc"
|
|
14
|
+
pbblock_dlex "CTypes::block_dlex"
|
|
15
|
+
pbblock_dp_asc "CTypes::block_dp_asc"
|
|
16
|
+
pbdp "static_cast<COrderEnums::ordercodes>(17)"
|
|
17
|
+
pbblock_dp "static_cast<COrderEnums::ordercodes>(19)"
|
|
18
|
+
|
|
19
|
+
cdef enum comparecodes:
|
|
20
|
+
less_than "CTypes::less_than"
|
|
21
|
+
equality "CTypes::equality"
|
|
22
|
+
greater_than "CTypes::greater_than"
|
|
23
|
+
less_or_equal_max "CTypes::less_or_equal_max"
|
|
24
|
+
greater_or_equal_min "CTypes::greater_or_equal_min"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
cdef extern from "pb_wrap.h":
|
|
28
|
+
cdef cppclass PBNavigator "CCuddNavigator":
|
|
29
|
+
PBNavigator thenBranch()
|
|
30
|
+
PBNavigator elseBranch()
|
|
31
|
+
int value "operator*"()
|
|
32
|
+
bint isConstant()
|
|
33
|
+
bint isTerminated()
|
|
34
|
+
bint operator==(const PBNavigator&)
|
|
35
|
+
size_t hash()
|
|
36
|
+
|
|
37
|
+
cdef cppclass PBBlockIter "COrderingBase::block_iterator":
|
|
38
|
+
long dereference "operator*"()
|
|
39
|
+
void increment "operator++"()
|
|
40
|
+
bint operator!=(const PBBlockIter&)
|
|
41
|
+
|
|
42
|
+
cdef cppclass PBOrdering "COrderingBase":
|
|
43
|
+
int getOrderCode()
|
|
44
|
+
int getBaseOrderCode()
|
|
45
|
+
void appendBlock(int nextBlockStartIndex)
|
|
46
|
+
PBBlockIter blockBegin()
|
|
47
|
+
PBBlockIter blockEnd()
|
|
48
|
+
int lastBlockStart()
|
|
49
|
+
bint isDegreeOrder()
|
|
50
|
+
|
|
51
|
+
cdef cppclass PBSet "DefaultRinged<BooleSet> "
|
|
52
|
+
cdef cppclass PBPoly "DefaultRinged<BoolePolynomial> "
|
|
53
|
+
|
|
54
|
+
cdef cppclass PBBooleVariable "BooleVariable":
|
|
55
|
+
PBBooleVariable(int idx, const PBRing& r)
|
|
56
|
+
|
|
57
|
+
cdef cppclass PBVar "DefaultRinged<BooleVariable> ":
|
|
58
|
+
void operator=(const PBBooleVariable&)
|
|
59
|
+
int index()
|
|
60
|
+
bint operator==(const PBVar&)
|
|
61
|
+
|
|
62
|
+
cdef cppclass PBRing "BoolePolyRing":
|
|
63
|
+
PBRing()
|
|
64
|
+
PBRing(int nvars, int order)
|
|
65
|
+
size_t id()
|
|
66
|
+
size_t nVariables()
|
|
67
|
+
PBVar variable(int n)
|
|
68
|
+
PBOrdering ordering()
|
|
69
|
+
void changeOrdering(int)
|
|
70
|
+
size_t hash()
|
|
71
|
+
void setVariableName(int idx, char *varname)
|
|
72
|
+
char* getVariableName(int idx)
|
|
73
|
+
PBRing clone()
|
|
74
|
+
PBPoly coerce(PBPoly rhs)
|
|
75
|
+
PBPoly zero()
|
|
76
|
+
PBPoly one()
|
|
77
|
+
|
|
78
|
+
cdef cppclass PBVarBlock "VariableBlock":
|
|
79
|
+
PBVarBlock(int size, int start_index, int offset, bint reverse,
|
|
80
|
+
PBRing r)
|
|
81
|
+
PBVar operator()(int index)
|
|
82
|
+
|
|
83
|
+
cdef cppclass PBMonomIter "BooleMonomial::const_iterator":
|
|
84
|
+
int dereference()
|
|
85
|
+
void increment()
|
|
86
|
+
bint operator==(const PBMonomIter&)
|
|
87
|
+
|
|
88
|
+
cdef cppclass PBMonomVarIter "BooleMonomial::variable_iterator":
|
|
89
|
+
PBVar dereference()
|
|
90
|
+
void increment()
|
|
91
|
+
bint operator==(const PBMonomVarIter&)
|
|
92
|
+
|
|
93
|
+
cdef cppclass PBMonom "DefaultRinged<BooleMonomial> ":
|
|
94
|
+
PBMonom()
|
|
95
|
+
PBMonom(PBRing r)
|
|
96
|
+
PBMonom(PBVar m)
|
|
97
|
+
void operator=(const PBBooleSet&)
|
|
98
|
+
bint reducibleBy(PBMonom rhs)
|
|
99
|
+
int deg()
|
|
100
|
+
size_t hash()
|
|
101
|
+
size_t stableHash()
|
|
102
|
+
int firstIndex()
|
|
103
|
+
comparecodes compare(PBMonom rhs)
|
|
104
|
+
PBSet set()
|
|
105
|
+
PBSet divisors()
|
|
106
|
+
PBSet multiples(PBMonom rhs)
|
|
107
|
+
PBMonomIter begin()
|
|
108
|
+
PBMonomIter end()
|
|
109
|
+
PBMonomVarIter variableBegin()
|
|
110
|
+
PBMonomVarIter variableEnd()
|
|
111
|
+
void imul "operator*="(PBMonom right)
|
|
112
|
+
void idiv "operator/="(PBMonom right)
|
|
113
|
+
PBNavigator navigation()
|
|
114
|
+
PBMonom GCD(PBMonom rhs)
|
|
115
|
+
PBRing ring()
|
|
116
|
+
|
|
117
|
+
cdef cppclass PBSetIter "BooleSet::const_iterator":
|
|
118
|
+
PBSetIter(const PBSetIter&)
|
|
119
|
+
PBMonom dereference()
|
|
120
|
+
void increment()
|
|
121
|
+
bint operator==(const PBSetIter&)
|
|
122
|
+
|
|
123
|
+
cdef cppclass PBBooleSet "BooleSet":
|
|
124
|
+
PBBooleSet()
|
|
125
|
+
PBBooleSet(PBRing r)
|
|
126
|
+
PBBooleSet(PBPoly p)
|
|
127
|
+
PBBooleSet(PBNavigator d, PBRing r)
|
|
128
|
+
PBBooleSet(int ind, PBNavigator a, PBNavigator b, PBRing r)
|
|
129
|
+
|
|
130
|
+
cdef cppclass PBSet "DefaultRinged<BooleSet> ":
|
|
131
|
+
void operator=(const PBBooleSet&)
|
|
132
|
+
bint owns(PBMonom val)
|
|
133
|
+
int nNodes()
|
|
134
|
+
int nSupport()
|
|
135
|
+
int size()
|
|
136
|
+
size_t hash()
|
|
137
|
+
size_t stableHash()
|
|
138
|
+
PBNavigator navigation()
|
|
139
|
+
PBSet cartesianProduct(PBSet rhs)
|
|
140
|
+
PBSet diff(PBSet rhs)
|
|
141
|
+
PBSet divide(PBMonom rhs)
|
|
142
|
+
PBSet change(int idx)
|
|
143
|
+
PBSet subset0(int i)
|
|
144
|
+
PBSet subset1(int i)
|
|
145
|
+
PBSet unite(PBSet rhs)
|
|
146
|
+
PBSet intersect(PBSet rhs)
|
|
147
|
+
PBMonom usedVariables()
|
|
148
|
+
PBSet divisorsOf(PBMonom rhs)
|
|
149
|
+
PBSet multiplesOf(PBMonom rhs)
|
|
150
|
+
double sizeDouble()
|
|
151
|
+
PBSetIter begin()
|
|
152
|
+
PBSetIter end()
|
|
153
|
+
bint isZero()
|
|
154
|
+
bint isOne()
|
|
155
|
+
|
|
156
|
+
PBSet pb_include_divisors "include_divisors"(PBSet p)
|
|
157
|
+
PBSet pb_minimal_elements "minimal_elements"(PBSet p)
|
|
158
|
+
|
|
159
|
+
cdef cppclass PBPolyIter "BoolePolynomial::ordered_iterator":
|
|
160
|
+
PBPolyIter(const PBPolyIter&)
|
|
161
|
+
PBMonom dereference()
|
|
162
|
+
void increment()
|
|
163
|
+
bint operator==(const PBPolyIter&)
|
|
164
|
+
|
|
165
|
+
cdef cppclass PBBoolePolynomial "BoolePolynomial":
|
|
166
|
+
void operator=(const PBPoly&)
|
|
167
|
+
PBBoolePolynomial(PBRing r)
|
|
168
|
+
PBBoolePolynomial(PBSet d)
|
|
169
|
+
PBBoolePolynomial(PBMonom d)
|
|
170
|
+
PBBoolePolynomial(PBVar d)
|
|
171
|
+
PBBoolePolynomial(int d, PBRing r)
|
|
172
|
+
|
|
173
|
+
cdef cppclass PBPoly "DefaultRinged<BoolePolynomial> ":
|
|
174
|
+
PBPoly()
|
|
175
|
+
void operator=(const PBBoolePolynomial&)
|
|
176
|
+
int deg()
|
|
177
|
+
int leadDeg()
|
|
178
|
+
int lexLeadDeg()
|
|
179
|
+
int totalDeg()
|
|
180
|
+
int length()
|
|
181
|
+
int eliminationLength()
|
|
182
|
+
int nUsedVariables()
|
|
183
|
+
int nNodes()
|
|
184
|
+
size_t hash()
|
|
185
|
+
size_t stableHash()
|
|
186
|
+
bint isZero()
|
|
187
|
+
bint isOne()
|
|
188
|
+
bint isConstant()
|
|
189
|
+
bint isSingleton()
|
|
190
|
+
bint isPair()
|
|
191
|
+
bint isSingletonOrPair()
|
|
192
|
+
bint hasConstantPart()
|
|
193
|
+
bint firstReducibleBy(PBPoly rhs)
|
|
194
|
+
PBMonom lead()
|
|
195
|
+
PBMonom lexLead()
|
|
196
|
+
PBMonom firstTerm()
|
|
197
|
+
PBMonom usedVariables()
|
|
198
|
+
PBPoly gradedPart(int d)
|
|
199
|
+
PBSet diagram()
|
|
200
|
+
PBSet set()
|
|
201
|
+
PBSet leadDivisors()
|
|
202
|
+
PBNavigator navigation()
|
|
203
|
+
PBPolyIter orderedBegin()
|
|
204
|
+
PBPolyIter orderedEnd()
|
|
205
|
+
void iadd "operator+="(PBPoly right)
|
|
206
|
+
void iadd_PBMonom "operator+="(PBMonom right)
|
|
207
|
+
void imul "operator*="(PBPoly right)
|
|
208
|
+
void imul_monom "operator*="(PBMonom right)
|
|
209
|
+
void idiv "operator/="(PBPoly right)
|
|
210
|
+
void idiv_monom "operator/="(PBMonom right)
|
|
211
|
+
bint operator==(const PBPoly&)
|
|
212
|
+
|
|
213
|
+
PBSet pb_zeros "zeros"(PBPoly p, PBSet s)
|
|
214
|
+
PBPoly pb_spoly "spoly"(PBPoly p, PBPoly r)
|
|
215
|
+
PBPoly pb_map_every_x_to_x_plus_one "map_every_x_to_x_plus_one"(PBPoly)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
ctypedef vector[PBBoolePolynomial] PBPolyVector
|
|
219
|
+
ctypedef vector[PBBoolePolynomial].iterator PBPolyVectorIter
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
cdef extern from *:
|
|
223
|
+
cdef cppclass PBPolyEntry "PolyEntry":
|
|
224
|
+
PBPoly p
|
|
225
|
+
|
|
226
|
+
cdef cppclass PBRedStrategy "ReductionStrategy":
|
|
227
|
+
PBRedStrategy()
|
|
228
|
+
PBRedStrategy(const PBRing&)
|
|
229
|
+
PBSet leadingTerms
|
|
230
|
+
PBSet minimalLeadingTerms
|
|
231
|
+
PBSet leadingTerms11
|
|
232
|
+
PBSet leadingTerms00
|
|
233
|
+
PBSet llReductor
|
|
234
|
+
PBSet monomials
|
|
235
|
+
PBSet monomials_plus_one
|
|
236
|
+
bint optBrutalReductions
|
|
237
|
+
bint optLL
|
|
238
|
+
PBPoly nf(PBPoly p)
|
|
239
|
+
bint optRedTailDegGrowth
|
|
240
|
+
bint optRedTail
|
|
241
|
+
void setupSetsForLastElement()
|
|
242
|
+
bint canRewrite(PBPoly p)
|
|
243
|
+
void addGenerator(PBPoly p)
|
|
244
|
+
int select1(PBMonom p)
|
|
245
|
+
|
|
246
|
+
int select_short(PBPoly p)
|
|
247
|
+
PBPoly headNormalForm(PBPoly p)
|
|
248
|
+
PBPoly reducedNormalForm(PBPoly p)
|
|
249
|
+
|
|
250
|
+
size_t size()
|
|
251
|
+
PBPolyEntry operator[](int)
|
|
252
|
+
|
|
253
|
+
cdef cppclass PBFGLMStrategy "FGLMStrategy":
|
|
254
|
+
PBFGLMStrategy(PBRing from_ring, PBRing to_ring, PBPolyVector vec)
|
|
255
|
+
PBPolyVector main()
|
|
256
|
+
|
|
257
|
+
cdef cppclass PBGBStrategy "GroebnerStrategy":
|
|
258
|
+
PBGBStrategy(PBRing)
|
|
259
|
+
bint reduceByTailReduced
|
|
260
|
+
PBRedStrategy generators
|
|
261
|
+
|
|
262
|
+
bint enabledLog
|
|
263
|
+
unsigned int reductionSteps
|
|
264
|
+
int normalForms
|
|
265
|
+
int currentDegree
|
|
266
|
+
int chainCriterions
|
|
267
|
+
int variableChainCriterions
|
|
268
|
+
int easyProductCriterions
|
|
269
|
+
int extendedProductCriterions
|
|
270
|
+
int averageLength
|
|
271
|
+
|
|
272
|
+
bint optHFE
|
|
273
|
+
bint optLazy
|
|
274
|
+
|
|
275
|
+
bint optDelayNonMinimals
|
|
276
|
+
|
|
277
|
+
bint optExchange
|
|
278
|
+
bint optAllowRecursion
|
|
279
|
+
|
|
280
|
+
bint optStepBounded
|
|
281
|
+
bint optLinearAlgebraInLastBlock
|
|
282
|
+
bint optModifiedLinearAlgebra
|
|
283
|
+
bint optRedTailInLastBlock
|
|
284
|
+
bint optDrawMatrices
|
|
285
|
+
std_string matrixPrefix
|
|
286
|
+
|
|
287
|
+
PBSet llReductor
|
|
288
|
+
PBSet minimalLeadingTerms
|
|
289
|
+
PBSet leadingTerms
|
|
290
|
+
bint containsOne()
|
|
291
|
+
bint variableHasValue(int idx)
|
|
292
|
+
int addGenerator(PBPoly, bint is_impl)
|
|
293
|
+
void addGeneratorDelayed(PBPoly)
|
|
294
|
+
void addAsYouWish(PBPoly)
|
|
295
|
+
void addNonTrivialImplicationsDelayed(const PBPolyEntry&)
|
|
296
|
+
void symmGB_F2()
|
|
297
|
+
void llReduceAll()
|
|
298
|
+
void cleanTopByChainCriterion "pairs.cleanTopByChainCriterion"()
|
|
299
|
+
size_t npairs "pairs.queue.size"()
|
|
300
|
+
int suggestPluginVariable()
|
|
301
|
+
PBPoly nextSpoly()
|
|
302
|
+
PBPoly nf(PBPoly p)
|
|
303
|
+
PBPolyVector allGenerators()
|
|
304
|
+
PBPolyVector minimalize()
|
|
305
|
+
PBPolyVector minimalizeAndTailReduce()
|
|
306
|
+
PBPolyVector faugereStepDense(PBPolyVector v)
|
|
307
|
+
|
|
308
|
+
int pairs_top_sugar(PBGBStrategy strat)
|
|
309
|
+
PBPolyVector someNextDegreeSpolys(PBGBStrategy strat, size_t n)
|
|
310
|
+
PBPolyVector nextDegreeSpolys(PBGBStrategy strat)
|
|
311
|
+
PBPolyVector small_next_degree_spolys(PBGBStrategy strat, double f, size_t n)
|
|
312
|
+
void implications(PBGBStrategy strat, int i)
|
|
313
|
+
|
|
314
|
+
PBPoly cheap_reductions(PBRedStrategy strat, PBPoly p)
|
|
315
|
+
|
|
316
|
+
PBPoly pb_add_up_polynomials "add_up_polynomials" \
|
|
317
|
+
(PBPolyVector v, PBPoly p)
|
|
318
|
+
|
|
319
|
+
PBPoly pb_nf3 "nf3" (PBRedStrategy strat, PBPoly p, PBMonom m)
|
|
320
|
+
|
|
321
|
+
PBPoly pb_red_tail "red_tail" (PBRedStrategy strat, PBPoly p)
|
|
322
|
+
|
|
323
|
+
PBPoly pb_interpolate "interpolate" (PBSet z, PBSet o)
|
|
324
|
+
|
|
325
|
+
PBPoly pb_interpolate_smallest_lex "interpolate_smallest_lex" \
|
|
326
|
+
(PBSet z, PBSet o)
|
|
327
|
+
|
|
328
|
+
PBSet pb_contained_variables_cudd_style "contained_variables_cudd_style" \
|
|
329
|
+
(PBSet m)
|
|
330
|
+
|
|
331
|
+
PBSet pb_mod_var_set "mod_var_set" (PBSet a, PBSet v)
|
|
332
|
+
|
|
333
|
+
PBPoly pb_mult_fast_sim "mult_fast_sim" (PBPolyVector v, PBRing r)
|
|
334
|
+
|
|
335
|
+
PBSet pb_recursively_insert "recursively_insert"(PBNavigator p,
|
|
336
|
+
int idx, PBSet m)
|
|
337
|
+
PBPoly pb_ll_red_nf_noredsb "ll_red_nf_noredsb"(PBPoly p,
|
|
338
|
+
PBSet reductors)
|
|
339
|
+
PBPoly pb_ll_red_nf_noredsb_single_recursive_call "ll_red_nf_noredsb_single_recursive_call" \
|
|
340
|
+
(PBPoly p, PBSet reductors)
|
|
341
|
+
|
|
342
|
+
PBPoly pb_ll_red_nf "ll_red_nf"(PBPoly p, PBSet reductors)
|
|
343
|
+
|
|
344
|
+
PBSet pb_mod_mon_set "mod_mon_set"(PBSet as, PBSet vs)
|
|
345
|
+
|
|
346
|
+
PBPolyVector pb_parallel_reduce "parallel_reduce" \
|
|
347
|
+
(PBPolyVector inp, PBGBStrategy strat, int average_steps, double delay_f)
|
|
348
|
+
|
|
349
|
+
PBPolyVector pb_gauss_on_polys "gauss_on_polys" (PBPolyVector inp)
|
|
350
|
+
|
|
351
|
+
PBPolyVector pb_easy_linear_factors "easy_linear_factors"(PBPoly p)
|
|
352
|
+
|
|
353
|
+
PBPoly pb_substitute_variables "substitute_variables<BoolePolyRing, std::vector<BoolePolynomial>, BoolePolynomial>" \
|
|
354
|
+
(PBRing ring, PBPolyVector vec, PBPoly poly) except +
|
|
355
|
+
|
|
356
|
+
void pb_set_variable_name "BooleEnv::setVariableName" \
|
|
357
|
+
(int idx, char *varname)
|
|
358
|
+
|
|
359
|
+
char * pb_get_variable_name "BooleEnv::getVariableName" \
|
|
360
|
+
(int idx)
|
|
361
|
+
|
|
362
|
+
PBSet pb_random_set "random_set" (PBMonom variables, int length)
|
|
363
|
+
void pb_set_random_seed "set_random_seed" (unsigned int seed)
|
|
364
|
+
|
|
365
|
+
void PBPolyVector_set(PBPolyVector v, int i, PBPoly p)
|
|
366
|
+
|
|
367
|
+
cdef cppclass PBConstant "BooleConstant":
|
|
368
|
+
PBConstant()
|
|
369
|
+
PBConstant(int val)
|
|
370
|
+
bint isZero()
|
|
371
|
+
bint isOne()
|
|
372
|
+
bint isConstant()
|
|
373
|
+
bint hasConstantPart()
|
|
374
|
+
int deg()
|
|
375
|
+
|
|
376
|
+
cdef cppclass PBVariableFactory "VariableFactory":
|
|
377
|
+
PBVariableFactory(const PBRing&)
|
|
378
|
+
|
|
379
|
+
cdef cppclass PBVarFactory "DefaultRinged<VariableFactory> ":
|
|
380
|
+
void operator=(const PBVariableFactory&)
|
|
381
|
+
PBVar operator()(long index)
|
|
382
|
+
|
|
383
|
+
cdef cppclass PBMonomialFactory "MonomialFactory":
|
|
384
|
+
PBMonomialFactory(const PBRing&)
|
|
385
|
+
|
|
386
|
+
cdef cppclass PBMonomFactory "DefaultRinged<MonomialFactory> ":
|
|
387
|
+
void operator=(const PBMonomialFactory&)
|
|
388
|
+
PBMonom operator()()
|
|
389
|
+
|
|
390
|
+
cdef cppclass PBPolynomialFactory "PolynomialFactory":
|
|
391
|
+
PBPolynomialFactory(const PBRing &)
|
|
392
|
+
|
|
393
|
+
cdef cppclass PBPolyFactory "DefaultRinged<PolynomialFactory> ":
|
|
394
|
+
void operator=(const PBPolynomialFactory&)
|
|
395
|
+
PBPoly operator()(long)
|
|
396
|
+
PBPoly operator()(PBPoly)
|
|
397
|
+
PBPoly operator()(PBMonom)
|
|
398
|
+
|
|
399
|
+
cdef cppclass PBRefCounter:
|
|
400
|
+
PBRefCounter()
|
|
401
|
+
bint released()
|