class_docstr: Polylogarithm function.
  
  Explanation
  ===========
  
  For $|z| < 1$ and $s \in \mathbb{C}$, the polylogarithm is
  defined by
  
  .. math:: \operatorname{Li}_s(z) = \sum_{n=1}^\infty \frac{z^n}{n^s},
  
  where the standard branch of the argument is used for $n$. It admits
  an analytic continuation which is branched at $z=1$ (notably not on the
  sheet of initial definition), $z=0$ and $z=\infty$.
  
  The name polylogarithm comes from the fact that for $s=1$, the
  polylogarithm is related to the ordinary logarithm (see examples), and that
  
  .. math:: \operatorname{Li}_{s+1}(z) =
                  \int_0^z \frac{\operatorname{Li}_s(t)}{t} \mathrm{d}t.
  
  The polylogarithm is a special case of the Lerch transcendent:
  
  .. math:: \operatorname{Li}_{s}(z) = z \Phi(z, s, 1).
  
  Examples
  ========
  
  For $z \in \{0, 1, -1\}$, the polylogarithm is automatically expressed
  using other functions:
  
  >>> from sympy import polylog
  >>> from sympy.abc import s
  >>> polylog(s, 0)
  0
  >>> polylog(s, 1)
  zeta(s)
  >>> polylog(s, -1)
  -dirichlet_eta(s)
  
  If $s$ is a negative integer, $0$ or $1$, the polylogarithm can be
  expressed using elementary functions. This can be done using
  ``expand_func()``:
  
  >>> from sympy import expand_func
  >>> from sympy.abc import z
  >>> expand_func(polylog(1, z))
  -log(1 - z)
  >>> expand_func(polylog(0, z))
  z/(1 - z)
  
  The derivative with respect to $z$ can be computed in closed form:
  
  >>> polylog(s, z).diff(z)
  polylog(s - 1, z)/z
  
  The polylogarithm can be expressed in terms of the lerch transcendent:
  
  >>> from sympy import lerchphi
  >>> polylog(s, z).rewrite(lerchphi)
  z*lerchphi(z, s, 1)
  
  See Also
  ========
  
  zeta, lerchphi
class_docstr_tok: ["Polylogarithm","function",".","Explanation","===========","For","$","|z|","<","1","$","and","$","s","\\in","\\mathbb","{","C","}","$",",","the","polylogarithm","is","defined","by","..","math",":",":","\\operatorname","{","Li","}","_s","(","z",")","=","\\sum_","{","n=1","}","^\\infty","\\frac","{","z^n","}","{","n^s","}",",","where","the","standard","branch","of","the","argument","is","used","for","$","n","$",".","It","admits","an","analytic","continuation","which","is","branched","at","$","z=1","$","(","notably","not","on","the","sheet","of","initial","definition",")",",","$","z=0","$","and","$","z=\\infty","$",".","The","name","polylogarithm","comes","from","the","fact","that","for","$","s=1","$",",","the","polylogarithm","is","related","to","the","ordinary","logarithm","(","see","examples",")",",","and","that","..","math",":",":","\\operatorname","{","Li","}","_","{","s+1","}","(","z",")","=","\\int_0^z","\\frac","{","\\operatorname","{","Li","}","_s","(","t",")","}","{","t","}","\\mathrm","{","d","}","t.","The","polylogarithm","is","a","special","case","of","the","Lerch","transcendent",":","..","math",":",":","\\operatorname","{","Li","}","_","{","s","}","(","z",")","=","z","\\Phi","(","z",",","s",",","1",")",".","Examples","========","For","$","z","\\in","\\","{","0",",","1",",","-1\\","}","$",",","the","polylogarithm","is","automatically","expressed","using","other","functions",":",">",">",">","from","sympy","import","polylog",">",">",">","from","sympy.abc","import","s",">",">",">","polylog","(","s",",","0",")","0",">",">",">","polylog","(","s",",","1",")","zeta","(","s",")",">",">",">","polylog","(","s",",","-1",")","-dirichlet_eta","(","s",")","If","$","s","$","is","a","negative","integer",",","$","0","$","or","$","1","$",",","the","polylogarithm","can","be","expressed","using","elementary","functions",".","This","can","be","done","using","``","expand_func","(",")","``",":",">",">",">","from","sympy","import","expand_func",">",">",">","from","sympy.abc","import","z",">",">",">","expand_func","(","polylog","(","1",",","z",")",")","-log","(","1","-","z",")",">",">",">","expand_func","(","polylog","(","0",",","z",")",")","z\/","(","1","-","z",")","The","derivative","with","respect","to","$","z","$","can","be","computed","in","closed","form",":",">",">",">","polylog","(","s",",","z",")",".diff","(","z",")","polylog","(","s","-","1",",","z",")","\/z","The","polylogarithm","can","be","expressed","in","terms","of","the","lerch","transcendent",":",">",">",">","from","sympy","import","lerchphi",">",">",">","polylog","(","s",",","z",")",".rewrite","(","lerchphi",")","z","*","lerchphi","(","z",",","s",",","1",")","See","Also","========","zeta",",","lerchphi"]
code: def fdiff(self, argindex=1):
      s, z = self.args
      if argindex == 2:
          return polylog(s - 1, z) / z
      raise ArgumentIndexError
  
imports: from sympy.core.add import Add
  from sympy.core.cache import cacheit
  from sympy.core.function import ArgumentIndexError, expand_mul, Function
  from sympy.core.numbers import pi, I, Integer
  from sympy.core.relational import Eq
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy
  from sympy.core.sympify import sympify
  from sympy.functions.combinatorial.numbers import bernoulli, factorial, genocchi, harmonic
  from sympy.functions.elementary.complexes import re, unpolarify, Abs, polar_lift
  from sympy.functions.elementary.exponential import log, exp_polar, exp
  from sympy.functions.elementary.integers import ceiling, floor
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.piecewise import Piecewise
  from sympy.polys.polytools import Poly
label_desc: Use image node_id 2 for calling the polylog obj's underlying member method code with example usage: obj.fdiff(argindex) and returns: unknown