Fix SparseMatrix/SparseVector::sum()

SparseMatrix/SparseVector::sum() uses Map to compute the sum. But Map expects a
pointer.
diff --git a/Eigen/src/Sparse/SparseRedux.h b/Eigen/src/Sparse/SparseRedux.h
index 14de421..a243be6 100644
--- a/Eigen/src/Sparse/SparseRedux.h
+++ b/Eigen/src/Sparse/SparseRedux.h
@@ -42,7 +42,7 @@
 SparseMatrix<_Scalar,_Options>::sum() const
 {
   ei_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
-  return Matrix<Scalar,1,Dynamic>::Map(m_data.value(0), m_data.size()).sum();
+  return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum();
 }
 
 template<typename _Scalar, int _Options>
@@ -50,7 +50,7 @@
 SparseVector<_Scalar,_Options>::sum() const
 {
   ei_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
-  return Matrix<Scalar,1,Dynamic>::Map(m_data.value(0), m_data.size()).sum();
+  return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum();
 }
 
 #endif // EIGEN_SPARSEREDUX_H