def partial_velocity(vel_vecs, gen_speeds, frame):
 if (not iterable(vel_vecs)):
  raise TypeError('Velocity vectors must be contained in an iterable.')
 if (not iterable(gen_speeds)):
  raise TypeError('Generalized speeds must be contained in an iterable')
 vec_partials = []
 for vec in vel_vecs:
  partials = []
  for speed in gen_speeds:
   partials.append(vec.diff(speed, frame, var_in_dcm=False))
  vec_partials.append(partials)
 return vec_partials

def partial_velocity ( vel_vecs , gen_speeds , frame ) : if ( not iterable ( vel_vecs ) ) : raise TypeError ( 'Velocity vectors must be contained in an iterable.' ) if ( not iterable ( gen_speeds ) ) : raise TypeError ( 'Generalized speeds must be contained in an iterable' ) vec_partials = [ ] for vec in vel_vecs : partials = [ ] for speed in gen_speeds : partials . append ( vec . diff ( speed , frame , var_in_dcm = False ) ) vec_partials . append ( partials ) return vec_partials
returns a list of partial velocities with respect to the provided generalized speeds in the given reference frame for each of the supplied velocity vectors .