Beispiel #1
0
def test_discontiguous():
    x = numpy.random.rand(3, 10)
    y = numpy.random.rand(3, 10)

    accupy.kdot(x.T, y)
    accupy.fdot(x.T, y)
    return
Beispiel #2
0
def test_speed_comparison2(filename=None, n_range=None):
    if n_range is None:
        n_range = [2**k for k in range(2)]

    numpy.random.seed(0)
    perfplot.plot(
        setup=lambda n: (numpy.random.rand(100, n), numpy.random.rand(n, 100)),
        kernels=[
            lambda xy: numpy.dot(*xy),
            lambda xy: accupy.kdot(*xy, K=2),
            lambda xy: accupy.kdot(*xy, K=3),
            lambda xy: accupy.fdot(*xy),
        ],
        labels=[
            "numpy.dot", "accupy.kdot[2]", "accupy.kdot[3]", "accupy.fdot"
        ],
        n_range=n_range,
        xlabel="n",
        logx=True,
        logy=True,
    )
    plt.title("dot(random(100, n), random(n, 100))")
    # plt.show()

    if filename:
        plt.savefig(filename, transparent=True, bbox_inches="tight")
Beispiel #3
0
def test_speed_comparison1(n_range=None):
    if n_range is None:
        n_range = [2**k for k in range(2)]

    numpy.random.seed(0)
    perfplot.plot(
        setup=lambda n: (numpy.random.rand(n, 100), numpy.random.rand(100, n)),
        kernels=[
            lambda xy: numpy.dot(*xy),
            lambda xy: accupy.kdot(*xy, K=2),
            lambda xy: accupy.kdot(*xy, K=3),
            lambda xy: accupy.fdot(*xy),
        ],
        labels=[
            "numpy.dot", "accupy.kdot[2]", "accupy.kdot[3]", "accupy.fdot"
        ],
        colors=plt.rcParams["axes.prop_cycle"].by_key()["color"][:4],
        n_range=n_range,
        title="dot(random(n, 100), random(100, n))",
        xlabel="n",
        logx=True,
        logy=True,
        automatic_order=False,
    )
    plt.gca().set_aspect(0.2)
    lgd = plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.0)
    # plt.show()
    plt.savefig(
        "speed-comparison-dot1.png",
        transparent=True,
        bbox_extra_artists=(lgd, ),
        bbox_inches="tight",
    )
    return
Beispiel #4
0
def test_speed_comparison1(n_range=None):
    if n_range is None:
        n_range = [2**k for k in range(2)]

    perfplot.plot(setup=lambda n:
                  (numpy.random.rand(n, 100), numpy.random.rand(100, n)),
                  kernels=[
                      lambda xy: numpy.dot(*xy),
                      lambda xy: accupy.kdot(*xy, K=2),
                      lambda xy: accupy.kdot(*xy, K=3),
                      lambda xy: accupy.fdot(*xy),
                  ],
                  labels=[
                      'numpy.dot',
                      'accupy.kdot[2]',
                      'accupy.kdot[3]',
                      'accupy.fdot',
                  ],
                  colors=plt.rcParams['axes.prop_cycle'].by_key()['color'][:4],
                  n_range=n_range,
                  title='dot(random(n, 100), random(100, n))',
                  xlabel='n',
                  logx=True,
                  logy=True,
                  automatic_order=False)
    plt.gca().set_aspect(0.2)
    lgd = plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.0)
    # plt.show()
    plt.savefig(
        'speed-comparison-dot1.png',
        transparent=True,
        bbox_extra_artists=(lgd, ),
        bbox_inches='tight',
    )
    return
Beispiel #5
0
def test_fdot(cond):
    x, y, ref, _ = accupy.generate_ill_conditioned_dot_product(100, cond)
    assert abs(accupy.fdot(x, y) - ref) < 1.0e-13 * abs(ref)