Ticket #9900: trac_9900_conjugate_doctests-rebase.patch

File trac_9900_conjugate_doctests-rebase.patch, 9.0 KB (added by Karl-Dieter Crisman, 12 years ago)

Rebase of original patch with respect to reviewer patches of #9879 and #9881

  • sage/functions/hyperbolic.py

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1286241013 14400
    # Node ID fddba791bb4d2060a8317be52a49eb615f45db3d
    # Parent  315e693469b4c426a7753dedb8e5b11326da9566
    #9900: add doctests to test enhancements to conjugation of some special
    functions in pynac/GiNaC.
    
    diff -r 315e693469b4 -r fddba791bb4d sage/functions/hyperbolic.py
    a b  
    361361            sage: arcsinh(-2,hold=True).simplify()
    362362            -arcsinh(2)
    363363
     364        ``conjugate(arcsinh(x))==arcsinh(conjugate(x))`` unless on the branch
     365        cuts which run along the imaginary axis outside the interval [-I, +I].::
     366
     367            sage: conjugate(arcsinh(x))
     368            conjugate(arcsinh(x))
     369            sage: var('y', domain='positive')
     370            y
     371            sage: conjugate(arcsinh(y))
     372            arcsinh(y)
     373            sage: conjugate(arcsinh(y+I))
     374            conjugate(arcsinh(y + I))
     375            sage: conjugate(arcsinh(1/16))
     376            arcsinh(1/16)
     377
    364378        TESTS::
    365379
    366380            sage: arcsinh(x).operator()
     
    422436            sage: arccosh(-1,hold=True).simplify()
    423437            I*pi
    424438
     439        ``conjugate(arccosh(x))==arccosh(conjugate(x))`` unless on the branch
     440        cut which runs along the real axis from +1 to -inf.::
     441
     442            sage: conjugate(arccosh(x))
     443            conjugate(arccosh(x))
     444            sage: var('y', domain='positive')
     445            y
     446            sage: conjugate(arccosh(y))
     447            conjugate(arccosh(y))
     448            sage: conjugate(arccosh(y+I))
     449            conjugate(arccosh(y + I))
     450            sage: conjugate(arccos(1/16))
     451            arccos(1/16)
     452
    425453        TESTS::
    426454
    427455            sage: arccosh(x).operator()
     
    459487            sage: arctanh(-1/2,hold=True).simplify()
    460488            -arctanh(1/2)
    461489
     490        ``conjugate(arctanh(x))==arctanh(conjugate(x))`` unless on the branch
     491        cuts which run along the real axis outside the interval [-1, +1].::
     492
     493            sage: conjugate(arctanh(x))
     494            conjugate(arctanh(x))
     495            sage: var('y', domain='positive')
     496            y
     497            sage: conjugate(arctanh(y))
     498            conjugate(arctanh(y))
     499            sage: conjugate(arctanh(y+I))
     500            conjugate(arctanh(y + I))
     501            sage: conjugate(arctanh(1/16))
     502            arctanh(1/16)
     503
    462504        TESTS::
    463505
    464506            sage: arctanh(x).operator()
  • sage/functions/log.py

    diff -r 315e693469b4 -r fddba791bb4d sage/functions/log.py
    a b  
    6868            sage: latex(exp(sqrt(x)^x))
    6969            e^{\left(\sqrt{x}^{x}\right)}
    7070
     71        Test conjugates::
     72
     73            sage: conjugate(exp(x))
     74            e^conjugate(x)
     75
    7176        Test simplifications when taking powers of exp, #7264::
    7277
    7378            sage: var('a,b,c,II')
     
    178183            sage: loads(dumps(ln(x)+1))
    179184            log(x) + 1
    180185
     186        ``conjugate(log(x))==log(conjugate(x))`` unless on the branch cut which
     187        runs along the negative real axis.::
     188
     189            sage: conjugate(log(x))
     190            conjugate(log(x))
     191            sage: var('y', domain='positive')
     192            y
     193            sage: conjugate(log(y))
     194            log(y)
     195            sage: conjugate(log(y+I))
     196            conjugate(log(y + I))
     197
    181198        Check if float arguments are handled properly.::
    182199
    183200            sage: from sage.functions.log import function_log as log
     
    392409
    393410            sage: latex(dilog(z))
    394411            {\rm Li}_2\left(z\right)
     412
     413        TESTS:
     414
     415        ``conjugate(dilog(x))==dilog(conjugate(x))`` unless on the branch cuts
     416        which run along the positive real axis beginning at 1.::
     417
     418            sage: conjugate(dilog(x))
     419            conjugate(dilog(x))
     420            sage: var('y',domain='positive')
     421            y
     422            sage: conjugate(dilog(y))
     423            conjugate(dilog(y))
     424            sage: conjugate(dilog(1/19))
     425            dilog(1/19)
     426            sage: conjugate(dilog(1/2*I))
     427            dilog(-1/2*I)
    395428        """       
    396429        GinacFunction.__init__(self, 'dilog',
    397430                conversions=dict(maxima='li[2]'))
  • sage/functions/other.py

    diff -r 315e693469b4 -r fddba791bb4d sage/functions/other.py
    a b  
    512512
    513513        ::
    514514
     515            sage: conjugate(gamma(x))
     516            gamma(conjugate(x))
     517
     518        ::
     519
    515520            sage: plot(gamma1(x),(x,1,5))
    516521
    517522        To prevent automatic evaluation use the ``hold`` argument::
  • sage/functions/special.py

    diff -r 315e693469b4 -r fddba791bb4d sage/functions/special.py
    a b  
    16011601        sage: a = SR(5).log_gamma(hold=True); a.n()
    16021602        3.17805383034795
    16031603
     1604    TESTS:
     1605
     1606    ``conjugate(log_gamma(x))==log_gamma(conjugate(x))`` unless on the branch
     1607    cut which runs along the negative real axis.::
     1608
     1609        sage: conjugate(log_gamma(x))
     1610        conjugate(log_gamma(x))
     1611        sage: var('y', domain='positive')
     1612        y
     1613        sage: conjugate(log_gamma(y))
     1614        log_gamma(y)
     1615        sage: conjugate(log_gamma(y+I))
     1616        conjugate(log_gamma(y + I))
    16041617    """
    16051618    try:
    16061619        return t.log_gamma()
  • sage/functions/trig.py

    diff -r 315e693469b4 -r fddba791bb4d sage/functions/trig.py
    a b  
    1212
    1313        EXAMPLES::
    1414
    15              sage: sin(0)
    16              0
    17              sage: sin(x).subs(x==0)
    18              0
    19              sage: sin(2).n(100)
    20              0.90929742682568169539601986591
    21              sage: loads(dumps(sin))
    22              sin
     15            sage: sin(0)
     16            0
     17            sage: sin(x).subs(x==0)
     18            0
     19            sage: sin(2).n(100)
     20            0.90929742682568169539601986591
     21            sage: loads(dumps(sin))
     22            sin
    2323
    2424        We can prevent evaluation using the ``hold`` parameter::
    2525
     
    3232            sage: a = sin(0,hold=True); a.simplify()
    3333            0
    3434
     35        TESTS::
     36
     37            sage: conjugate(sin(x))
     38            sin(conjugate(x))
    3539        """
    3640        GinacFunction.__init__(self, "sin", latex_name=r"\sin",
    3741                conversions=dict(maxima='sin',mathematica='Sin'))
     
    6569            sage: a = cos(0,hold=True); a.simplify()
    6670            1
    6771
     72        TESTS::
     73
     74            sage: conjugate(cos(x))
     75            cos(conjugate(x))
    6876        """
    6977        GinacFunction.__init__(self, "cos", latex_name=r"\cos",
    7078                conversions=dict(maxima='cos',mathematica='Cos'))
     
    102110            sage: a = tan(pi/4,hold=True); a.simplify()
    103111            1
    104112
     113        TESTS::
     114
     115            sage: conjugate(tan(x))
     116            tan(conjugate(x))
    105117        """
    106118        GinacFunction.__init__(self, "tan", latex_name=r"\tan")
    107119
     
    409421            sage: a = arcsin(0,hold=True); a.simplify()
    410422            0
    411423
     424        ``conjugate(arcsin(x))==arcsin(conjugate(x))`` unless on the branch
     425        cuts which run along the real axis outside the interval [-1, +1].::
     426
     427            sage: conjugate(arcsin(x))
     428            conjugate(arcsin(x))
     429            sage: var('y', domain='positive')
     430            y
     431            sage: conjugate(arcsin(y))
     432            conjugate(arcsin(y))
     433            sage: conjugate(arcsin(y+I))
     434            conjugate(arcsin(y + I))
     435            sage: conjugate(arcsin(1/16))
     436            arcsin(1/16)
     437
    412438        TESTS::
    413439           
    414440            sage: arcsin(x).operator()
     
    446472            sage: a = arccos(0,hold=True); a.simplify()
    447473            1/2*pi
    448474
     475        ``conjugate(arccos(x))==arccos(conjugate(x))`` unless on the branch
     476        cuts which run along the real axis outside the interval [-1, +1].::
     477
     478            sage: conjugate(arccos(x))
     479            conjugate(arccos(x))
     480            sage: var('y', domain='positive')
     481            y
     482            sage: conjugate(arccos(y))
     483            conjugate(arccos(y))
     484            sage: conjugate(arccos(y+I))
     485            conjugate(arccos(y + I))
     486            sage: conjugate(arccos(1/16))
     487            arccos(1/16)
     488
    449489        TESTS::
    450490
    451491            sage: arccos(x).operator()
     
    483523            sage: a = arctan(0,hold=True); a.simplify()
    484524            0
    485525
     526        ``conjugate(arctan(x))==arctan(conjugate(x))`` unless on the branch
     527        cuts which run along the imaginary axis outside the interval [-I, +I].::
     528
     529            sage: conjugate(arctan(x))
     530            conjugate(arctan(x))
     531            sage: var('y', domain='positive')
     532            y
     533            sage: conjugate(arctan(y))
     534            arctan(y)
     535            sage: conjugate(arctan(y+I))
     536            conjugate(arctan(y + I))
     537            sage: conjugate(arctan(1/16))
     538            arctan(1/16)
     539
    486540        TESTS::
    487541
    488542            sage: arctan(x).operator()