maxframe.tensor.arccos#

maxframe.tensor.arccos(x, out=None, where=None, **kwargs)[源代码]#

三角反余弦,逐元素计算。

cos 的反函数,即如果 y = cos(x),则 x = arccos(y)

参数:
  • x (array_like) -- 单位圆上的 x 坐标。对于实数参数,定义域为 [-1, 1]。

  • out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供,其形状必须与输入广播兼容。如果未提供或为 None,则返回一个新分配的 tensor。元组(只能作为关键字参数)的长度必须等于输出的数量。

  • where (array_like, optional) -- 值为 True 表示在该位置计算 ufunc,值为 False 表示保留输出中的值不变。

  • **kwargs

返回:

angle -- 在给定 x 坐标处与单位圆相交的射线的角度,单位为弧度 [0, pi]。如果 x 是标量,则返回标量,否则返回与 x 形状相同的数组。

返回类型:

Tensor

参见

cos, arctan, arcsin

备注

arccos 是多值函数:对于每个 x,存在无穷多个数 z 使得 cos(z) = x。约定返回实部在 [0, pi] 范围内的角度 z

对于实数输入数据类型,arccos 总是返回实数输出。对于无法表示为实数或无穷大的值,它返回 nan 并设置 invalid 浮点错误标志。

对于复数输入,arccos 是一个复解析函数,其分支切割为 [-inf, -1][1, inf],在前者上从上方连续,在后者上从下方连续。

反余弦也称为 acos 或 cos^-1。

引用

M. Abramowitz and I.A. Stegun, "Handbook of Mathematical Functions", 10th printing, 1964, pp. 79. http://www.math.sfu.ca/~cbm/aands/

示例

我们期望 1 的反余弦为 0,-1 的反余弦为 pi:>>> import maxframe.tensor as mt

>>> mt.arccos([1, -1]).execute()
array([ 0.        ,  3.14159265])

绘制 arccos:

>>> import matplotlib.pyplot as plt
>>> x = mt.linspace(-1, 1, num=100)
>>> plt.plot(x.execute(), mt.arccos(x).execute())
>>> plt.axis('tight')
>>> plt.show()