diff --git a/Applications/ApplicationsLib/LinearSolverLibrarySetup.h b/Applications/ApplicationsLib/LinearSolverLibrarySetup.h
index 65e83055063d25e9691c47ecb08f1ffbf08bf38c..f6d6d760554c5adb61b01cbf5c280e87e975de2a 100644
--- a/Applications/ApplicationsLib/LinearSolverLibrarySetup.h
+++ b/Applications/ApplicationsLib/LinearSolverLibrarySetup.h
@@ -19,7 +19,7 @@
 /// The default implementation is empty providing polymorphic behaviour when
 /// using this class.
 
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 
 #if defined(USE_PETSC)
 #include <petsc.h>
diff --git a/MathLib/LinAlg/GlobalMatrixProviders.cpp b/AssemblerLib/GlobalMatrixProviders.cpp
similarity index 100%
rename from MathLib/LinAlg/GlobalMatrixProviders.cpp
rename to AssemblerLib/GlobalMatrixProviders.cpp
diff --git a/MathLib/LinAlg/GlobalMatrixProviders.h b/AssemblerLib/GlobalMatrixProviders.h
similarity index 100%
rename from MathLib/LinAlg/GlobalMatrixProviders.h
rename to AssemblerLib/GlobalMatrixProviders.h
diff --git a/MathLib/LinAlg/MatrixProviderUser.h b/AssemblerLib/MatrixProviderUser.h
similarity index 99%
rename from MathLib/LinAlg/MatrixProviderUser.h
rename to AssemblerLib/MatrixProviderUser.h
index b6d16e1c631704b267227d279d47194072081646..0f0e4b7f0d5a052a3681c71a20b3ab9bd9d3e339 100644
--- a/MathLib/LinAlg/MatrixProviderUser.h
+++ b/AssemblerLib/MatrixProviderUser.h
@@ -12,7 +12,7 @@
 
 #include <cstddef>
 
-#include "SparsityPattern.h"
+#include "MathLib/LinAlg/SparsityPattern.h"
 
 namespace AssemblerLib { class LocalToGlobalIndexMap; }
 namespace MeshLib { class Mesh; }
diff --git a/MathLib/LinAlg/MatrixVectorTraits.cpp b/AssemblerLib/MatrixVectorTraits.cpp
similarity index 100%
rename from MathLib/LinAlg/MatrixVectorTraits.cpp
rename to AssemblerLib/MatrixVectorTraits.cpp
diff --git a/MathLib/LinAlg/MatrixVectorTraits.h b/AssemblerLib/MatrixVectorTraits.h
similarity index 100%
rename from MathLib/LinAlg/MatrixVectorTraits.h
rename to AssemblerLib/MatrixVectorTraits.h
diff --git a/MathLib/LinAlg/SimpleMatrixVectorProvider-impl.h b/AssemblerLib/SimpleMatrixVectorProvider-impl.h
similarity index 99%
rename from MathLib/LinAlg/SimpleMatrixVectorProvider-impl.h
rename to AssemblerLib/SimpleMatrixVectorProvider-impl.h
index 8e1d83690b1b199d7094512839a21b70551a93de..aa7d09b989c8e1328419c6ef00389585411b65d8 100644
--- a/MathLib/LinAlg/SimpleMatrixVectorProvider-impl.h
+++ b/AssemblerLib/SimpleMatrixVectorProvider-impl.h
@@ -10,7 +10,7 @@
 #include <cassert>
 #include <logog/include/logog.hpp>
 
-#include "BLAS.h"
+#include "MathLib/LinAlg/BLAS.h"
 #include "MatrixVectorTraits.h"
 #include "SimpleMatrixVectorProvider.h"
 
