length -- the ``length'' of a
MuPAD object (heuristic complexity)
Introductionlength(object) returns an integer
indicating the complexity of the object.
Call(s)length(object)
Parametersobject |
- | an arbitrary MuPAD object |
Returnsa nonnegative integer.
Related
Functions
DetailsDOM_BOOL, DOM_DOMAIN, DOM_EXEC, DOM_FAIL, DOM_FLOAT, DOM_FUNC_ENV, DOM_IDENT, DOM_NIL, DOM_VAR, and DOM_PROC_ENV are regarded as
``atomic''. They have length 1. In particular, the length of
identifiers and real floating point numbers is 1.length() yields 0.length does not return the
number of elements or entries in sets, lists or tables. Use nops instead!
length is a function of the system kernel.
Example
1Intuitively, the length measures the complexity of an object:
>> length(1 + x) < length(x^3 + exp(a - b)/ln(45 - t) - 1234*I)
3 < 25
Example
2We compute the lengths of some simple objects:
>> length(1.2), length(-1234.5), length(123456), length(-123456)
1, 1, 6, 6
>> length(17), length(123), length(17/123)
2, 3, 6
>> length(12), length(123), length(12 + 123*I)
2, 3, 6
>> length(x), length(x^2), length(x^12345)
1, 3, 7
>> length("123"), length("")
3, 0
>> length(x), length(a_long_name)
1, 1
Example
3The 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
3 = 3
>> A[1] := 12345: length(A) = length(12345) + length(y) + 1
7 = 7
>> delete A:
Example
4The 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
table(
1 = 45
)
>> length(T) = length(1 = 45) + 1
5 = 5
>> delete T:
length can now be used to determine the length of
strings. The corresponding function strlen of previous
MuPAD versions has become obsolete.