prototypes of matrix functions