From e0d9a447df8d262822688da7cd94e9fc4405f4ab Mon Sep 17 00:00:00 2001 From: Joakim Skogholt Date: Thu, 18 May 2023 13:35:34 +0200 Subject: [PATCH] And TRSegmentOrthThingy --- src/TR.jl | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/TR.jl b/src/TR.jl index 6c0617f..f3c3db3 100644 --- a/src/TR.jl +++ b/src/TR.jl @@ -121,7 +121,20 @@ TRObj = TRSVD(U, s, V, mX, regType, regParam1, regMat, n, p); return TRObj end +function TRSegmentOrth(X, segments) +n = size(X,1); +n_segments = maximum(segments); + +U = zeros(n,n); + +for seg in 1:n_segments + inds = vec(seg .== segments) + U[inds, inds], _, _ = svd(X[inds,:], full=false); +end + +return U +end """ function TRVirCV(X, y, lambdas, regType="L2", regParam1=0, regParam2=1e-14)