def conv_lorentz(vec_d)
      vec_v = @icrs_2[:earth][3,3].map { |v| (v / Const::DAYSEC) / (Const::C / Const::AU.to_f) }
      g = inner_prod(vec_v, vec_d)
      f = Math.sqrt(1.0 - calc_velocity(vec_v))
      vec_dd_1 = vec_d.map { |d| d * f }
      vec_dd_2 = vec_v.map { |v| (1.0 + g / (1.0 + f)) * v }
      vec_dd = (0..2).map { |i| vec_dd_1[i] + vec_dd_2[i] }.map { |a| a / (1.0 + g) }
      return vec_dd
    rescue => e
      raise
    end
def conv_lorentz(vec_d)
      vec_v = @icrs_2[:earth][3,3].map { |v| (v / Const::DAYSEC) / (Const::C / Const::AU.to_f) }
      g = inner_prod(vec_v, vec_d)
      f = Math.sqrt(1.0 - calc_velocity(vec_v))
      vec_dd_1 = vec_d.map { |d| d * f }
      vec_dd_2 = vec_v.map { |v| (1.0 + g / (1.0 + f)) * v }
      vec_dd = (0..2).map { |i| vec_dd_1[i] + vec_dd_2[i] }.map { |a| a / (1.0 + g) }
      return vec_dd
    rescue => e
      raise
    end
=========================================================================
 光行差の補正（方向ベクトルの Lorentz 変換）

 * vec_dd = f * vec_d + (1 + g / (1 + f)) * vec_v
   但し、 f = vec_v * vec_d  (ベクトル内積)
          g = sqrt(1 - v^2)  (v: 速度)

 @param:  v_d   (方向（単位）ベクトル)
 @return: v_dd  (補正後ベクトル)
=========================================================================