From 5d2368e12ba649dfc73c897750b6a2e64b4eea15 Mon Sep 17 00:00:00 2001 From: "supritsj@Arch" Date: Mon, 2 Jun 2025 00:32:22 +0530 Subject: [PATCH] fix: do-concurrent syntax --- src/stdlib_linalg_pinv.fypp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/stdlib_linalg_pinv.fypp b/src/stdlib_linalg_pinv.fypp index ed616a13b..3416506db 100644 --- a/src/stdlib_linalg_pinv.fypp +++ b/src/stdlib_linalg_pinv.fypp @@ -74,7 +74,9 @@ submodule(stdlib_linalg) stdlib_linalg_pseudoinverse ! Get pseudo-inverse: A_pinv = V * (diag(1/s) * U^H) = V * (U * diag(1/s))^H ! 1) compute (U * diag(1/s)) in-place - do concurrent (i=1:m,j=1:k); u(i,j) = s(j)*u(i,j); end do + do concurrent (i=1:m,j=1:k) + u(i,j) = s(j)*u(i,j) + end do ! 2) commutate matmul: A_pinv = V * (U * diag(1/s))^H = ((U * diag(1/s)) * V^H)^H. ! This avoids one matrix transpose