# 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`.