In MPL previously defined datavectors can be used to construct new datavectors. You construct a datavector by placing an arithmetic formula instead of the usual list of data elements in the DATA section. Here are some examples:
DATA A[i,j] := ... B[i] := ... C[i,j] := A + B/3; Total := SUM(i,j: A);
If the formula starts with a datavector, its type is used to decide whether the resulting vector is dense or sparse. If the formula is a summation, the resulting vector is always dense. If the formula does not start with a datavector or a summation or you need to override the default type, you can use the keywords DENSE() and SPARSE() to specify the type. For example, to specify the C[i,j] vector as stored sparse, use:
C[i,j] := SPARSE(A + B/3)