axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Re: Units and dimensions


From: Martin Rubey
Subject: Re: [Axiom-developer] Re: Units and dimensions
Date: 19 Aug 2006 14:56:47 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

C Y <address@hidden> writes:

> --- Ralf Hemmecke <address@hidden> wrote:

> > Once you have these dimension domains, you could form an algebra with them,
> > ehm, a abelian group, of course. No, no, there are still no
> > coefficients. So with that "abelian group" you cannot express 3m or 6s.
> > All you could do is to express, what you probably called "derived
> > dimensions".
> 
> Right.
> 
> > So Length, Length*Time^(-1) etc. are examples for such 
> > monomials.
> 
> That's where I get in trouble.  (Well, one of the places.)  Length IS
> basic in the SI system, but Length/Time is a different dimension from
> Length OR Time and is not basic.  It's COMPOSED of basic dimensions,
> but that could be said of every derived dimension in a complete system.

I think what Ralf meant is that the *derived* dimensions form a group, not the
basic dimensions.

> However, Length/Time^2 * Time^2 is composed of two derived dimensions -
> Length/Time^2 and Time^2 - but will simplify to a basic dimension.  I was
> thinking some kind of conditional definition of type output for those
> operators - if the resulting dimensional expression is in the basic
> dimensions list for the system, return type BasicDimension, else the result
> is a DerivedDimension.

No, the concept here is called "retract". You'd have an operation

retractIfCan: DerivedDimension -> Union("failed", BasicDimension)

(I know, Ralf, that you hate that return type, but so far we don't have
Partial...)

just as an operation

coerce: BasicDimension -> DerivedDimension

In Axiom there are categories for these operations, by the way.


 
Martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]