def first_principal_component(data):
    guess = [1 for _ in data[0]]
    # use partial to make the target and grade fncs a variable of w only
    unscaled_maximizer, _, _ = Ch8.maximize_batch(
                            partial(directional_variance, data),
                            partial(directional_variance_gradient, data),
                            guess,tolerance = 0.00001)

    return direction(unscaled_maximizer)
def first_principal_component(data):
    guess = [1 for _ in data[0]]
    # use partial to make the target and grade fncs a variable of w only
    unscaled_maximizer, _, _ = Ch8.maximize_batch(
        partial(directional_variance, data),
        partial(directional_variance_gradient, data),
        guess,
        tolerance=0.00001)

    return direction(unscaled_maximizer)