The package has not been registered in
METADATA.jl and can be installed with
A typical example of the usage of fca.jl is
# separate freely independent rectangular random matrices out of their additive mixture using FCA, LinearAlgebra # generate freely two freely independent rectangular random matrices X1 and X2 N, M = 300, 500 X1 = randn(N, M) / sqrt(M) U, V = Matrix(qr(randn(N,N)).Q), Matrix(qr(randn(M,M)).Q) D = [Diagonal((collect(range(1,stop = 0,length = N)) .- 1).^4) zeros(N, M - N)] X2 = U*D*V' X = [X1, X2]; # mix X1, X2 linearly A = randn(2,2) # mixing matrix Z = A*X # use freecf to recover mixing matrix and free components (up to permutation and rescaling) Aest, Xest = freecf(Z; mat = "rec") # "rec" tells the function that we are dealing with the rectangular matrices # Aest recover A upto column permutation and column rescaling. @show pinv(Aest)*A # their product should approximate a diagonal matrix
This package is provided as is under the MIT License.
University of Michigan, Department of Mathematics