def METHOD_NAME(self):
    for func in self.pivoted_cholesky:
        # Positive-semidefinite 10x10 matrix A with rank 7
        A = numpy.array([[1.9128, 1.2956, 1.9677, 1.9981, 1.0043, 1.5698, 1.4975, 1.7545, 1.6550, 0.9766],
                        [1.2956, 1.4168, 1.5442, 1.3072, 0.9378, 1.1862, 1.1063, 1.4770, 1.6506, 0.8525],
                        [1.9677, 1.5442, 2.9171, 1.8568, 1.5438, 2.0130, 1.9078, 2.3226, 1.9746, 1.2607],
                        [1.9981, 1.3072, 1.8568, 2.6965, 1.4133, 1.3444, 1.4561, 2.3295, 2.1552, 1.0712],
                        [1.0043, 0.9378, 1.5438, 1.4133, 1.7113, 0.8184, 0.8848, 2.0081, 1.9986, 0.8619],
                        [1.5698, 1.1862, 2.0130, 1.3444, 0.8184, 1.7707, 1.4870, 1.5878, 1.2986, 0.8827],
                        [1.4975, 1.1063, 1.9078, 1.4561, 0.8848, 1.4870, 1.3664, 1.5652, 1.3177, 0.8497],
                        [1.7545, 1.4770, 2.3226, 2.3295, 2.0081, 1.5878, 1.5652, 2.8837, 2.5764, 1.2818],
                        [1.6550, 1.6506, 1.9746, 2.1552, 1.9986, 1.2986, 1.3177, 2.5764, 2.8480, 1.1582],
                        [0.9766, 0.8525, 1.2607, 1.0712, 0.8619, 0.8827, 0.8497, 1.2818, 1.1582, 0.7015]])
        L, piv, rank = func(A, lower=True)
        self.assertEqual(rank, 7)
        # Check if L^T * L == P^T * A * P
        P = numpy.zeros((10, 10))
        P[piv, numpy.arange(10)] = 1
        PtAP = numpy.linalg.multi_dot([P.T, A, P])
        LtL = numpy.dot(L, L.T)
        for i in range(10):
            for j in range(i+1, 10):
                self.assertEqual(L[i, j], 0)
        self.assertTrue(numpy.allclose(LtL, PtAP, atol=1.0e-12))