def _gsa_total_force(force_vectors, vector_length):
    """Return a randomly weighted sum of the force vectors.

    args:
        force_vectors: A list of force vectors on solution i.

    returns:
        numpy.array; The total force on solution i.
    """
    if len(force_vectors) == 0:
        return [0.0] * vector_length
    # The GSA algorithm specifies that the total force in each dimension
    # is a random sum of the individual forces in that dimension.
    # For this reason we sum the dimensions individually instead of simply
    # using vec_a+vec_b
    total_force = [0.0] * vector_length
    for force_vec in force_vectors:
        for i in range(vector_length):
            total_force[i] += random.uniform(0.0, 1.0) * force_vec[i]
    return total_force
Return a randomly weighted sum of the force vectors.

    args:
        force_vectors: A list of force vectors on solution i.

    returns:
        numpy.array; The total force on solution i.