Simple vectors can often be combined to build more complicated ones. The Isf implementation above is a composite vector since it is basically an array of vectors, but that implementation is hidden from the programmer.
On the other hand, the compositional character of a ProductVector, , is not hidden from a programmer. A programmer can address the ProductVector as a single vector, or he can address each individual vector by itself. A ProductVector object contains the Cartesian product of the vector and and is handy when we need to formulate a minimization problem, such as
in the canonical form . We will talk about composite operators such as in the next section.