9 views

Skip to first unread message

Jul 19, 2008, 6:10:29 PM7/19/08

to sage-devel

Hello:

It has come to my attention that SAGE does not have a units-conversion

program component (maybe it has; if it does, please show me). I

recommend adding the GPLed unit conversion program called ConvertAll

(http://www.convertall.bellz.org/) I believe it is written with

Python, so integration of it into SAGE should not be too difficult.

It seems that SAGE is also missing a geometry sketchpad component. It

would be nice to add the GPLed 2D/3D geometry sketchpad program known

as Geogebra (http://www.geogebra.org).

Finally, there is a very good graphing program known as K3DSurf

(http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

models. Please consider adding this program into SAGE as well.

Thanks for hearing my suggestions,

Please reply,

-q10

It has come to my attention that SAGE does not have a units-conversion

program component (maybe it has; if it does, please show me). I

recommend adding the GPLed unit conversion program called ConvertAll

(http://www.convertall.bellz.org/) I believe it is written with

Python, so integration of it into SAGE should not be too difficult.

It seems that SAGE is also missing a geometry sketchpad component. It

would be nice to add the GPLed 2D/3D geometry sketchpad program known

as Geogebra (http://www.geogebra.org).

Finally, there is a very good graphing program known as K3DSurf

(http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

models. Please consider adding this program into SAGE as well.

Thanks for hearing my suggestions,

Please reply,

-q10

Jul 19, 2008, 6:39:59 PM7/19/08

to sage-...@googlegroups.com

On Sat, Jul 19, 2008 at 6:10 PM, q10 <benso...@gmail.com> wrote:

>

> Hello:

>

> It has come to my attention that SAGE does not have a units-conversion

> program component (maybe it has; if it does, please show me). I

> recommend adding the GPLed unit conversion program called ConvertAll

> (http://www.convertall.bellz.org/) I believe it is written with

> Python, so integration of it into SAGE should not be too difficult.

>

> Hello:

>

> It has come to my attention that SAGE does not have a units-conversion

> program component (maybe it has; if it does, please show me). I

> recommend adding the GPLed unit conversion program called ConvertAll

> (http://www.convertall.bellz.org/) I believe it is written with

> Python, so integration of it into SAGE should not be too difficult.

From the above webpage:

"ConvertAll is free software; you can redistribute it and/or modify it

under the terms of the GNU General Public License as published by the

Free Software Foundation; either Version 2 of the License, or (at your

option) any later version.

...

ConvertAll requires the following libraries:

* Qt (Version 4.1 or higher - see Trolltech for more information)

* Python (Version 2.3 or higher)

* PyQt (Version 4.0 or higher - see Riverbank for more information)"

Requiring Qt might be a problem. However, I don't see why a units-conversion

package requires a graphics library like Qt. Indeed, the web site says

"Command line options are available to do conversions without the GUI."

>

> It seems that SAGE is also missing a geometry sketchpad component. It

> would be nice to add the GPLed 2D/3D geometry sketchpad program known

> as Geogebra (http://www.geogebra.org).

This has been discussed before. I think it has serious licensing

incompatibility issues and also uses java.

>

> Finally, there is a very good graphing program known as K3DSurf

> (http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

> models. Please consider adding this program into SAGE as well.

Were you able to download and compile the source code for this?

The website (or my computer) was very slow for me, so I gae up looking.

If you did so, what OS did you use? Do you know the license for k3dsurf?

Jul 19, 2008, 6:49:40 PM7/19/08

to sage-devel

On Jul 19, 3:39 pm, "David Joyner" <wdjoy...@gmail.com> wrote:

> On Sat, Jul 19, 2008 at 6:10 PM, q10 <benson1...@gmail.com> wrote:

>

> > Hello:

>

> > It has come to my attention that SAGE does not have a units-conversion

> > program component (maybe it has; if it does, please show me). I

> > recommend adding the GPLed unit conversion program called ConvertAll

> > (http://www.convertall.bellz.org/) I believe it is written with

> > Python, so integration of it into SAGE should not be too difficult.

>

> From the above webpage:

>

> "ConvertAll is free software; you can redistribute it and/or modify it

> under the terms of the GNU General Public License as published by the

> Free Software Foundation; either Version 2 of the License, or (at your

> option) any later version.

>

> ...

>

> ConvertAll requires the following libraries:

>

> * Qt (Version 4.1 or higher - see Trolltech for more information)

Qt itself is currently considered a deal breaker in the core of Sage
>

> > Hello:

>

> > It has come to my attention that SAGE does not have a units-conversion

> > program component (maybe it has; if it does, please show me). I

> > recommend adding the GPLed unit conversion program called ConvertAll

> > (http://www.convertall.bellz.org/) I believe it is written with

> > Python, so integration of it into SAGE should not be too difficult.

>

> From the above webpage:

>

> "ConvertAll is free software; you can redistribute it and/or modify it

> under the terms of the GNU General Public License as published by the

> Free Software Foundation; either Version 2 of the License, or (at your

> option) any later version.

>

> ...

>

> ConvertAll requires the following libraries:

>

> * Qt (Version 4.1 or higher - see Trolltech for more information)

> * Python (Version 2.3 or higher)

> * PyQt (Version 4.0 or higher - see Riverbank for more information)"

>

> Requiring Qt might be a problem. However, I don't see why a units-conversion

> package requires a graphics library like Qt. Indeed, the web site says

>

> "Command line options are available to do conversions without the GUI."

introduce a massive amount of overhead for something that should be a

nice and self contained little library.

>

> > It seems that SAGE is also missing a geometry sketchpad component. It

> > would be nice to add the GPLed 2D/3D geometry sketchpad program known

> > as Geogebra (http://www.geogebra.org).

>

> This has been discussed before. I think it has serious licensing

> incompatibility issues and also uses java.

> > Finally, there is a very good graphing program known as K3DSurf

> > (http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

> > models. Please consider adding this program into SAGE as well.

>

> Were you able to download and compile the source code for this?

> The website (or my computer) was very slow for me, so I gae up looking.

> If you did so, what OS did you use? Do you know the license for k3dsurf?

>

>

>

> > Thanks for hearing my suggestions,

> > Please reply,

> > -q10

Michael

Jul 19, 2008, 8:44:15 PM7/19/08

to sage-...@googlegroups.com

David Joyner wrote:

> On Sat, Jul 19, 2008 at 6:10 PM, q10 <benso...@gmail.com> wrote:

>> Hello:

>>

>> It has come to my attention that SAGE does not have a units-conversion

>> program component (maybe it has; if it does, please show me). I

>> recommend adding the GPLed unit conversion program called ConvertAll

>> (http://www.convertall.bellz.org/) I believe it is written with

>> Python, so integration of it into SAGE should not be too difficult.

>

> From the above webpage:

>

> "ConvertAll is free software; you can redistribute it and/or modify it

> under the terms of the GNU General Public License as published by the

> Free Software Foundation; either Version 2 of the License, or (at your

> option) any later version.

>

> ...

>

> ConvertAll requires the following libraries:

>

> * Qt (Version 4.1 or higher - see Trolltech for more information)

> * Python (Version 2.3 or higher)

> * PyQt (Version 4.0 or higher - see Riverbank for more information)"

>

> Requiring Qt might be a problem. However, I don't see why a units-conversion

> package requires a graphics library like Qt. Indeed, the web site says

>

> "Command line options are available to do conversions without the GUI."

>

> On Sat, Jul 19, 2008 at 6:10 PM, q10 <benso...@gmail.com> wrote:

>> Hello:

>>

>> It has come to my attention that SAGE does not have a units-conversion

>> program component (maybe it has; if it does, please show me). I

>> recommend adding the GPLed unit conversion program called ConvertAll

>> (http://www.convertall.bellz.org/) I believe it is written with

>> Python, so integration of it into SAGE should not be too difficult.

>

> From the above webpage:

>

> "ConvertAll is free software; you can redistribute it and/or modify it

> under the terms of the GNU General Public License as published by the

> Free Software Foundation; either Version 2 of the License, or (at your

> option) any later version.

>

> ...

>

> ConvertAll requires the following libraries:

>

> * Qt (Version 4.1 or higher - see Trolltech for more information)

> * Python (Version 2.3 or higher)

> * PyQt (Version 4.0 or higher - see Riverbank for more information)"

>

> Requiring Qt might be a problem. However, I don't see why a units-conversion

> package requires a graphics library like Qt. Indeed, the web site says

>

> "Command line options are available to do conversions without the GUI."

>

Enthought also has a units python module, which might be interesting to

look at. It's not very well documented, though.

>

>> It seems that SAGE is also missing a geometry sketchpad component. It

>> would be nice to add the GPLed 2D/3D geometry sketchpad program known

>> as Geogebra (http://www.geogebra.org).

>

> This has been discussed before. I think it has serious licensing

> incompatibility issues and also uses java.

>

>> Finally, there is a very good graphing program known as K3DSurf

>> (http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

>> models. Please consider adding this program into SAGE as well.

>

> Were you able to download and compile the source code for this?

> The website (or my computer) was very slow for me, so I gae up looking.

> If you did so, what OS did you use? Do you know the license for k3dsurf?

k3dsurf is a standard package that can be installed on ubuntu through

the package manager. It is nice, but I think it's a kde thing, which

would be a problem on Mac OSX, Windows, and other platforms we do or

would like to support.

Jason

Jul 20, 2008, 5:58:13 AM7/20/08

to sage-...@googlegroups.com

From the ConvertAll webpage: "Why write another unit converter? There

are plenty of them out there. Well, I couldn't find one that worked

quite the way I wanted.

With ConvertAll, you can combine the units any way you want. If you

want to convert from inches per decade, that's fine. Or from

meter-pounds. Or from cubic nautical miles. The units don't have to

make sense to anyone else."

The justification for ConvertAll would be exactly the justification for us to

*not* use it in Sage, i.e., for Sage unit conversion we would surely want

something that works well in the context of sage itself, e.g., the coercion

model, symbolic calculus, etc. Whatever unit conversion sage eventually

gets, it will have to be done probably as a bunch of new code that might

use something like ConvertAll or enthought's unit code to do some of

the real work behind the scenes. I think something like this will happen

when a student comes to me (or whoever) asking for a several-months

long Sage development project, and unit conversion is something they

find interesting. It's the sort of thing where one would have to:

(a) research exactly what Maple, Mathematica, and Matlab do

(b) come up with a SEP inspired by (a) for Sage, and get it

discussed on sage-devel,

(c) survey the range of existing unit conversion libraries to see

if any are helpful in implementing (b).

(d) implement something.

-- William

Jul 20, 2008, 6:06:40 AM7/20/08

to sage-...@googlegroups.com

>>> It seems that SAGE is also missing a geometry sketchpad component. It

>>> would be nice to add the GPLed 2D/3D geometry sketchpad program known

>>> as Geogebra (http://www.geogebra.org).

>>

>> This has been discussed before. I think it has serious licensing

>> incompatibility issues and also uses java.

>>> would be nice to add the GPLed 2D/3D geometry sketchpad program known

>>> as Geogebra (http://www.geogebra.org).

>>

>> This has been discussed before. I think it has serious licensing

>> incompatibility issues and also uses java.

Making it easy to include Geogebra based applets in the Sage notebook

would be a worthwhile thing to do, and I'm sure can be done in a way that

avoids licensing problems. The Geogebra project itself is confused

about software licenses -- they write on their download page "You are

free to copy, distribute and transmit GeoGebra for non-commercial

purposes. Please see the GeoGebra license for details." The license

itself on code is according

to the license:"GeoGebra's source code is subject to the GNU General

Public License:" So in fact they cannot restrict its use to

non-commercial

purposes. I'll write to the project for clarification in a moment.

The fact that Geogebra applets use java is certainly not a show stopper

for them having something to do with Sage, since jmol also uses java.

It might make a lot of sense e.g., to have an optional geogebra spkg

that makes it trivial for people to create a bunch of geogebra applets

in the sage notebook...

>>> Finally, there is a very good graphing program known as K3DSurf

>>> (http://k3dsurf.sourceforge.net/) that makes very good 3D/4D/5D graph

>>> models. Please consider adding this program into SAGE as well.

>>

>> Were you able to download and compile the source code for this?

>> The website (or my computer) was very slow for me, so I gae up looking.

>> If you did so, what OS did you use? Do you know the license for k3dsurf?

>

>

> k3dsurf is a standard package that can be installed on ubuntu through

> the package manager. It is nice, but I think it's a kde thing, which

> would be a problem on Mac OSX, Windows, and other platforms we do or

> would like to support.

k3dsurf is a kde gui program, hence completely unsuitable for inclusion

in Sage. Plus sage already has 3d surface plotting.

William

Jul 20, 2008, 2:36:38 PM7/20/08

to sage-devel

William Stein wrote:

> The justification for ConvertAll would be exactly the justification for us to

> *not* use it in Sage, i.e., for Sage unit conversion we would surely want

> something that works well in the context of sage itself, e.g., the coercion

> model, symbolic calculus, etc.

FWIW I've been working on a units package for Maxima (ezunits)
> The justification for ConvertAll would be exactly the justification for us to

> *not* use it in Sage, i.e., for Sage unit conversion we would surely want

> something that works well in the context of sage itself, e.g., the coercion

> model, symbolic calculus, etc.

which exploits its symbolic functions to make working with units

convenient, extensive, and flexible. I claim to have gotten some

useful & interesting code at this point.

A dimensional quantity like 10 meters is represented as 10 ` m,

i.e. a Maxima expression with the operator ` and arguments 10 and m.

As usual (for the most part) Maxima carries along such expressions

when they appear in algebraic operations, which leaves the door open

for us to define results appropriate for dimensional quantities.

E.g. product of dimensional quantities => product of nondimensional

parts times product of units. Unit conversions are indicated by

the `` operator, e.g. 10 ` m `` ft => 12500/381 ` ft. Units are

converted by constructing and solving a system of linear equations

(after taking logarithms).

So far the package as it stands in CVS doesn't have anything beyond

algebra, but I was just trying some calculus operations and it looks

like integrals and derivatives should work OK. E.g. stuff like

diff(x(t) ` m, t ` s) => dx(t)/dt ` m/s,

integrate(v(t) ` m/s, t`s, a`s, b`s) => integrate(v(t), t, a, b) ` m.

I haven't worked out the details yet.

Ezunits also has some functions for dimensional analysis which were

adapted from an existing Maxima package, and also a collection of

physical constants (CODATA 2006) from NIST.

Ezunits exists in previous versions of Maxima but there will be a

substantial revision in the 5.16 release which will appear next month.

Anyway maybe this is some use or interest. Comments on the CVS

version are much appreciated.

Robert Dodier

Jul 20, 2008, 4:52:37 PM7/20/08

to sage-...@googlegroups.com

Since you've clearly been thinking of this from a developer's perspective,

and maybe even spending a lot of time writing code, is there any

chance you could just dump some of your design thoughts in an

email here? As a frame of reference, the last time *I* personally

thought a lot about units was when I was taking a physics course

in 1992, so you can imagine that I'm actually pretty clueless about

what people really want. Some questions:

(1) Are the list of all units one uses pretty standard? Is there

a table, say in Wikipedia, with pretty much all of them? Or do

people make up new units in the course of their work or research?

Obviously I know about converting between fahrenheit

and celcius or between Euros and Dollars -- both are "units"

computations for me, where of course the Euro/Dollar FX

rate varies every second, which is kind of amusing.

(2) Are there *any* difficult algorithms that involve units or is this

mostly a notational and representation problem plus some algebra

and simplification?

(3) Does Maxima, Maple, Mathematica, Matlab or Axiom do anything

particularly cool, surprising or clever involving units?

-- William

Jul 20, 2008, 9:19:00 PM7/20/08

to sage-devel

William Stein wrote:

> Since you've clearly been thinking of this from a developer's perspective,

> and maybe even spending a lot of time writing code, is there any

> chance you could just dump some of your design thoughts in an

> email here?

I'll try to come up with some coherent description & post it here.
> Since you've clearly been thinking of this from a developer's perspective,

> and maybe even spending a lot of time writing code, is there any

> chance you could just dump some of your design thoughts in an

> email here?

> (1) Are the list of all units one uses pretty standard? Is there

> a table, say in Wikipedia, with pretty much all of them? Or do

> people make up new units in the course of their work or research?

relatively small set of units which are conventional for the field.

The union of all units in all fields is fairly extensive though.

Any computerized units system would have to include the SI units.

Beyond that, there are so-called customary units (feet, pounds, etc)

which are still widely used in the US; I am not aware of other non-SI

systems in extensive use. I think it's fairly common to see semi-SI

units such as MJ/day or mg/kg. I think it's common enough to invent

to invent new units like those for convenience.

The implication, to me, is that any units system has to be easily

extensible, since it's likely that random users would want units

that escaped our notice.

> (2) Are there *any* difficult algorithms that involve units or is this

> mostly a notational and representation problem plus some algebra

> and simplification?

complex operation in the ezunits package is to solve a system of

linear equations. Most of the fun seems to be in the notation and

representation. Maybe there would be some interesting algebra

problems if only I had more imagination.

> (3) Does Maxima, Maple, Mathematica, Matlab or Axiom do anything

> particularly cool, surprising or clever involving units?

the way of units, but from what I have seen, there is nothing very

exciting. Which is OK --- something boring which just works right

would be very useful.

FWIW

Robert Dodier

Jul 20, 2008, 9:36:36 PM7/20/08

to sage-...@googlegroups.com, Tim Lahey

On Jul 20, 2008, at 9:19 PM, Robert Dodier wrote:

>

> William Stein wrote:

>> (3) Does Maxima, Maple, Mathematica, Matlab or Axiom do anything

>> particularly cool, surprising or clever involving units?

>

> I have looked around to see what Maple and Mathematica have in

> the way of units, but from what I have seen, there is nothing very

> exciting. Which is OK --- something boring which just works right

> would be very useful.

>

> William Stein wrote:

>> (3) Does Maxima, Maple, Mathematica, Matlab or Axiom do anything

>> particularly cool, surprising or clever involving units?

>

> I have looked around to see what Maple and Mathematica have in

> the way of units, but from what I have seen, there is nothing very

> exciting. Which is OK --- something boring which just works right

> would be very useful.

I've used the Maple units package and it works fairly well for most

of the calculations I've done with it. It's an add-on package but is

still useful enough to handle most things I've thrown at it. The biggest

problem I've had is the appropriation of symbols for use in units when

I've wanted to use them for something else. The best example is

the use of A for amps when I wanted to use A to represent an area.

Cheers,

Tim Lahey

---

Tim Lahey

PhD Candidate, Systems Design Engineering

University of Waterloo

Jul 20, 2008, 11:14:28 PM7/20/08

to sage-...@googlegroups.com, sage-...@googlegroups.com

>I have looked around to see what Maple and Mathematica have in

>the way of units, but from what I have seen, there is nothing very

>exciting. Which is OK --- something boring which just works right

>would be very useful.

>the way of units, but from what I have seen, there is nothing very

>exciting. Which is OK --- something boring which just works right

>would be very useful.

Frink is the standard for unit conversion.

<http://futureboy.homeip.net/frinkdocs>

I cannot find any mention of a license.

It seems to be implemented in Java.

Tim

Jul 20, 2008, 10:17:12 PM7/20/08

to sage-...@googlegroups.com

On Sun, Jul 20, 2008 at 11:14 PM, root <da...@axiom-developer.org> wrote:

>

>>I have looked around to see what Maple and Mathematica have in

>>the way of units, but from what I have seen, there is nothing very

>>exciting. Which is OK --- something boring which just works right

>>would be very useful.

>

> Frink is the standard for unit conversion.

> <http://futureboy.homeip.net/frinkdocs>

>

> I cannot find any mention of a license.

>

>>I have looked around to see what Maple and Mathematica have in

>>the way of units, but from what I have seen, there is nothing very

>>exciting. Which is OK --- something boring which just works right

>>would be very useful.

>

> Frink is the standard for unit conversion.

> <http://futureboy.homeip.net/frinkdocs>

>

> I cannot find any mention of a license.

At http://futureboy.us/frinkdocs/faq.html under the heading "Philosophy"

there is the question "Why isn't this open source?"

Jul 21, 2008, 11:15:29 AM7/21/08

to sage-devel

Tim Lahey wrote:

> I've used the Maple units package and it works fairly well for most

> of the calculations I've done with it. It's an add-on package but is

> still useful enough to handle most things I've thrown at it. The biggest

> problem I've had is the appropriation of symbols for use in units when

> I've wanted to use them for something else. The best example is

> the use of A for amps when I wanted to use A to represent an area.

Yeah, I've thought about that ... I think it would be possible in
> I've used the Maple units package and it works fairly well for most

> of the calculations I've done with it. It's an add-on package but is

> still useful enough to handle most things I've thrown at it. The biggest

> problem I've had is the appropriation of symbols for use in units when

> I've wanted to use them for something else. The best example is

> the use of A for amps when I wanted to use A to represent an area.

Maxima

at least to prevent evaluation of units (so you could assign something

to A and still have A appear as a symbol in units), but that would

also

prevent stuff like ev(12 ` goats + 5 ` sheep, goats = sheep/2), i.e.

evaluate w/ some conversion indicated by binding goats to a value.

Maybe that kind of assignment is less important than preventing

unintended evaluation of units symbols. Undecided at this point.

best

Robert Dodier

Jul 21, 2008, 11:22:53 AM7/21/08

to sage-devel

I dunno. I looked at that and it seems like some standard conversion

stuff wrapped in a reimplementation of various wheels ...

Frink would work a lot better as a Python package, or Maxima for that

matter, although ezunits covers most of the stuff covered by Frink.

One thing that I hadn't thought about before is the conversion of time

units (timezones). It's fairly tricky to get it right, and it's widely

useful.

FWIW

Robert Dodier

stuff wrapped in a reimplementation of various wheels ...

Frink would work a lot better as a Python package, or Maxima for that

matter, although ezunits covers most of the stuff covered by Frink.

One thing that I hadn't thought about before is the conversion of time

units (timezones). It's fairly tricky to get it right, and it's widely

useful.

FWIW

Robert Dodier

Jul 21, 2008, 12:32:23 PM7/21/08

to sage-devel

Hi, I've followed this thread and I also want to point out my ideas

about units. I think (altough never implemented) the best way is some

kind of intelligent wrapper around a value. This wrapper is able to

work with other unit wrappers and is more or less "transparent" to

other calculations or returns new unit wrappers as the situation

requires.

It's important to understand, that units are not just values in a

table, because they can be built up upon other more basic values: e.g.

a division of two units returns another unit or two different units

can be added in some cases, in others not. I've not thought about the

details, but this behaviour is something I've seen before: I have an

old HP 48/49 pocket calculator that is able to work with units in that

way.

So, in this sense units are a new kind of number that wraps basic

numbers, intervals or symbolic expressions.

Maybe, it should also be possible to work with units without a value.

In applied physics and engeneering, sometimes it is nice to check a

formula just by inserting the units. e.g.

>>> f(a,b,c) = ...

>>> f(Unit('kg'), Unit('s')^2, Unit('m')^2) is Unit('ampere')

True

Harald

about units. I think (altough never implemented) the best way is some

kind of intelligent wrapper around a value. This wrapper is able to

work with other unit wrappers and is more or less "transparent" to

other calculations or returns new unit wrappers as the situation

requires.

It's important to understand, that units are not just values in a

table, because they can be built up upon other more basic values: e.g.

a division of two units returns another unit or two different units

can be added in some cases, in others not. I've not thought about the

details, but this behaviour is something I've seen before: I have an

old HP 48/49 pocket calculator that is able to work with units in that

way.

So, in this sense units are a new kind of number that wraps basic

numbers, intervals or symbolic expressions.

Maybe, it should also be possible to work with units without a value.

In applied physics and engeneering, sometimes it is nice to check a

formula just by inserting the units. e.g.

>>> f(a,b,c) = ...

>>> f(Unit('kg'), Unit('s')^2, Unit('m')^2) is Unit('ampere')

True

Harald

Jul 21, 2008, 3:42:50 PM7/21/08

to sage-...@googlegroups.com

I've been planning on implementing this in symbolics for a while (and

I have a prototype based on the old system somewhere). There is no

need for wrappers because you can just treat the units as unevaluated

symbolic variables, and do substitution as needed to convert between

unit systems.

I have a prototype based on the old system somewhere). There is no

need for wrappers because you can just treat the units as unevaluated

symbolic variables, and do substitution as needed to convert between

unit systems.

Jul 21, 2008, 10:00:34 PM7/21/08

to sage-devel

On Jul 20, 2:58 am, "William Stein" <wst...@gmail.com> wrote:

> ... for Sage unit conversion we would surely want

could work in Sage, but I didn't get something I was happy with.

My goal was to get something that used the coercion model. I decided

there should be a parent for every combination of unit and base ring,

so if foo were "5 feet" you might see

sage: foo.parent()

Dimension feet over Integer Ring

sage: foo

5 feet

Then there would be coercions between different units of length, etc.;

(and there would also be a conversion to strip off the units):

sage: a

3 in

sage: b

254 mm

sage: a+b

13 in

sage: ZZ(a)

3

sage: ZZ(b)

254

One problem is that polynomials assume that the variable is

dimensionless. For instance, it would be nice to have something like

this work:

sage: a

9.8 m/s^2

sage: v

35 m/s

sage: t = polygen(...)

sage: 1/2 * a * t^2 + v*t

but it can't, because all the coefficients of a polynomial must have

the same parent, but a is an acceleration and v is a velocity.

> (a) research exactly what Maple, Mathematica, and Matlab do

I would suggest also looking at Emacs calc, a scientific calculator

written in Emacs Lisp with arbitrary-precision arithmetic, symbolic

integration, and all sorts of other cool features. That's what I use

for all my unit-conversion needs.

Carl

> ... for Sage unit conversion we would surely want

> something that works well in the context of sage itself, e.g., the coercion

> model, symbolic calculus, etc.

I spent some time a couple of months ago thinking about how units
> model, symbolic calculus, etc.

could work in Sage, but I didn't get something I was happy with.

My goal was to get something that used the coercion model. I decided

there should be a parent for every combination of unit and base ring,

so if foo were "5 feet" you might see

sage: foo.parent()

Dimension feet over Integer Ring

sage: foo

5 feet

Then there would be coercions between different units of length, etc.;

(and there would also be a conversion to strip off the units):

sage: a

3 in

sage: b

254 mm

sage: a+b

13 in

sage: ZZ(a)

3

sage: ZZ(b)

254

One problem is that polynomials assume that the variable is

dimensionless. For instance, it would be nice to have something like

this work:

sage: a

9.8 m/s^2

sage: v

35 m/s

sage: t = polygen(...)

sage: 1/2 * a * t^2 + v*t

but it can't, because all the coefficients of a polynomial must have

the same parent, but a is an acceleration and v is a velocity.

> (a) research exactly what Maple, Mathematica, and Matlab do

written in Emacs Lisp with arbitrary-precision arithmetic, symbolic

integration, and all sorts of other cool features. That's what I use

for all my unit-conversion needs.

Carl

Jul 21, 2008, 10:06:45 PM7/21/08

to sage-devel

On Jul 20, 1:52 pm, "William Stein" <wst...@gmail.com> wrote:

> (1) Are the list of all units one uses pretty standard? Is there

> a table, say in Wikipedia, with pretty much all of them? Or do

> people make up new units in the course of their work or research?

For just day-to-day unit conversion, it would be great to be able to
> (1) Are the list of all units one uses pretty standard? Is there

> a table, say in Wikipedia, with pretty much all of them? Or do

> people make up new units in the course of their work or research?

make up new units and define their conversions; things like "1

gallon_of_paint is 150 feet^2" or "100 paces is 237 feet".

Carl

Jul 22, 2008, 12:26:03 AM7/22/08

to sage-...@googlegroups.com

This is done very often in physics; without this feature I largely

consider any units system useless.

consider any units system useless.

Jul 22, 2008, 6:16:49 AM7/22/08

to sage-...@googlegroups.com

It's also useful because some places use units you've never heard of.

Here in Korea, it's very common to use "pyeong" as a unit of area.

The government wants everyone to use square meters, but still everyone

talks about how big their apartments are in terms of pyeong.

To use Carl's syntax, "1 pyeong is 3.3058 meters^2", or "1 pyeong is

35.586 feet^2".

Also, in Japan, they traditionally use tatami as a unit of area: 1

tatami is 1.62 meters^2. (Except for the parts of Japan where it's 1.82

meters^2: http://en.wikipedia.org/wiki/Tatami)

Dan

--

--- Dan Drake <dr...@mathsci.kaist.ac.kr>

----- KAIST Department of Mathematical Sciences

------- http://math.kaist.ac.kr/~drake

Jul 22, 2008, 6:59:23 AM7/22/08

to sage-devel

Hi,

Another package that can handle units (plus do a lot more) is Konrad

Hinsen's ScientificPython package:

http://dirac.cnrs-orleans.fr/plone/software/scientificpython

It has units (and unit conversion/computation capability). I had asked

about its inclusion a while ago, but there didn't seem to be much

interest.

Duane

Another package that can handle units (plus do a lot more) is Konrad

Hinsen's ScientificPython package:

http://dirac.cnrs-orleans.fr/plone/software/scientificpython

It has units (and unit conversion/computation capability). I had asked

about its inclusion a while ago, but there didn't seem to be much

interest.

Duane

Jul 27, 2008, 11:45:00 PM7/27/08

to sage-...@googlegroups.com

Maybe we should reconsider. There isn't even an optional package of

ScientificPython for sage at present? Is it a good project, good code, etc?

What does it do?

I tried downloading the devel version (released a year ago) and:

teragon-2:ScientificPython-2.7.8 was$ sage -python setup.py install

netCDF not found, the netCDF module will not be built!

If netCDF is installed somewhere on this computer,

please set NETCDF_PREFIX to the path where

include/netcdf.h and lib/netcdf.a are located

and re-run the build procedure.

Traceback (most recent call last):

File "setup.py", line 163, in <module>

headers.append(netcdf_h_file)

NameError: name 'netcdf_h_file' is not defined

teragon-2:ScientificPython-2.7.8 was$

Jul 28, 2008, 7:09:43 AM7/28/08

to sage-devel

On Jul 27, 10:45 pm, "William Stein" <wst...@gmail.com> wrote:

(and maybe the -dev package as well?)

Perhaps it is no longer being actively worked on by the author.

Duane

Aug 1, 2008, 1:07:44 PM8/1/08

to sage-devel

Hi,

I took the liberty of contacting Konrad:

On 28.07.2008, at 13:23, Duane Kaufman wrote:

>Lately there has been chatter on the Sage forums about including a units facility in the

>default install. A few collections have been forwarded, including ScientificPython.

>There were a few concerns raised, such as its dependence on a NetCDF installation, plus

>the fact that not much has happened to it recently.

>Is ScientificPython still being developed? Is there a flag to omit the netCDF

>dependency? Will it build cleanly against numpy?

Yes, yes, and yes. The development site is at

http://sourcesup.cru.fr/projects/scientific-py/

and a public Mercurial archive of the latest developments is available

at

http://dirac.cnrs-orleans.fr/hg/ScientificPython/main/

As you can see, development continues steadily. The 2.7 version line

is compatible with

NumPy, the next "stable" line (2.8) will use NumPy by default. If no

netCDF library is

found during installation, the netCDF interface is not built, so

netCDF is not a strict

dependency.

Hope this helps,

Konrad.

--

---------------------------------------------------------------------

Konrad Hinsen

Centre de Biophysique Moléculaire, CNRS Orléans

Synchrotron Soleil - Division Expériences

Saint Aubin - BP 48

91192 Gif sur Yvette Cedex, France

Tel. +33-1 69 35 97 15

E-Mail: hinsen (at) cnrs-orleans.fr

On Jul 28, 6:09 am, DuaneKaufman <duane.kauf...@gmail.com> wrote:

> On Jul 27, 10:45 pm, "William Stein" <wst...@gmail.com> wrote:

>

>

>

> > On Tue, Jul 22, 2008 at 3:59 AM, DuaneKaufman <duane.kauf...@gmail.com> wrote:

>

> > > Hi,

>

> > > Another package that can handleunits(plus do a lot more) is Konrad

I took the liberty of contacting Konrad:

On 28.07.2008, at 13:23, Duane Kaufman wrote:

>Lately there has been chatter on the Sage forums about including a units facility in the

>default install. A few collections have been forwarded, including ScientificPython.

>There were a few concerns raised, such as its dependence on a NetCDF installation, plus

>the fact that not much has happened to it recently.

>Is ScientificPython still being developed? Is there a flag to omit the netCDF

>dependency? Will it build cleanly against numpy?

Yes, yes, and yes. The development site is at

http://sourcesup.cru.fr/projects/scientific-py/

and a public Mercurial archive of the latest developments is available

at

http://dirac.cnrs-orleans.fr/hg/ScientificPython/main/

As you can see, development continues steadily. The 2.7 version line

is compatible with

NumPy, the next "stable" line (2.8) will use NumPy by default. If no

netCDF library is

found during installation, the netCDF interface is not built, so

netCDF is not a strict

dependency.

Hope this helps,

Konrad.

--

---------------------------------------------------------------------

Konrad Hinsen

Centre de Biophysique Moléculaire, CNRS Orléans

Synchrotron Soleil - Division Expériences

Saint Aubin - BP 48

91192 Gif sur Yvette Cedex, France

Tel. +33-1 69 35 97 15

E-Mail: hinsen (at) cnrs-orleans.fr

On Jul 28, 6:09 am, DuaneKaufman <duane.kauf...@gmail.com> wrote:

> On Jul 27, 10:45 pm, "William Stein" <wst...@gmail.com> wrote:

>

>

>

> > On Tue, Jul 22, 2008 at 3:59 AM, DuaneKaufman <duane.kauf...@gmail.com> wrote:

>

> > > Hi,

>

> > > Hinsen's ScientificPython package:

> > >http://dirac.cnrs-orleans.fr/plone/software/scientificpython

>

> > > It hasunits(and unit conversion/computation capability). I had asked
> > >http://dirac.cnrs-orleans.fr/plone/software/scientificpython

>

Aug 5, 2008, 1:38:15 AM8/5/08

to sage-...@googlegroups.com

On Fri, Aug 1, 2008 at 10:07 AM, DuaneKaufman <duane....@gmail.com> wrote:

>

> Hi,

>

> I took the liberty of contacting Konrad:

>

> On 28.07.2008, at 13:23, Duane Kaufman wrote:

>

>>Lately there has been chatter on the Sage forums about including a units facility in the

>>default install. A few collections have been forwarded, including ScientificPython.

>>There were a few concerns raised, such as its dependence on a NetCDF installation, plus

>>the fact that not much has happened to it recently.

>

>>Is ScientificPython still being developed? Is there a flag to omit the netCDF

>>dependency? Will it build cleanly against numpy?

>

> Yes, yes, and yes. The development site is at

>

> http://sourcesup.cru.fr/projects/scientific-py/

>

> and a public Mercurial archive of the latest developments is available

> at

>

> http://dirac.cnrs-orleans.fr/hg/ScientificPython/main/

>

> As you can see, development continues steadily. The 2.7 version line

> is compatible with

> NumPy, the next "stable" line (2.8) will use NumPy by default. If no

> netCDF library is

> found during installation, the netCDF interface is not built, so

> netCDF is not a strict

> dependency.

>

> Hope this helps,

> Konrad.

>

> Hi,

>

> I took the liberty of contacting Konrad:

>

> On 28.07.2008, at 13:23, Duane Kaufman wrote:

>

>>Lately there has been chatter on the Sage forums about including a units facility in the

>>default install. A few collections have been forwarded, including ScientificPython.

>>There were a few concerns raised, such as its dependence on a NetCDF installation, plus

>>the fact that not much has happened to it recently.

>

>>Is ScientificPython still being developed? Is there a flag to omit the netCDF

>>dependency? Will it build cleanly against numpy?

>

> Yes, yes, and yes. The development site is at

>

> http://sourcesup.cru.fr/projects/scientific-py/

>

> and a public Mercurial archive of the latest developments is available

> at

>

> http://dirac.cnrs-orleans.fr/hg/ScientificPython/main/

>

> As you can see, development continues steadily. The 2.7 version line

> is compatible with

> NumPy, the next "stable" line (2.8) will use NumPy by default. If no

> netCDF library is

> found during installation, the netCDF interface is not built, so

> netCDF is not a strict

> dependency.

>

> Hope this helps,

> Konrad.

Could you post a tarball of a version of ScientificPython with the

property that if I do:

tar zxvf ScientificPython-x.y.z.tar.gz

cd ScientificPython-x.y.z

sage -python setup.py install

then it will work? I want to try it it. Right now,

teragon-2:ScientificPython-2.7.8 was$ sage -python setup.py install

netCDF not found, the netCDF module will not be built!

If netCDF is installed somewhere on this computer,

please set NETCDF_PREFIX to the path where

include/netcdf.h and lib/netcdf.a are located

and re-run the build procedure.

Traceback (most recent call last):

File "setup.py", line 163, in <module>

headers.append(netcdf_h_file)

NameError: name 'netcdf_h_file' is not defined

-- William

Reply all

Reply to author

Forward

0 new messages