# Method one:``LinearAlgebra`SetMatrixDiagonal`` mat = RandomReal[10, {3, 3}]; LinearAlgebra`SetMatrixDiagonal[mat,Array[0 &, Length[mat]]] // MatrixForm ![](https://i.stack.imgur.com/dev0p.png) Developer`PackedArrayQ[mat] >`True` # Method two:``LinearAlgebra`AddVectorToMatrixDiagonal`` mat = RandomReal[10, {3, 3}]; LinearAlgebra`AddVectorToMatrixDiagonal[mat, -Diagonal[mat]] // MatrixForm ![](https://i.stack.imgur.com/xpBl5.png) Developer`PackedArrayQ[mat] >`True` ps:Note this two method will change the original `mat`.