(seed, npStar, ndStar)
return X
Translates and propagates the seed design to a LHD of size npStar (which might exceed the requested size N)

        :param seed: seed design, size S x D
        :param npStar: size of the LHD to be generated (N*). 
        :param ndStar: number of translation steps for the seed in each dimension
        :return: LHD data matrix, size N* x D (still to be shrinked).
Translates and propagates the seed design to a LHD of size npStar (which might exceed the requested size N)
Translates and propagates the seed design to a LHD of size npStar ( which might exceed the requested size N )
def _translate_propagate(seed, npStar, ndStar):
        """
        Translates and propagates the seed design to a LHD of size npStar (which might exceed the requested size N)

        :param seed: seed design, size S x D
        :param npStar: size of the LHD to be generated (N*). 
        :param ndStar: number of translation steps for the seed in each dimension
        :return: LHD data matrix, size N* x D (still to be shrinked).
        """
        nv = seed.shape[1]
        X = seed

        for c1 in range(0, nv):
            # Propagation step
            seed = X
            # Define translation
            d = np.concatenate((np.power(ndStar, c1 - 1) * np.ones(np.max((c1, 0))),
                                [npStar / ndStar],
                                np.power(ndStar, c1) * np.ones(nv - np.max((c1, 0)) - 1)))
            for c2 in np.arange(1, ndStar):
                # Translation steps
                seed = seed + d
                X = np.vstack((X, seed))

        assert (X.shape == (npStar, nv))
        return X
def _translate_propagate ( seed , npStar , ndStar ) : nv = seed . shape [ 1 ] X = seed for c1 in range ( 0 , nv ) : # Propagation step seed = X # Define translation d = np . concatenate ( ( np . power ( ndStar , c1 - 1 ) * np . ones ( np . max ( ( c1 , 0 ) ) ) , [ npStar / ndStar ] , np . power ( ndStar , c1 ) * np . ones ( nv - np . max ( ( c1 , 0 ) ) - 1 ) ) ) for c2 in np . arange ( 1 , ndStar ) : # Translation steps seed = seed + d X = np . vstack ( ( X , seed ) ) assert ( X . shape == ( npStar , nv ) ) return X