def _evalf_(self, z, m, parent=None, algorithm=None): """ EXAMPLES:: sage: harmonic_number(3.,3) zeta(3) - 0.0400198661225573 sage: harmonic_number(3.,3.) 1.16203703703704 sage: harmonic_number(3,3).n(200) 1.16203703703703703703703... sage: harmonic_number(5,I).n() 2.36889632899995 - 3.51181956521611*I """ if m == 0: if parent is None: return z return parent(z) elif m == 1: return harmonic_m1._evalf_(z, parent, algorithm) from sage.functions.transcendental import zeta, hurwitz_zeta return zeta(m) - hurwitz_zeta(m, z + 1)
def _evalf_(self, z, m, parent=None, algorithm=None): """ EXAMPLES:: sage: harmonic_number(3.,3) zeta(3) - 0.0400198661225573 sage: harmonic_number(3.,3.) 1.16203703703704 sage: harmonic_number(3,3).n(200) 1.16203703703703703703703... sage: harmonic_number(5,I).n() 2.36889632899995 - 3.51181956521611*I """ if m == 0: if parent is None: return z return parent(z) elif m == 1: return harmonic_m1._evalf_(z, parent, algorithm) from sage.functions.transcendental import zeta, hurwitz_zeta return zeta(m) - hurwitz_zeta(m,z+1)