Index: src/Actions/AnalysisAction/PrincipalAxisSystemAction.cpp
===================================================================
--- src/Actions/AnalysisAction/PrincipalAxisSystemAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/AnalysisAction/PrincipalAxisSystemAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -22,5 +22,5 @@
 #include "Helpers/Log.hpp"
 #include "Helpers/Verbose.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "LinearAlgebra/Vector.hpp"
 #include "element.hpp"
@@ -40,5 +40,5 @@
 /** =========== define the function ====================== */
 Action::state_ptr AnalysisPrincipalAxisSystemAction::performCall() {
-  Matrix InertiaTensor;
+  RealSpaceMatrix InertiaTensor;
 
   DoLog(0) && (Log() << Verbose(0) << "Evaluating prinicipal axis." << endl);
Index: src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.cpp
===================================================================
--- src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -23,5 +23,5 @@
 #include "Helpers/Verbose.hpp"
 #include "LinearAlgebra/Line.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "LinearAlgebra/Vector.hpp"
 #include "element.hpp"
@@ -50,5 +50,5 @@
     mol = iter->second;
     DoLog(0) && (Log() << Verbose(0) << "Converting to prinicipal axis system." << endl);
-    Matrix InertiaTensor;
+    RealSpaceMatrix InertiaTensor;
     Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
 
Index: src/Actions/SelectionAction/AllAtomsInsideCuboidAction.cpp
===================================================================
--- src/Actions/SelectionAction/AllAtomsInsideCuboidAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/SelectionAction/AllAtomsInsideCuboidAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -25,5 +25,5 @@
 #include "Helpers/Log.hpp"
 #include "Helpers/Verbose.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "LinearAlgebra/Vector.hpp"
 #include "Shapes/BaseShapes.hpp"
@@ -45,5 +45,5 @@
 Action::state_ptr SelectionAllAtomsInsideCuboidAction::performCall() {
   std::vector<atom *> selectedAtoms = World::getInstance().getSelectedAtoms();
-  Matrix RotationMatrix;
+  RealSpaceMatrix RotationMatrix;
 
   // obtain information
@@ -70,5 +70,5 @@
 Action::state_ptr SelectionAllAtomsInsideCuboidAction::performRedo(Action::state_ptr _state){
   SelectionAllAtomsInsideCuboidState *state = assert_cast<SelectionAllAtomsInsideCuboidState*>(_state.get());
-  Matrix RotationMatrix;
+  RealSpaceMatrix RotationMatrix;
 
   RotationMatrix.setRotation(state->params.Xangle, state->params.Yangle, state->params.Zangle);
Index: src/Actions/SelectionAction/NotAllAtomsInsideCuboidAction.cpp
===================================================================
--- src/Actions/SelectionAction/NotAllAtomsInsideCuboidAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/SelectionAction/NotAllAtomsInsideCuboidAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -25,5 +25,5 @@
 #include "Helpers/Log.hpp"
 #include "Helpers/Verbose.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "LinearAlgebra/Vector.hpp"
 #include "Shapes/BaseShapes.hpp"
@@ -45,5 +45,5 @@
 Action::state_ptr SelectionNotAllAtomsInsideCuboidAction::performCall() {
   std::vector<atom *> selectedAtoms = World::getInstance().getSelectedAtoms();
-  Matrix RotationMatrix;
+  RealSpaceMatrix RotationMatrix;
 
   // obtain information
@@ -70,5 +70,5 @@
 Action::state_ptr SelectionNotAllAtomsInsideCuboidAction::performRedo(Action::state_ptr _state){
   SelectionNotAllAtomsInsideCuboidState *state = assert_cast<SelectionNotAllAtomsInsideCuboidState*>(_state.get());
-  Matrix RotationMatrix;
+  RealSpaceMatrix RotationMatrix;
 
   RotationMatrix.setRotation(state->params.Xangle, state->params.Yangle, state->params.Zangle);
Index: src/Actions/ValueStorage.cpp
===================================================================
--- src/Actions/ValueStorage.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/ValueStorage.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -31,5 +31,5 @@
 #include "Helpers/Verbose.hpp"
 #include "LinearAlgebra/BoxVector.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "LinearAlgebra/Vector.hpp"
 #include "atom.hpp"
@@ -95,5 +95,5 @@
 
 void ValueStorage::queryCurrentValue(const char * name, class Box &_T) {
-  Matrix M;
+  RealSpaceMatrix M;
   double tmp;
   if (typeid( Box ) == *(OptionRegistry_instance.getOptionByName(name)->getType())) {
@@ -254,5 +254,5 @@
 void ValueStorage::setCurrentValue(const char * name, class Box &_T)
 {
-  const Matrix &M = _T.getM();
+  const RealSpaceMatrix &M = _T.getM();
   if (typeid( Box ) == *(OptionRegistry_instance.getOptionByName(name)->getType())) {
     std::ostringstream stream;
Index: src/Actions/WorldAction/CenterOnEdgeAction.cpp
===================================================================
--- src/Actions/WorldAction/CenterOnEdgeAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/WorldAction/CenterOnEdgeAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -24,5 +24,5 @@
 #include "LinearAlgebra/Vector.hpp"
 #include "World.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 
 #include <iostream>
@@ -59,5 +59,5 @@
   }
   // set new box size
-  Matrix domain;
+  RealSpaceMatrix domain;
   for (int i=0;i<NDIM;i++) {
     double tmp = Max[i]-Min[i];
Index: src/Actions/WorldAction/ChangeBoxAction.cpp
===================================================================
--- src/Actions/WorldAction/ChangeBoxAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/WorldAction/ChangeBoxAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -24,5 +24,5 @@
 #include "World.hpp"
 #include "Box.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 
 #include <iostream>
Index: src/Actions/WorldAction/RepeatBoxAction.cpp
===================================================================
--- src/Actions/WorldAction/RepeatBoxAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/WorldAction/RepeatBoxAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -25,5 +25,5 @@
 #include "molecule.hpp"
 #include "LinearAlgebra/Vector.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 #include "Helpers/Verbose.hpp"
 #include "World.hpp"
@@ -63,9 +63,9 @@
 
   (cout << "Repeating box " << params.Repeater << " times for (x,y,z) axis." << endl);
-  Matrix M = World::getInstance().getDomain().getM();
-  Matrix newM = M;
+  RealSpaceMatrix M = World::getInstance().getDomain().getM();
+  RealSpaceMatrix newM = M;
   Vector x,y;
   int n[NDIM];
-  Matrix repMat;
+  RealSpaceMatrix repMat;
   for (int axis = 0; axis < NDIM; axis++) {
     params.Repeater[axis] = floor(params.Repeater[axis]);
Index: src/Actions/WorldAction/ScaleBoxAction.cpp
===================================================================
--- src/Actions/WorldAction/ScaleBoxAction.cpp	(revision 9eb7580cd9f1b192263dddcbef45a27b39fc5eca)
+++ src/Actions/WorldAction/ScaleBoxAction.cpp	(revision cca9efb7bf18583f35d0380acb97e9034c42bbe7)
@@ -26,5 +26,5 @@
 #include "World.hpp"
 #include "Box.hpp"
-#include "LinearAlgebra/Matrix.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
 
 #include <iostream>
@@ -53,6 +53,6 @@
   }
 
-  Matrix M = World::getInstance().getDomain().getM();
-  Matrix scale;
+  RealSpaceMatrix M = World::getInstance().getDomain().getM();
+  RealSpaceMatrix scale;
 
   for (int i=0;i<NDIM;i++) {
