public static List<List<Double>> transposition(List<List<Double>> A) {
        List<List<Double>> T = new ArrayList<List<Double>>();

        for (int i = 0; i < A.get(0).size(); i++) {
            List<Double> temp = new ArrayList<Double>();
            for (int j = 0; j < A.size(); j++) {
                temp.add(A.get(j).get(i));
            }

            T.add(temp);
        }
        return T;
    }