Units Package Details - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Science and Engineering : Units : Details : Units/Details

Units Package Details


This document describes Maple's unit conversions and environments. The package is compliant with the IEEE standard up to described differences. It describes the following topics.


Dimensions, Units, and Systems of Units




Regional Unit Names


Unit Representation


Unit Environments


Formatting Output


Unit, Dimension, and System Conversions




Dimensions, Units, and Systems of Units


Regional Unit Names

Unit Representation

Unit Environments

Formatting Output

Unit, Dimension, and System Conversions

Dimensions, Units, and Systems of Units


There exist measurable quantities, called base dimensions, that are considered to be fundamental and independent. In Maple, the list of base dimensions includes length, mass, time, electric current, thermodynamic temperature, amount of substance, luminous intensity, information, and currency.


A base unit corresponding to a base dimension quantifies measurements. For example, a meter is a base unit corresponding to the base dimension length. Composite, or complex, units are products of powers of base units. Named complex units are called derived units. To simplify references, some products of powers of base dimensions, complex dimensions, have been named. These named complex dimensions include force, representing length mass per time squared, and energy, representing mass length squared per time squared. A derived unit of force is the newton, which is defined as a kilogram meter per second squared. A derived unit of energy is the joule, which is defined as a kilogram meter squared per second squared. For a list of dimensional quantities, see Index.


For most dimensions, there is a large number of corresponding units. For example length can be measured in meters, feet, angstroms, or many other units. Units can be organized into systems of units. For more information, see Systems. Some units exist in more than one unit system, or to measure different dimensions. For example, there is a unit of mass named the ounce in the avoirdupois and troy systems, and a unit of volume named the ounce in the US and UK systems. To distinguish among these units in Maple, each unit has a context. For example, the ounce[avoirdupois] and ounce[troy] are units of mass.



The Units package accepts approximately 300 distinct unit names (for example, meters and grams), and over 550 units with various contexts (for example, standard miles and US survey miles.)


Over 500 units are defined using exact conversions. For example, 1 International Table Btu is defined as 52752792631/50000000 joules.


For units specified as accepting either SI or IEC prefixes, both the unit names and the unit symbols are accepted with their prefixes. For example, pm/ms is interpreted as 1e-9 meter per second.


The user can extend the set of: base dimensions and units, complex dimensions, complex units, and systems of units.  For more information, see AddBaseUnit, AddDimension, AddUnit, and AddSystem, respectively.

Regional Unit Names


The SI unit of length is called the meter in the United States, the metre in Canada and Western Europe, and other variations in other regions.  As well, the plural forms, for example, meters and metres, are used.


The Units package accepts many common spelling variations (including pluralization) of units, and includes tools that allow the user to expand this set.

