MAMBO logo MAMBO & the MAMBO Toolbox MAMBO logo

Toolbox Functions Home

The MAMBO toolbox is available as a package for each of the computer algebra platforms shown on the right. The names of these platforms are registered trademarks. Follow the "Downloads" link from the navigation menu to download the corresponding source.

Click on the appropriate link on the right to obtain platform-specific reference information for The MAMBO toolbox and its functions.

For information on differences in the MAMBO toolbox syntax between various computer-algebra platforms, follow the "FAQ" link from the navigation menu.


The MAMBO toolbox contains procedures for establishing a geometry, extracting information about the geometry, and formulating conditions on the geometry. A geometry is spanned by a set of observers, a set of points, and a set of triads. Specifically, an observer is defined by its corresponding reference point and reference triad; a pair of points is defined by the vector from the first point to the second point, and vice versa; and a pair of triads is defined by the rotation matrix between the first triad and the second triad, and vice versa. An observer hierarchy is established by declaring pairs of observers as immediate neighbors within the hierarchy.

Three separate steps are involved in establishing geometry, namely:

  • Declaring an arbitrary sequence of observers, points, and triads using the DeclareObservers, DeclarePoints, and DeclareTriads commands, respectively.
  • Defining the reference point and reference triads of declared observers using the DefineObservers command, the position vectors between declared points using the DefinePoints command,
    and the rotation matrices between declared triads using the DefineTriads command.
  • Defining the observer hierarchy using the DefineNeighbors command.

The command DefineObjects can be invoked to associate an arbitrary sequence of MAMBO objects such as spheres, cylinders, and blocks, with defined observers.


The MAMBO toolbox represents a geometry using three pairs of global variables:

GlobalObserverDeclarations GlobalObserverDefinitions
GlobalPointDeclarations GlobalPointDefinitions
GlobalTriadDeclarations GlobalTriadDefinitions

Upon loading the MAMBO toolbox, an empty geometry is established. Subsequent declarations and definitions modify this geometry. The command Restart resets the geometry to its initial, empty state. The command Undo undoes the most recent change to the geometry.

The relative position and orientation of points, triads, and observers within a geometry may be extracted using the FindRotation, FindOrientation, FindTranslation, FindPosition, and FindCoordinates commands.

The GeometryOutput command generates a MAMBO geometry description corresponding to a connected component of the geometry based at some declared observer.


the MAMBO toolbox represents time-dependent changes to a geometry using the global variables GlobalAngularVelocity and GlobalExplicit/GlobalImplicit (in maple and mupad/matlab) or GlobalStates (in mathematica).

The command DeclareStates may be invoked to declare an arbitrary sequence of variables implicitly time-dependent. The command DiffTime computes the derivative of its argument with respect to the time variable (t in maple and mupad/matlab, assigned using the SetTime command in mathematica). Time-dependent changes in the relative position and orientation of points, triads, and observers and the associated linear and angular momenta may be extracted using the LinearVelocity, AngularVelocity, LinearMomentum, and AngularMomentum commands.

The MotionOutput command exports the kinematic and dynamic differential equations corresponding to allowable time-dependent changes to a geometry into a MAMBO motion description.

The MAMBO toolbox also includes commands for common vector algebra operations.


Computer-algebra platform: