(1) You had left a couple of commented debugging statements in ElementalMatrixAdaptor.hpp

(2) trace() should and must return a value_type. There is no reason to pass an extra parameter for this. Also, capital letters should be used only for matrices. You have used B as the return value of trace(). I have changed these.

(3) There are similar commented out lines in MatrixMatrixFunc.hpp. If you think that these commented lines are important, then we can think about having a debug flag that will enable these print outs. It looks disorganized to have commented out lines.

(4) Let's wipe out all occurrences of variables names such as tmp --- this reflects poorly on us as researchers :). A variable is never tmp --- it is something more than that. So, let's not name it that.
. TBD