(expr, var)
| 170 | return sp.simplify(D) |
| 171 | |
| 172 | def _Roots(expr, var): |
| 173 | if isinstance(expr, sp.Basic) and isinstance(var, sp.Symbol): |
| 174 | params = expr.atoms(sp.Symbol) |
| 175 | if var in params: |
| 176 | if len(params) == 1: |
| 177 | rts = _numRoots(expr, var) |
| 178 | elif len(params) == 2 and sp.pi in params: |
| 179 | rts = _numRoots(expr, var) |
| 180 | else: |
| 181 | rts = _symRoots(expr, var) |
| 182 | else: |
| 183 | rts = [] |
| 184 | else: |
| 185 | rts = [] |
| 186 | return rts |
| 187 | |
| 188 | def _symRoots(expr, var): |
| 189 | expr = assumeRealParams(expr) |