#15916: Tensors on free modules of finite rank
-------------------------------------+-------------------------------------
Reporter: egourgoulhon | Owner:
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.5
Component: linear algebra | Resolution:
Keywords: free module, | Merged in:
tensor, tensor product | Reviewers: Travis Scrimshaw
Authors: Eric Gourgoulhon, | Work issues: documentation
Michal Bejger | Commit:
Report Upstream: N/A | 968468796989dd7415c235a6895dadcab6d9e108
Branch: | Stopgaps:
public/tensor_modules-15916 |
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by egourgoulhon):
Thank you very much Travis and Jeroen for your comments.
I've just committed the following changes:
- Introduced the parent class `ExtPowerFreeModule` for alternating forms
of a
given degree on a free module.
All alternating forms are now described by the element class
`FreeModuleAltForm`. In particular, the class `FreeModuleLinForm` has
been
suppressed.
- Introduced the parent class `FreeModuleLinearGroup` for the general
linear group GL(M) of a
free module M. The corresponding element class is
`FreeModuleAutomorphism`, which
has been entirely rewritten (it is now both a group element class and a
class of
type-(1,1) tensors).
- Added the following coercions:
- alternating forms of degree p ---> tensors of type (0,p)
- tensors of type (0,1) ---> alternating forms of degree 1 (linear
form)
- automorphisms ---> tensors of type (1,1)
- automorphisms ---> endomorphisms
- Added the following conversions:
- (invertible) endomorphisms ---> automorphisms
- (invertible) type-(1,1) tensors ---> automorphisms
- Suppressed the classes `FreeModuleAutomorphismTensor` and
`FreeModuleIdentityTensor`,
which were no longer needed thanks to the above coercions.
- Suppressed the class `FreeModuleEndomorphismTensor`, which was no longer
needed
thanks to the coercions endomorphisms <---> tensors of type (1,1).
- Renamed method `view()` to `display()`; `view()` is still there (it is
heavily used by the users of !SageManifolds) but it is set to deprecated.
- Implemented transitivity in `FiniteRankFreeModule.change_of_basis()`,
i.e. if the changes of basis A->B and B->C are known and the change of
basis A->C is required, it is computed by automorphism composition.
- Added argument `from_family` in `FiniteRankFreeModule.basis()`, thereby
allowing to construct a new basis from a family of linearly independent
module elements (previously, one had to pass a previous basis and an
explicit automorphism relating it to the new basis).
- Systematic use of `"...{}...".format(...)` instead of `"..." + str(...)
+ "..."` (except in LaTeX strings, because of the {})
- Reorganized documentation files in
src/doc/en/reference/tensor_free_modules/*.rst
- Added comparisons
- between `FiniteRankFreeModule` and `FreeModule`,
- between `FiniteRankFreeModule` and `VectorSpace`,
- between `FiniteRankFreeModule` and `CombinatorialFreeModule`
in the documentation of `FiniteRankFreeModule`. You can see the result
[http://sagemanifolds.obspm.fr/preview/reference/tensor_free_modules/sage/tensor/modules/finite_rank_free_module.html
here]. I've also taken into account #comment:47.
All test suites (both for parents and elements) are passed.
--
Ticket URL: <http://trac.sagemath.org/ticket/15916#comment:50>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.