diff --git a/MathLib/LinAlg/SimpleMatrixVectorProvider.h b/AssemblerLib/SimpleMatrixVectorProvider.h
similarity index 100%
rename from MathLib/LinAlg/SimpleMatrixVectorProvider.h
rename to AssemblerLib/SimpleMatrixVectorProvider.h
diff --git a/MathLib/LinAlg/UnifiedMatrixSetters.cpp b/AssemblerLib/UnifiedMatrixSetters.cpp
similarity index 100%
rename from MathLib/LinAlg/UnifiedMatrixSetters.cpp
rename to AssemblerLib/UnifiedMatrixSetters.cpp
diff --git a/MathLib/LinAlg/UnifiedMatrixSetters.h b/AssemblerLib/UnifiedMatrixSetters.h
similarity index 100%
rename from MathLib/LinAlg/UnifiedMatrixSetters.h
rename to AssemblerLib/UnifiedMatrixSetters.h
diff --git a/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator-impl.h b/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator-impl.h
index c9dcf84211573bbc7bc8e5f1b0d6cb95737c577f..340ac3ccc6ed8712f854f810008cb27d9c9efc18 100644
--- a/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator-impl.h
+++ b/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator-impl.h
@@ -12,9 +12,9 @@
 #include <logog/include/logog.hpp>
 #include <Eigen/Core>
 
+#include "AssemblerLib/MatrixVectorTraits.h"
 #include "AssemblerLib/SerialExecutor.h"
 #include "MathLib/LinAlg/BLAS.h"
-#include "MathLib/LinAlg/MatrixVectorTraits.h"
 #include "NumLib/Function/Interpolation.h"
 #include "LocalLinearLeastSquaresExtrapolator.h"
 
diff --git a/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator.h b/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator.h
index b177164304962a752a6c66014b7570c7c60a295c..22a65316e4be595200e69ec564cb5c4b7716913e 100644
--- a/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator.h
+++ b/NumLib/Extrapolation/LocalLinearLeastSquaresExtrapolator.h
@@ -10,7 +10,7 @@
 #ifndef NUMLIB_LOCAL_LLSQ_EXTRAPOLATOR_H
 #define NUMLIB_LOCAL_LLSQ_EXTRAPOLATOR_H
 
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 #include "Extrapolator.h"
 
 namespace NumLib
diff --git a/NumLib/ODESolver/EquationSystem.h b/NumLib/ODESolver/EquationSystem.h
index 42635717116e861d0478a5f71dcc51a8de7fb33f..e92d7dbdea5d516a7d9720bfc1abfe4b42128f53 100644
--- a/NumLib/ODESolver/EquationSystem.h
+++ b/NumLib/ODESolver/EquationSystem.h
@@ -10,7 +10,7 @@
 #ifndef NUMLIB_EQUATIONSYSTEM_H
 #define NUMLIB_EQUATIONSYSTEM_H
 
