From 71141fb4b39eb6690e0e1f44e4a1a9a91fcd2d9c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 3 Feb 2023 11:10:08 +0100
Subject: [PATCH] Add pgs calls for trace:R^dxd -> R and transpose:R^dxd->R^dxd

---
 .../modules/MathFunctionRegisterForVh.cpp         | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/language/modules/MathFunctionRegisterForVh.cpp b/src/language/modules/MathFunctionRegisterForVh.cpp
index d0468777f..05d2ea703 100644
--- a/src/language/modules/MathFunctionRegisterForVh.cpp
+++ b/src/language/modules/MathFunctionRegisterForVh.cpp
@@ -216,6 +216,13 @@ MathFunctionRegisterForVh::MathFunctionRegisterForVh(SchemeModule& scheme_module
 
                                              ));
 
+  scheme_module._addBuiltinFunction("trace", std::function(
+
+                                               [](std::shared_ptr<const IDiscreteFunction> A)
+                                                 -> std::shared_ptr<const IDiscreteFunction> { return trace(A); }
+
+                                               ));
+
   scheme_module._addBuiltinFunction("inverse", std::function(
 
                                                  [](std::shared_ptr<const IDiscreteFunction> A)
@@ -223,6 +230,14 @@ MathFunctionRegisterForVh::MathFunctionRegisterForVh(SchemeModule& scheme_module
 
                                                  ));
 
+  scheme_module._addBuiltinFunction("transpose",
+                                    std::function(
+
+                                      [](std::shared_ptr<const IDiscreteFunction> A)
+                                        -> std::shared_ptr<const IDiscreteFunction> { return transpose(A); }
+
+                                      ));
+
   scheme_module._addBuiltinFunction("min", std::function(
 
                                              [](std::shared_ptr<const IDiscreteFunction> a) -> double { return min(a); }
-- 
GitLab