Ticket #9900: trac_9900_conjugate_doctests.patch

File trac_9900_conjugate_doctests.patch, 8.6 KB (added by Burcin Erocal, 12 years ago)
  • sage/functions/hyperbolic.py

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1284285267 -7200
    # Node ID df213e03c8a0cf9b62e6206e9d72a95a66dc970a
    # Parent  de37d995a17c6ac9a4d1978c29b1789e0a9387a2
    #9900: add doctests to test enhancements to conjugation of some special
    functions in pynac/GiNaC.
    
    diff --git a/sage/functions/hyperbolic.py b/sage/functions/hyperbolic.py
    a b  
    315315            sage: arcsinh(1 + I*1.0)
    316316            1.06127506190504 + 0.666239432492515*I
    317317
     318        ``conjugate(arcsinh(x))==arcsinh(conjugate(x))`` unless on the branch
     319        cuts which run along the imaginary axis outside the interval [-I, +I].::
     320
     321            sage: conjugate(arcsinh(x))
     322            conjugate(arcsinh(x))
     323            sage: var('y', domain='positive')
     324            y
     325            sage: conjugate(arcsinh(y))
     326            arcsinh(y)
     327            sage: conjugate(arcsinh(y+I))
     328            conjugate(arcsinh(y + I))
     329            sage: conjugate(arcsinh(1/16))
     330            arcsinh(1/16)
     331
    318332        TESTS::
    319333
    320334            sage: arcsinh(x).operator()
     
    354368            sage: arccosh(CC(0.5))
    355369            1.04719755119660*I
    356370
     371        ``conjugate(arccosh(x))==arccosh(conjugate(x))`` unless on the branch
     372        cut which runs along the real axis from +1 to -inf.::
     373
     374            sage: conjugate(arccosh(x))
     375            conjugate(arccosh(x))
     376            sage: var('y', domain='positive')
     377            y
     378            sage: conjugate(arccosh(y))
     379            conjugate(arccosh(y))
     380            sage: conjugate(arccosh(y+I))
     381            conjugate(arccosh(y + I))
     382            sage: conjugate(arccos(1/16))
     383            arccos(1/16)
     384
    357385        TESTS::
    358386
    359387            sage: arccosh(x).operator()
     
    380408            sage: arctanh(1 + I*1.0)
    381409            0.402359478108525 + 1.01722196789785*I
    382410
     411        ``conjugate(arctanh(x))==arctanh(conjugate(x))`` unless on the branch
     412        cuts which run along the real axis outside the interval [-1, +1].::
     413
     414            sage: conjugate(arctanh(x))
     415            conjugate(arctanh(x))
     416            sage: var('y', domain='positive')
     417            y
     418            sage: conjugate(arctanh(y))
     419            conjugate(arctanh(y))
     420            sage: conjugate(arctanh(y+I))
     421            conjugate(arctanh(y + I))
     422            sage: conjugate(arctanh(1/16))
     423            arctanh(1/16)
     424
    383425        TESTS::
    384426
    385427            sage: arctanh(x).operator()
  • sage/functions/log.py

    diff --git a/sage/functions/log.py b/sage/functions/log.py
    a b  
    5555            sage: latex(exp(sqrt(x)^x))
    5656            e^{\left(\sqrt{x}^{x}\right)}
    5757
     58        Test conjugates::
     59
     60            sage: conjugate(exp(x))
     61            e^conjugate(x)
     62
    5863        Test simplifications when taking powers of exp, #7264::
    5964
    6065            sage: var('a,b,c,I')
     
    150155            sage: loads(dumps(ln(x)+1))
    151156            log(x) + 1
    152157
     158        ``conjugate(log(x))==log(conjugate(x))`` unless on the branch cut which
     159        runs along the negative real axis.::
     160
     161            sage: conjugate(log(x))
     162            conjugate(log(x))
     163            sage: var('y', domain='positive')
     164            y
     165            sage: conjugate(log(y))
     166            log(y)
     167            sage: conjugate(log(y+I))
     168            conjugate(log(y + I))
     169
    153170        Check if float arguments are handled properly.::
    154171
    155172            sage: from sage.functions.log import function_log as log
     
    360377
    361378            sage: latex(dilog(z))
    362379            {\rm Li}_2\left(z\right)
     380
     381        TESTS:
     382
     383        ``conjugate(dilog(x))==dilog(conjugate(x))`` unless on the branch cuts
     384        which run along the positive real axis beginning at 1.::
     385
     386            sage: conjugate(dilog(x))
     387            conjugate(dilog(x))
     388            sage: var('y',domain='positive')
     389            y
     390            sage: conjugate(dilog(y))
     391            conjugate(dilog(y))
     392            sage: conjugate(dilog(1/19))
     393            dilog(1/19)
     394            sage: conjugate(dilog(1/2*I))
     395            dilog(-1/2*I)
    363396        """       
    364397        GinacFunction.__init__(self, 'dilog',
    365398                conversions=dict(maxima='li[2]'))
  • sage/functions/other.py

    diff --git a/sage/functions/other.py b/sage/functions/other.py
    a b  
    510510            sage: gamma1(int(5))
    511511            24
    512512
     513            sage: conjugate(gamma(x))
     514            gamma(conjugate(x))
    513515
    514516            sage: plot(gamma1(x),(x,1,5))
    515517
  • sage/functions/special.py

    diff --git a/sage/functions/special.py b/sage/functions/special.py
    a b  
    15881588        4.78749174278205
    15891589        sage: log_gamma(x)
    15901590        log_gamma(x)
     1591
     1592    TESTS:
     1593
     1594    ``conjugate(log_gamma(x))==log_gamma(conjugate(x))`` unless on the branch
     1595    cut which runs along the negative real axis.::
     1596
     1597        sage: conjugate(log_gamma(x))
     1598        conjugate(log_gamma(x))
     1599        sage: var('y', domain='positive')
     1600        y
     1601        sage: conjugate(log_gamma(y))
     1602        log_gamma(y)
     1603        sage: conjugate(log_gamma(y+I))
     1604        conjugate(log_gamma(y + I))
    15911605    """
    15921606    try:
    15931607        return t.log_gamma()
  • sage/functions/trig.py

    diff --git a/sage/functions/trig.py b/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
     23
     24        TESTS::
     25
     26            sage: conjugate(sin(x))
     27            sin(conjugate(x))
    2328        """
    2429        GinacFunction.__init__(self, "sin", latex_name=r"\sin",
    2530                conversions=dict(maxima='sin',mathematica='Sin'))
     
    4146            -0.41614683654714238699756822950
    4247            sage: loads(dumps(cos))
    4348            cos
     49
     50        TESTS::
     51
     52            sage: conjugate(cos(x))
     53            cos(conjugate(x))
    4454        """
    4555        GinacFunction.__init__(self, "cos", latex_name=r"\cos",
    4656                conversions=dict(maxima='cos',mathematica='Cos'))
     
    6676            tan(1/2)
    6777            sage: RR(tan(1/2))
    6878            0.546302489843790
     79
     80        TESTS::
     81
     82            sage: conjugate(tan(x))
     83            tan(conjugate(x))
    6984        """
    7085        GinacFunction.__init__(self, "tan", latex_name=r"\tan")
    7186
     
    330345           
    331346            sage: arcsin(x).operator()
    332347            arcsin
     348
     349        ``conjugate(arcsin(x))==arcsin(conjugate(x))`` unless on the branch
     350        cuts which run along the real axis outside the interval [-1, +1].::
     351
     352            sage: conjugate(arcsin(x))
     353            conjugate(arcsin(x))
     354            sage: var('y', domain='positive')
     355            y
     356            sage: conjugate(arcsin(y))
     357            conjugate(arcsin(y))
     358            sage: conjugate(arcsin(y+I))
     359            conjugate(arcsin(y + I))
     360            sage: conjugate(arcsin(1/16))
     361            arcsin(1/16)
    333362        """
    334363        GinacFunction.__init__(self, 'arcsin', latex_name=r"\arcsin",
    335364                conversions=dict(maxima='asin'))
     
    352381            sage: arccos(3/4).n(100)
    353382            0.72273424781341561117837735264
    354383
     384        ``conjugate(arccos(x))==arccos(conjugate(x))`` unless on the branch
     385        cuts which run along the real axis outside the interval [-1, +1].::
     386
     387            sage: conjugate(arccos(x))
     388            conjugate(arccos(x))
     389            sage: var('y', domain='positive')
     390            y
     391            sage: conjugate(arccos(y))
     392            conjugate(arccos(y))
     393            sage: conjugate(arccos(y+I))
     394            conjugate(arccos(y + I))
     395            sage: conjugate(arccos(1/16))
     396            arccos(1/16)
     397
    355398        TESTS::
    356399
    357400            sage: arccos(x).operator()
     
    378421            sage: arctan(1/2).n(100)
    379422            0.46364760900080611621425623146
    380423
     424        ``conjugate(arctan(x))==arctan(conjugate(x))`` unless on the branch
     425        cuts which run along the imaginary axis outside the interval [-I, +I].::
     426
     427            sage: conjugate(arctan(x))
     428            conjugate(arctan(x))
     429            sage: var('y', domain='positive')
     430            y
     431            sage: conjugate(arctan(y))
     432            arctan(y)
     433            sage: conjugate(arctan(y+I))
     434            conjugate(arctan(y + I))
     435            sage: conjugate(arctan(1/16))
     436            arctan(1/16)
     437
    381438        TESTS::
    382439
    383440            sage: arctan(x).operator()