proc iml;
start AddToDiag( result, A, B);
/* add B to diagonal of a square matrix A */
result = A + diag( j(nrow(A), 1, B) );
finish;
/* test it out */
m = {1 1 1,
2 2 2,
3 3 3 };
lambda = 3;
run AddToDiag( MPlusLambda, m, lambda);
print M lambda MPlusLambda;
quit;