]> gitweb.michael.orlitzky.com - sage.d.git/log
sage.d.git
3 years agoeja: add a note on debugging to the DESIGN document.
Michael Orlitzky [Thu, 25 Feb 2021 23:42:42 +0000 (18:42 -0500)]
eja: add a note on debugging to the DESIGN document.

3 years agoeja: add brute-force associativity test.
Michael Orlitzky [Thu, 25 Feb 2021 23:38:29 +0000 (18:38 -0500)]
eja: add brute-force associativity test.

3 years agoRevert "eja: drop custom _is_commutative() in favor of is_commutative()."
Michael Orlitzky [Thu, 25 Feb 2021 23:25:18 +0000 (18:25 -0500)]
Revert "eja: drop custom _is_commutative() in favor of is_commutative()."

This reverts commit fe4405d4c4e5eec48f1924fc75e6aedd08f5c938. Now that
all EJAs are commutative, we need the custom method that actually
checks it rather than the category method that always returns True.

3 years agoeja: add Commutative() to the EJA categories.
Michael Orlitzky [Thu, 25 Feb 2021 23:25:00 +0000 (18:25 -0500)]
eja: add Commutative() to the EJA categories.

3 years agoeja: remove the subalgebra bug TODO, it's not a new bug.
Michael Orlitzky [Thu, 25 Feb 2021 23:08:17 +0000 (18:08 -0500)]
eja: remove the subalgebra bug TODO, it's not a new bug.

Element subalgebra computations don't work over inexact fields because
we can't compute the degree of an element because we can't compute the
rank of a matrix.

3 years agoeja: add another performance TODO.
Michael Orlitzky [Thu, 25 Feb 2021 22:59:35 +0000 (17:59 -0500)]
eja: add another performance TODO.

3 years agoeja: check axioms in inexact field tests.
Michael Orlitzky [Thu, 25 Feb 2021 22:57:28 +0000 (17:57 -0500)]
eja: check axioms in inexact field tests.

3 years agoeja: add a TODO for a bug just observed.
Michael Orlitzky [Thu, 25 Feb 2021 22:40:14 +0000 (17:40 -0500)]
eja: add a TODO for a bug just observed.

3 years agoeja: simplify _inner_product_is_associative() code.
Michael Orlitzky [Thu, 25 Feb 2021 22:39:52 +0000 (17:39 -0500)]
eja: simplify _inner_product_is_associative() code.

3 years agoeja: fix the field on subalgebras.
Michael Orlitzky [Thu, 25 Feb 2021 22:29:27 +0000 (17:29 -0500)]
eja: fix the field on subalgebras.

3 years agoeja: add another TODO I had forgotten.
Michael Orlitzky [Thu, 25 Feb 2021 21:49:48 +0000 (16:49 -0500)]
eja: add another TODO I had forgotten.

3 years agoeja: add some more docs for FDEJA.
Michael Orlitzky [Thu, 25 Feb 2021 21:49:37 +0000 (16:49 -0500)]
eja: add some more docs for FDEJA.

3 years agoeja: rewrite docs.
Michael Orlitzky [Thu, 25 Feb 2021 21:32:00 +0000 (16:32 -0500)]
eja: rewrite docs.

3 years agoeja: add rational-basis subclass for Cartesian products.
Michael Orlitzky [Thu, 25 Feb 2021 16:51:38 +0000 (11:51 -0500)]
eja: add rational-basis subclass for Cartesian products.

3 years agoeja: add more examples.
Michael Orlitzky [Thu, 25 Feb 2021 14:07:32 +0000 (09:07 -0500)]
eja: add more examples.

3 years agoeja: gently update the TODO.
Michael Orlitzky [Thu, 25 Feb 2021 13:40:29 +0000 (08:40 -0500)]
eja: gently update the TODO.

3 years agoeja: add a doctest.
Michael Orlitzky [Thu, 25 Feb 2021 13:39:20 +0000 (08:39 -0500)]
eja: add a doctest.