convert(['m'^3, 'L', 'gal'], 'conversion_table', 'output'='grid',

To:m3LgalUnit NameSymbolcubic metersm3 1.1000.264.2litersL 0.0011.0.2642gallonsgal 0.0037853.7851.


Units:-AddUnit('meter', 'spelling'='metre', 'plural'='metres'):

Units:-AddUnit('liter', 'spelling'='litre', 'plural'='litres'):

convert(['m'^3, 'L', 'gal'], 'conversion_table', 'output'='columns',

Units From:Units To:Conversion Factor:cubic metersL1000.gal264.2litersm^30.001gal0.2642gallonsm^30.003785L3.785


In the case that units are specific to a country, the context is prefixed by the appropriate ISO 1866 country code (for example, US, CA, UK, and DE, for the United States, Canada, the United Kingdom, and Germany, respectively).

Unit Representation


A unit is identified by a unit name and a context.  The unit name may have various spellings, but the context is fixed.  A context is used to distinguish two units with the same name but different values.  For example, the units poundavoirdupois and poundtroy refer to the unit pound with contexts avoirdupois and troy, respectively.


Each unit has a default context that can be changed. A unit name without a context refers to the default context.  The unit meter refers to the SI meter and the pound refers to the avoirdupois pound. To determine the default context for a unit, use the GetUnit(unit) calling sequence.


One or more unit symbols can be associated with a unit name.  For example, m and lb are symbols for the meter and pound, respectively. The symbol is valid for any context of the unit. In contrast, an abbreviation is a short form for a specific unit-context pair. For example, at refers to only the technical context of the atmosphere unit.


Some units take either SI or IEC prefixes to identify power of 10 or power of 2 multiples, respectively, of the unit.  In both cases, unit names take prefixes different from those of unit symbols (for example, centimeter and cm have different prefixes).  Unit names with symbol prefixes, for example, cmetre, and unit symbols with name prefixes, for example, centim, are not accepted.


A unit can be raised to a rational power, or multiplied by a constant (see type/constant) or by other units.  For example, cm3/2g3/2s is a valid CGS system unit (see CGS). However, ft + yd, which is equal to four feet, is not a valid unit of length.

Unit Environments


In the Units package, there are three environments: default, Standard, and Natural.


In the default environment, expressions cannot contain units. Conversions between units can be performed by using the convert routines, which are available in all environments. For more information, see Units/default.


In the Standard Units environment, some Maple functions are modified to accept input with units. Using the Unit routine, units can be included in expressions. For more information, see Units[Standard].


In the Natural Units environment, some Maple functions are modified to accept input with units. Using the Unit routine or the natural notation (*unit_name), units can be included in expressions. For more information, see Units[Natural].


Although the lists of functions available for unit calculations in the Natural and Standard environments are the same, the functions are not identical. The Standard environment functions do not accept the natural notation for units.

Formatting Output


In the Standard and Natural environments, the units of an expression are displayed next to the expression.


Note: In Maple 2015 and later versions, units are not surrounded by double brackets.


253.0 * x^2 * Unit('m'/'s');



If all unit names in a result have associated symbols or abbreviations, the result is displayed using unit symbols and abbreviations. Otherwise, it is displayed using only unit names.

253.0 * x^2 * Unit('m'/'s');



convert((4), 'units', 'km'/'fortnight');



The context of a unit is displayed in output only if it is not the default context. For example, mile refers to the (milestandard), the default context for the mile.

spd := 253.0 * x^2 * Unit('m'/'s');



convert(spd, 'units', 'mi'/'h');



convert(spd, 'units', 'mi[standard]'/'h');



convert(spd, 'units', 'mi[US_survey]'/'h');



convert(spd, 'units', 'mi'/'fortnight');



convert(spd, 'units', 'mi[standard]'/'fortnight');



convert(spd, 'units', 'mi[US_survey]'/'fortnight');



Some complex units, for example, radians, are defined in terms of units with attachments. In this case, upon combining units, the units with attachments are replaced by complex units in output.  However, unit attachments or modifiers are, in general, displayed.

43.0 * Unit('feet(radius)'/'yard');



combine(43.0 * Unit('feet(radius)'/'yard'), 'units');



combine(43.0 * Unit('feet'/'feet(radius)'), 'units');



combine(43.0 * Unit('J'/'m'/'W(mech)'/'h(mech)'*'cm(mech)'), 'units');



43.0 * Unit('J(mech)'/'m(mech)'/'W(mech)'/'h(mech)'*'cm(mech)');



combine((17), 'units');



combine(43.0 * Unit('J(chemical)'/'m(chemical)'/'W(mech)'/'h(mech)'*'cm(mech)'), 'units');



Unit, Dimension, and System Conversions


The unit conversion operation is key to the Units package. The convert function converts between units or temperature scales, a unit and its dimension, or a unit and the corresponding unit in a specified system of units. The Unit Calculator, which can be launched from the Tools menu, facilitates easy unit conversion. For more information, see Unit Calculator.


To convert a measurement between units with the same dimension, except absolute temperatures, use the convert/units function. The energy option allows energy conversions, which convert between energy units with different dimensions. Since convert/units converts only temperature intervals, use the convert/temperature function to convert absolute temperatures between temperature scales.


To determine the dimension, base or complex, associated with a unit, use the convert/dimensions function.


The convert/system function converts a measurement in one unit to the default unit of the same dimension in a specified system of units.

See Also



Units Package References











Download Help Document

Was this information helpful?

Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam