def fourquark_Zs(Data):
    "Z-factors corresponding to fourquark operators."

    amputated = amputate_fourquark(Data.prop_list, Data.fourquark_array)
    norm = (Data.V)**3
    VpA = Data.Lambda_VpA
    Data.fourquark_Lambda = (fourquark_proj_g(amputated).real)*norm
    Data.Zinv = dot(Data.fourquark_Lambda, inv(F_gg))/(VpA)**2
    Data.fourquark_Zs = inv(Data.Zinv)
def fourquark_ZsJK(Data):
    "Jack-knife samples and uncertainties for fourquark Zs."
    
    amputatedJK = map(amputate_fourquark, JKsample(Data.prop_list), 
                                          JKsample(Data.fourquark_array))
    norm = (Data.V)**3
    Lambda = lambda amp: (fourquark_proj_g(amp).real)*norm
    Data.fourquark_Lambda_JK = map(Lambda, amputatedJK)
    Data.fourquark_Lambda_sigmaJK = JKsigma(Data.fourquark_Lambda_JK,
                                            Data.fourquark_Lambda)
    Zinv = lambda Lambda, VpA: dot(Lambda, inv(F_gg))/(VpA)**2
    Data.Zinv_JK = map(Zinv, Data.fourquark_Lambda_JK, Data.Lambda_VpA_JK)
    Data.Zinv_sigmaJK = JKsigma(Data.Zinv_JK, Data.Zinv)
    Zs = lambda Lambda, VpA: dot(F_gg, inv(Lambda))*VpA*VpA
    Data.fourquark_ZsJK = map(Zs, Data.fourquark_Lambda_JK, Data.Lambda_VpA_JK)
    Data.fourquark_sigmaJK = JKsigma(Data.fourquark_ZsJK, Data.fourquark_Zs)