]>
gitweb.michael.orlitzky.com - sage.d.git/log
Michael Orlitzky [Wed, 24 Feb 2021 02:24:56 +0000 (21:24 -0500)]
eja: simplify to_matrix() for elements.
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).
Michael Orlitzky [Tue, 23 Feb 2021 14:58:07 +0000 (09:58 -0500)]
eja: add subclass for Cartesian product elements.
Michael Orlitzky [Tue, 23 Feb 2021 14:02:43 +0000 (09:02 -0500)]
eja: fix element constructor error message for Cartesian products.
Michael Orlitzky [Mon, 22 Feb 2021 18:04:43 +0000 (13:04 -0500)]
eja: define matrix basis/space for Cartesian product algebras.
Michael Orlitzky [Mon, 22 Feb 2021 17:02:04 +0000 (12:02 -0500)]
eja: cache one() for Cartesian product algebras.
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.
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 .
Michael Orlitzky [Mon, 22 Feb 2021 13:20:26 +0000 (08:20 -0500)]
eja: demonstration for https://trac.sagemath.org/ticket/31421.
Michael Orlitzky [Sun, 21 Feb 2021 23:14:02 +0000 (18:14 -0500)]
eja: add another Cartesian product test.
Michael Orlitzky [Sun, 21 Feb 2021 22:56:49 +0000 (17:56 -0500)]
eja: update the TODO again.
Michael Orlitzky [Sun, 21 Feb 2021 22:54:11 +0000 (17:54 -0500)]
eja: update a comment.
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 .
Michael Orlitzky [Sun, 21 Feb 2021 22:29:07 +0000 (17:29 -0500)]
eja: update the TODO.
Michael Orlitzky [Sun, 21 Feb 2021 21:58:05 +0000 (16:58 -0500)]
eja: factor out a separate class used by cartesian_product().
Michael Orlitzky [Sun, 21 Feb 2021 16:54:52 +0000 (11:54 -0500)]
eja: add a comment with a new TODO...
Michael Orlitzky [Sun, 21 Feb 2021 16:31:08 +0000 (11:31 -0500)]
eja: more polish for Cartesian product EJAs.
Michael Orlitzky [Sun, 21 Feb 2021 14:39:46 +0000 (09:39 -0500)]
eja: initialize CartesianProductEJA as an EJA.
Michael Orlitzky [Sun, 21 Feb 2021 14:06:40 +0000 (09:06 -0500)]
eja: add "category" argument to FiniteDimensionalEJA.
Michael Orlitzky [Sun, 21 Feb 2021 13:47:04 +0000 (08:47 -0500)]
eja: add cartesian_jordan_product() method to CartesianProductEJA.
Michael Orlitzky [Sun, 21 Feb 2021 04:14:53 +0000 (23:14 -0500)]
eja: add cartesian_inner_product() method for CartesianProductEJA.
Michael Orlitzky [Sun, 21 Feb 2021 03:40:53 +0000 (22:40 -0500)]
eja: add a test for multiple Cartesian product factors.
Michael Orlitzky [Sat, 20 Feb 2021 23:12:19 +0000 (18:12 -0500)]
eja: remove failing debug tests.
Michael Orlitzky [Sat, 20 Feb 2021 04:29:59 +0000 (23:29 -0500)]
eja: begin rework of Cartesian product EJA.
Michael Orlitzky [Sun, 14 Feb 2021 16:06:24 +0000 (11:06 -0500)]
eja: drop a pointless "solve" in the EJA charpoly system.
Michael Orlitzky [Mon, 4 Jan 2021 19:04:41 +0000 (14:04 -0500)]
eja: add trace linearity and charpoly homogeneity tests.
Michael Orlitzky [Thu, 24 Dec 2020 23:36:14 +0000 (18:36 -0500)]
eja: cache inverse() and is_invertible() more intelligently.
Michael Orlitzky [Sun, 13 Dec 2020 23:23:54 +0000 (18:23 -0500)]
eja: unbreak DirectSumEJA, poorly.
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.
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.
Michael Orlitzky [Wed, 9 Dec 2020 02:34:54 +0000 (21:34 -0500)]
eja: factor out the complex/quaternion extension fields.
Michael Orlitzky [Wed, 9 Dec 2020 02:04:00 +0000 (21:04 -0500)]
eja: simplify two random statements.
Michael Orlitzky [Wed, 9 Dec 2020 01:53:03 +0000 (20:53 -0500)]
eja: construct fewer temporary matrices during EJA construction.
Michael Orlitzky [Wed, 9 Dec 2020 00:11:04 +0000 (19:11 -0500)]
eja: eliminate the special element subalgebra class.
Michael Orlitzky [Tue, 8 Dec 2020 19:12:29 +0000 (14:12 -0500)]
eja: one more charpoly fix.
Michael Orlitzky [Tue, 8 Dec 2020 19:05:22 +0000 (14:05 -0500)]
eja: add a soon-TODO.
Michael Orlitzky [Tue, 8 Dec 2020 18:59:19 +0000 (13:59 -0500)]
eja: fix fast charpoly in one case.
Michael Orlitzky [Tue, 8 Dec 2020 16:56:15 +0000 (11:56 -0500)]
eja: re-tuple the matrix basis after Gram-Schmidt.
Michael Orlitzky [Tue, 8 Dec 2020 15:43:38 +0000 (10:43 -0500)]
eja: default to the identity IP matrix when orthonormalizing.
Michael Orlitzky [Tue, 8 Dec 2020 15:43:03 +0000 (10:43 -0500)]
eja: fix some subalgebra tests with respect to orthonormalization.
Michael Orlitzky [Tue, 8 Dec 2020 15:36:09 +0000 (10:36 -0500)]
eja: fix a
baaaaaad typo in the BilinearFormEJA.
Michael Orlitzky [Tue, 8 Dec 2020 01:57:39 +0000 (20:57 -0500)]
eja: more orthonormalization fixes.
Michael Orlitzky [Mon, 7 Dec 2020 21:29:45 +0000 (16:29 -0500)]
eja: fix crashes (but not all failures) in subalgebra tests.
Michael Orlitzky [Mon, 7 Dec 2020 21:26:51 +0000 (16:26 -0500)]
eja: port BilinearFormEJA to matrix-only representation.
Michael Orlitzky [Mon, 7 Dec 2020 20:48:19 +0000 (15:48 -0500)]
eja: add example of Gram-Schmidt with matrices.
Michael Orlitzky [Mon, 7 Dec 2020 20:33:03 +0000 (15:33 -0500)]
eja: comment out DirectSumEJA for now (other things to worry about).
Michael Orlitzky [Mon, 7 Dec 2020 20:30:55 +0000 (15:30 -0500)]
eja: fix operator tests.
Michael Orlitzky [Mon, 7 Dec 2020 16:18:55 +0000 (11:18 -0500)]
eja: work towards fixing element subalgebras.
Michael Orlitzky [Sun, 6 Dec 2020 16:03:58 +0000 (11:03 -0500)]
eja: begin dropping support for vector representations.
Michael Orlitzky [Sun, 6 Dec 2020 04:52:48 +0000 (23:52 -0500)]
eja: begin major overhaul of class hierarchy and naming.
Michael Orlitzky [Sat, 5 Dec 2020 03:28:19 +0000 (22:28 -0500)]
eja: reimplement multiplication_table() without member variables.
Michael Orlitzky [Fri, 4 Dec 2020 02:51:07 +0000 (21:51 -0500)]
eja: mark some cached-value tests as "long time".
Michael Orlitzky [Fri, 4 Dec 2020 02:50:59 +0000 (21:50 -0500)]
eja: add another performance TODO.
Michael Orlitzky [Thu, 3 Dec 2020 23:17:38 +0000 (18:17 -0500)]
eja: speed up a few slow examples.
Michael Orlitzky [Thu, 3 Dec 2020 22:39:49 +0000 (17:39 -0500)]
eja: fix the Hadamard/JordanSpinEJA fast path for charpoly_coefficients.
Michael Orlitzky [Thu, 3 Dec 2020 22:19:19 +0000 (17:19 -0500)]
makefile: add --exitfirst to the test runner.
Michael Orlitzky [Thu, 3 Dec 2020 22:18:27 +0000 (17:18 -0500)]
eja: fix recently broken doctests.
Michael Orlitzky [Thu, 3 Dec 2020 19:24:44 +0000 (14:24 -0500)]
eja: refactor some matrix algebra stuff and break the tests.
Michael Orlitzky [Thu, 3 Dec 2020 17:52:15 +0000 (12:52 -0500)]
eja: update a TODO with a better idea.
Michael Orlitzky [Thu, 3 Dec 2020 17:39:49 +0000 (12:39 -0500)]
eja: disable axiom checking for concrete algebras.
Michael Orlitzky [Thu, 3 Dec 2020 16:44:15 +0000 (11:44 -0500)]
eja: update the DESIGN and TODO documents.
Michael Orlitzky [Thu, 3 Dec 2020 16:08:50 +0000 (11:08 -0500)]
eja: fix one more positional "field" argument.
Michael Orlitzky [Thu, 3 Dec 2020 04:37:01 +0000 (23:37 -0500)]
eja: move the "field" argument to (usually passed through) kwargs.
Michael Orlitzky [Thu, 3 Dec 2020 02:38:54 +0000 (21:38 -0500)]
eja: propagate check_axioms to some other "check" variables.
Michael Orlitzky [Wed, 2 Dec 2020 15:12:03 +0000 (10:12 -0500)]
eja: add another performance 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.
Michael Orlitzky [Wed, 2 Dec 2020 14:53:52 +0000 (09:53 -0500)]
eja: clean up the TODO list after major refactoring.
Michael Orlitzky [Wed, 2 Dec 2020 14:47:50 +0000 (09:47 -0500)]
eja: remove a completed TODO.
Michael Orlitzky [Wed, 2 Dec 2020 14:46:47 +0000 (09:46 -0500)]
eja: speed up construction of JordanSpinEJA and HadamardEJA.
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.
Michael Orlitzky [Wed, 2 Dec 2020 13:42:41 +0000 (08:42 -0500)]
eja: improve rational basis algebra trickery.
Michael Orlitzky [Wed, 2 Dec 2020 12:21:34 +0000 (07:21 -0500)]
eja: don't pass in a full multiplication table unless necessary.
Michael Orlitzky [Tue, 1 Dec 2020 19:50:38 +0000 (14:50 -0500)]
eja: use symmetry when constructing the inner product matrix.
Michael Orlitzky [Tue, 1 Dec 2020 16:54:53 +0000 (11:54 -0500)]
eja: fix a randomly-failing test.
Michael Orlitzky [Tue, 1 Dec 2020 15:54:27 +0000 (10:54 -0500)]
eja: convert matrix algebas to the new constructor, fix all tests.
Michael Orlitzky [Mon, 30 Nov 2020 15:17:19 +0000 (10:17 -0500)]
eja: drop the "Ng" from the new constructor.
Michael Orlitzky [Mon, 30 Nov 2020 15:07:30 +0000 (10:07 -0500)]
eja: get rid of the old rational basis constructor.
Michael Orlitzky [Sat, 28 Nov 2020 04:14:31 +0000 (23:14 -0500)]
eja: more work on realizing the new constructor.
Michael Orlitzky [Fri, 27 Nov 2020 15:38:18 +0000 (10:38 -0500)]
eja: use new constructor for BilinearFormEJA.
Michael Orlitzky [Fri, 27 Nov 2020 15:38:08 +0000 (10:38 -0500)]
eja: add another performance TODO.
Michael Orlitzky [Fri, 27 Nov 2020 14:18:02 +0000 (09:18 -0500)]
eja: switch HadamardEJA to 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.
Michael Orlitzky [Fri, 27 Nov 2020 14:16:11 +0000 (09:16 -0500)]
eja: allow non-standard inner product in gram_schmidt.
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.
Michael Orlitzky [Fri, 27 Nov 2020 13:00:26 +0000 (08:00 -0500)]
eja: begin working on a new constructor.
Michael Orlitzky [Thu, 26 Nov 2020 23:06:19 +0000 (18:06 -0500)]
eja: actually do what the previous commit was supposed to do.
Michael Orlitzky [Thu, 26 Nov 2020 22:22:26 +0000 (17:22 -0500)]
eja: use symmetry when constructing multiplication table.
Michael Orlitzky [Thu, 26 Nov 2020 20:38:48 +0000 (15:38 -0500)]
eja: add some DESIGN notes.
Michael Orlitzky [Thu, 26 Nov 2020 02:59:28 +0000 (21:59 -0500)]
eja: start adding precomputed charpoly coeffs to the TODO.
Michael Orlitzky [Thu, 26 Nov 2020 02:24:29 +0000 (21:24 -0500)]
makefile: add --long to the test command.
Michael Orlitzky [Thu, 26 Nov 2020 02:23:54 +0000 (21:23 -0500)]
eja: replace a bunch of "manual" tests with a random one.
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.
Michael Orlitzky [Wed, 25 Nov 2020 19:33:34 +0000 (14:33 -0500)]
eja: add is_self_adjoint() for operators.
Michael Orlitzky [Wed, 25 Nov 2020 19:03:41 +0000 (14:03 -0500)]
eja: make element constructor errors more consistent.
Michael Orlitzky [Wed, 25 Nov 2020 16:44:40 +0000 (11:44 -0500)]
eja: fix an implicit TODO by eliminating lazy_import.
Michael Orlitzky [Wed, 25 Nov 2020 14:52:15 +0000 (09:52 -0500)]
eja: and another TODO.
Michael Orlitzky [Wed, 25 Nov 2020 12:33:47 +0000 (07:33 -0500)]
eja: add more TODO.
Michael Orlitzky [Wed, 25 Nov 2020 04:43:17 +0000 (23:43 -0500)]
eja: use cached charpoly for element inverse() if possible.
Michael Orlitzky [Wed, 25 Nov 2020 04:26:39 +0000 (23:26 -0500)]
eja: return the polynomial ring R[X1,...,XN] from a method.
Michael Orlitzky [Tue, 24 Nov 2020 16:34:58 +0000 (11:34 -0500)]
eja: begin refactoring to allow noncanonical inner products.