[Om3] OpenMath Symbols for Symbolic Computation

Sebastian Freundt hroptatyr at gna.org
Fri Sep 12 11:17:50 CEST 2008



Paul Libbrecht <paul at activemath.org> writes:

> Le 11-sept.-08 à 18:39, Sebastian Freundt a écrit :
>
>>> On Wed, 10 Sep 2008, Peter Horn wrote:
>>>> (1) There is no reasonable representation for matrices.
>>>>    (We developed a 'matrix1' CD, if you are interested, we'd love to
>>>> moot it.)
>>> David Carlisle commented on this, but I'd like to see your matrix1
>>> to see
>>> what sort of functionality you thought was wanted.
>>
>> Hi James,
>> for one, NONE of the provided matrix CDs actually define matrices
>> (from an
>> algebraic point of view), a matrix is just an element of a matrix
>> algebra
>> or, more generally, a specific representation of a linear mapping,
>> so it's
>> an element of Hom(R,S), R,S being rings, Hom being the space of
>> mappings
>> that preserve homomorphy.
>
> Honestly, this is a linear mapping, not a matrix, at least to what I
> was educated in.
> A matrix has a notion of being an array so associating the matrix to
> an element of Hom(R,S) actually requires a basis.
>
> See what Wikipedia says of it:
>   http://en.wikipedia.org/wiki/Matrix_(mathematics)
> from there both the German and French versions tend to coincide: it is
> a table of ring-elements.
>
> I would agree with an element Hom(R^k, S^k) maybe, then it is the same
> notion.

Yeah, sorry, I had to write the mail about 10 times because of this
gmane-gateway.  I meant R,S being modules of course.  And yes, you need a
basis.  Admittedly, and that's exactly what I'm arguing for, additional
information are mandatory.  Specifically, our CD is actually a compromise
and we limit to the case where R,S are both M-modules, so you have to
(at least) specify the ground domain (as we call it) M.

>>> From a computational POV, it is quite essential to know the parent
>> structure (the space where the element lives) upfront, because
>> usually you
>> equip your parent structures with certain methods (comparison,
>> addition,
>> etc.) and not the elements themselves.
>
> But when you define a function only the very eager people define their
> domain and range well!
> (I agree it's best practice!).
>
>> Well, and then we were thinking it's better to start over with a
>> fully-fledged CD instead of, um, `improving' the existing ones.
>
> Maybe you have a biassed interpretation?

Sure. We want to work with matrices (and other objects) in computer
algebra systems, and as you can imagine it's hard to guess (from the CAS'
POV) what the user is trying to tell us when even the most basic
information is missing.

For instance, as you can see in the examples of our CD we allow to
specify, say, Q as ground domain and act as if <OMI>1</OMI> was an element
of Q.  If you omitted that information, the CAS could/would interpret such
a matrix as one over Z (or over C or whatever), however that decision has
a critical impact when it comes to computing, say, the inverse matrix.

> Please be aware that "just inventing a CD" is an easy game (as per the
> freedom of OpenMath!) but maintaining it and getting it used by
> interoperating systems or converging authors tends to be a rather more
> difficult task!

Point taken.  But I regard myself as a user of openmath, not an author of
OM CDs, so I'm up for anything that fits my needs.

Sebastian



More information about the Om3 mailing list