Let us first discuss what is required to copy a matrix to a multivector. If we view the matrix as a collection of columns, this operation is equivalent to copying each of these columns to the corresponding vector in the multivector. However, frequently we will wish to view the matrix as a collection of rows, and copy each of the rows to the corresponding vector of the multivector. If the matrix is entirely owned by one column or one row of nodes, one can use the PLA_Obj_objtype_cast routine to cast it into a projected multivector, projected onto the appropriate mesh dimension (row or column). After this, the copy can proceed. If the matrix is not entirely owned by one column or row of nodes, one can accomplish the same effect by annotating, but not casting, the matrix to be oriented like a projected multivector, using a call to PLA_Obj_set_orientation.
In its simplest form, copying a matrix to another matrix requires the global row and column dimensions to match. Since we can annotate a matrix to be oriented like a projected multivector, we also have the ability to transpose a matrix, as the following example illustrates: