多项式初等函数
本页面包含多项式常见的初等函数操作。具体而言,本页面包含如下内容:
- 多项式求逆
- 多项式开方
- 多项式除法
- 多项式取模
- 多项式指数函数
- 多项式对数函数
- 多项式三角函数
- 多项式反三角函数
初等函数与非初等函数
初等函数的定义如下1:
若域
则称这个域为 微分域。
若微分域
是 上的代数函数。 是 上的指数性函数,即存在 使得 . 是 上的对数性函数,即存在 使得 .
以下是常见的初等函数:
- 代数函数:存在有限次多项式
使得 的函数 ,如 , , , . - 指数函数
- 对数函数
- 三角函数
- 反三角函数
- 双曲函数
- 反双曲函数
以上函数的复合,如:
以下是常见的非初等函数:
误差函数:
多项式求逆
给定多项式
解法
倍增法
首先,易知
假设现在已经求出了
两边平方可得:
两边同乘
递归计算即可。
时间复杂度
Newton's Method
参见 Newton's Method.
Graeffe 法
欲求
只需求出
代码
多项式求逆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
例题
- 有标号简单无向连通图计数:「POJ 1737」Connected Graph
多项式开方
给定多项式
解法
倍增法
首先讨论
易知:
若
可能有多个平方根,选取不同的根会求出不同的 。
假设现在已经求出了
倍增计算即可。
时间复杂度
还有一种常数较小的写法就是在倍增维护
当
时,可能需要使用二次剩余来计算 。
上述方法需要知道
若
若
是奇数,则 没有平方根。若
是偶数,则求出 的平方根 ,然后得到 。
洛谷模板题 P5205【模板】多项式开根 参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
Newton's Method
参见 Newton's Method.
例题
多项式除法 & 取模
给定多项式
解法
发现若能消除
考虑构造变换
观察可知其实质为反转
设
将
注意到上式中
又因
则:
使用多项式求逆即可求出
时间复杂度
多项式对数函数 & 指数函数
给定多项式
解法
普通方法
首先,对于多项式
否则
对
比较两边系数可得:
又
使用分治 FFT 即可解决。
时间复杂度
Newton's Method
使用 Newton's Method 即可在
代码
多项式 ln/exp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
例题
计算
普通做法为多项式快速幂,时间复杂度
。当
时,有:当
时,设 的最低次项为 ,则:时间复杂度
。
多项式三角函数
给定多项式
解法
首先由 Euler's formula
那么代入
直接按上述表达式编写程序即可得到模
代码
多项式三角函数
注意到我们是在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
多项式反三角函数
给定多项式
解法
仿照求多项式
那么代入
直接按式子求就可以了。
代码
多项式反三角函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
参考资料与链接
本页面最近更新:2023/10/4 21:50:08,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:shuzhouliu, Tiphereth-A, 97littleleaf11, abc1763613206, CCXXXI, EndlessCheng, Enter-tainer, fps5283, Great-designer, H-J-Granger, hly1204, hsfzLZH1, huayucaiji, Ir1d, kenlig, Marcythm, ouuan, SamZhangQingChuan, Shawlleyw, sshwy, StudyingFather, test12345-pupil, TrisolarisHD, untitledunrevised
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用