code: def ecliptic_xyz(self, epoch=None):
          
          if epoch is None:
              vector = _ECLIPJ2000.dot(self.position.au)
              return Distance(vector)
  
          position_au = self.position.au
  
          if isinstance(epoch, Time):
              pass
          elif isinstance(epoch, float):
              epoch = Time(None, tt=epoch)
          elif epoch == 'date':
              epoch = self.t
          else:
              raise ValueError('the epoch= must be a Time object,'
                               ' a floating point Terrestrial Time (TT),'
                               ' or the string "date" for epoch-of-date')
  
          oblm, oblt, eqeq, psi, eps = epoch._earth_tilt
          e = oblt * DEG2RAD
          rotation = einsum('ij...,jk...->ik...', rot_x(-e), epoch.M)
          position_au = einsum('ij...,j...->i...', rotation, position_au)
          return Distance(position_au)
docs: Compute J2000 ecliptic position vector (x, y, z).
  
          If you instead want the coordinates referenced to the dynamical
          system defined by the Earth's true equator and equinox, provide
          an epoch time.