code: def check_length_of_init_values(design_3d, init_values):
      
      if init_values.shape[0] != design_3d.shape[2]:
          msg_1 = "The initial values are of the wrong dimension. "
          msg_2 = "They should be of dimension {}".format(design_3d.shape[2])
          raise ValueError(msg_1 + msg_2)
  
      return None
docs: Ensures that the initial values are of the correct length, given the design
      matrix that they will be dot-producted with. Raises a ValueError if that is
      not the case, and provides a useful error message to users.
  
      Parameters
      ----------
      init_values : 1D ndarray.
          1D numpy array of the initial values to start the optimizatin process
          with. There should be one value for each index coefficient being
          estimated.
      design_3d : 2D ndarray.
          2D numpy array with one row per observation per available alternative.
          There should be one column per index coefficient being estimated. All
          elements should be ints, floats, or longs.
  
      Returns
      -------
      None.