pub fn matmul_output_shape( a_shape: &[usize], b_shape: &[usize], ) -> Result<Vec<usize>>
Calculate output shape for matrix multiplication