many matrix functions