<rightHandSide>
<rightHandSide> is a math child of <odeSystem> that defines the right-hand side of one
differential equation in the system. Each <rightHandSide> corresponds to one dependent variable of the
parent <odeSystem>; the children are matched, in order, to the variables listed in the parent’s variables
attribute. The component otherwise behaves like <math> — any math expression that resolves to a
function of the system’s variables and the independent variable is valid.
Attributes and Properties
Attributes for <rightHandSide>
Highlighted (3)
displayDigitsinteger. Default value: 3. Number of significant digits to display when rendering this number.
formatkeyword. Input format.
| Value | Description |
|---|---|
text (default) | Plain-text math notation (e.g., x^2 + 1). |
latex | LaTeX-formatted math (e.g., x^{2} + 1). |
simplifykeyword. Level of simplification applied to the expression.
| Value | Description |
|---|---|
none (default) | No simplification is applied. |
full | Fully simplify the expression. |
numbers | Simplify numeric subexpressions only, leaving symbolic structure intact. |
numbersPreserveOrder | Like numbers, but does not reorder commutative operands. |
normalizeOrder | Reorder commutative operands into a canonical form without simplifying values. |
Number display (5)
avoidScientificNotationboolean. Default value: false. Whether to render numbers in full decimal form rather than scientific notation.
displayDecimalsinteger. Default value: 2. Number of decimal places to display when rendering this number.
displayDigitsinteger. Default value: 3. Number of significant digits to display when rendering this number.
displaySmallAsZeronumber. Default value: 1e-14. Threshold below which numbers are displayed as zero.
padZerosboolean. Default value: false. Whether to pad displayed numbers with trailing zeros to fill the requested digits/decimals.
Positioning (2)
anchorpoint. Default value: . Coordinates of the anchor point used to position this component on a graph.
positionFromAnchorkeyword. Where this component sits relative to its anchor point.
| Value | Description |
|---|---|
upperRight | Place the component above and to the right of the anchor point. |
upperLeft | Place the component above and to the left of the anchor point. |
lowerRight | Place the component below and to the right of the anchor point. |
lowerLeft | Place the component below and to the left of the anchor point. |
top | Place the component directly above the anchor point. |
bottom | Place the component directly below the anchor point. |
left | Place the component directly to the left of the anchor point. |
right | Place the component directly to the right of the anchor point. |
center (default) | Center the component on the anchor point. |
Other (13)
assumptionsmath. Default value: . Assumptions applied when simplifying or comparing.
createIntervalsboolean. Default value: false. Whether range expressions are interpreted as intervals.
createVectorsboolean. Default value: false. Whether tuple-like expressions are interpreted as vectors.
displayBlanksboolean. Default value: true. Whether blanks (placeholders) are visibly rendered.
draggableboolean. Default value: true. Whether the math component can be dragged on a graph.
expandboolean. Default value: false. Whether to expand the expression.
functionSymbolstextList. Default value: ["f","g"]. Symbols treated as function names when parsing.
layernumber. Default value: 0. Z-order layer index when shown on a graph.
parseScientificNotationboolean. Default value: false. Whether to parse expressions like 1e3 as scientific notation.
referencesAreFunctionSymbolsreference. References whose names should be treated as function symbols when parsing.
renderModetext. Default value: inline. How the math is rendered (e.g. "inline", "display").
splitSymbolsboolean. Default value: true. Whether multi-character symbols are split into a product of variables.
unorderedboolean. Default value: false. Whether tuple- or list-like math expressions should be treated as unordered for comparison.
Common to all components (9)
copyreference. Create an independent copy of another component by reference. Enter a references a $name.
disabledboolean. Default value: false. Whether this component is disabled and cannot be interacted with.
extendreference. Extend another component by reference, inheriting its children and attributes. Enter a reference as $name.
fixedboolean. Default value: false. Whether this component's value is fixed and cannot be modified.
fixLocationboolean. Default value: false. Whether this component's location is fixed (preventing it from being moved while still allowing other modifications).
hideboolean. Default value: false. Whether to hide this component from the rendered output.
isResponseboolean. Default value: false. Whether this component is treated as a response for the purposes of assessment.
nametext. The name used to reference this component from elsewhere in the document.
styleNumberinteger. Default value: 1. The style number used to select this component's visual styling from the available style definitions.
Properties for <rightHandSide name="r">
Highlighted (3)
$r.displayDigitsinteger. Number of significant digits to display when rendering this number.
$r.formattext. Input format.
$r.simplifytext. Level of simplification applied to the expression.
Number display (5)
$r.avoidScientificNotationboolean. Whether to render numbers in full decimal form rather than scientific notation.
$r.displayDecimalsinteger. Number of decimal places to display when rendering this number.
$r.displayDigitsinteger. Number of significant digits to display when rendering this number.
$r.displaySmallAsZeronumber. Threshold below which numbers are displayed as zero.
$r.padZerosboolean. Whether to pad displayed numbers with trailing zeros to fill the requested digits/decimals.
Positioning (2)
$r.anchorpoint. The coordinates where this component is anchored on the graph.
$r.positionFromAnchortext. Where this component sits relative to its anchor point.
Other (38)
$r.assumptionsmath. Assumptions applied when simplifying or comparing.
$r.backgroundColortext. Human-readable name for this component's background color, derived from the active style and theme.
$r.columns[ math ]. The matrix's entries grouped by column.
$r.createIntervalsboolean. Whether range expressions are interpreted as intervals.
$r.createVectorsboolean. Whether tuple-like expressions are interpreted as vectors.
$r.disabledboolean. Whether this component is disabled and cannot be interacted with.
$r.displayBlanksboolean. Whether blanks (placeholders) are visibly rendered.
$r.draggableboolean. Whether the math component can be dragged on a graph.
$r.expandboolean. Whether to expand the expression.
$r.fixedboolean. Whether this component's value is fixed and cannot be modified.
$r.fixLocationboolean. Whether this component's location is fixed (preventing it from being moved while still allowing other modifications).
$r.functionSymbolstextList. Symbols treated as function names when parsing.
$r.isNumberboolean. Whether the expression evaluates to a finite number.
$r.isNumericboolean. Whether the expression evaluates to any number (including infinities).
$r.latexlatex. The expression rendered as a LaTeX string.
$r.layernumber. Z-order layer index when shown on a graph.
$r.list[ math ]. The math expression interpreted as a list (its elements).
$r.matrix[ math ]. The math expression interpreted as a matrix (its entries by row and column).
$r.matrixSizenumberList. The size of the math expression as a matrix, as a [numRows, numColumns] list.
$r.numbernumber. The numeric value of the expression (NaN if not a number).
$r.numColumnsinteger. The number of columns when the math expression is interpreted as a matrix.
$r.numDimensionsinteger. The number of dimensions if the math expression is interpreted as a vector or matrix.
$r.numListItemsinteger. The number of items when the math expression is interpreted as a list.
$r.numRowsinteger. The number of rows when the math expression is interpreted as a matrix.
$r.parseScientificNotationboolean. Whether to parse expressions like 1e3 as scientific notation.
$r.renderModetext. How the math is rendered (e.g. "inline", "display").
$r.rows[ math ]. The matrix's entries grouped by row.
$r.splitSymbolsboolean. Whether multi-character symbols are split into a product of variables.
$r.texttext. The expression rendered as a plain text string.
$r.textColortext. Human-readable name for this component's text color, derived from the active style and theme.
$r.textStyleDescriptiontext. Human-readable description of this component's text styling (color and any background color).
$r.unorderedboolean. Whether list-like values are treated as unordered.
$r.valuerightHandSide. The math expression value.
$r.vector[ math ]. The math expression interpreted as a vector (its components).
$r.xmath. The first component of the math expression when interpreted as a vector.
$r.ymath. The second component of the math expression when interpreted as a vector.
$r.zmath. The third component of the math expression when interpreted as a vector.
Common to all components (4)
$r.doenetMLtext. The DoenetML source code that produced this component.
$r.hideboolean. Whether to hide this component from the rendered output.
$r.isResponseboolean. Whether this component is treated as a response for the purposes of assessment.
$r.styleNumberinteger. The style number used to select this component's visual styling from the available style definitions.
Examples
Example: Defining a single right-hand side
A single <rightHandSide> child supplies the right-hand side of a one-equation <odeSystem>. The
expression is read from a <mathInput> so the equation can be edited interactively.
Example: Multiple right-hand sides matched to variables
For an ODE system of dimension , supply <rightHandSide> children. The order of the
children must match the order of the dependent variables in the variables attribute; here the first child
defines and the second defines .
Example: Reading right-hand sides back
The collected right-hand sides are exposed on the parent as the rhss array property, so the individual
<rightHandSide> expressions can be rendered or referenced after they are defined.