Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
663c5d8
Flag algebra implementation
bodnalev Dec 17, 2023
d949f87
Added references
bodnalev Dec 18, 2023
ab18a11
Reply to 36908#issuecomment-1862306436
bodnalev Jan 3, 2024
1cf6dc7
cvxopt change
bodnalev Feb 28, 2024
139e8df
Some docstring update
bodnalev Feb 29, 2024
feff04b
auto saving calculations
bodnalev Jun 13, 2024
795d85f
primal dual correction
bodnalev Jun 20, 2024
0d4b6d8
optimize quotients
bodnalev Jun 20, 2024
eed554d
symbolic expression representation
bodnalev Jun 20, 2024
04e9f2c
flag vector indexing by flags
bodnalev Jun 22, 2024
a216e4e
more docstring, can optimize typed flags
bodnalev Jun 26, 2024
6bc7aa8
unnecessary imports, constraints
bodnalev Jul 2, 2024
b8b05ff
weak equality
bodnalev Jul 16, 2024
610a242
sparse vectors
bodnalev Jul 19, 2024
83d49b3
better save
bodnalev Jul 30, 2024
3bd9968
Hypercube theories, rounding algorithm
bodnalev Aug 20, 2024
2f816e5
small fix
bodnalev Aug 20, 2024
e6d5a4a
matrices are now fully rational
bodnalev Aug 21, 2024
c301dfc
more robust rounding
bodnalev Aug 22, 2024
3ca95f9
caching, cube positivity fixes and faster constraints
bodnalev Aug 26, 2024
12107a0
same ftype ordering, typed target fix
bodnalev Aug 28, 2024
185195b
save load bugfix
bodnalev Aug 28, 2024
add37d0
certificate verifier
bodnalev Sep 24, 2024
02129c9
no phi rounding fixes
bodnalev Sep 26, 2024
8cbf1ad
Can do non-exact rounding
bodnalev Sep 30, 2024
594c661
saving certificates to files
bodnalev Oct 2, 2024
aa13bac
pickle certificates
bodnalev Oct 2, 2024
228978c
Update flag_algebras.py
bodnalev Oct 4, 2024
af67cf2
Update flag_algebras.py
bodnalev Oct 9, 2024
45c06fb
formatting
bodnalev Oct 10, 2024
8bf7eaa
patterns start
bodnalev Oct 16, 2024
6f16c69
debugging
bodnalev Oct 16, 2024
49d034f
working patterns
bodnalev Oct 16, 2024
85036ca
started pattern exclude
bodnalev Oct 17, 2024
7677a04
import from sage.all instead specific dirs
bodnalev Oct 22, 2024
2f66cce
auto install csdpy and tqdm
bodnalev Oct 29, 2024
3f231e9
match alias
bodnalev Nov 1, 2024
adb64d5
more progress
bodnalev Nov 4, 2024
e07bd53
overall todo
bodnalev Nov 4, 2024
0608c29
general canonical relabel code
bodnalev Nov 5, 2024
c627378
more progress
bodnalev Nov 6, 2024
1a696bd
progress
bodnalev Nov 6, 2024
1a2787c
flag methods written
bodnalev Nov 7, 2024
e9ff18f
started high level functions
bodnalev Nov 8, 2024
bdd030d
flag serialize
bodnalev Nov 11, 2024
bc9c5c6
cython bugfixes, bliss replacement
bodnalev Nov 13, 2024
a43929d
started debugging
bodnalev Nov 15, 2024
4dfe596
tests for generating
bodnalev Nov 16, 2024
799b74c
more debugging
bodnalev Nov 17, 2024
a6df0ac
more debugging
bodnalev Nov 18, 2024
09afac5
debugging exclude
bodnalev Nov 18, 2024
512b1af
more bugfix also auto import
bodnalev Nov 19, 2024
363660f
edge ordered generation
bodnalev Nov 19, 2024
516adb7
added automorphism generators
bodnalev Nov 20, 2024
076a8c4
aut group coset reps
bodnalev Nov 20, 2024
b84cdfc
aut group generator
bodnalev Nov 21, 2024
c0dc522
aut based generator start
bodnalev Nov 21, 2024
1cb0eda
working generator for max_arity=2
bodnalev Nov 21, 2024
da42d06
aut generator for higher arity
bodnalev Nov 22, 2024
be184c0
symmetry bug fix
bodnalev Nov 22, 2024
e86d04b
working implementation
bodnalev Nov 23, 2024
48aa373
typed pattern matching
bodnalev Nov 25, 2024
3ee8133
arbitrary field rounding
bodnalev Nov 26, 2024
4f88b3c
sdp solver input files
bodnalev Dec 4, 2024
5934247
Update README.md
bodnalev Dec 6, 2024
5c080fc
easier operations with flags
bodnalev Dec 9, 2024
e9f0125
csdpy and blisspy pkgs
bodnalev Dec 10, 2024
563673c
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Dec 10, 2024
51667b9
package fixes
bodnalev Dec 11, 2024
c912a35
tqdm added
bodnalev Dec 12, 2024
0612acb
small fixes
bodnalev Dec 15, 2024
ae00c4e
Update README.md
bodnalev Dec 15, 2024
b95e4e0
generate using overlap test and csdpy mac support
bodnalev Dec 16, 2024
3032839
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Dec 16, 2024
a9462cc
checksums update
bodnalev Dec 18, 2024
5ae27ba
blisspy checksums
bodnalev Dec 18, 2024
97ec4fd
mac updated csdpy checksum
bodnalev Dec 18, 2024
5b5ae52
same
bodnalev Dec 18, 2024
a8a9e9a
csdpy mac gomp change
bodnalev Dec 18, 2024
ed0d5fe
mac import fix
bodnalev Dec 20, 2024
068c1b2
infinity typo
bodnalev Dec 20, 2024
ae612cb
external ftypes and better derivatives
bodnalev Jan 2, 2025
8ddf22d
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Jan 2, 2025
63105fd
bugfixes
bodnalev Jan 8, 2025
806ff67
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Jan 8, 2025
a35e000
tutorial file
bodnalev Jan 8, 2025
25c1857
Update README.md
bodnalev Jan 8, 2025
9098884
Update README.md
bodnalev Jan 8, 2025
2150d48
Update README.md
bodnalev Jan 8, 2025
0a6b5cd
progress
bodnalev Jan 9, 2025
8762bad
seems to be working
bodnalev Jan 9, 2025
3d097c5
overlap guess
bodnalev Jan 10, 2025
878d5ff
tutorial update
bodnalev Jan 10, 2025
9f62e7b
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Jan 10, 2025
c280126
combine no need to exclude again
bodnalev Jan 10, 2025
3b86710
doctest update
bodnalev Jan 13, 2025
8dc4ce7
more doctests
bodnalev Jan 13, 2025
a934ba2
even more doctests
bodnalev Jan 13, 2025
62c36cb
flag doctest fixes
bodnalev Jan 13, 2025
1e3e822
formatting
bodnalev Jan 14, 2025
fc512fc
more formatting
bodnalev Jan 14, 2025
b9a2e3e
default no question
bodnalev Jan 15, 2025
77fa940
empty table data bug fixed
bodnalev Jan 16, 2025
973ec8e
(external)optimize fixes
bodnalev Jan 17, 2025
702ed58
no question fix
bodnalev Jan 17, 2025
c5f8a76
double generate fix
bodnalev Jan 17, 2025
a37cf66
solver parameters
bodnalev Jan 24, 2025
92aa0d3
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Jan 24, 2025
e5e3090
param file cleanup
bodnalev Jan 24, 2025
f53e480
printlevel bugfix
bodnalev Jan 24, 2025
af3358a
round sdp later
bodnalev Feb 4, 2025
433b9a2
unsuccessful rounding handling
bodnalev Feb 4, 2025
43d3fd4
diag matrix flatten
bodnalev Feb 4, 2025
0a220ca
rounding performance checkup
bodnalev Feb 12, 2025
ad189b2
Merge branch 'theory-builder' of github.com:bodnalev/sage into theory…
bodnalev Feb 12, 2025
cdc9fcb
memory and rounding improvements
bodnalev Feb 12, 2025
1c223b9
shadow kernel quotient
bodnalev Feb 19, 2025
bffb9ff
rounding params bundled
bodnalev Feb 20, 2025
2bdc5ec
dense pseudoinverse
bodnalev Feb 24, 2025
f429e65
initial merge test
bodnalev Feb 26, 2025
ee9c9b7
merge progress
bodnalev Feb 27, 2025
2ce44ce
working merge
bodnalev Feb 27, 2025
a8614e8
no more complex eig for symm matrices
bodnalev Mar 4, 2025
c63ca75
revert eigenvalue calculation
bodnalev Mar 5, 2025
bd97207
Merge branch 'exotic-theories' into flag-algebras
bodnalev Mar 5, 2025
bab8b3a
Update tutorial notebook link
bodnalev Mar 5, 2025
aab8f7f
rounding without construction
bodnalev Mar 10, 2025
e0060d7
Merge branch 'flag-algebras' of github.com:bodnalev/sage into flag-al…
bodnalev Mar 10, 2025
02e2b3f
sym asym fix
bodnalev Mar 17, 2025
fb377f8
parameter handling
bodnalev Mar 17, 2025
4150af4
irrational rounding fixes
bodnalev Mar 20, 2025
a80d2ad
blowup constr printlevel setting
bodnalev Mar 24, 2025
e1d5687
python compatible certificates
bodnalev Mar 31, 2025
85e30fe
external optimize flag fix
bodnalev Mar 31, 2025
48bf567
ill conditined problem fix
bodnalev Apr 1, 2025
5b0dbe9
positives removed last two entries
bodnalev Apr 1, 2025
d574321
float positives length
bodnalev Apr 1, 2025
48c572b
external optimize fixes
bodnalev Apr 2, 2025
1dcd386
irrat export fix
bodnalev Apr 3, 2025
92d4d95
external optimize precision
bodnalev Apr 3, 2025
4c645d5
construction from certificate function
bodnalev Apr 3, 2025
4b302fa
rshift operator for averaging
bodnalev Apr 4, 2025
dceb15d
progress
bodnalev Apr 15, 2025
c882ec5
Merge branch 'python-compatibility' of github.com:bodnalev/sage into …
bodnalev Apr 15, 2025
01023bd
verify psd test
bodnalev Apr 15, 2025
f56ce3f
non-rational mult tables
bodnalev Apr 21, 2025
6af970f
sym asym variants
bodnalev Apr 28, 2025
0d32186
advanced blowup construction
bodnalev May 7, 2025
8966b5d
Merge branch 'python-compatibility' into flag-algebras
bodnalev May 7, 2025
c0b02cc
factor flags in certificate
bodnalev May 9, 2025
6d4ca44
blowup construction bugfix
bodnalev May 15, 2025
7f7f2df
bugfixes
bodnalev Jun 6, 2025
4f59206
better psd test
bodnalev Jul 7, 2025
5fc24c7
psd test cleanup
bodnalev Jul 21, 2025
593cab0
Update citation
bodnalev Sep 9, 2025
9c18607
Update other citation
bodnalev Sep 9, 2025
9de0a2c
excluded for exotic fix
bodnalev Sep 30, 2025
3e297af
Merge branch 'flag-algebras' of github.com:bodnalev/sage into flag-al…
bodnalev Sep 30, 2025
50bf4dc
tutorial notebook update
bodnalev Dec 17, 2025
9a9f84d
flag algebra toolbox paper preparation
bodnalev Jan 9, 2026
d46fc77
sdpa-qd solver support
bodnalev Jan 27, 2026
22b8765
docstring update with better tests
bodnalev Jan 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: SageMath
abstract: SageMath is a free open-source mathematics software system.
title: SageMath with flag algebras
abstract: SageMath is a free open-source mathematics software system, this fork in addition contains the implementation of flag algbras.
authors:
- name: "The SageMath Developers"
- name: "Levente Bodnar"
version: 10.5.beta7
doi: 10.5281/zenodo.8042260
date-released: 2024-10-12
repository-code: "https://github.com/sagemath/sage"
url: "https://www.sagemath.org/"
repository-code: "https://github.com/bodnalev/sage"
10 changes: 4 additions & 6 deletions CITATION.cff.in
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: SageMath
abstract: SageMath is a free open-source mathematics software system.
title: SageMath with flag algebras
abstract: SageMath is a free open-source mathematics software system, this fork in addition contains the implementation of flag algbras.
authors:
- name: "The SageMath Developers"
- name: "Levente Bodnar"
version: ${SAGE_VERSION}
doi: 10.5281/zenodo.8042260
date-released: ${SAGE_RELEASE_DATE}
repository-code: "https://github.com/sagemath/sage"
url: "https://www.sagemath.org/"
repository-code: "https://github.com/bodnalev/sage"
646 changes: 24 additions & 622 deletions README.md

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions build/pkgs/blisspy/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
blisspy: Python Wrapper for Bliss Graph Library
===============================================

Description
-----------
`blisspy` is a Python wrapper for the Bliss graph library, providing functionalities to compute canonical forms and automorphism groups of graphs.

License
-------
GNU General Public License v3.0

Upstream Contact
----------------
[GitHub repository](https://github.com/bodnalev/blisspy)

Dependencies
------------
- Cython >=0.29
- cysignals

Special Update/Build Instructions
----------------------------------
None.

4 changes: 4 additions & 0 deletions build/pkgs/blisspy/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tarball=blisspy-VERSION.tar.gz
sha1=467b066ff1e189aeae7921df83ec3c1ad33b17ee
sha256=3e5e26c04b6fd41f08cb50e187265b9de1d15cfa695a4fe69a4623cc1ce8a967
upstream_url=https://github.com/bodnalev/blisspy/raw/refs/heads/master/dist/blisspy-VERSION.tar.gz
1 change: 1 addition & 0 deletions build/pkgs/blisspy/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cysignals | $(PYTHON_TOOLCHAIN) cython $(PYTHON)
1 change: 1 addition & 0 deletions build/pkgs/blisspy/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1
1 change: 1 addition & 0 deletions build/pkgs/blisspy/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAGE_SPKG_CONFIGURE([blisspy], [SAGE_PYTHON_PACKAGE_CHECK([blisspy])])
2 changes: 2 additions & 0 deletions build/pkgs/blisspy/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd src
sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/blisspy/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
standard
2 changes: 2 additions & 0 deletions build/pkgs/blisspy/version_requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Cython >=0.29
cysignals
24 changes: 24 additions & 0 deletions build/pkgs/csdpy/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
csdpy: Python Wrapper for the Coin-Or project's CSDP solver
===============================================

Description
-----------
`csdpy` is a Python wrapper for the CSDP library, providing a fast algorithm to solve SDP problems.

License
-------
GNU General Public License v3.0

Upstream Contact
----------------
[GitHub repository](https://github.com/bodnalev/csdpy)

Dependencies
------------
- Cython >=0.29
- cysignals

Special Update/Build Instructions
----------------------------------
None.

4 changes: 4 additions & 0 deletions build/pkgs/csdpy/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tarball=csdpy-VERSION.tar.gz
sha1=1c1b0f0d5c3f67dd28f7f16cba933ed1357266af
sha256=e84c13ba5994c3fbfd1fef36a60ed05a3a382b7b4402f2968c77afcc276779f2
upstream_url=https://github.com/bodnalev/csdpy/raw/refs/heads/master/dist/csdpy-VERSION.tar.gz
1 change: 1 addition & 0 deletions build/pkgs/csdpy/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON_TOOLCHAIN) cython $(PYTHON)
1 change: 1 addition & 0 deletions build/pkgs/csdpy/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1
1 change: 1 addition & 0 deletions build/pkgs/csdpy/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAGE_SPKG_CONFIGURE([csdpy], [SAGE_PYTHON_PACKAGE_CHECK([csdpy])])
20 changes: 20 additions & 0 deletions build/pkgs/csdpy/spkg-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/sh
if [ "$SAGE_LOCAL" = "" ]; then
echo "SAGE_LOCAL is not set. Exiting."
exit 1
fi
GITHUB_FILES="https://github.com/bodnalev/csdpy/archive/refs/heads/master.zip"
TMP_DIR=$(mktemp -d)
wget -O "$TMP_DIR/csdpy.zip" "$GITHUB_FILES" || exit 1
unzip "$TMP_DIR/csdpy.zip" -d "$TMP_DIR" || exit 1
cd "$TMP_DIR/csdpy-master" || exit 1
OS_TYPE=$(uname)
if [ "$OS_TYPE" = "Linux" ]; then
"$SAGE_LOCAL/bin/python3" setup_linux.py install || exit 1
elif [ "$OS_TYPE" = "Darwin" ]; then
"$SAGE_LOCAL/bin/python3" setup_mac.py install || exit 1
else
echo "Unsupported OS: $OS_TYPE. Exiting."
exit 1
fi
rm -rf "$TMP_DIR"
2 changes: 2 additions & 0 deletions build/pkgs/csdpy/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd src
sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/csdpy/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
standard
2 changes: 2 additions & 0 deletions build/pkgs/csdpy/version_requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Cython >=0.29
cysignals
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FORCE $(SCRIPTS) boost_cropped $(BLAS) brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap giac givaro glpk gmpy2 gsl iml importlib_metadata importlib_resources jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy primesieve primecount primecountpy $(PYTHON) requests rw sage_conf singular symmetrica typing_extensions $(PCFILES) | $(PYTHON_TOOLCHAIN) sage_setup $(PYTHON) pythran
FORCE $(SCRIPTS) boost_cropped $(BLAS) blisspy brial cliquer cypari cysignals cython ecl eclib ecm flint libgd gap giac givaro glpk gmpy2 gsl iml importlib_metadata importlib_resources jupyter_core lcalc lrcalc_python libbraiding libhomfly libpng linbox m4ri m4rie memory_allocator mpc mpfi mpfr $(MP_LIBRARY) ntl numpy pari pip pkgconfig planarity ppl pplpy primesieve primecount primecountpy $(PYTHON) requests rw sage_conf singular symmetrica typing_extensions $(PCFILES) | $(PYTHON_TOOLCHAIN) sage_setup $(PYTHON) pythran

----------
All lines of this file are ignored except the first.
Expand Down
24 changes: 24 additions & 0 deletions build/pkgs/tqdm/SPKG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
tqdm: Fast, Extensible Progress Meter
===============================================

Description
-----------
tqdm derives from the Arabic word taqaddum (تقدّم) which can mean “progress,” and is an abbreviation for “I love you so much” in Spanish (te quiero demasiado).

Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you’re done!

License
-------
MPL 2.0 and MIT

Upstream Contact
----------------
[Official PyPi page](https://pypi.org/project/tqdm/)

Dependencies
------------

Special Update/Build Instructions
----------------------------------
None.

4 changes: 4 additions & 0 deletions build/pkgs/tqdm/checksums.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tarball=tqdm-VERSION.tar.gz
sha1=e70c395f3cd6ad596a4d6d27b1284a7d377d5048
sha256=f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2
upstream_url=https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-VERSION.tar.gz
1 change: 1 addition & 0 deletions build/pkgs/tqdm/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
| $(PYTHON_TOOLCHAIN) $(PYTHON)
1 change: 1 addition & 0 deletions build/pkgs/tqdm/package-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4.67.1
1 change: 1 addition & 0 deletions build/pkgs/tqdm/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAGE_SPKG_CONFIGURE([tqdm], [SAGE_PYTHON_PACKAGE_CHECK([tqdm])])
8 changes: 8 additions & 0 deletions build/pkgs/tqdm/spkg-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh
if [ "$SAGE_LOCAL" = "" ]; then
echo "SAGE_LOCAL is not set. Exiting."
exit 1
fi

# Install the latest version of tqdm from PyPI
"$SAGE_LOCAL/bin/pip" install tqdm
2 changes: 2 additions & 0 deletions build/pkgs/tqdm/spkg-install.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd src
sdh_pip_install .
1 change: 1 addition & 0 deletions build/pkgs/tqdm/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
standard
Loading