

def _simulate_sincos(D1, D2, D3, N, num_inducing, plot_sim=False):
    'Simulate some data drawn from sine and cosine for use in demos of MRD'
    _np.random.seed(1234)
    x = _np.linspace(0, (4 * _np.pi), N)[:, None]
    s1 = _np.vectorize((lambda x: _np.sin(x)))
    s2 = _np.vectorize((lambda x: (_np.cos(x) ** 2)))
    s3 = _np.vectorize((lambda x: (- _np.exp((- _np.cos((2 * x)))))))
    sS = _np.vectorize((lambda x: _np.cos(x)))
    s1 = s1(x)
    s2 = s2(x)
    s3 = s3(x)
    sS = sS(x)
    s1 -= s1.mean()
    s1 /= s1.std(0)
    s2 -= s2.mean()
    s2 /= s2.std(0)
    s3 -= s3.mean()
    s3 /= s3.std(0)
    sS -= sS.mean()
    sS /= sS.std(0)
    (Y1, Y2, Y3, S1, S2, S3) = _generate_high_dimensional_output(D1, D2, D3, s1, s2, s3, sS)
    slist = [sS, s1, s2, s3]
    slist_names = ['sS', 's1', 's2', 's3']
    Ylist = [Y1, Y2, Y3]
    if plot_sim:
        from matplotlib import pyplot as plt
        import matplotlib.cm as cm
        import itertools
        fig = plt.figure('MRD Simulation Data', figsize=(8, 6))
        fig.clf()
        ax = fig.add_subplot(2, 1, 1)
        labls = slist_names
        for (S, lab) in itertools.izip(slist, labls):
            ax.plot(S, label=lab)
        ax.legend()
        for (i, Y) in enumerate(Ylist):
            ax = fig.add_subplot(2, len(Ylist), ((len(Ylist) + 1) + i))
            ax.imshow(Y, aspect='auto', cmap=cm.gray)
            ax.set_title('Y{}'.format((i + 1)))
        plt.draw()
        plt.tight_layout()
    return (slist, [S1, S2, S3], Ylist)

dataset/ETHPy150Open SheffieldML/GPy/GPy/examples/dimensionality_reduction.py _simulate_sincos/original