Maybe something like this
function orth(A,thresh=eps(A[1]))
(U,S)=svd(A)
U[:, S.>S[1]*thresh]
end
orth(float(A))
20x4 Array{Float64,2}:
-0.223607 -0.213651 0.183753 0.265684
-0.223607 -0.213651 0.183753 0.265684
-0.223607 -0.213651 0.183753 0.265684
-0.223607 -0.213651 0.183753 0.265684
-0.223607 -0.213651 0.183753 0.265684
-0.223607 0.0371419 -0.372503 0.0993058
-0.223607 0.0371419 -0.372503 0.0993058
-0.223607 0.0371419 -0.372503 0.0993058
-0.223607 0.0371419 -0.372503 0.0993058
-0.223607 0.0371419 -0.372503 0.0993058
-0.223607 0.350358 0.163883 -0.0197973
-0.223607 0.350358 0.163883 -0.0197973
-0.223607 0.350358 0.163883 -0.0197973
-0.223607 0.350358 0.163883 -0.0197973
-0.223607 0.350358 0.163883 -0.0197973
-0.223607 -0.173849 0.0248676 -0.345193
-0.223607 -0.173849 0.0248676 -0.345193
-0.223607 -0.173849 0.0248676 -0.345193
-0.223607 -0.173849 0.0248676 -0.345193
-0.223607 -0.173849 0.0248676 -0.345193
On Thursday, April 3, 2014 9:23:14 AM UTC-4, Alan Edelman wrote:
>
> I would use the svd with a threshold based on the norm
> and optionally adjustable
>
>