function [R,L,J,H] = get_rljh(S) % computes the equivalence relations of Green: R, L, J and H [n,n] = size(S); R = zeros(n,n); L = zeros(n,n); J = zeros(n,n); H = zeros(n,n); I = eye(n); for i=1:n for j=i+1:n Tr1 = aS(S,i); Tr2 = aS(S,j); R(i,j) = seteq(Tr1,Tr2); Tl1 = Sa(S,i); Tl2 = Sa(S,j); L(i,j) = seteq(Tl1,Tl2); Tj1 = SaS(S,i); Tj2 = SaS(S,j); J(i,j) = seteq(Tj1,Tj2); H(i,j) = R(i,j) * L(i,j); end end R = R+R'+I; L = L+L'+I; J = J+J'+I; H = H+H'+I; return function T = Sa(S,a) [n,n] = size(S); T = []; for i=1:n T(end+1) = S(i,a); end T = unique(T); return function T = aS(S,a) [n,n] = size(S); T = []; for i=1:n T(end+1) = S(a,i); end T = unique(T); return function T = SaS(S,a) [n,n] = size(S); T = []; for i=1:n for j=1:n T(end+1) = S(S(i,a),j); end end T = unique(T); return