code: def validate_noise_probabilities(noise_parameter):
      
      if not noise_parameter:
          return
      if not isinstance(noise_parameter, list):
          raise TypeError("noise_parameter must be a list")
      if any([not isinstance(value, float) for value in noise_parameter]):
          raise TypeError("noise_parameter values should all be floats")
      if len(noise_parameter) != 3:
          raise ValueError("noise_parameter lists must be of length 3")
      if sum(noise_parameter) > 1 or sum(noise_parameter) < 0:
          raise ValueError("sum of entries in noise_parameter must be between 0 and 1 (inclusive)")
      if any([value < 0 for value in noise_parameter]):
          raise ValueError("noise_parameter values should all be non-negative")
docs: Is noise_parameter a valid specification of noise probabilities for depolarizing noise?
  
      :param list noise_parameter: List of noise parameter values to be validated.