From 68f552147602df28b982e1f51ea3e43f4696bd75 Mon Sep 17 00:00:00 2001 From: Nicola Demo Date: Mon, 26 Aug 2024 11:26:31 +0200 Subject: [PATCH] Update orthogonal.py --- pina/model/layers/orthogonal.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pina/model/layers/orthogonal.py b/pina/model/layers/orthogonal.py index 66be5c2..b7085e0 100644 --- a/pina/model/layers/orthogonal.py +++ b/pina/model/layers/orthogonal.py @@ -32,15 +32,17 @@ class OrthogonalBlock(torch.nn.Module): # check dim is less than all the other dimensions if X.shape[self.dim] > min(X.shape): raise Warning( - "The dimension where to orthogonalize is greater\ - than the other dimensions" + "The dimension where to orthogonalize is greater" + " than the other dimensions" ) result = torch.zeros_like(X) + # normalize first basis X_0 = torch.select(X, self.dim, 0) result_0 = torch.select(result, self.dim, 0) result_0 += X_0 / torch.norm(X_0) + # iterate over the rest of the basis with Gram-Schmidt for i in range(1, X.shape[self.dim]): v = torch.select(X, self.dim, i) @@ -52,4 +54,5 @@ class OrthogonalBlock(torch.nn.Module): ) * torch.select(result, self.dim, j) result_i = torch.select(result, self.dim, i) result_i += v / torch.norm(v) + return result