code: def logarithmic_r(min_n, max_n, factor):
    
    assert max_n > min_n
    assert factor > 1
    max_i = int(np.floor(np.log(1.0 * max_n / min_n) / np.log(factor)))
    return [min_n * (factor ** i) for i in range(max_i + 1)]
docs: Creates a list of values by successively multiplying a minimum value min_n by
    a factor > 1 until a maximum value max_n is reached.
  
    Args:
      min_n (float):
        minimum value (must be < max_n)
      max_n (float):
        maximum value (must be > min_n)
      factor (float):
        factor used to increase min_n (must be > 1)
  
    Returns:
      list of floats:
        min_n, min_n * factor, min_n * factor^2, ... min_n * factor^i < max_n