]> gitweb.michael.orlitzky.com - sage.d.git/log
sage.d.git
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.

3 years agoeja: improve rational basis algebra trickery.
Michael Orlitzky [Wed, 2 Dec 2020 13:42:41 +0000 (08:42 -0500)]
eja: improve rational basis algebra trickery.

3 years agoeja: don't pass in a full multiplication table unless necessary.
Michael Orlitzky [Wed, 2 Dec 2020 12:21:34 +0000 (07:21 -0500)]
eja: don't pass in a full multiplication table unless necessary.

3 years agoeja: use symmetry when constructing the inner product matrix.
Michael Orlitzky [Tue, 1 Dec 2020 19:50:38 +0000 (14:50 -0500)]
eja: use symmetry when constructing the inner product matrix.

3 years agoeja: fix a randomly-failing test.
Michael Orlitzky [Tue, 1 Dec 2020 16:54:53 +0000 (11:54 -0500)]
eja: fix a randomly-failing test.

3 years agoeja: convert matrix algebas to the new constructor, fix all tests.
Michael Orlitzky [Tue, 1 Dec 2020 15:54:27 +0000 (10:54 -0500)]
eja: convert matrix algebas to the new constructor, fix all tests.

3 years agoeja: drop the "Ng" from the new constructor.
Michael Orlitzky [Mon, 30 Nov 2020 15:17:19 +0000 (10:17 -0500)]
eja: drop the "Ng" from the new constructor.

3 years agoeja: get rid of the old rational basis constructor.
Michael Orlitzky [Mon, 30 Nov 2020 15:07:30 +0000 (10:07 -0500)]
eja: get rid of the old rational basis constructor.

3 years agoeja: more work on realizing the new constructor.
Michael Orlitzky [Sat, 28 Nov 2020 04:14:31 +0000 (23:14 -0500)]
eja: more work on realizing the new constructor.

3 years agoeja: use new constructor for BilinearFormEJA.
Michael Orlitzky [Fri, 27 Nov 2020 15:38:18 +0000 (10:38 -0500)]
eja: use new constructor for BilinearFormEJA.

3 years agoeja: add another performance TODO.
Michael Orlitzky [Fri, 27 Nov 2020 15:38:08 +0000 (10:38 -0500)]
eja: add another performance TODO.

3 years agoeja: switch HadamardEJA to the new constructor.
Michael Orlitzky [Fri, 27 Nov 2020 14:18:02 +0000 (09:18 -0500)]
eja: switch HadamardEJA to the new constructor.

3 years agoeja: use custom gram-schmidt in the new constructor.
Michael Orlitzky [Fri, 27 Nov 2020 14:17:35 +0000 (09:17 -0500)]
eja: use custom gram-schmidt in the new constructor.

3 years agoeja: allow non-standard inner product in gram_schmidt.
Michael Orlitzky [Fri, 27 Nov 2020 14:16:11 +0000 (09:16 -0500)]
eja: allow non-standard inner product in gram_schmidt.

3 years agoRevert "eja: drop custom gram_schmidt() routine that isn't noticeably faster."
Michael Orlitzky [Fri, 27 Nov 2020 13:03:38 +0000 (08:03 -0500)]
Revert "eja: drop custom gram_schmidt() routine that isn't noticeably faster."

