%%%%%%%%%%%%%%%%%%%%% Schwartz LFT Triple Constructor %%%%%%%%%%%%%%%%%%%%% % % LFTSCHWARTZTRIPLE % Usage: [A,B,C] = LFTSCHWARTZTRIPLE(p,q,r) % Inputs: p,q,r - real numbers with 1/p +1/q +1/r < 1 % % Output: Three matrices A,B,C such that % A has order p, B has order q, and C has order r as rotations at the corners of the standard Schwartz triangle % and ABC = I function [A,B,C] = LFTschwartztriple(p,q,r) T = schwartz(p,q,r); z1 = T(2); z2 = T(3); z0 = euccentre(z1,z2); P = [exp(pi*i/p), 0; 0, exp(-pi*i/p)]; Q = [1,0; 0,1]; R = [z0,-1;1,-z0']; R = R/sqrt(det(R)); A = P*conj(Q); B = Q*conj(R); C = R*conj(P);