def test_arctanh(): def arctanh(x): return nd.arctanh(x) def grad_grad_op(x): return (2 * x) / ((1 - x**2)**2) for dim in range(1, 5): shape = rand_shape_nd(dim) # Domain of arctanh is (-1, 1) array = random_uniform_arrays(shape, low=-0.99, high=0.99)[0] check_second_order_unary(array, arctanh, grad_grad_op)
def test_arccos(): def arccos(x): return nd.arccos(x) def grad_grad_op(x): return -x / nd.sqrt((1 - x**2)**3) for dim in range(1, 5): shape = rand_shape_nd(dim) # Domain of arccos is [-1, 1] array = random_uniform_arrays(shape, low=-0.99, high=0.99)[0] check_second_order_unary(array, arccos, grad_grad_op)