axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Unit package question


From: Martin Rubey
Subject: Re: [Axiom-developer] Unit package question
Date: Tue, 23 Aug 2005 18:08:14 +0200

William Sit writes:

 > The complications of units come from the conversion factors, which are 
 > generally
 > floating point numbers (and dimensionless). This would be ok if we only deal
 > with numerical quantities. For symbolic quantities, it is the dimensions that
 > are more important and conversion factors (not to be confused with universal
 > physical constants) are seldom used, and universal physical constants are 
 > often
 > denoted by a symbol (such as "g" for acceleration due to gravity) without 
 > units.
 > Thus we should leave symbolic computed expressions alone (that is, in the 
 > set S,
 > even though it is actually in some domain of UnitSystem(S), see below).
 
...

 > A representation for any of the domains of unitMass(s:S) would be
 >  
 >    Rep:= Record(value:S, dim:Dimension)
 >
 > where Dimension would be 
 > 
 >   Dimension:=Union("Mass", "Length", ...)

This would not allow for Length/Time

 > We need a way to include universal constants, the notation of which depends 
 > on
 > the set S.
 > 
 > if S has Field then
 >   unitAcceleration(dv:%, t:%):% == [dv/t, "Acceleration"]$Rep
 >   if S has RetractableTo(Symbol) then
 >     accelerationDueGravity == ['g:Symbol::S, "Acceleration"]$Rep
 > 
 > If S does not have RetractableTo(Symbol), for example S is Float, then we
 > can use a specific constant such as 9.81 depending on the domain
 > %:UnitSystem instead of a symbol g.


This is a nice idea. However, very probably we also need the case of S being
Fraction Integer. So, as I said in my previous post, we may need to allow for a
scalar factor of domain EXPR INT to accomodate constants which cannot be thrown
into S, thus we'd have

  Rep:= Record(value:S, constant: Constant, dim:Dimension)

where Constant would be something like Fraction Polynomial Integer, with all
coefficients equal to one...

Martin






reply via email to

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