]> www.ginac.de Git - ginac.git/blobdiff - ginac/matrix.cpp
unit_matrix() uses a heap-allocated matrix
[ginac.git] / ginac / matrix.cpp
index 146127fab4365c06b1477d25433b9cc412a6f11e..d82abab790356326efc060b7f88749285ad88c49 100644 (file)
@@ -1481,9 +1481,11 @@ ex diag_matrix(const lst & l)
 
 ex unit_matrix(unsigned r, unsigned c)
 {
-       matrix Id(r,c);
-       for (unsigned i=0; i<r && i<c; ++i)
+       matrix &Id = *new matrix(r, c);
+       Id.setflag(status_flags::dynallocated);
+       for (unsigned i=0; i<r && i<c; i++)
                Id(i,i) = _ex1;
+
        return Id;
 }