3 years agoeja: add some tests for new utility functions.
Michael Orlitzky [Thu, 25 Feb 2021 12:48:49 +0000 (07:48 -0500)]
eja: add some tests for new utility functions.

3 years agoeja: remove a completed TODO, and doctest it.
Michael Orlitzky [Thu, 25 Feb 2021 02:17:21 +0000 (21:17 -0500)]
eja: remove a completed TODO, and doctest it.

3 years agoeja: fix cartesian products of cartesian product EJAs.
Michael Orlitzky [Thu, 25 Feb 2021 01:53:15 +0000 (20:53 -0500)]
eja: fix cartesian products of cartesian product EJAs.

3 years agoeja: make gram_schmidt work in Cartesian product algebras.
Michael Orlitzky [Thu, 25 Feb 2021 01:31:48 +0000 (20:31 -0500)]
eja: make gram_schmidt work in Cartesian product algebras.

3 years agoeja: fixup tests.
Michael Orlitzky [Thu, 25 Feb 2021 00:38:53 +0000 (19:38 -0500)]
eja: fixup tests.

3 years agoeja: handle tuples in parent algebras rather than in subclasses.
Michael Orlitzky [Wed, 24 Feb 2021 23:54:10 +0000 (18:54 -0500)]
eja: handle tuples in parent algebras rather than in subclasses.

This is "necessary" because we won't always have a Cartesian product
algebra when our basis consists of tuples. Particularly in
element-subalgebras of Cartesian product algebras. It leads to more
special-casing, but whatever. Someday SageMath will know that both
matrix spaces and Cartesian products of vector spaces are themselves
vector spaces.

3 years agoeja: add subalgebra() method for algebras.
Michael Orlitzky [Wed, 24 Feb 2021 21:26:00 +0000 (16:26 -0500)]
eja: add subalgebra() method for algebras.

3 years agoeja: add another TODO for later.
Michael Orlitzky [Wed, 24 Feb 2021 21:25:36 +0000 (16:25 -0500)]
eja: add another TODO for later.

3 years agoeja: add subalgebra() method.
Michael Orlitzky [Wed, 24 Feb 2021 19:11:13 +0000 (14:11 -0500)]
eja: add subalgebra() method.

3 years agoeja: delete obsolete cartesian product methods.
Michael Orlitzky [Wed, 24 Feb 2021 16:12:28 +0000 (11:12 -0500)]
eja: delete obsolete cartesian product methods.

3 years agoeja: drop custom _is_commutative() in favor of is_commutative().
Michael Orlitzky [Wed, 24 Feb 2021 16:01:28 +0000 (11:01 -0500)]
eja: drop custom _is_commutative() in favor of is_commutative().

3 years agoeja: add is_associative() method and corresponding cartesian product magic.
Michael Orlitzky [Wed, 24 Feb 2021 16:00:33 +0000 (11:00 -0500)]
eja: add is_associative() method and corresponding cartesian product magic.

3 years agoeja: allow FDEJA constructor to work on a tuple basis.
Michael Orlitzky [Wed, 24 Feb 2021 03:22:19 +0000 (22:22 -0500)]
eja: allow FDEJA constructor to work on a tuple basis.

3 years agoeja: simplify to_matrix() for elements.
Michael Orlitzky [Wed, 24 Feb 2021 02:24:56 +0000 (21:24 -0500)]
eja: simplify to_matrix() for elements.

3 years agoeja: switch "category" argument to "cartesian_product" in FDEJA.
Michael Orlitzky [Wed, 24 Feb 2021 01:10:09 +0000 (20:10 -0500)]
eja: switch "category" argument to "cartesian_product" in FDEJA.

This constructor is going to need a bunch of special cases for
cartesian products, and this simplifies things (we don't have to infer
whether or not we have a cartesian product from the category).

3 years agoeja: add subclass for Cartesian product elements.
Michael Orlitzky [Tue, 23 Feb 2021 14:58:07 +0000 (09:58 -0500)]
eja: add subclass for Cartesian product elements.

