From d6e5de0f692b6a4ba01375bb2e934cc8bf83ff40 Mon Sep 17 00:00:00 2001 From: Alex Hildebrand Date: Sun, 19 Jan 2020 23:30:06 +0100 Subject: [PATCH] Fixed Moore-Penrose Pseudo-Inverse for complex cases --- src/Numerics/LinearAlgebra/Complex/Matrix.cs | 2 +- src/Numerics/LinearAlgebra/Complex32/Matrix.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Numerics/LinearAlgebra/Complex/Matrix.cs b/src/Numerics/LinearAlgebra/Complex/Matrix.cs index 8e7ed99d..d09e793e 100644 --- a/src/Numerics/LinearAlgebra/Complex/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/Matrix.cs @@ -539,7 +539,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex } w.SetDiagonal(s); - return (svd.U * w * svd.VT).Transpose(); + return (svd.U * w * svd.VT).ConjugateTranspose(); } /// diff --git a/src/Numerics/LinearAlgebra/Complex32/Matrix.cs b/src/Numerics/LinearAlgebra/Complex32/Matrix.cs index a85d6dd1..be2e6b2d 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Matrix.cs @@ -539,7 +539,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 } w.SetDiagonal(s); - return (svd.U * w * svd.VT).Transpose(); + return (svd.U * w * svd.VT).ConjugateTranspose(); } ///