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

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.

4 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.

4 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.

4 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.

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

4 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.

4 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.

4 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.

4 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.

4 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.

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

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