Everything looks good, I just had a few very minor comments. I am a little confused about what did and didn't cause trouble with Eigen Matrices. The ticket makes it sound like you had to modify the C++ code to remove shared_ptr's to Eigen Matrices but I didn't see where those modifications were made. Could you elaborate a little more on what you did, and what files were modified?
It would also be nice to run clang-format in a separate commit before you touch a file. It might be a pain to have to run it twice, once before editing the file and once after, but it was very difficult to follow the changes you made vs. the changes made by clang format, so I had to review all of the old code as well. Editing a file and running clang-format after you've modified the file can (and should) be included in the same commit.
This consists of several parts: