Well, mainly so I know what I still need to do, here is a summary of
where things are and where I'd like to take them, as of 0.50:
Currently:
Basic functionality, including grouping over the + operator, is
complete
and seems to be working. setunits, forget, convert, and several other
functions have passed rather limited testing.
Limited definitions are present for most dimensions which will be
initially supported. This is easily extended, and will in fact be one
of the last things done.
Initial support for maxima-init.mac definition of default units is in
place. Other user settings are not yet responsive to maxima-init
overrides.
texinfo documentation has been started, but is currently rather
minimal.
limited dimensional analysis abilities are present, but are nowhere
near as powerful as dimension.mac.
A few other misc. things are partially in place.
Todo:
I have looked over some examples and documentation for Maple and
Mathematica unit pacakges:
http://www.adeptscience.co.uk/products/mathsim/maple/apps/subcategory/106/Dimensional-Analysis/Engineering/category106.htmlhttp://stanheckman.com/a/99h/lightgale/html/PhysicalUnits.html
Combining ideas from those packages with things I already knew I needed
to do, here is a rough todo list:
- mactex support for unit characters, and unit output in general
- complete dimensional analysis support
- temperature support - both absolute and non-absolute
- complete awareness of maxima-init.mac setting overrides
- addunits command (unitinfo is probably not useful as originally
envisioned) will need to both intelligently handle metric and
non-metric additons to exhisting dimensions, as well as totally
new dimensions with associated units.
- display of units/dimensions associated with variables
- intelligent plotting - axis labels of unit quantities, arguments
to x and y limits in units handled intelligently
- command to show current unit "environment" - i.e. what dimensions
are being used and what units are associated with those dimensions
- lists of quantities with dimension - uniform dimension lists and
non-uniform dimension both. Make decision about how to impliment
factor over list command from Mathematica package (FactorUnits)
- display in abbreviations or whole words as user option, and also
Mathematica mode of fullname with one or two dimensions,
abbreviations with more
- Address units for the following functions (thanks Stan Heckman
Mathematica package):
Min and Max
Inequalities
Matricies and Vectors (possible - will need to consider issues)
perhaps solve?
any Maxima specific functionality which would be impacted
- in physconst package, make sure functions use numerical value of
constant for inequality comparisions with other quantities of same
dimension
- Set user default units by mks, cgs, other options
- dig up old code to prevent user from assigning values to
variable names, and impliment it
- check dimensional consistency of expression before performing
evaluation - at user option?
Other features will undoubtedly suggest themselves as I go.
I also need to figure out if I'm working on the lisp side of things in
the best available way, or if I should be working on displa instead.
Cheers,
CY
__________________________________
Discover Yahoo!
Find restaurants, movies, travel and more fun for the weekend. Check it out!
http://discover.yahoo.com/weekend.html