U = [[1, 0, 0], [0, 0.6, 0.8], [0, 0.8, -0.6]] V = [[0.2, 0.4, 0.4, 0.8], [0.4, -0.2, -0.8, 0.4], [0.4, 0.8, -0.2, -0.4], [0.8, -0.4, 0.4, -0.2]] %%%%%%%%%%%%%%%%%%%%%%%%% % Matrices with integer % % singular values % %%%%%%%%%%%%%%%%%%%%%%%%% % Singular values: 1, 1, 0 U*diag([1, 1, 0])*V' [[0.2, 0.4, 0.4, 0.8], [0.24, -0.12, 0.48, -0.24], [0.32, -0.16, 0.64, -0.32]] % Singular values: 2, 1, 0 U*diag([2, 1, 0])*V' [[0.4, 0.8, 0.8, 1.6], [0.24, -0.12, 0.48, -0.24], [0.32, -0.16, 0.64, -0.32]] % Singular values: 2, 2, 0 U*diag([2, 2, 0])*V' [[0.4, 0.8, 0.8, 1.6], [0.48, -0.24, 0.96, -0.48], [0.64, -0.32, 1.28, -0.64]] % Singular values: 2, 2, 1 U*diag([2, 2, 1])*V' [[0.4, 0.8, 0.8, 1.6], [0.8, -0.88, 0.8, -0.16], [0.4, 0.16, 1.4, -0.88]] % Singular values: 3, 1, 0 U*diag([3, 1, 0])*V' [[0.6, 1.2, 1.2, 2.4], [0.24, -0.12, 0.48, -0.24], [0.32, -0.16, 0.64, -0.32]] % Singular values: 3, 2, 0 U*diag([3, 2, 0])*V' [[0.6, 1.2, 1.2, 2.4], [0.48, -0.24, 0.96, -0.48], [0.64, -0.32, 1.28, -0.64]] % Singular values: 3, 2, 1 U*diag([3, 2, 1])*V' [[0.6, 1.2, 1.2, 2.4], [0.8, -0.88, 0.8, -0.16], [0.4, 0.16, 1.4, -0.88]] % Singular values: 3, 3, 1 U*diag([3, 3, 1])*V' [[0.6, 1.2, 1.2, 2.4], [1.04, -1, 1.28, -0.4], [0.72, 0, 2.04, -1.2]] % Singular values: 3, 3, 2 U*diag([3, 3, 2])*V' [[0.6, 1.2, 1.2, 2.4], [1.36, -1.64, 1.12, -0.08], [0.48, 0.48, 2.16, -1.44]] % Singular values: 4, 1, 0 U*diag([4, 1, 0])*V' [[0.8, 1.6, 1.6, 3.2], [0.24, -0.12, 0.48, -0.24], [0.32, -0.16, 0.64, -0.32]] % Singular values: 4, 2, 0 U*diag([4, 2, 0])*V' [[0.8, 1.6, 1.6, 3.2], [0.48, -0.24, 0.96, -0.48], [0.64, -0.32, 1.28, -0.64]] % Singular values: 4, 2, 1 U*diag([4, 2, 1])*V' [[0.8, 1.6, 1.6, 3.2], [0.8, -0.88, 0.8, -0.16], [0.4, 0.16, 1.4, -0.88]] % Singular values: 4, 3, 1 U*diag([4, 3, 1])*V' [[0.8, 1.6, 1.6, 3.2], [1.04, -1, 1.28, -0.4], [0.72, 0, 2.04, -1.2]] % Singular values: 4, 3, 2 U*diag([4, 3, 2])*V' [[0.8, 1.6, 1.6, 3.2], [1.36, -1.64, 1.12, -0.08], [0.48, 0.48, 2.16, -1.44]] % Singular values: 4, 4, 0 U*diag([4, 4, 0])*V' [[0.8, 1.6, 1.6, 3.2], [0.96, -0.48, 1.92, -0.96], [1.28, -0.64, 2.56, -1.28]] % Singular values: 4, 4, 1 U*diag([4, 4, 1])*V' [[0.8, 1.6, 1.6, 3.2], [1.28, -1.12, 1.76, -0.64], [1.04, -0.16, 2.68, -1.52]] % Singular values: 4, 4, 2 U*diag([4, 4, 2])*V' [[0.8, 1.6, 1.6, 3.2], [1.6, -1.76, 1.6, -0.32], [0.8, 0.32, 2.8, -1.76]] % Singular values: 4, 4, 3 U*diag([4, 4, 3])*V' [[0.8, 1.6, 1.6, 3.2], [1.92, -2.4, 1.44, 0], [0.56, 0.8, 2.92, -2]] % Singular values: 5, 1, 0 U*diag([5, 1, 0])*V' [[1, 2, 2, 4], [0.24, -0.12, 0.48, -0.24], [0.32, -0.16, 0.64, -0.32]] % Singular values: 5, 2, 0 U*diag([5, 2, 0])*V' [[1, 2, 2, 4], [0.48, -0.24, 0.96, -0.48], [0.64, -0.32, 1.28, -0.64]] % Singular values: 5, 2, 1 U*diag([5, 2, 1])*V' [[1, 2, 2, 4], [0.8, -0.88, 0.8, -0.16], [0.4, 0.16, 1.4, -0.88]] % Singular values: 5, 3, 1 U*diag([5, 3, 1])*V' [[1, 2, 2, 4], [1.04, -1, 1.28, -0.4], [0.72, 0, 2.04, -1.2]] % Singular values: 5, 3, 2 U*diag([5, 3, 2])*V' [[1, 2, 2, 4], [1.36, -1.64, 1.12, -0.08], [0.48, 0.48, 2.16, -1.44]] % Singular values: 5, 4, 0 U*diag([5, 4, 0])*V' [[1, 2, 2, 4], [0.96, -0.48, 1.92, -0.96], [1.28, -0.64, 2.56, -1.28]] % Singular values: 5, 4, 1 U*diag([5, 4, 1])*V' [[1, 2, 2, 4], [1.28, -1.12, 1.76, -0.64], [1.04, -0.16, 2.68, -1.52]] % Singular values: 5, 4, 2 U*diag([5, 4, 2])*V' [[1, 2, 2, 4], [1.6, -1.76, 1.6, -0.32], [0.8, 0.32, 2.8, -1.76]] % Singular values: 5, 4, 3 U*diag([5, 4, 3])*V' [[1, 2, 2, 4], [1.92, -2.4, 1.44, 0], [0.56, 0.8, 2.92, -2]] % Singular values: 5, 5, 1 U*diag([5, 5, 1])*V' [[1, 2, 2, 4], [1.52, -1.24, 2.24, -0.88], [1.36, -0.32, 3.32, -1.84]]