code: def IPT_to_XYZ(cobj, *args, **kwargs):
      
      ipt_values = numpy.array(cobj.get_value_tuple())
      lms_values = numpy.dot(
          numpy.linalg.inv(IPTColor.conversion_matrices['lms_to_ipt']),
          ipt_values)
  
      lms_prime = numpy.sign(lms_values) * numpy.abs(lms_values) ** (1 / 0.43)
  
      xyz_values = numpy.dot(
          numpy.linalg.inv(IPTColor.conversion_matrices['xyz_to_lms']),
          lms_prime)
      return XYZColor(*xyz_values, observer='2', illuminant='d65')
docs: Converts IPT to XYZ.