The "length" of a object (heuristic complexity)

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.




length(object) returns an integer indicating the complexity of the object.

The (heuristic) complexity of an object may be useful in algorithms that need to predict the complexity and time for manipulating objects. E.g., a symbolic Gaussian algorithm for solving linear equations prefers Pivot elements of small complexity.

The length of an object is determined as follows:

length() yields 0.

    Note:   length does not return the number of elements or entries in sets, lists or tables. Use nops instead!


Example 1

Intuitively, the length measures the complexity of an object:

length(1 + x) < length(x^3 + exp(a - b)/ln(45 - t) - 1234*I)

Example 2

We compute the lengths of some simple objects:

length(1.2), length(-1234.5), length(123456), length(-123456)

length(17), length(123), length(17/123)

length(12), length(123), length(12 + 123*I)

length(x), length(x^2), length(x^12345)

length("123"), length("")

length(x), length(a_long_name)

Example 3

The length of an array is the sum of the lengths of all its elements plus 1:

A := array(1..2, [x, y]): length(A) = length(x) + length(y) + 1

A[1] := 12345: length(A) = length(12345) + length(y) + 1

A := hfarray(1..10, [1.0 $ 10]):
length(A) = 10*length(1.0) + 1

A := hfarray(1..10, [1.0 + 2.0*I $ 10]):
length(A) = 10*length(1.0 + 2.0*I) + 1

Beware: If only one complex number is contained in an hfarray, then all entries are regarded as complex numbers, even if they are real:

A := hfarray(1..10, [2.0 $ 9, 2.0 + 3.0*I]):
length(A) = 10*length(2.0 + 3.0*I) + 1

delete A:

Example 4

The operands of a table are the equations associating indices and entries. The length of each operand is the length of the index plus the length of the corresponding entry plus 1:

T[1] := 45: T

length(T) = length(1 = 45) + 1

delete T:



An arbitrary MuPAD® object

Return Values

Nonnegative integer.

See Also

MuPAD Functions

Was this topic helpful?