3 years agoeja: fix element constructor error message for Cartesian products.
Michael Orlitzky [Tue, 23 Feb 2021 14:02:43 +0000 (09:02 -0500)]
eja: fix element constructor error message for Cartesian products.

3 years agoeja: define matrix basis/space for Cartesian product algebras.
Michael Orlitzky [Mon, 22 Feb 2021 18:04:43 +0000 (13:04 -0500)]
eja: define matrix basis/space for Cartesian product algebras.

3 years agoeja: cache one() for Cartesian product algebras.
Michael Orlitzky [Mon, 22 Feb 2021 17:02:04 +0000 (12:02 -0500)]
eja: cache one() for Cartesian product algebras.

3 years agoeja: replace monomial(i) with gens()[i] most places.
Michael Orlitzky [Mon, 22 Feb 2021 15:27:16 +0000 (10:27 -0500)]
eja: replace monomial(i) with gens()[i] most places.

The way cartesian products of combinatorial free modules are
constructed, the monomials are identified by pairs of integers rather
than single digits. This means when we're looping through monomial(i)
for i=0,1,...,n in a CartesianProductEJA, that nothing is happening:
monomial(i) is always zero. It wants e.g. monomial((i,j)) instead.
So, switch all of those to gens()[i] which works everywhere.

This fixes rank computations in cartesian product algebras.

3 years agoRevert "eja: demonstration for https://trac.sagemath.org/ticket/31421."
Michael Orlitzky [Mon, 22 Feb 2021 13:36:12 +0000 (08:36 -0500)]
Revert "eja: demonstration for https://trac.sagemath.org/ticket/31421."

This reverts commit 526fbae45d9626b4042b1bfed3327a0d4a582b96.

3 years agoeja: demonstration for https://trac.sagemath.org/ticket/31421.
Michael Orlitzky [Mon, 22 Feb 2021 13:20:26 +0000 (08:20 -0500)]
eja: demonstration for https://trac.sagemath.org/ticket/31421.

3 years agoeja: add another Cartesian product test.
Michael Orlitzky [Sun, 21 Feb 2021 23:14:02 +0000 (18:14 -0500)]
eja: add another Cartesian product test.

3 years agoeja: update the TODO again.
Michael Orlitzky [Sun, 21 Feb 2021 22:56:49 +0000 (17:56 -0500)]
eja: update the TODO again.

3 years agoeja: update a comment.
Michael Orlitzky [Sun, 21 Feb 2021 22:54:11 +0000 (17:54 -0500)]
eja: update a comment.

3 years agoRevert "eja: factor out a separate class used by cartesian_product()."
Michael Orlitzky [Sun, 21 Feb 2021 22:53:01 +0000 (17:53 -0500)]
Revert "eja: factor out a separate class used by cartesian_product()."

This reverts commit 858aa3653fd2e4ae8573f472cf3f0d698072c185.

3 years agoeja: update the TODO.
Michael Orlitzky [Sun, 21 Feb 2021 22:29:07 +0000 (17:29 -0500)]
eja: update the TODO.

3 years agoeja: factor out a separate class used by cartesian_product().
Michael Orlitzky [Sun, 21 Feb 2021 21:58:05 +0000 (16:58 -0500)]
eja: factor out a separate class used by cartesian_product().

3 years agoeja: add a comment with a new TODO...
Michael Orlitzky [Sun, 21 Feb 2021 16:54:52 +0000 (11:54 -0500)]
eja: add a comment with a new TODO...

3 years agoeja: more polish for Cartesian product EJAs.
Michael Orlitzky [Sun, 21 Feb 2021 16:31:08 +0000 (11:31 -0500)]
eja: more polish for Cartesian product EJAs.

3 years agoeja: initialize CartesianProductEJA as an EJA.
Michael Orlitzky [Sun, 21 Feb 2021 14:39:46 +0000 (09:39 -0500)]
eja: initialize CartesianProductEJA as an EJA.

3 years agoeja: add "category" argument to FiniteDimensionalEJA.
Michael Orlitzky [Sun, 21 Feb 2021 14:06:40 +0000 (09:06 -0500)]
eja: add "category" argument to FiniteDimensionalEJA.

3 years agoeja: add cartesian_jordan_product() method to CartesianProductEJA.
Michael Orlitzky [Sun, 21 Feb 2021 13:47:04 +0000 (08:47 -0500)]
eja: add cartesian_jordan_product() method to CartesianProductEJA.

3 years agoeja: add cartesian_inner_product() method for CartesianProductEJA.
Michael Orlitzky [Sun, 21 Feb 2021 04:14:53 +0000 (23:14 -0500)]
eja: add cartesian_inner_product() method for CartesianProductEJA.

3 years agoeja: add a test for multiple Cartesian product factors.
Michael Orlitzky [Sun, 21 Feb 2021 03:40:53 +0000 (22:40 -0500)]
eja: add a test for multiple Cartesian product factors.

3 years agoeja: remove failing debug tests.
Michael Orlitzky [Sat, 20 Feb 2021 23:12:19 +0000 (18:12 -0500)]
eja: remove failing debug tests.

3 years agoeja: begin rework of Cartesian product EJA.
Michael Orlitzky [Sat, 20 Feb 2021 04:29:59 +0000 (23:29 -0500)]
eja: begin rework of Cartesian product EJA.

3 years agoeja: drop a pointless "solve" in the EJA charpoly system.
Michael Orlitzky [Sun, 14 Feb 2021 16:06:24 +0000 (11:06 -0500)]
eja: drop a pointless "solve" in the EJA charpoly system.

3 years agoeja: add trace linearity and charpoly homogeneity tests.
Michael Orlitzky [Mon, 4 Jan 2021 19:04:41 +0000 (14:04 -0500)]
eja: add trace linearity and charpoly homogeneity tests.

3 years agoeja: cache inverse() and is_invertible() more intelligently.
Michael Orlitzky [Thu, 24 Dec 2020 23:36:14 +0000 (18:36 -0500)]
eja: cache inverse() and is_invertible() more intelligently.

3 years agoeja: unbreak DirectSumEJA, poorly.
Michael Orlitzky [Sun, 13 Dec 2020 23:23:54 +0000 (18:23 -0500)]
eja: unbreak DirectSumEJA, poorly.

3 years agoeja: change matrix_space() to use parent().
Michael Orlitzky [Sun, 13 Dec 2020 22:45:16 +0000 (17:45 -0500)]
eja: change matrix_space() to use parent().

This allows it to work when the "matrix basis" lives in a Cartesian
product space.

3 years agoeja: start putting back DirectSumEJA....
Michael Orlitzky [Sat, 12 Dec 2020 17:01:58 +0000 (12:01 -0500)]
eja: start putting back DirectSumEJA....

...and give up because sage is broken on my laptop.

3 years agoeja: factor out the complex/quaternion extension fields.
Michael Orlitzky [Wed, 9 Dec 2020 02:34:54 +0000 (21:34 -0500)]
eja: factor out the complex/quaternion extension fields.

3 years agoeja: simplify two random statements.
Michael Orlitzky [Wed, 9 Dec 2020 02:04:00 +0000 (21:04 -0500)]
eja: simplify two random statements.

3 years agoeja: construct fewer temporary matrices during EJA construction.
Michael Orlitzky [Wed, 9 Dec 2020 01:53:03 +0000 (20:53 -0500)]
eja: construct fewer temporary matrices during EJA construction.

3 years agoeja: eliminate the special element subalgebra class.
Michael Orlitzky [Wed, 9 Dec 2020 00:11:04 +0000 (19:11 -0500)]
eja: eliminate the special element subalgebra class.

3 years agoeja: one more charpoly fix.
Michael Orlitzky [Tue, 8 Dec 2020 19:12:29 +0000 (14:12 -0500)]
eja: one more charpoly fix.

