next up previous contents
Next: 3.3 Shifting of Linear Up: 3.2 Splitting of Linear Previous: 3.2.1 Splitting into four

3.2.2 Splitting into two parts

Frequently, one will instead wish to split a linear algebra object into two parts, either   horizontally or   vertically. The horizontal split is accomplished by the call place HR here

figure3791

figure3795

figure3798

place HR here Legal input object types for obj are all types except projected vector, when projected against a row, since it then has height one. The input object type is inherited by the output objects.

The length equals the length (row dimension) of the upper block (when nonnegative). However, by choosing it to be positive or negative, the length (row dimension) of the upper or lower block can be chosen, as summarized in the following table:

tabular3119

As for for the PLA_Obj_view call, if a parameter upon entry has the value NULL, new space is allocated for the output object, while if it points to an existing object, that object is reused. It is legal to have at most one of the output views point to the input object, which is then updated.

example3129

The routine for creating views into an object that is to be partitioned vertically is given by place HR here

figure3820

figure3824

figure3827

place HR here Legal input object types for obj are all types except vector and projected vector, when projected against a column, since in these cases, the object has width one. The input object type is inherited by the output objects.

Similar to the horizontal split, picking width to be positive or negative allows one to specify the width of the left or right block, respectively.

example3175


next up previous contents
Next: 3.3 Shifting of Linear Up: 3.2 Splitting of Linear Previous: 3.2.1 Splitting into four

rvdg@cs.utexas.edu