diff --git a/src/language/utils/AffectationRegisterForString.cpp b/src/language/utils/AffectationRegisterForString.cpp
index 37446e243d6fcb14fcd6c3e97a845d17b831c2e6..7946aeb45fc72e7569e5d8299e184c220baa7106 100644
--- a/src/language/utils/AffectationRegisterForString.cpp
+++ b/src/language/utils/AffectationRegisterForString.cpp
@@ -39,6 +39,18 @@ AffectationRegisterForString::_register_eq_op()
     language::eq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::vector_t>(3),
                      std::make_shared<AffectationProcessorBuilder<language::eq_op, std::string, TinyVector<3>>>());
 
+  repository.addAffectation<
+    language::eq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(1, 1),
+                     std::make_shared<AffectationProcessorBuilder<language::eq_op, std::string, TinyMatrix<1>>>());
+
+  repository.addAffectation<
+    language::eq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(2, 2),
+                     std::make_shared<AffectationProcessorBuilder<language::eq_op, std::string, TinyMatrix<2>>>());
+
+  repository.addAffectation<
+    language::eq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(3, 3),
+                     std::make_shared<AffectationProcessorBuilder<language::eq_op, std::string, TinyMatrix<3>>>());
+
   repository.addAffectation<language::eq_op>(ASTNodeDataType::build<ASTNodeDataType::tuple_t>(string_t),
                                              ASTNodeDataType::build<ASTNodeDataType::bool_t>(),
                                              std::make_shared<AffectationToTupleProcessorBuilder<std::string>>());
@@ -66,6 +78,18 @@ AffectationRegisterForString::_register_eq_op()
   repository.addAffectation<language::eq_op>(ASTNodeDataType::build<ASTNodeDataType::tuple_t>(string_t),
                                              ASTNodeDataType::build<ASTNodeDataType::vector_t>(3),
                                              std::make_shared<AffectationToTupleProcessorBuilder<std::string>>());
+
+  repository.addAffectation<language::eq_op>(ASTNodeDataType::build<ASTNodeDataType::tuple_t>(string_t),
+                                             ASTNodeDataType::build<ASTNodeDataType::matrix_t>(1, 1),
+                                             std::make_shared<AffectationToTupleProcessorBuilder<std::string>>());
+
+  repository.addAffectation<language::eq_op>(ASTNodeDataType::build<ASTNodeDataType::tuple_t>(string_t),
+                                             ASTNodeDataType::build<ASTNodeDataType::matrix_t>(2, 2),
+                                             std::make_shared<AffectationToTupleProcessorBuilder<std::string>>());
+
+  repository.addAffectation<language::eq_op>(ASTNodeDataType::build<ASTNodeDataType::tuple_t>(string_t),
+                                             ASTNodeDataType::build<ASTNodeDataType::matrix_t>(3, 3),
+                                             std::make_shared<AffectationToTupleProcessorBuilder<std::string>>());
 }
 
 void
@@ -107,29 +131,17 @@ AffectationRegisterForString::_register_pluseq_op()
                                                  std::make_shared<AffectationProcessorBuilder<
                                                    language::pluseq_op, std::string, TinyVector<3>>>());
 
-  // this->_addAffectation("string += string",
-  //                       std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string,
-  //                       std::string>>());
-  // this->_addAffectation("string += B",
-  //                       std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string, bool>>());
-  // this->_addAffectation("string += N",
-  //                       std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string, uint64_t>>());
-  // this->_addAffectation("string += Z",
-  //                       std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string, int64_t>>());
-  // this->_addAffectation("string += R",
-  //                       std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string, double>>());
-  // this
-  //   ->_addAffectation("string += R^1",
-  //                     std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string,
-  //                     TinyVector<1>>>());
-  // this
-  //   ->_addAffectation("string += R^2",
-  //                     std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string,
-  //                     TinyVector<2>>>());
-  // this
-  //   ->_addAffectation("string += R^3",
-  //                     std::make_shared<AffectationProcessorBuilder<language::pluseq_op, std::string,
-  //                     TinyVector<3>>>());
+  repository.addAffectation<language::pluseq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(1, 1),
+                                                 std::make_shared<AffectationProcessorBuilder<
+                                                   language::pluseq_op, std::string, TinyMatrix<1>>>());
+
+  repository.addAffectation<language::pluseq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(2, 2),
+                                                 std::make_shared<AffectationProcessorBuilder<
+                                                   language::pluseq_op, std::string, TinyMatrix<2>>>());
+
+  repository.addAffectation<language::pluseq_op>(string_t, ASTNodeDataType::build<ASTNodeDataType::matrix_t>(3, 3),
+                                                 std::make_shared<AffectationProcessorBuilder<
+                                                   language::pluseq_op, std::string, TinyMatrix<3>>>());
 }
 
 AffectationRegisterForString::AffectationRegisterForString()
diff --git a/src/language/utils/BinaryOperatorRegisterForString.cpp b/src/language/utils/BinaryOperatorRegisterForString.cpp
index 1323e21ea0cd17cca712a286c6cf4192447e88e4..0e89cbe00502938d817405c3f3f3d6d991f0433e 100644
--- a/src/language/utils/BinaryOperatorRegisterForString.cpp
+++ b/src/language/utils/BinaryOperatorRegisterForString.cpp
@@ -36,5 +36,8 @@ BinaryOperatorRegisterForString::BinaryOperatorRegisterForString()
   this->_register_concat<TinyVector<1>>();
   this->_register_concat<TinyVector<2>>();
   this->_register_concat<TinyVector<3>>();
+  this->_register_concat<TinyMatrix<1>>();
+  this->_register_concat<TinyMatrix<2>>();
+  this->_register_concat<TinyMatrix<3>>();
   this->_register_concat<std::string>();
 }