Is it #include <matrix> or #include <matrix.h>? It's an important difference.
I'm not sure if this is actually a rule, but the only extension-less C++ header files that exist are the standard library ones, like <iostream>, <vector>, <cstring>, etc. (Things like <stdlib.h> only exist for backwards compatibility with C, they shouldn't normally be used.)
Having a custom header file called "matrix" instead of "matrix.h" could be confusing to someone reading your code.
Thanks, after reading that, I noticed some libraries like OpenSceneGraph will style
their header files as #include <osg/Camera>, so I guess it is used in places other than the standard library. Though personally I would still avoid it (at least without its own directory like "osg/").