def dlfParamsdz(z, pPhiStar, pMStar, pAlpha, pBeta): dlog10phiStardz = T.deriv(T(pPhiStar))(1 + z) dmStardz = T.deriv(T(pMStar))(1 + z) dalphadz = T.deriv(T(pAlpha))(1 + z) h, f0, z0, a, b = pBeta zeta = np.log10((1.0 + z) / (1.0 + z0)) dbetadz = (-f0 * (a * 10.0**((a - 1) * zeta) / (1.0 + z0) + b * 10.0**((b - 1) * zeta) / (1.0 + z0)) / (10.0**(a * zeta) + 10.0**(b * zeta))**2) return dlog10phiStardz, dmStardz, dalphadz, dbetadz
def get_Matrix(operator): M = np.zeros((N + 1, N + 1), dtype=complex) I = np.eye(N + 1) y = np.cos(np.linspace(2, N - 2, N - 3, dtype=float) * pi / N) for i in range(0, N + 1): T = Ch(I[i, :]) M[i, 0] = T(1.0) M[i, 1] = T.deriv(1)(1.0) M[i, 2:N - 1] = operator(T)(y) M[i, N - 1] = T(-1.0) M[i, N] = T.deriv(1)(-1.0) M = eliminate(M, 0) M = eliminate(M, 1) M = eliminate(M, N - 1) M = eliminate(M, N) return M[2:N - 1, 2:N - 1]