MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Not quite a Swell FLOOP?

  • To: mathgroup at
  • Subject: [mg37456] Re: [mg37430] Not quite a Swell FLOOP?
  • From: Andrzej Kozlowski <andrzej at>
  • Date: Thu, 31 Oct 2002 04:40:49 -0500 (EST)
  • Sender: owner-wri-mathgroup at

On Wednesday, October 30, 2002, at 07:12 AM, Steven T. Hatton wrote:

>> object oriented programming. In particular:
>>>  The
>>> very statement that 'a tensor is a geometric object which remains
>>> invariant
>>> under coordinate trasfromations' screams OOP to me.
>> That's really just a matter of choosing how you think about these
>> things. I prefer to think of tensors without any reference to
>> coordinate transformations, they are just multi-linear mappings.
> Multi-linear mappings of what?  I mistated the definition a bit.   I 
> should
> have said that a tensor is a geometric object independent of any 
> particular
> coordinate system.  The fact that it's invariant under coordinate
> transformations, is a result of this refined definition.  Nonetheless, 
> the
> concept of a tensor completely void of all coordinate systems is, to 
> me, the
> sound of one hand clapping.

The concept of a vector space needs no mention of any coordinate 
systems. Neither does the concept of a manifold, its tangent bundle or 
a tensor (a section of the "bundle of tensors").  Coordinates are 
obviously useful for doing computations but not the best way to define 
or think about the concepts (or prove theorems). However, this is 
rather far from Mathematica and OOP.

>> However, the situation
>> becomes different when you want to consider tensor algebras as objects
>> in a wider class of of objects, like graded algebras, which in turn 
>> are
>> a subclass of an even wider class of algebras etc. For considering 
>> such
>> kind of hierarchical structures OOP is very useful and that is why
>> programs designed for this purpose, (like Macaulay II) adopt a very
>> much OOP approach.
> This is a bit beyond my current understanding, but it sounds to me 
> that you
> are focusing on the algegraic nature of tensors.  That's certainly an
> interesting area, and for your purposes, objects may not be beneficial.

I think it's the other way round. OOP is beneficial when you have a lot 
of hierarchical structure, so that you want elements of substructures 
to automatically inherit the properties of higher structures, etc. This 
is the main reason why specialized programs like Macaulay II, which is 
intended for the study of such hierarchical structures in Algebraic 
Geometry, tend to be very OO. By contrast Mathematica leaves the 
"structures" you are dealing with implicit. In Macauly II a symbol like 
x is always an element of some structure (usually some kind of ring) 
but in Mathematica its just a symbol. What counts is the functions that 
you define. Both approaches have their advantages, but for a *general 
purpose* science and mathematics program the Mathematica approach seems 
the right one to me.

> A place I believe OOP would naturally benefit Mathematica is in the 
> area of
> XML and particularly implementing the DOM IDL.  There seem to be some
> problems with Mathematica's XML implementation.  I suspect a good OOP
> approach might help in preventing some of these problems in the 
> future.  As
> regards implementing the Document Object Model IDL, 'Object'  is it's 
> middle
> name.

Since I know absolutely nothing about this I will diplomatically agree. 
But I am now sure if this XML business is really related to the 
Mathematica programming language?


Andrzej Kozlowski
Yokohama, Japan

  • Prev by Date: Re: Re: Not quite a Swell FLOOP?
  • Next by Date: Re: Combination/Permutation questions
  • Previous by thread: Re: Re: Not quite a Swell FLOOP?
  • Next by thread: RE: line wrapping and good notebook style