fix typo
diff --git a/Eigen/src/Core/SelfAdjointView.h b/Eigen/src/Core/SelfAdjointView.h
index 48d368e..c21f3a3 100644
--- a/Eigen/src/Core/SelfAdjointView.h
+++ b/Eigen/src/Core/SelfAdjointView.h
@@ -229,7 +229,7 @@
   {}
 
   inline int rows() const { return m_lhs.rows(); }
-  inline int cols() const { return m_lhs.cols(); }
+  inline int cols() const { return m_rhs.cols(); }
 
   template<typename Dest> inline void _addTo(Dest& dst) const
   { evalTo(dst,1); }
@@ -282,7 +282,7 @@
   {}
 
   inline int rows() const { return m_lhs.rows(); }
-  inline int cols() const { return m_lhs.cols(); }
+  inline int cols() const { return m_rhs.cols(); }
 
   typedef typename Lhs::Scalar Scalar;
 
diff --git a/Eigen/src/Core/products/TriangularMatrixMatrix.h b/Eigen/src/Core/products/TriangularMatrixMatrix.h
index b97eaea..ce18941 100644
--- a/Eigen/src/Core/products/TriangularMatrixMatrix.h
+++ b/Eigen/src/Core/products/TriangularMatrixMatrix.h
@@ -331,7 +331,7 @@
   {}
 
   inline int rows() const { return m_lhs.rows(); }
-  inline int cols() const { return m_lhs.cols(); }
+  inline int cols() const { return m_rhs.cols(); }
 
   typedef typename Lhs::Scalar Scalar;
 
diff --git a/Eigen/src/Core/products/TriangularMatrixVector.h b/Eigen/src/Core/products/TriangularMatrixVector.h
index 864b89a..18d76b9 100644
--- a/Eigen/src/Core/products/TriangularMatrixVector.h
+++ b/Eigen/src/Core/products/TriangularMatrixVector.h
@@ -142,7 +142,7 @@
   {}
 
   inline int rows() const { return m_lhs.rows(); }
-  inline int cols() const { return m_lhs.cols(); }
+  inline int cols() const { return m_rhs.cols(); }
 
   template<typename Dest> inline void _addTo(Dest& dst) const
   { evalTo(dst,1); }