]> www.ginac.de Git - ginac.git/blobdiff - ginac/matrix.cpp
Added methods for taking real and imaginary parts.
[ginac.git] / ginac / matrix.cpp
index f62e2d409244d8a50d44890b8eae74f8ac5e4eb1..3f3b2e6fa93b34edaca43a427d94487db91bcd12 100644 (file)
@@ -262,6 +262,24 @@ ex matrix::conjugate() const
        return *this;
 }
 
+ex matrix::real_part() const
+{
+       exvector v;
+       v.reserve(m.size());
+       for (exvector::const_iterator i=m.begin(); i!=m.end(); ++i)
+               v.push_back(i->real_part());
+       return matrix(row, col, v);
+}
+
+ex matrix::imag_part() const
+{
+       exvector v;
+       v.reserve(m.size());
+       for (exvector::const_iterator i=m.begin(); i!=m.end(); ++i)
+               v.push_back(i->imag_part());
+       return matrix(row, col, v);
+}
+
 // protected
 
 int matrix::compare_same_type(const basic & other) const