def acsch(self, value): """ Verilen değeri kullanarak, sumpy.acsch döndürür :param value: değer :return: sympy.acsch """ return sp.acsch(value_checker(value))
def test_trig_functions(self, printer, x): # Trig functions assert printer.doprint(sp.acos(x)) == 'acos(x)' assert printer.doprint(sp.acosh(x)) == 'acosh(x)' assert printer.doprint(sp.asin(x)) == 'asin(x)' assert printer.doprint(sp.asinh(x)) == 'asinh(x)' assert printer.doprint(sp.atan(x)) == 'atan(x)' assert printer.doprint(sp.atanh(x)) == 'atanh(x)' assert printer.doprint(sp.ceiling(x)) == 'ceil(x)' assert printer.doprint(sp.cos(x)) == 'cos(x)' assert printer.doprint(sp.cosh(x)) == 'cosh(x)' assert printer.doprint(sp.exp(x)) == 'exp(x)' assert printer.doprint(sp.factorial(x)) == 'factorial(x)' assert printer.doprint(sp.floor(x)) == 'floor(x)' assert printer.doprint(sp.log(x)) == 'log(x)' assert printer.doprint(sp.sin(x)) == 'sin(x)' assert printer.doprint(sp.sinh(x)) == 'sinh(x)' assert printer.doprint(sp.tan(x)) == 'tan(x)' assert printer.doprint(sp.tanh(x)) == 'tanh(x)' # extra trig functions assert printer.doprint(sp.sec(x)) == '1 / cos(x)' assert printer.doprint(sp.csc(x)) == '1 / sin(x)' assert printer.doprint(sp.cot(x)) == '1 / tan(x)' assert printer.doprint(sp.asec(x)) == 'acos(1 / x)' assert printer.doprint(sp.acsc(x)) == 'asin(1 / x)' assert printer.doprint(sp.acot(x)) == 'atan(1 / x)' assert printer.doprint(sp.sech(x)) == '1 / cosh(x)' assert printer.doprint(sp.csch(x)) == '1 / sinh(x)' assert printer.doprint(sp.coth(x)) == '1 / tanh(x)' assert printer.doprint(sp.asech(x)) == 'acosh(1 / x)' assert printer.doprint(sp.acsch(x)) == 'asinh(1 / x)' assert printer.doprint(sp.acoth(x)) == 'atanh(1 / x)'
def test_inverses(): x = Symbol('x') assert sinh(x).inverse() == asinh raises(AttributeError, lambda: cosh(x).inverse()) assert tanh(x).inverse() == atanh assert coth(x).inverse() == acoth assert asinh(x).inverse() == sinh assert acosh(x).inverse() == cosh assert atanh(x).inverse() == tanh assert acoth(x).inverse() == coth assert asech(x).inverse() == sech assert acsch(x).inverse() == csch
def test_derivs(): x = Symbol('x') assert coth(x).diff(x) == -sinh(x)**(-2) assert sinh(x).diff(x) == cosh(x) assert cosh(x).diff(x) == sinh(x) assert tanh(x).diff(x) == -tanh(x)**2 + 1 assert csch(x).diff(x) == -coth(x) * csch(x) assert sech(x).diff(x) == -tanh(x) * sech(x) assert acoth(x).diff(x) == 1 / (-x**2 + 1) assert asinh(x).diff(x) == 1 / sqrt(x**2 + 1) assert acosh(x).diff(x) == 1 / sqrt(x**2 - 1) assert atanh(x).diff(x) == 1 / (-x**2 + 1) assert asech(x).diff(x) == -1 / (x * sqrt(1 - x**2)) assert acsch(x).diff(x) == -1 / (x**2 * sqrt(1 + x**(-2)))
def test_derivs(): x = Symbol('x') assert coth(x).diff(x) == -sinh(x)**(-2) assert sinh(x).diff(x) == cosh(x) assert cosh(x).diff(x) == sinh(x) assert tanh(x).diff(x) == -tanh(x)**2 + 1 assert csch(x).diff(x) == -coth(x)*csch(x) assert sech(x).diff(x) == -tanh(x)*sech(x) assert acoth(x).diff(x) == 1/(-x**2 + 1) assert asinh(x).diff(x) == 1/sqrt(x**2 + 1) assert acosh(x).diff(x) == 1/sqrt(x**2 - 1) assert atanh(x).diff(x) == 1/(-x**2 + 1) assert asech(x).diff(x) == -1/(x*sqrt(1 - x**2)) assert acsch(x).diff(x) == -1/(x**2*sqrt(1 + x**(-2)))
def test_acsch_fdiff(): x = Symbol('x') raises(ArgumentIndexError, lambda: acsch(x).fdiff(2))
def test_acsch_rewrite(): x = Symbol('x') assert acsch(x).rewrite(log) == log(1 / x + sqrt(1 / x**2 + 1))
def test_acsch_infinities(): assert acsch(oo) == 0 assert acsch(-oo) == 0 assert acsch(zoo) == 0
def test_acsch(): x = Symbol('x') assert unchanged(acsch, x) assert acsch(-x) == -acsch(x) # values at fixed points assert acsch(1) == log(1 + sqrt(2)) assert acsch(-1) == -log(1 + sqrt(2)) assert acsch(0) == zoo assert acsch(2) == log((1 + sqrt(5)) / 2) assert acsch(-2) == -log((1 + sqrt(5)) / 2) assert acsch(I) == -I * pi / 2 assert acsch(-I) == I * pi / 2 assert acsch(-I * (sqrt(6) + sqrt(2))) == I * pi / 12 assert acsch(I * (sqrt(2) + sqrt(6))) == -I * pi / 12 assert acsch(-I * (1 + sqrt(5))) == I * pi / 10 assert acsch(I * (1 + sqrt(5))) == -I * pi / 10 assert acsch(-I * 2 / sqrt(2 - sqrt(2))) == I * pi / 8 assert acsch(I * 2 / sqrt(2 - sqrt(2))) == -I * pi / 8 assert acsch(-I * 2) == I * pi / 6 assert acsch(I * 2) == -I * pi / 6 assert acsch(-I * sqrt(2 + 2 / sqrt(5))) == I * pi / 5 assert acsch(I * sqrt(2 + 2 / sqrt(5))) == -I * pi / 5 assert acsch(-I * sqrt(2)) == I * pi / 4 assert acsch(I * sqrt(2)) == -I * pi / 4 assert acsch(-I * (sqrt(5) - 1)) == 3 * I * pi / 10 assert acsch(I * (sqrt(5) - 1)) == -3 * I * pi / 10 assert acsch(-I * 2 / sqrt(3)) == I * pi / 3 assert acsch(I * 2 / sqrt(3)) == -I * pi / 3 assert acsch(-I * 2 / sqrt(2 + sqrt(2))) == 3 * I * pi / 8 assert acsch(I * 2 / sqrt(2 + sqrt(2))) == -3 * I * pi / 8 assert acsch(-I * sqrt(2 - 2 / sqrt(5))) == 2 * I * pi / 5 assert acsch(I * sqrt(2 - 2 / sqrt(5))) == -2 * I * pi / 5 assert acsch(-I * (sqrt(6) - sqrt(2))) == 5 * I * pi / 12 assert acsch(I * (sqrt(6) - sqrt(2))) == -5 * I * pi / 12 assert acsch(nan) == nan # properties # acsch(x) == asinh(1/x) assert acsch(-I * sqrt(2)) == asinh(I / sqrt(2)) assert acsch(-I * 2 / sqrt(3)) == asinh(I * sqrt(3) / 2) # acsch(x) == -I*asin(I/x) assert acsch(-I * sqrt(2)) == -I * asin(-1 / sqrt(2)) assert acsch(-I * 2 / sqrt(3)) == -I * asin(-sqrt(3) / 2) # csch(acsch(x)) / x == 1 assert expand_mul( csch(acsch(-I * (sqrt(6) + sqrt(2)))) / (-I * (sqrt(6) + sqrt(2)))) == 1 assert expand_mul(csch(acsch(I * (1 + sqrt(5)))) / ((I * (1 + sqrt(5))))) == 1 assert (csch(acsch(I * sqrt(2 - 2 / sqrt(5)))) / (I * sqrt(2 - 2 / sqrt(5)))).simplify() == 1 assert (csch(acsch(-I * sqrt(2 - 2 / sqrt(5)))) / (-I * sqrt(2 - 2 / sqrt(5)))).simplify() == 1 # numerical evaluation assert str(acsch(5 * I + 1).n(6)) == '0.0391819 - 0.193363*I' assert str(acsch(-5 * I + 1).n(6)) == '0.0391819 + 0.193363*I'
def test_acsch_rewrite(): x = Symbol('x') assert acsch(x).rewrite(log) == log(1/x + sqrt(1/x**2 + 1))
def test_acsch(): x = Symbol('x') assert acsch(-x) == acsch(-x) assert acsch(x) == -acsch(-x) # values at fixed points assert acsch(1) == log(1 + sqrt(2)) assert acsch(-1) == - log(1 + sqrt(2)) assert acsch(0) == zoo assert acsch(2) == log((1+sqrt(5))/2) assert acsch(-2) == - log((1+sqrt(5))/2) assert acsch(I) == - I*pi/2 assert acsch(-I) == I*pi/2 assert acsch(-I*(sqrt(6) + sqrt(2))) == I*pi / 12 assert acsch(I*(sqrt(2) + sqrt(6))) == -I*pi / 12 assert acsch(-I*(1 + sqrt(5))) == I*pi / 10 assert acsch(I*(1 + sqrt(5))) == -I*pi / 10 assert acsch(-I*2 / sqrt(2 - sqrt(2))) == I*pi / 8 assert acsch(I*2 / sqrt(2 - sqrt(2))) == -I*pi / 8 assert acsch(-I*2) == I*pi / 6 assert acsch(I*2) == -I*pi / 6 assert acsch(-I*sqrt(2 + 2/sqrt(5))) == I*pi / 5 assert acsch(I*sqrt(2 + 2/sqrt(5))) == -I*pi / 5 assert acsch(-I*sqrt(2)) == I*pi / 4 assert acsch(I*sqrt(2)) == -I*pi / 4 assert acsch(-I*(sqrt(5)-1)) == 3*I*pi / 10 assert acsch(I*(sqrt(5)-1)) == -3*I*pi / 10 assert acsch(-I*2 / sqrt(3)) == I*pi / 3 assert acsch(I*2 / sqrt(3)) == -I*pi / 3 assert acsch(-I*2 / sqrt(2 + sqrt(2))) == 3*I*pi / 8 assert acsch(I*2 / sqrt(2 + sqrt(2))) == -3*I*pi / 8 assert acsch(-I*sqrt(2 - 2/sqrt(5))) == 2*I*pi / 5 assert acsch(I*sqrt(2 - 2/sqrt(5))) == -2*I*pi / 5 assert acsch(-I*(sqrt(6) - sqrt(2))) == 5*I*pi / 12 assert acsch(I*(sqrt(6) - sqrt(2))) == -5*I*pi / 12 # properties # acsch(x) == asinh(1/x) assert acsch(-I*sqrt(2)) == asinh(I/sqrt(2)) assert acsch(-I*2 / sqrt(3)) == asinh(I*sqrt(3) / 2) # acsch(x) == -I*asin(I/x) assert acsch(-I*sqrt(2)) == -I*asin(-1/sqrt(2)) assert acsch(-I*2 / sqrt(3)) == -I*asin(-sqrt(3)/2) # csch(acsch(x)) / x == 1 assert expand_mul(csch(acsch(-I*(sqrt(6) + sqrt(2)))) / (-I*(sqrt(6) + sqrt(2)))) == 1 assert expand_mul(csch(acsch(I*(1 + sqrt(5)))) / ((I*(1 + sqrt(5))))) == 1 assert (csch(acsch(I*sqrt(2 - 2/sqrt(5)))) / (I*sqrt(2 - 2/sqrt(5)))).simplify() == 1 assert (csch(acsch(-I*sqrt(2 - 2/sqrt(5)))) / (-I*sqrt(2 - 2/sqrt(5)))).simplify() == 1 # numerical evaluation assert str(acsch(5*I+1).n(6)) == '0.0391819 - 0.193363*I' assert str(acsch(-5*I+1).n(6)) == '0.0391819 + 0.193363*I'
sp.tan(num) # tangente sp.cot(num) # cotangente sp.sec(num) # secante sp.csc(num) # cosecante sp.asin(num) # Arcoseno sp.acos(num) # Arcocoseno sp.atan(num) # Arcotangente sp.atan2(catetoY, catetoX) # Arcotangente de un triangulo segun los catetos (Angulo) sp.acot(num) # Arcocotangente sp.asec(num) # Arcosecante sp.acsc(num) # Arcocosecante # Funciones hiperbólicas (Angulos en radianes) sp.sinh(num) # Seno sp.cosh(num) # Coseno sp.tanh(num) # tangente sp.coth(num) # cotangente sp.sech(num) # secante sp.csch(num) # cosecante sp.asinh(num) # Arcoseno sp.acosh(num) # Arcocoseno sp.atanh(num) # Arcotangente sp.acoth(num) # Arcocotangente sp.asech(num) # Arcosecante sp.acsch(num) # Arcocosecante # Combinatoria sp.factorial(num) # Factorial sp.functions.combinatorial.numbers.nP(num1, num2) # Permutación sp.functions.combinatorial.numbers.nC(num1, num2) # Combinación