#18756: Use coerce actions in the category framework
-------------------------------------+-------------------------------------
Reporter: SimonKing | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-6.8
Component: coercion | Resolution:
Keywords: cython, coercion, | Merged in:
actions, categories | Reviewers:
Authors: | Work issues:
Report Upstream: N/A | Commit:
Branch: | e1111c346a82639bb41161469754d45008117801
u/SimonKing/combinatorial_free_module_cython_coercion| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by nborie):
Hello,
I don't know if the following point is partially/not/completely related
with this ticket. But you will be my heroes for three or four years if you
solve that :
Matrix and MatrixSpace over ALL rings (not using RingElement...) #15160
sorry for the noise, to precise that, I would add a quote from an old
topic from sage-devel : What we are unable to do right now ?
********************************************
Hello,
Computing the inverse of the identity matrix is not possible. Ok, it
works for rings using RingElement class for the elements (like ZZ, QQ,
RR, CC, ...).
{{{
sage: SF = SymmetricFunctions(QQ).schur(); SF
Symmetric Functions over Rational Field in the Schur basis
sage: one = SF.one()
sage: zero = SF.zero()
sage: M = Matrix([[one, zero], [zero, one]])
sage: M
[s[] 0]
[ 0 s[]]
sage: M.det()
s[]
sage: M.is_invertible()
True
sage: M.inverse()
...
AttributeError: 'SymmetricFunctionAlgebra_schur_with_category' object
has no attribute 'fraction_field'
sage: M = Matrix([[one]])
...
AttributeError: 'tuple' object has no attribute 'parent'
sage: M*M
[s[] 0]
[ 0 s[]]
sage: SteenrodAlgebra(7)
mod 7 Steenrod algebra, milnor basis
sage: A = SteenrodAlgebra(7)
sage: M = Matrix([[A.one(), A.zero()], [A.zero(), A.one()]])
sage: M^2
[1 0]
[0 1]
sage: M.inverse()
AttributeError: 'SteenrodAlgebra_generic_with_category' object has no
attribute 'fraction_field'
}}}
For the curious, defining a fraction_field for these rings is not
enought. The good fix should be more serious than that.
********************************************
Fixing the scalar multiplication will perhaps fix linear algebra... Its
works when I defined my own action of the coefficients on linear
combination but It did break the rest of Sage (all parts of Sage using the
RingElement class).
Currently I manage linear algebra on Combinatorial Free Modules just with
horrible hacks.
Good chance since It goes further than my current skills with Sage core
features...
--
Ticket URL: <http://trac.sagemath.org/ticket/18756#comment:20>
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.