Re: sparse objects

On Fri, 12 Oct 2001, Leonardo B. Lopes wrote:

> Thanks Bill! It has been of help. I remember this CD from my last ventures
> into this realm. It is not exactly what we are looking for, but it is a
> great start. I should say our primary focus is on communicating these
> objects and using other systems to collaborate in the computation. Would
> you expect the MathML-enabled tools to be able to understand an object
> designed with the directives you pointed out?

When you say the "directives you pointed out", I take it you are referring
to the "semantics/csymbol" elements which reference OpenMath CDs. I don't
know of any MathML-enabled tools which deal with these 'referencing
elements' at present, in fact the tools would need to be specific to the
objects which where being referenced. I think that OpenMath is too young
at present, at least the linalg5 CD is (I only wrote it a bit over a year
ago!), to have many applications written for it. However one of the
projects I am currently involved in deals with translation of content
MathML to Aldor objects. There is already some translation from content
MathML to Maple, but I don't think this deals with these
elements. Personally I thik that we may need to wait a while before the
full implementation of these tools.

> 
> I suppose if we needed to write a small Mathematica/Maple library to
> convert the MathML representation we create to something they understand,
> that is an acceptable compromise. It sort of defeats the point of having a
> standard in some sense, but as long as we are writing the objects in some 
> semblance of MathML, it is better than doing it directly in a Mathematica 
> or Maple-specific way. Hopefully after some time our approach and others
> might compete and a de facto standard might emerge.

So what you require are the equivalent of the OpenMath "phrase books" for
MathML. The way I see it, these objects must be application specific. I
guess that the issue you make about standards is not so much a problem,
because the standard that you have is the MathML/OpenMath standard (so
long as you stick to the standard Openmath CDs or have a private CD at a
well defined URL). The gain that you make by having your objects in a
MathML like form is that you may use certain tools on them which may be
used on MathML objects. Many of these are in their infancy and seem to
deal only with presentation MathML (Amaya, Mozilla, etc.). However the
fact that it is XML means that you may process objects using XSLT scripts,
which is a definite plus (you can't do this to raw Maple or Mathematica
objects).

> 
> The better solution in my view is to have the ability to communicate (at
> least, maybe also present) sparse matrices using MathML directly, or at
> least have a "MathML-blessed" way of organizing tuples into sparse
> objects. 

So the "MathML-blessed" technique I would use, might utilise a semantics
element in the following way:
given some CD (sparse_matrices) with a symbol matrix, which took
arguments, a list of tuples  of (row position, col position, value) and
dimension (this CD must be written and left somewhere)
 to represent the matrix:

[0 0 5]
[0 7 0]
[0 0 0]

I would use:

<semantics>
 <someNameSpace:mymatrix/>
 <annotation-xml
encoding="OpenMath" xmlns:om="http://url.for.my.CDs/">
  <om:OMA>
    <OMS cd="sparse_matrices" name="matrix"/>
    <OMA>
      <OMS cd="list1" name="list"/>
      <OMA>
        <OMS cd="list1" name="list"/> <!-- the element in the 1st row, 3rd
column -->
        <OMI>1</OMI>
        <OMI>3</OMI>
        <OMI>5</OMI>
      </OMA>
      <OMA>
        <OMS cd="list1" name="list"/> <!-- the element in the 2nd row, 2nd
column -->
        <OMI>2</OMI>
        <OMI>2</OMI>
        <OMI>7</OMI>
      </OMA>
    </OMA>
    <OMI>3</OMI> <!-- the row dimension -->
    <OMI>3</OMI> <!-- the column dimension -->
  </om:OMA>
 </annotation-xml>
</semantics>

as an example, of course the phrase-book/tool that would receive (and
produce) this would need to understand the semmantics and syntax of the
symbol being used.

> If I wanted to collaborate in making that happen, what steps
> would be necessary? Is there enough interest out there? Who should we
> contact?

So, I guess that Professor J.H.Davenport (jhd@bath.ac.uk) would be a good
contact. I believe he is the person who is in charge of the wellbeing of
the official CDs at present. When I first came to the University of
Western Ontario (about a year ago), there was some talk about writing a
sparse matrix CD here, but nothing came of it. Professor S.W. Watt
(watt@orcca.on.ca) would be the person to contact over here. Maybe the
next official version of OpenMath could contain some symbol for these
objects, you have shown that the demand is out there :-)

I wish you luck,

Bill Naylor.

-- 

Received on Saturday, 13 October 2001 16:25:36 UTC