-#include "MathLib/LinAlg/MatrixProviderUser.h"
+#include "AssemblerLib/MatrixProviderUser.h"
 
 namespace NumLib
 {
diff --git a/NumLib/ODESolver/NonlinearSolver-impl.h b/NumLib/ODESolver/NonlinearSolver-impl.h
index 5876ff11b79793b4b3c5b4b170d8b6f742c6aee8..b9bcdfc0feb21d418db56701d2e4cc72ac028321 100644
--- a/NumLib/ODESolver/NonlinearSolver-impl.h
+++ b/NumLib/ODESolver/NonlinearSolver-impl.h
@@ -14,7 +14,7 @@
 
 #include "BaseLib/ConfigTree.h"
 #include "MathLib/LinAlg/BLAS.h"
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 
 #include "NonlinearSolver.h"
 
diff --git a/NumLib/ODESolver/ODESystem.h b/NumLib/ODESolver/ODESystem.h
index 1183c5bf1125661882bc9657fcfc4a27503c9682..ee3abeb66296805c151d3fbd8ea5319e72a371e7 100644
--- a/NumLib/ODESolver/ODESystem.h
+++ b/NumLib/ODESolver/ODESystem.h
@@ -10,7 +10,7 @@
 #ifndef NUMLIB_ODESYSTEM_H
 #define NUMLIB_ODESYSTEM_H
 
-#include "MathLib/LinAlg/MatrixVectorTraits.h"
+#include "AssemblerLib/MatrixVectorTraits.h"
 
 #include "Types.h"
 #include "EquationSystem.h"
diff --git a/NumLib/ODESolver/TimeDiscretization.h b/NumLib/ODESolver/TimeDiscretization.h
index 63fa996c982cb9fe86786c0b3641c9f839a67afa..c7da0353e04c90b6d8edea8ce8c53bedaf1cfe78 100644
--- a/NumLib/ODESolver/TimeDiscretization.h
+++ b/NumLib/ODESolver/TimeDiscretization.h
@@ -13,7 +13,7 @@
 #include <vector>
 
 #include "MathLib/LinAlg/BLAS.h"
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 #include "Types.h"
 
 
diff --git a/NumLib/ODESolver/TimeDiscretizedODESystem.h b/NumLib/ODESolver/TimeDiscretizedODESystem.h
index 916851ed999217a52ea60114bf10fed1589d8597..384b59d2e4534578d77ad1e87d33165abbbf113d 100644
--- a/NumLib/ODESolver/TimeDiscretizedODESystem.h
+++ b/NumLib/ODESolver/TimeDiscretizedODESystem.h
@@ -12,8 +12,8 @@
 
 #include <memory>
 
+#include "AssemblerLib/UnifiedMatrixSetters.h"
 #include "MathLib/LinAlg/ApplyKnownSolution.h"
-#include "MathLib/LinAlg/UnifiedMatrixSetters.h"
 #include "ProcessLib/DirichletBc.h"
 
 #include "ODESystem.h"
diff --git a/NumLib/ODESolver/TimeLoopSingleODE.h b/NumLib/ODESolver/TimeLoopSingleODE.h
index ff8f29d8e086bda2b65dc8b9b7c5fbfaff4f6a36..21344c5e68c27e8fdbaa192be441f85de6f6fb34 100644
--- a/NumLib/ODESolver/TimeLoopSingleODE.h
+++ b/NumLib/ODESolver/TimeLoopSingleODE.h
@@ -10,7 +10,7 @@
 #ifndef NUMLIB_TIMELOOP_H
 #define NUMLIB_TIMELOOP_H
 
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 #include "TimeDiscretizedODESystem.h"
 #include "NonlinearSolver.h"
 
diff --git a/Tests/NumLib/ODEs.h b/Tests/NumLib/ODEs.h
index b693bf6efdbefa6aa5f65dae1bdd477fa83d8cb6..352cb5f342f12801eb84ba1d3f5a46efac136fe7 100644
--- a/Tests/NumLib/ODEs.h
+++ b/Tests/NumLib/ODEs.h
@@ -10,8 +10,8 @@
 #ifndef TESTS_NUMLIB_ODES_H
 #define TESTS_NUMLIB_ODES_H
 
+#include "AssemblerLib/UnifiedMatrixSetters.h"
 #include "MathLib/LinAlg/BLAS.h"
-#include "MathLib/LinAlg/UnifiedMatrixSetters.h"
 #include "NumLib/ODESolver/ODESystem.h"
 
 // debug
diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp
index c26a3c7ffce7265b2fd728fb9a8dd37771812462..cb2709ab07f633ac1360540665e347bb80f27efd 100644
--- a/Tests/NumLib/TestExtrapolation.cpp
+++ b/Tests/NumLib/TestExtrapolation.cpp
@@ -10,12 +10,12 @@
 #include <random>
 #include <gtest/gtest.h>
 
+#include "AssemblerLib/MatrixProviderUser.h"
+#include "AssemblerLib/MatrixVectorTraits.h"
+#include "AssemblerLib/UnifiedMatrixSetters.h"
 #include "AssemblerLib/VectorMatrixAssembler.h"
 
 #include "MathLib/LinAlg/BLAS.h"
-#include "MathLib/LinAlg/MatrixProviderUser.h"
-#include "MathLib/LinAlg/MatrixVectorTraits.h"
-#include "MathLib/LinAlg/UnifiedMatrixSetters.h"
 
 #include "MeshLib/MeshGenerators/MeshGenerator.h"
 
diff --git a/Tests/testrunner.cpp b/Tests/testrunner.cpp
index 0e9991d41d76b5cb4c74b88a19376a190f82374c..c67c2bfd77bdb087a05f2a91dbef8cdff40671f8 100644
--- a/Tests/testrunner.cpp
+++ b/Tests/testrunner.cpp
@@ -19,9 +19,9 @@
 
 #include "Applications/ApplicationsLib/LogogSetup.h"
 #include "Applications/ApplicationsLib/LinearSolverLibrarySetup.h"
+#include "AssemblerLib/GlobalMatrixProviders.h"
 #include "BaseLib/BuildInfo.h"
 #include "BaseLib/TemplateLogogFormatterSuppressedGCC.h"
-#include "MathLib/LinAlg/GlobalMatrixProviders.h"
 
 #ifdef OGS_BUILD_GUI
 #include <QApplication>