3 years agoeja: add a soon-TODO.
Michael Orlitzky [Tue, 8 Dec 2020 19:05:22 +0000 (14:05 -0500)]
eja: add a soon-TODO.

3 years agoeja: fix fast charpoly in one case.
Michael Orlitzky [Tue, 8 Dec 2020 18:59:19 +0000 (13:59 -0500)]
eja: fix fast charpoly in one case.

3 years agoeja: re-tuple the matrix basis after Gram-Schmidt.
Michael Orlitzky [Tue, 8 Dec 2020 16:56:15 +0000 (11:56 -0500)]
eja: re-tuple the matrix basis after Gram-Schmidt.

3 years agoeja: default to the identity IP matrix when orthonormalizing.
Michael Orlitzky [Tue, 8 Dec 2020 15:43:38 +0000 (10:43 -0500)]
eja: default to the identity IP matrix when orthonormalizing.

3 years agoeja: fix some subalgebra tests with respect to orthonormalization.
Michael Orlitzky [Tue, 8 Dec 2020 15:43:03 +0000 (10:43 -0500)]
eja: fix some subalgebra tests with respect to orthonormalization.

3 years agoeja: fix a baaaaaad typo in the BilinearFormEJA.
Michael Orlitzky [Tue, 8 Dec 2020 15:36:09 +0000 (10:36 -0500)]
eja: fix a baaaaaad typo in the BilinearFormEJA.

3 years agoeja: more orthonormalization fixes.
Michael Orlitzky [Tue, 8 Dec 2020 01:57:39 +0000 (20:57 -0500)]
eja: more orthonormalization fixes.

3 years agoeja: fix crashes (but not all failures) in subalgebra tests.
Michael Orlitzky [Mon, 7 Dec 2020 21:29:45 +0000 (16:29 -0500)]
eja: fix crashes (but not all failures) in subalgebra tests.

3 years agoeja: port BilinearFormEJA to matrix-only representation.
Michael Orlitzky [Mon, 7 Dec 2020 21:26:51 +0000 (16:26 -0500)]
eja: port BilinearFormEJA to matrix-only representation.

3 years agoeja: add example of Gram-Schmidt with matrices.
Michael Orlitzky [Mon, 7 Dec 2020 20:48:19 +0000 (15:48 -0500)]
eja: add example of Gram-Schmidt with matrices.

3 years agoeja: comment out DirectSumEJA for now (other things to worry about).
Michael Orlitzky [Mon, 7 Dec 2020 20:33:03 +0000 (15:33 -0500)]
eja: comment out DirectSumEJA for now (other things to worry about).

3 years agoeja: fix operator tests.
Michael Orlitzky [Mon, 7 Dec 2020 20:30:55 +0000 (15:30 -0500)]
eja: fix operator tests.

3 years agoeja: work towards fixing element subalgebras.
Michael Orlitzky [Mon, 7 Dec 2020 16:18:55 +0000 (11:18 -0500)]
eja: work towards fixing element subalgebras.

3 years agoeja: begin dropping support for vector representations.
Michael Orlitzky [Sun, 6 Dec 2020 16:03:58 +0000 (11:03 -0500)]
eja: begin dropping support for vector representations.

3 years agoeja: begin major overhaul of class hierarchy and naming.
Michael Orlitzky [Sun, 6 Dec 2020 04:52:48 +0000 (23:52 -0500)]
eja: begin major overhaul of class hierarchy and naming.

3 years agoeja: reimplement multiplication_table() without member variables.
Michael Orlitzky [Sat, 5 Dec 2020 03:28:19 +0000 (22:28 -0500)]
eja: reimplement multiplication_table() without member variables.

3 years agoeja: mark some cached-value tests as "long time".
Michael Orlitzky [Fri, 4 Dec 2020 02:51:07 +0000 (21:51 -0500)]
eja: mark some cached-value tests as "long time".

3 years agoeja: add another performance TODO.
Michael Orlitzky [Fri, 4 Dec 2020 02:50:59 +0000 (21:50 -0500)]
eja: add another performance TODO.

3 years agoeja: speed up a few slow examples.
Michael Orlitzky [Thu, 3 Dec 2020 23:17:38 +0000 (18:17 -0500)]
eja: speed up a few slow examples.

3 years agoeja: fix the Hadamard/JordanSpinEJA fast path for charpoly_coefficients.
Michael Orlitzky [Thu, 3 Dec 2020 22:39:49 +0000 (17:39 -0500)]
eja: fix the Hadamard/JordanSpinEJA fast path for charpoly_coefficients.

3 years agomakefile: add --exitfirst to the test runner.
Michael Orlitzky [Thu, 3 Dec 2020 22:19:19 +0000 (17:19 -0500)]
makefile: add --exitfirst to the test runner.

3 years agoeja: fix recently broken doctests.
Michael Orlitzky [Thu, 3 Dec 2020 22:18:27 +0000 (17:18 -0500)]
eja: fix recently broken doctests.

3 years agoeja: refactor some matrix algebra stuff and break the tests.
Michael Orlitzky [Thu, 3 Dec 2020 19:24:44 +0000 (14:24 -0500)]
eja: refactor some matrix algebra stuff and break the tests.

3 years agoeja: update a TODO with a better idea.
Michael Orlitzky [Thu, 3 Dec 2020 17:52:15 +0000 (12:52 -0500)]
eja: update a TODO with a better idea.

3 years agoeja: disable axiom checking for concrete algebras.
Michael Orlitzky [Thu, 3 Dec 2020 17:39:49 +0000 (12:39 -0500)]
eja: disable axiom checking for concrete algebras.

3 years agoeja: update the DESIGN and TODO documents.
Michael Orlitzky [Thu, 3 Dec 2020 16:44:15 +0000 (11:44 -0500)]
eja: update the DESIGN and TODO documents.

3 years agoeja: fix one more positional "field" argument.
Michael Orlitzky [Thu, 3 Dec 2020 16:08:50 +0000 (11:08 -0500)]
eja: fix one more positional "field" argument.

3 years agoeja: move the "field" argument to (usually passed through) kwargs.
Michael Orlitzky [Thu, 3 Dec 2020 04:37:01 +0000 (23:37 -0500)]
eja: move the "field" argument to (usually passed through) kwargs.

3 years agoeja: propagate check_axioms to some other "check" variables.
Michael Orlitzky [Thu, 3 Dec 2020 02:38:54 +0000 (21:38 -0500)]
eja: propagate check_axioms to some other "check" variables.

3 years agoeja: add another performance TODO.
Michael Orlitzky [Wed, 2 Dec 2020 15:12:03 +0000 (10:12 -0500)]
eja: add another performance TODO.

3 years agoeja: dropp the already_echelonized TODO.
Michael Orlitzky [Wed, 2 Dec 2020 15:04:08 +0000 (10:04 -0500)]
eja: dropp the already_echelonized TODO.

We generally orthonormalize things now, but having an orthonormal
basis is not the same as having a basis in RREF form.

3 years agoeja: clean up the TODO list after major refactoring.
Michael Orlitzky [Wed, 2 Dec 2020 14:53:52 +0000 (09:53 -0500)]
eja: clean up the TODO list after major refactoring.

3 years agoeja: remove a completed TODO.
Michael Orlitzky [Wed, 2 Dec 2020 14:47:50 +0000 (09:47 -0500)]
eja: remove a completed TODO.

3 years agoeja: speed up construction of JordanSpinEJA and HadamardEJA.
Michael Orlitzky [Wed, 2 Dec 2020 14:46:47 +0000 (09:46 -0500)]
eja: speed up construction of JordanSpinEJA and HadamardEJA.

3 years agoeja: check that the basis is rational when it's supposed to be.
Michael Orlitzky [Wed, 2 Dec 2020 14:07:08 +0000 (09:07 -0500)]
eja: check that the basis is rational when it's supposed to be.