diff --git a/include/dynamic-graph/eigen-io.h b/include/dynamic-graph/eigen-io.h
index 60eab3f023aa56ac11f9e53b0dcc396c77f38ecc..89d8f3357b180119b550be49c4642f9a9e9328ba 100644
--- a/include/dynamic-graph/eigen-io.h
+++ b/include/dynamic-graph/eigen-io.h
@@ -138,9 +138,21 @@ namespace Eigen {
   
   
   
+
+  /* \brief Eigen Homogeneous Matrix output
+   *
+   * Matrix format: [M,N]((val11,val12,val13,...,val1N),...,(valM1,valM2,...,valMN))
+   * e.g. [2,5]((1 23 32.2 12.12 32),(2 32 23 92.01 19.2))
+   */
+
   inline std::ostream& operator << (std::ostream &os, 
 				    Transform<double,3,Affine> MH) {
-    os << MH.matrix();      return os;   }
+    IOFormat boostFmt(StreamPrecision, DontAlignCols,
+		      ",", ",",
+		      "(",")",
+		      "(",")");
+    
+    os << "[4,4]"<< MH.matrix().format(boostFmt);      return os;   }
   
   
   inline std::ostream& operator << (std::ostream &os, 
diff --git a/include/dynamic-graph/linear-algebra.h b/include/dynamic-graph/linear-algebra.h
index 7605815900c2f53a7dd603cc99ffdab47de7e39f..4b566fb6f881935454e5c019d542b58383cde15e 100644
--- a/include/dynamic-graph/linear-algebra.h
+++ b/include/dynamic-graph/linear-algebra.h
@@ -18,6 +18,7 @@
 #ifndef DYNAMIC_GRAPH_LINEAR_ALGEBRA_H
 #define DYNAMIC_GRAPH_LINEAR_ALGEBRA_H
 #include <Eigen/Core>
+#include <Eigen/Geometry>
 
 namespace dynamicgraph {
   typedef Eigen::MatrixXd Matrix;