On Wed, Aug 12, 2009 at 12:53 AM, Fredrik
Johansson<fredrik.johans...@gmail.com> wrote:
>
> On Wed, Aug 12, 2009 at 9:19 AM, William Stein<wst...@gmail.com> wrote:
>>
>> On Wed, Aug 12, 2009 at 12:11 AM, Fredrik
>> Johansson<fredrik.johans...@gmail.com> wrote:
>>>
>>> On Wed, Aug 12, 2009 at 8:44 AM, William Stein<wst...@gmail.com> wrote:
>>>>
>>>> On Tue, Aug 11, 2009 at 11:30 PM, Jason
>>>> Grout<jason-s...@creativetrax.com> wrote:
>>>>>
>>>>> William Stein wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I just wanted to let people know that David Ackerman -- a UW student who
>>>>>> took my course on Sage last quarter -- is working (funded by NSF) on
>>>>>> creating a "units package" for Sage right _now_.  If anybody has any
>>>>>> pseudo-sage code that involves units that they wished work, please post
>>>>>> it to this thread. What do you want units to *do*?
>>>>>>
>>>>>
>>>>> Is he doing something from scratch or is he working from the packages
>>>>> that have come up from time to time here?
>>>>
>>>> He is doing something from scratch.
>>>>
>>>> I had planned to have him work on integrating some existing package,
>>>> but after evaluating that approach he said it didn't seem to make
>>>> sense (at least he has a lot of experience using Sage, since he took
>>>> my class).   I didn't have an opinion one way or the other, but we
>>>> decided to ask -- "what is a so called units package supposed to do
>>>> anyways" since I honestly couldn't really tell you.  I would use one
>>>> to convert between Fahrenheit and Celcius, and maybe dollars and euros
>>>> :-).   We google around and found that Matlab didn't seem to come with
>>>> a units package, but there were several third party packages -- anyway
>>>> Sage isn't much like Matlab so looking there seemed pointless.  Then
>>>> we looked at Mathematica's included units package and read all the
>>>> documentation and examples of it.    That was enlightening, and
>>>> suggested doing almost precisely what Robert Dodier keeps telling us
>>>> to do, which is make the different units just be symbolic variables,
>>>> plus have some extra table somewhere of conversions (where everything
>>>> is kept as exact fractions), and add a few functions to do
>>>> conversions.
>>>
>>> +1 on this design.
>>>
>>> It's similar to what sympy does, except sympy always expands units to
>>> multiples of base units.
>>
>> Sage definitely will not always expand units to multiples of base
>> units.  Some backward people in the world like to work with miles and
>> feet... :-)
>
> Agreed. Even in the metric parts of the world, non-SI units are
> standard in fields like particle physics and astronomy.
>
> On a related note, it would be handy to have a function that
> automatically converts a given quantity to the simplest possible unit:
> for example kg*m/s^2 -> N and kg*m/(A*s^3) -> V/m.
>
> Of course, the "simplest possible unit" isn't uniquely defined, so
> such a function probably requires additional parameters. You have to
> decide on the set of base units, and derived units are not unique (for
> example V/m = N/C).
>
> It would perhaps be sufficient if convert accepts partial units so
> that (kg*m/(A*s^3)).convert(V) -> V/m, but I'd expect convert to raise
> an exception when given incompatible units, so it's not quite the same
> thing.

In Mathematica the Convert function simply raises a nice clean error
when the units aren't compatible.  I think the Sage function should
behave similarly.

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to