I would say just "some" - on Serbian... OP haven't replied in any way saying thanks or something equal to anyone participated... I don't know are replies useful to him, but IMHO not reacting to request proposed in first post is humiliating behaviour for all that wanted to contribute... And timings of sub functions - benchmarking for this task are the least meaningful. I'd say that for a matrix 1000x1000 for normal PC it would take around 1 sec for computation with any of proposed subs... And 1000x1000 matrix is IMHO monkey bussines for any kind of situation OP may be facing in real life situation.