My purpose is to find an information matrix at convergence. To get it, I need to know the relationship between vec(A) and vec(A`), which is only one part of the information matrix.
In SAS/IML, the SHAPECOL function is used to generate vec(A). You can use the SHAPE function to generate vec(A`) directly, without using any transpose operators.
Explicitly forming a permutation matrix is usually inefficient because you are using an nxn matrix to represent a permutation on N elements. I avoid permutation matrices whenever possible and use the permutation as a subscript index to map a vector to a permutation of iteself. However, if you insists on it, you can generate a permutation matrix from a permutation vector by using the function in this blog post: Automating the Great Christmas Gift Exchange - The DO Loop
The 2025 SAS Hackathon Kicks Off on June 11!
Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.