This reverts commit 1e9700cdd04434465ffcad148d078f7fa361e426. We only
bring back the gram_schmidt() function (but don't use it yet) because
the plan is to modify it to take a custom inner-product.

3 years agoeja: begin working on a new constructor.
Michael Orlitzky [Fri, 27 Nov 2020 13:00:26 +0000 (08:00 -0500)]
eja: begin working on a new constructor.

3 years agoeja: actually do what the previous commit was supposed to do.
Michael Orlitzky [Thu, 26 Nov 2020 23:06:19 +0000 (18:06 -0500)]
eja: actually do what the previous commit was supposed to do.

3 years agoeja: use symmetry when constructing multiplication table.
Michael Orlitzky [Thu, 26 Nov 2020 22:22:26 +0000 (17:22 -0500)]
eja: use symmetry when constructing multiplication table.

3 years agoeja: add some DESIGN notes.
Michael Orlitzky [Thu, 26 Nov 2020 20:38:48 +0000 (15:38 -0500)]
eja: add some DESIGN notes.

3 years agoeja: start adding precomputed charpoly coeffs to the TODO.
Michael Orlitzky [Thu, 26 Nov 2020 02:59:28 +0000 (21:59 -0500)]
eja: start adding precomputed charpoly coeffs to the TODO.

3 years agomakefile: add --long to the test command.
Michael Orlitzky [Thu, 26 Nov 2020 02:24:29 +0000 (21:24 -0500)]
makefile: add --long to the test command.

3 years agoeja: replace a bunch of "manual" tests with a random one.
Michael Orlitzky [Thu, 26 Nov 2020 02:23:54 +0000 (21:23 -0500)]
eja: replace a bunch of "manual" tests with a random one.

3 years agoeja: update todo, and rename "natural" to "matrix".
Michael Orlitzky [Wed, 25 Nov 2020 22:55:49 +0000 (17:55 -0500)]
eja: update todo, and rename "natural" to "matrix".

We've already completed one TODO by adding is_self_adjoint() for
operators. Another is completed by deciding that I don't want to drop
natural representations for non-matrix algebras. But I do want to
rename them, to "matrix representations," because that's what they
are.

3 years agoeja: add is_self_adjoint() for operators.
Michael Orlitzky [Wed, 25 Nov 2020 19:33:34 +0000 (14:33 -0500)]
eja: add is_self_adjoint() for operators.

3 years agoeja: make element constructor errors more consistent.
Michael Orlitzky [Wed, 25 Nov 2020 19:03:41 +0000 (14:03 -0500)]
eja: make element constructor errors more consistent.

3 years agoeja: fix an implicit TODO by eliminating lazy_import.
Michael Orlitzky [Wed, 25 Nov 2020 16:44:40 +0000 (11:44 -0500)]
eja: fix an implicit TODO by eliminating lazy_import.

3 years agoeja: and another TODO.
Michael Orlitzky [Wed, 25 Nov 2020 14:52:15 +0000 (09:52 -0500)]
eja: and another TODO.

3 years agoeja: add more TODO.
Michael Orlitzky [Wed, 25 Nov 2020 12:33:47 +0000 (07:33 -0500)]
eja: add more TODO.

3 years agoeja: use cached charpoly for element inverse() if possible.
Michael Orlitzky [Wed, 25 Nov 2020 04:43:17 +0000 (23:43 -0500)]
eja: use cached charpoly for element inverse() if possible.

3 years agoeja: return the polynomial ring R[X1,...,XN] from a method.
Michael Orlitzky [Wed, 25 Nov 2020 04:26:39 +0000 (23:26 -0500)]
eja: return the polynomial ring R[X1,...,XN] from a method.

3 years agoeja: begin refactoring to allow noncanonical inner products.
Michael Orlitzky [Tue, 24 Nov 2020 16:34:58 +0000 (11:34 -0500)]
eja: begin refactoring to allow noncanonical inner products.

3 years agoeja: fix inclusions/projections with trivial algebras.
Michael Orlitzky [Tue, 24 Nov 2020 16:24:15 +0000 (11:24 -0500)]
eja: fix inclusions/projections with trivial algebras.

3 years agoeja: another TODO.
Michael Orlitzky [Tue, 24 Nov 2020 15:34:48 +0000 (10:34 -0500)]
eja: another TODO.

3 years agoeja: improve projection/inclusion implementation for DirectSumEJA.
Michael Orlitzky [Fri, 20 Nov 2020 05:16:31 +0000 (00:16 -0500)]
eja: improve projection/inclusion implementation for DirectSumEJA.

3 years agoeja: add is_zero() method for operators.
Michael Orlitzky [Fri, 20 Nov 2020 05:16:12 +0000 (00:16 -0500)]
eja: add is_zero() method for operators.

3 years agomjo: add two more TODO items.
Michael Orlitzky [Mon, 23 Nov 2020 22:27:22 +0000 (17:27 -0500)]
mjo: add two more TODO items.

3 years agoeja: use cached charpoly for element inverse when available.
Michael Orlitzky [Mon, 23 Nov 2020 03:39:59 +0000 (22:39 -0500)]
eja: use cached charpoly for element inverse when available.

3 years agoeja: add another big TODO item.
Michael Orlitzky [Mon, 23 Nov 2020 03:17:16 +0000 (22:17 -0500)]
eja: add another big TODO item.

3 years agoeja: check the (co)domain of each EJA operator.
Michael Orlitzky [Mon, 23 Nov 2020 03:13:52 +0000 (22:13 -0500)]
eja: check the (co)domain of each EJA operator.

3 years agoTODO: remove two completed items.
Michael Orlitzky [Sun, 22 Nov 2020 22:58:17 +0000 (17:58 -0500)]
TODO: remove two completed items.

3 years agoeja: factor out some common tests.
Michael Orlitzky [Sun, 22 Nov 2020 22:58:08 +0000 (17:58 -0500)]
eja: factor out some common tests.

3 years agoeja: add ConcreteEJA class for EJAs we can make random instances of.
Michael Orlitzky [Sun, 22 Nov 2020 22:39:08 +0000 (17:39 -0500)]
eja: add ConcreteEJA class for EJAs we can make random instances of.

3 years agoeja: add another performance TODO.
Michael Orlitzky [Sun, 22 Nov 2020 22:38:51 +0000 (17:38 -0500)]
eja: add another performance TODO.

3 years agoeja: fix one() in the trivial HadamardEJA.
Michael Orlitzky [Sun, 22 Nov 2020 16:03:16 +0000 (11:03 -0500)]
eja: fix one() in the trivial HadamardEJA.

3 years agoeja: remove a completed TODO and update an in-progress one.
Michael Orlitzky [Sun, 22 Nov 2020 15:50:45 +0000 (10:50 -0500)]
eja: remove a completed TODO and update an in-progress one.

3 years agoeja: cache the unit element immediately where it is known.
Michael Orlitzky [Sun, 22 Nov 2020 15:50:19 +0000 (10:50 -0500)]
eja: cache the unit element immediately where it is known.

3 years agoeja: tweak a zero test.
Michael Orlitzky [Sun, 22 Nov 2020 15:23:18 +0000 (10:23 -0500)]
eja: tweak a zero test.

3 years agoeja: add a test for invalid bilinear forms in BilinearFormEJA.
Michael Orlitzky [Sun, 22 Nov 2020 15:23:02 +0000 (10:23 -0500)]
eja: add a test for invalid bilinear forms in BilinearFormEJA.

3 years agoeja: fix random_instance() for JordanSpinEJA.
Michael Orlitzky [Sun, 22 Nov 2020 15:22:47 +0000 (10:22 -0500)]
eja: fix random_instance() for JordanSpinEJA.

3 years agoeja: add random_instance() for BilinearFormEJA.
Michael Orlitzky [Sun, 22 Nov 2020 14:57:43 +0000 (09:57 -0500)]
eja: add random_instance() for BilinearFormEJA.

3 years agoeja: alter BilinearFormEJA to take only a matrix argument.
Michael Orlitzky [Sun, 22 Nov 2020 14:32:32 +0000 (09:32 -0500)]
eja: alter BilinearFormEJA to take only a matrix argument.

The BilinearFormEJA constructor originally took both the size "n" and
a bilinear form matrix "B" that acted on the x-bar component of an
algebra element. This was a bit silly: except when n=0, we can
determine the size of the algebra from the bilinear form matrix.

Now, we insist that the entire matrix "B" be passed in, including the
upper-left "1" block. This allows us to pass in a matrix of size zero
to get the trivial algebra, and in all other cases, to infer that the
dimension of the algebra is the size of the matrix.

3 years agoeja: simplify the element-subalgebra one() method.
Michael Orlitzky [Sun, 22 Nov 2020 13:53:01 +0000 (08:53 -0500)]
eja: simplify the element-subalgebra one() method.

3 years agoeja: add a random comment.
Michael Orlitzky [Sat, 21 Nov 2020 19:00:44 +0000 (14:00 -0500)]
eja: add a random comment.

3 years agoeja: add yet another TODO.
Michael Orlitzky [Sat, 21 Nov 2020 18:58:45 +0000 (13:58 -0500)]
eja: add yet another TODO.

3 years agoeja: minor improvement to the algebra one() method.
Michael Orlitzky [Sat, 21 Nov 2020 18:57:32 +0000 (13:57 -0500)]
eja: minor improvement to the algebra one() method.

3 years agoeja: try to speed up super/subalgebra conversion.
Michael Orlitzky [Sat, 21 Nov 2020 18:39:32 +0000 (13:39 -0500)]
eja: try to speed up super/subalgebra conversion.

3 years agoeja: drop redundant vector->superalgebra-element conversion.
Michael Orlitzky [Sat, 21 Nov 2020 16:44:27 +0000 (11:44 -0500)]
eja: drop redundant vector->superalgebra-element conversion.

3 years agoeja: expand an existing subalgebra test.
Michael Orlitzky [Sat, 21 Nov 2020 16:37:50 +0000 (11:37 -0500)]
eja: expand an existing subalgebra test.

3 years agoeja: add another TODO item.
Michael Orlitzky [Sat, 21 Nov 2020 13:22:27 +0000 (08:22 -0500)]
eja: add another TODO item.

3 years agoeja: update a few TODO items.
Michael Orlitzky [Sat, 21 Nov 2020 13:19:19 +0000 (08:19 -0500)]
eja: update a few TODO items.

3 years agoeja: drop cached superalgebra basis from subalgebras.
Michael Orlitzky [Sat, 21 Nov 2020 13:16:09 +0000 (08:16 -0500)]
eja: drop cached superalgebra basis from subalgebras.

3 years agoeja: drop an unused variable.
Michael Orlitzky [Sat, 21 Nov 2020 12:37:35 +0000 (07:37 -0500)]
eja: drop an unused variable.

3 years agoeja: echelonize a matrix manually to ensure a decent algorithm is used.
Michael Orlitzky [Sat, 21 Nov 2020 02:32:57 +0000 (21:32 -0500)]
eja: echelonize a matrix manually to ensure a decent algorithm is used.

3 years agoeja: don't compute an unused vector space for the element subalgebra.
Michael Orlitzky [Sat, 21 Nov 2020 02:31:54 +0000 (21:31 -0500)]
eja: don't compute an unused vector space for the element subalgebra.

3 years agoeja: add a comment about sub-subalgebra representations.
Michael Orlitzky [Sat, 21 Nov 2020 02:30:51 +0000 (21:30 -0500)]
eja: add a comment about sub-subalgebra representations.

3 years agoeja: move the TrivialEJA random_instance() into an override method.
Michael Orlitzky [Sat, 21 Nov 2020 00:22:35 +0000 (19:22 -0500)]
eja: move the TrivialEJA random_instance() into an override method.

3 years agoeja: don't orthonormalize the basis when computing minimal polynomials.
Michael Orlitzky [Sat, 21 Nov 2020 00:20:45 +0000 (19:20 -0500)]
eja: don't orthonormalize the basis when computing minimal polynomials.

3 years agoeja: drop obsolete _a_regular_element() override method.
Michael Orlitzky [Fri, 20 Nov 2020 23:54:38 +0000 (18:54 -0500)]
eja: drop obsolete _a_regular_element() override method.

3 years agoeja: make _max_random_instance_size() abstract.
Michael Orlitzky [Fri, 20 Nov 2020 15:12:30 +0000 (10:12 -0500)]
eja: make _max_random_instance_size() abstract.

3 years agoeja: rename _max_test_case_size() -> _max_random_instance_size().
Michael Orlitzky [Fri, 20 Nov 2020 14:51:46 +0000 (09:51 -0500)]
eja: rename _max_test_case_size() -> _max_random_instance_size().

3 years agoeja: add inner_product() for DirectSumEJA.
Michael Orlitzky [Fri, 13 Nov 2020 15:34:30 +0000 (10:34 -0500)]
eja: add inner_product() for DirectSumEJA.

3 years agoeja: add inclusion maps for DirectSumEJA.
Michael Orlitzky [Fri, 13 Nov 2020 15:23:49 +0000 (10:23 -0500)]
eja: add inclusion maps for DirectSumEJA.

3 years agoeja: add projections for DirectSumEJA.
Michael Orlitzky [Fri, 13 Nov 2020 14:05:55 +0000 (09:05 -0500)]
eja: add projections for DirectSumEJA.

3 years agoeja: unindent a large "else" clause.
Michael Orlitzky [Tue, 10 Nov 2020 14:26:17 +0000 (09:26 -0500)]
eja: unindent a large "else" clause.

3 years agoeja: fix base ring of fast _charpoly_coefficients().
Michael Orlitzky [Tue, 10 Nov 2020 13:39:25 +0000 (08:39 -0500)]
eja: fix base ring of fast _charpoly_coefficients().