Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit cba3a87

Browse files
author
Matthias Koeppe
committed
FiniteRankDualFreeModule.construction: WIP
1 parent f947c18 commit cba3a87

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/sage/tensor/modules/finite_rank_free_module.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3588,19 +3588,23 @@ def construction(self):
35883588
r"""
35893589
Return the functorial construction of ``self``.
35903590
3591-
This implementation just returns ``None``, as no functorial construction is implemented.
3592-
35933591
TESTS::
35943592
3595-
sage: from sage.tensor.modules.ext_pow_free_module import ExtPowerDualFreeModule
35963593
sage: M = FiniteRankFreeModule(ZZ, 3, name='M')
35973594
sage: e = M.basis('e')
35983595
sage: A = M.dual()
3599-
sage: A.construction() is None
3600-
True
3596+
sage: A.construction()
3597+
(The dual functorial construction,
3598+
[Rank-3 free module M over the Integer Ring])
3599+
3600+
sage: from sage.categories.pushout import pushout
3601+
sage: pushout(A, QQ)
3602+
Traceback (most recent call last):
3603+
...
3604+
sage.structure.coerce_exceptions.CoercionException: No common base ("join") found for BlackBoxConstructionFunctor(Rank-3 free module M over the Integer Ring) and FractionField(Integer Ring).
36013605
"""
3602-
# No construction until we extend VectorFunctor with a parameter 'dual'
3603-
return None
3606+
from sage.categories.dual import DualFunctor
3607+
return DualFunctor(), [self.base_module()]
36043608

36053609
#### Parent methods
36063610

0 commit comments

Comments
 (0)