added matrix operations needed for strassen