def _precess_from_J2000_Capitaine(epoch):
 T = ((epoch - 2000.0) / 100.0)
 pzeta = ((-3.173e-07), (-5.971e-06), 0.01801828, 0.2988499, 2306.083227, 2.650545)
 pz = ((-2.904e-07), (-2.8596e-05), 0.01826837, 1.0927348, 2306.077181, (-2.650545))
 ptheta = ((-1.274e-07), (-7.089e-06), (-0.04182264), (-0.4294934), 2004.191903, 0)
 zeta = (np.polyval(pzeta, T) / 3600.0)
 z = (np.polyval(pz, T) / 3600.0)
 theta = (np.polyval(ptheta, T) / 3600.0)
 return matrix_product(rotation_matrix((- z), u'z'), rotation_matrix(theta, u'y'), rotation_matrix((- zeta), u'z'))

def _precess_from_J2000_Capitaine ( epoch ) : T = ( ( epoch - 2000.0 ) / 100.0 ) pzeta = ( ( - 3.173e-07 ) , ( - 5.971e-06 ) , 0.01801828 , 0.2988499 , 2306.083227 , 2.650545 ) pz = ( ( - 2.904e-07 ) , ( - 2.8596e-05 ) , 0.01826837 , 1.0927348 , 2306.077181 , ( - 2.650545 ) ) ptheta = ( ( - 1.274e-07 ) , ( - 7.089e-06 ) , ( - 0.04182264 ) , ( - 0.4294934 ) , 2004.191903 , 0 ) zeta = ( np . polyval ( pzeta , T ) / 3600.0 ) z = ( np . polyval ( pz , T ) / 3600.0 ) theta = ( np . polyval ( ptheta , T ) / 3600.0 ) return matrix_product ( rotation_matrix ( ( - z ) , u'z' ) , rotation_matrix ( theta , u'y' ) , rotation_matrix ( ( - zeta ) , u'z' ) )
computes the precession matrix from j2000 to the given julian epoch .