PyPyNum 1.11.2__py3-none-any.whl → 1.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.11.2
3
+ Version: 1.12.0
4
4
  Summary: PyPyNum is a Python library for math & science computations, covering algebra, calculus, stats, with data structures like matrices, vectors, tensors. It offers numerical tools, programs, and supports computational ops, functions, processing, simulation, & visualization in data science & ML, crucial for research, engineering, & data processing.
5
5
  Home-page: https://github.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -234,7 +234,7 @@ processing.</font><font color = red>[Python>=3.4]</font>
234
234
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
235
235
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
236
236
 
237
- ## Version -> 1.11.2 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
237
+ ## Version -> 1.12.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
238
238
 
239
239
  ![LOGO](PyPyNum.png)
240
240
 
@@ -273,11 +273,11 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
273
273
  | `pypynum.Geometry` | 几何形状 Geometric shape |
274
274
  | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
275
275
  | `pypynum.Group` | 群论算法 Group Theory Algorithm |
276
- | `pypynum.highprec` | 高精度计算 high precision computation |
277
276
  | `pypynum.image` | 图像处理 Image processing |
278
277
  | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
279
278
  | `pypynum.maths` | 通用数学函数 General mathematical functions |
280
279
  | `pypynum.Matrix` | 矩阵运算 Matrix operation |
280
+ | `pypynum.multiprec` | 多精度计算 Multi precision calculation |
281
281
  | `pypynum.NeuralN` | 神经网络训练 Neural network training |
282
282
  | `pypynum.numbers` | 数字处理 Number processing |
283
283
  | `pypynum.plotting` | 数据可视化 Data visualization |
@@ -298,6 +298,7 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
298
298
  | `pypynum.ufuncs` | 通用函数 Universal functions |
299
299
  | `pypynum.utils` | 实用工具 Utility |
300
300
  | `pypynum.Vector` | 向量运算 Vector operation |
301
+ | `pypynum.zh_cn` | 中文名的函数 Functions with Chinese names |
301
302
 
302
303
  ### PyPyNum的Zen(预览)
303
304
 
@@ -337,108 +338,151 @@ Python interpreter and run it!
337
338
  ```
338
339
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
339
340
 
340
- 新增了Config类
341
+ 添加了zh_cn模块,
342
+ 其中包括一些用中文名称封装的函数,
343
+ 并将继续补充未封装的函数。
341
344
 
342
- Added Config class
345
+ Added zh_cn module,
346
+ which includes some functions encapsulated with Chinese names,
347
+ and will continue to supplement unencapsulated functions.
343
348
 
344
- Introduction
345
- The Config class is designed to manage and configure application settings. It provides a mechanism to ensure consistency in configurations and prevents accidental changes by limiting attribute modification.
346
- Roadmap
347
- The Config class is currently stable. Future updates may include new configuration options to support additional features.
348
- Usage
349
- Modifying Configuration:
350
- You can modify the configuration by setting attributes directly, but only with predefined boolean values.
351
- config. use_latex = True # Enable LaTeX formatting
352
- Reading Configuration:
353
- You can read the current configuration by accessing the attributes.
354
- print(config. use_unicode) # Output: False
355
- Ensuring Exclusive Configuration:
356
- The Config class is designed to be mutually exclusive, meaning only one configuration item can be True at a time.
357
- config. use_std = True # This will automatically set other configuration items to False
358
- Getting Configuration Information:
359
- Use the __repr__ method to get a string representation of the current configuration.
360
- print(config) # Output: Config(use_latex=True, use_std=False, use_unicode=False)
349
+ 以下是当前已经过中文名称封装的函数:
361
350
 
362
- 修改配置时,您可以像这样导入“from pypynum import config”
351
+ The following are the functions that have already been encapsulated with Chinese names:
363
352
 
364
- When modifying the configuration, you can import 'from pypynum import config' like this
353
+ ["Fraction转为Decimal", "RC4伪随机生成算法", "RC4初始化密钥调度算法", "RC4密码", "ROT13密码", "S型函数", "base64密码",
354
+ "x对数y乘积", "y次方根", "一维傅里叶变换", "上伽玛", "上标转整数", "下伽玛", "下标转整数", "中位数", "中国剩余定理",
355
+ "中心矩", "乘积和", "代替密码", "众数", "伽玛函数", "余切", "余割", "余弦", "偏度", "全一", "全部填充", "全零", "写入",
356
+ "几何平均数", "凯撒密码", "判定系数", "判断平方数", "加权平均", "协方差", "原根", "原点矩", "双曲余切", "双曲余割",
357
+ "双曲余弦", "双曲正切", "双曲正割", "双曲正弦", "反余切", "反余割", "反余弦", "反双曲余切", "反双曲余割", "反双曲余弦",
358
+ "反双曲正切", "反双曲正割", "反双曲正弦", "反正切", "反正割", "反正弦", "可能是平方数", "填充序列", "多次方根取整",
359
+ "多精度余弦", "多精度圆周率", "多精度对数", "多精度欧拉数", "多精度正弦", "多精度自然对数", "多精度黄金分割率",
360
+ "多项式方程", "导数", "峰度", "希尔256密码", "平均数", "平方平均数", "平方根取整", "序列滚动", "归一化",
361
+ "扩展欧几里得算法", "排列数", "数组", "整数转上标", "整数转下标", "方差", "普莱费尔密码", "最大公约数", "最小公倍数",
362
+ "极差", "标准差", "模运算阶", "欧拉函数", "正切", "正割", "正弦", "相关系数", "积分", "积累乘积", "符号函数",
363
+ "类似形状全一", "类似形状全零", "类似形状填充", "累乘积", "累加和", "线性方程组", "组合数", "维吉尼亚密码", "自然对数",
364
+ "自然指数", "莫尔斯密码", "误差函数", "读取", "调和平均数", "贝塔函数", "贝塞尔I0", "贝塞尔Iv", "负一整数次幂",
365
+ "转换为列表", "转换为数组", "连续乘积", "连续加和", "阶乘函数", "阿特巴什密码", "频率统计", "黎曼函数"]
366
+
367
+ (120 functions)
368
+
369
+ 下面是一个使用示例
370
+
371
+ Here is an example of usage
372
+
373
+ >>> from pypynum import zh_cn
374
+ >>> print(zh_cn.多精度正弦(1, 100))
375
+ 0.8414709848078965066525023216302989996225630607983710656727517099919104043912396689486397435430526959
365
376
 
366
377
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
367
378
 
368
- 一些类现在支持以Unicode或LaTeX显示数据
379
+ Group类修复了原有方法的问题并且新增了
380
+ 一些方法。
381
+
382
+ The Group class has fixed the
383
+ issues with the original methods
384
+ and added some new methods.
385
+
386
+
387
+ 下面是新增的方法(Monoid是幺半群):
388
+
389
+ Here are the newly added methods:
390
+
391
+
392
+ elements(self)
393
+ getop(self)
394
+ identity(self)
395
+ is_monoid(self, modulus=None)
396
+ is_subgroup(self, other, modulus=None)
397
+ is_supergroup(self, other, modulus=None)
398
+ setop(self, operation)
399
+
400
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
401
+
402
+ "Polynomial"类增加了五个寻找特殊点的方法,下面是这五个方法。
403
+
404
+ The "Polynomial" class has added five methods for finding special points.
405
+ Here are these five methods.
406
+
407
+
408
+ 1. `stationaries(self, tolerance=1e-15)`:
409
+
410
+ 计算多项式的**驻点**,即一阶导数等于零的点。
411
+ 驻点可能是局部极大值、局部极小值或鞍点。
412
+
413
+ Calculate the stationary point of a polynomial,
414
+ which is the point where the first derivative equals zero.
415
+ The stationary point may be a local maximum,
416
+ local minimum,
417
+ or saddle point.
418
+
369
419
 
370
- Some classes now support displaying data in Unicode or LaTeX
420
+ 2. `saddles(self, tolerance=1e-15)`:
371
421
 
422
+ 计算多项式的**鞍点**。
423
+ 鞍点是驻点,其一阶导数在该点为零,而二阶导数在该点不为零且一阶导数与二阶导数的符号相反。
372
424
 
373
- Polynomial :
374
- Standard 27x - 85x^4 + 25x^12 + 54x^42 + x^47 - 29x^61 - 73x^66 - 53x^72 - 90x^94 - 99x^97
375
- Unicode 27x - 85x⁴ + 25x¹² + 54x⁴² + x⁴⁷ - 29x⁶¹ - 73x⁶⁶ - 53x⁷² - 90x⁹⁴ - 99x⁹⁷
376
- LaTeX 27x - 85x^{4} + 25x^{12} + 54x^{42} + x^{47} - 29x^{61} - 73x^{66} - 53x^{72} - 90x^{94} - 99x^{97}
425
+ Calculate the saddle point of a polynomial.
426
+ The saddle point is a stationary point,
427
+ where its first derivative is zero and its second derivative is non-zero,
428
+ and the signs of the first and second derivatives are opposite.
377
429
 
378
- IntervalSet :
379
- Standard [-94, -61) U [-41, -20] U (-1, 76] U (78, 85)
380
- Unicode [-94, -61) ∪ [-41, -20] ∪ (-1, 76] ∪ (78, 85)
381
- LaTeX \left[-94, -61\right) \cup \left[-41, -20\right] \cup \left(-1, 76\right] \cup \left(78, 85\right)
382
430
 
383
- Matrix :
384
- Standard
385
- [[-65 26 81 -47]
386
- [ 60 85 4 -23]
387
- [ 27 56 86 -7]
388
- [ 38 79 47 76]]
389
- LaTeX
390
- \begin{bmatrix}-65 & 26 & 81 & -47\\60 & 85 & 4 & -23\\27 & 56 & 86 & -7\\38 & 79 & 47 & 76\end{bmatrix}
431
+ 3. `minima(self, tolerance=1e-15)`:
391
432
 
433
+ 计算多项式的**局部极小值点**。
434
+ 局部极小值点是驻点,其二阶导数在该点大于零。
392
435
 
393
- Matrix自带的latex()方法可以设置LaTeX矩阵类型与元素间距
394
- The LaTeX() method that comes with Matrix allows you to set the LaTeX matrix type and element spacing
436
+ Calculate the local minimum points of a polynomial.
437
+ The local minimum point is a stationary point,
438
+ and its second derivative is greater than zero at that point.
395
439
 
396
- EXAMPLE :
397
- >>> print(A.latex(matrix_type="vmatrix", row_spacing=5, col_spacing=5, spacing_unit="mm"))
398
- \begin{vmatrix}-65 & \hspace{5mm} & 26 & \hspace{5mm} & 81 & \hspace{5mm} & -47\\[5mm]60 & \hspace{5mm} & 85 & \hspace{5mm} & 4 & \hspace{5mm} & -23\\[5mm]27 & \hspace{5mm} & 56 & \hspace{5mm} & 86 & \hspace{5mm} & -7\\[5mm]38 & \hspace{5mm} & 79 & \hspace{5mm} & 47 & \hspace{5mm} & 76\end{vmatrix}
440
+
441
+ 4. `maxima(self, tolerance=1e-15)`:
442
+
443
+ 计算多项式的**局部极大值点**。
444
+ 局部极大值点是驻点,其二阶导数在该点小于零。
445
+
446
+ Calculate the local maximum points of a polynomial.
447
+ The local maximum point is a stationary point,
448
+ and its second derivative is less than zero at that point.
449
+
450
+
451
+ 5. `inflections(self, tolerance=1e-15)`:
452
+
453
+ 计算多项式的**拐点**。
454
+ 拐点是二阶导数等于零的点,并且三阶导数在该点不为零,表示函数在该点改变其凹凸性。
455
+
456
+ Calculate the inflection point of a polynomial.
457
+ The inflection point is the point where the second derivative equals zero,
458
+ and the third derivative is not zero at that point,
459
+ indicating that the function changes its concavity and convexity at that point.
460
+
461
+
462
+ 每个方法都使用了`tolerance`参数来确定计算过程中可接受的误差范围。
463
+ 例如,在判断导数是否为零或者是否大于/小于零时,都会考虑到这个容差值。
464
+
465
+ Each method uses the 'tolerance' parameter to determine the acceptable range of error during the calculation process.
466
+ For example,
467
+ when determining whether the derivative is zero or greater/less than zero,
468
+ this tolerance value will be taken into account.
399
469
 
400
470
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
401
471
 
402
- 新增了IntervalSet类
403
-
404
- Added IntervalSet class
405
-
406
- 支持区间的各种集合运算
407
-
408
- Support various set operations for intervals
409
-
410
- class IntervalSet(builtins.object)
411
- | __and__ = intersection(self, other)
412
- | __eq__ = is_equal(self, other)
413
- | __ge__ = is_superset(self, other)
414
- | __gt__ = is_proper_superset(self, other)
415
- | __init__(self, intervals=None)
416
- | It is a set of intervals and supports multiple operations.
417
- | :param intervals: A sequence containing multiple intervals
418
- | __le__ = is_subset(self, other)
419
- | __lt__ = is_proper_subset(self, other)
420
- | __matmul__ = complement(self, other)
421
- | __ne__ = is_not_equal(self, other)
422
- | __or__ = union(self, other)
423
- | __repr__(self, use_latex=False)
424
- | Return repr(self).
425
- | __sub__ = difference(self, other)
426
- | __xor__ = symmetric_difference(self, other)
427
- | add_interval(self, start, end, start_open=False, end_open=False)
428
- | add_intervals(self, intervals)
429
- | complement(self, other)
430
- | difference(self, other)
431
- | intersection(self, other)
432
- | is_equal(self, other)
433
- | is_not_equal(self, other)
434
- | is_proper_subset(self, other)
435
- | is_proper_superset(self, other)
436
- | is_subset(self, other)
437
- | is_superset(self, other)
438
- | latex(self)
439
- | remove_interval(self, start, end, start_open=False, end_open=False)
440
- | symmetric_difference(self, other)
441
- | union(self, other)
472
+ highprec模块改名为multiprec,
473
+ 然后重命名和新增了几个函数。
474
+
475
+ The highprec module was renamed as multiparec,
476
+ and several functions were renamed and added.
477
+
478
+ frac2dec(frac: fractions.Fraction, sigfigs: int) -> decimal.Decimal
479
+ mp_cos(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
480
+ mp_e(sigfigs: int, method: str = 'series') -> decimal.Decimal
481
+ mp_ln(x: Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool = True) -> decimal.Decimal
482
+ mp_log(x: Union[int, str, decimal.Decimal], base: Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool = True) -> decimal.Decimal
483
+ mp_phi(sigfigs: int, method: str = 'algebraic') -> decimal.Decimal
484
+ mp_pi(sigfigs: int, method: str = 'chudnovsky') -> decimal.Decimal
485
+ mp_sin(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
442
486
 
443
487
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
444
488
  ```
@@ -674,12 +718,6 @@ PyPyNum
674
718
  │ └── FUNCTION
675
719
  │ ├── read(file: str) -> list
676
720
  │ └── write(file: str, cls: object) -> Any
677
- ├── highprec
678
- │ ├── CLASS
679
- │ └── FUNCTION
680
- │ ├── calc_e(digits: int, method: str) -> decimal.Decimal
681
- │ ├── calc_phi(digits: int, method: str) -> decimal.Decimal
682
- │ └── calc_pi(digits: int, method: str) -> decimal.Decimal
683
721
  ├── image
684
722
  │ ├── CLASS
685
723
  │ │ └── PNG(object)/__init__(self: Any) -> None
@@ -703,9 +741,9 @@ PyPyNum
703
741
  │ ├── asinh(x: typing.Union[int, float]) -> typing.Union[int, float]
704
742
  │ ├── atan(x: typing.Union[int, float]) -> typing.Union[int, float]
705
743
  │ ├── atanh(x: typing.Union[int, float]) -> typing.Union[int, float]
706
- │ ├── average(data: Any, weights: Any, expected: Any) -> Any
707
- │ ├── bessel_i0(x: Any) -> Any
708
- │ ├── bessel_iv(v: Any, x: Any) -> Any
744
+ │ ├── average(data: typing.Union[list, tuple], weights: typing.Union[list, tuple]) -> float
745
+ │ ├── bessel_i0(x: typing.Union[int, float]) -> typing.Union[int, float]
746
+ │ ├── bessel_iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
709
747
  │ ├── beta(p: typing.Union[int, float], q: typing.Union[int, float]) -> typing.Union[int, float]
710
748
  │ ├── central_moment(data: typing.Union[list, tuple], order: int) -> float
711
749
  │ ├── coeff_det(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
@@ -739,7 +777,7 @@ PyPyNum
739
777
  │ ├── kurt(data: typing.Union[list, tuple], fisher: bool) -> float
740
778
  │ ├── lcm(args: int) -> int
741
779
  │ ├── ln(x: typing.Union[int, float]) -> typing.Union[int, float]
742
- │ ├── lower_gamma(s: Any, x: Any) -> Any
780
+ │ ├── lower_gamma(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
743
781
  │ ├── mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
744
782
  │ ├── median(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
745
783
  │ ├── mod_order(a: int, n: int, b: int) -> int
@@ -767,10 +805,21 @@ PyPyNum
767
805
  │ ├── tan(x: typing.Union[int, float]) -> typing.Union[int, float]
768
806
  │ ├── tanh(x: typing.Union[int, float]) -> typing.Union[int, float]
769
807
  │ ├── totient(n: int) -> int
770
- │ ├── upper_gamma(s: Any, x: Any) -> Any
808
+ │ ├── upper_gamma(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
771
809
  │ ├── var(numbers: typing.Union[list, tuple], dof: int) -> typing.Union[int, float, complex]
772
810
  │ ├── xlogy(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
773
811
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
812
+ ├── multiprec
813
+ │ ├── CLASS
814
+ │ └── FUNCTION
815
+ │ ├── frac2dec(frac: fractions.Fraction, sigfigs: int) -> decimal.Decimal
816
+ │ ├── mp_cos(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
817
+ │ ├── mp_e(sigfigs: int, method: str) -> decimal.Decimal
818
+ │ ├── mp_ln(x: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
819
+ │ ├── mp_log(x: typing.Union[int, str, decimal.Decimal], base: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
820
+ │ ├── mp_phi(sigfigs: int, method: str) -> decimal.Decimal
821
+ │ ├── mp_pi(sigfigs: int, method: str) -> decimal.Decimal
822
+ │ └── mp_sin(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
774
823
  ├── numbers
775
824
  │ ├── CLASS
776
825
  │ └── FUNCTION
@@ -872,14 +921,137 @@ PyPyNum
872
921
  │ ├── power(x: Any, y: Any, m: Any) -> Any
873
922
  │ ├── subtract(x: Any, y: Any) -> Any
874
923
  │ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
875
- └── utils
924
+ ├── utils
925
+ │ ├── CLASS
926
+ │ │ ├── InfIterator(object)/__init__(self: Any, start: typing.Union[int, float, complex], mode: str, common: typing.Union[int, float, complex]) -> Any
927
+ │ │ ├── IntervalSet(object)/__init__(self: Any, intervals: Any) -> Any
928
+ │ │ ├── LinkedList(object)/__init__(self: Any) -> Any
929
+ │ │ ├── LinkedListNode(object)/__init__(self: Any, value: Any, next_node: Any) -> Any
930
+ │ │ └── OrderedSet(object)/__init__(self: Any, sequence: Any) -> Any
931
+ │ └── FUNCTION
932
+ └── zh_cn
876
933
  ├── CLASS
877
- │ ├── InfIterator(object)/__init__(self: Any, start: typing.Union[int, float, complex], mode: str, common: typing.Union[int, float, complex]) -> Any
878
- │ ├── IntervalSet(object)/__init__(self: Any, intervals: Any) -> Any
879
- │ ├── LinkedList(object)/__init__(self: Any) -> Any
880
- │ ├── LinkedListNode(object)/__init__(self: Any, value: Any, next_node: Any) -> Any
881
- │ └── OrderedSet(object)/__init__(self: Any, sequence: Any) -> Any
882
934
  └── FUNCTION
935
+ ├── Fraction转为Decimal(分数对象: fractions.Fraction, 有效位数: int) -> decimal.Decimal
936
+ ├── RC4伪随机生成算法(密钥序列: list) -> Any
937
+ ├── RC4初始化密钥调度算法(密钥: bytes) -> list
938
+ ├── RC4密码(文本: bytes, 密钥: bytes) -> bytes
939
+ ├── ROT13密码(文本: str) -> str
940
+ ├── S型函数(x: typing.Union[int, float]) -> typing.Union[int, float]
941
+ ├── base64密码(文本: str, 解密: bool) -> str
942
+ ├── x对数y乘积(x: float, y: float) -> float
943
+ ├── y次方根(被开方数: typing.Union[int, float, complex], 开方数: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
944
+ ├── 一维傅里叶变换(数据: Any) -> pypynum.FourierT.FT1D
945
+ ├── 上伽玛(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
946
+ ├── 上标转整数(上标字符串: str) -> str
947
+ ├── 下伽玛(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
948
+ ├── 下标转整数(下标字符串: str) -> str
949
+ ├── 中位数(数据: typing.List[float]) -> float
950
+ ├── 中国剩余定理(n: typing.List[int], a: typing.List[int]) -> int
951
+ ├── 中心矩(数据: typing.List[float], 阶数: int) -> float
952
+ ├── 乘积和(数组: typing.List[typing.Any]) -> float
953
+ ├── 代替密码(文本: str, 替换映射: dict, 解密: bool) -> str
954
+ ├── 众数(数据: typing.List[typing.Any]) -> Any
955
+ ├── 伽玛函数(alpha: float) -> float
956
+ ├── 余切(x: typing.Union[int, float]) -> typing.Union[int, float]
957
+ ├── 余割(x: typing.Union[int, float]) -> typing.Union[int, float]
958
+ ├── 余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
959
+ ├── 偏度(数据: typing.List[float]) -> float
960
+ ├── 全一(形状: Any, 返回类型: Any) -> Any
961
+ ├── 全部填充(形状: Any, 填充值: Any, 返回类型: Any) -> Any
962
+ ├── 全零(形状: Any, 返回类型: Any) -> Any
963
+ ├── 写入(文件: str, 对象: object) -> Any
964
+ ├── 几何平均数(数据: typing.List[float]) -> float
965
+ ├── 凯撒密码(文本: str, 移位: int, 解密: bool) -> str
966
+ ├── 判定系数(x: typing.List[float], y: typing.List[float]) -> float
967
+ ├── 判断平方数(n: int) -> bool
968
+ ├── 加权平均(数据: typing.List[float], 权重: typing.List[float]) -> float
969
+ ├── 协方差(x: typing.List[float], y: typing.List[float], 自由度: int) -> float
970
+ ├── 原根(a: int, 单个: bool) -> typing.Union[int, typing.List[int]]
971
+ ├── 原点矩(数据: typing.List[float], 阶数: int) -> float
972
+ ├── 双曲余切(x: typing.Union[int, float]) -> typing.Union[int, float]
973
+ ├── 双曲余割(x: typing.Union[int, float]) -> typing.Union[int, float]
974
+ ├── 双曲余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
975
+ ├── 双曲正切(x: typing.Union[int, float]) -> typing.Union[int, float]
976
+ ├── 双曲正割(x: typing.Union[int, float]) -> typing.Union[int, float]
977
+ ├── 双曲正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
978
+ ├── 反余切(x: typing.Union[int, float]) -> typing.Union[int, float]
979
+ ├── 反余割(x: typing.Union[int, float]) -> typing.Union[int, float]
980
+ ├── 反余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
981
+ ├── 反双曲余切(x: typing.Union[int, float]) -> typing.Union[int, float]
982
+ ├── 反双曲余割(x: typing.Union[int, float]) -> typing.Union[int, float]
983
+ ├── 反双曲余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
984
+ ├── 反双曲正切(x: typing.Union[int, float]) -> typing.Union[int, float]
985
+ ├── 反双曲正割(x: typing.Union[int, float]) -> typing.Union[int, float]
986
+ ├── 反双曲正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
987
+ ├── 反正切(x: typing.Union[int, float]) -> typing.Union[int, float]
988
+ ├── 反正割(x: typing.Union[int, float]) -> typing.Union[int, float]
989
+ ├── 反正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
990
+ ├── 可能是平方数(n: int) -> bool
991
+ ├── 填充序列(形状: Any, 序列: Any, 重复: Any, 填充: Any, 返回类型: Any) -> Any
992
+ ├── 多次方根取整(被开方数: int, 开方数: int) -> int
993
+ ├── 多精度余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
994
+ ├── 多精度圆周率(有效位数: int, 方法: str) -> decimal.Decimal
995
+ ├── 多精度对数(真数: typing.Union[int, float], 底数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
996
+ ├── 多精度欧拉数(有效位数: int, 方法: str) -> decimal.Decimal
997
+ ├── 多精度正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
998
+ ├── 多精度自然对数(真数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
999
+ ├── 多精度黄金分割率(有效位数: int, 方法: str) -> decimal.Decimal
1000
+ ├── 多项式方程(系数: list) -> list
1001
+ ├── 导数(函数: Any, 参数: float, 步长: float, 额外参数: Any, 额外关键字参数: Any) -> float
1002
+ ├── 峰度(数据: typing.List[float], 费希尔: bool) -> float
1003
+ ├── 希尔256密码(文本: bytes, 密钥: list, 解密: bool) -> bytes
1004
+ ├── 平均数(数据: typing.List[float]) -> float
1005
+ ├── 平方平均数(数据: typing.List[float]) -> float
1006
+ ├── 平方根取整(被开方数: int) -> int
1007
+ ├── 序列滚动(序列: typing.Iterator[typing.Any], 偏移: int) -> typing.Iterator[typing.Any]
1008
+ ├── 归一化(数据: typing.List[float], 目标: float) -> typing.List[float]
1009
+ ├── 扩展欧几里得算法(a: int, b: int) -> typing.Tuple[int, int, int]
1010
+ ├── 排列数(总数: int, 选取数: int) -> int
1011
+ ├── 数组(数据: list, 检查: bool) -> pypynum.Array.Array
1012
+ ├── 整数转上标(标准字符串: str) -> str
1013
+ ├── 整数转下标(标准字符串: str) -> str
1014
+ ├── 方差(数据: typing.List[float], 自由度: int) -> float
1015
+ ├── 普莱费尔密码(文本: str, 密钥: str, 解密: bool) -> str
1016
+ ├── 最大公约数(args: int) -> int
1017
+ ├── 最小公倍数(args: int) -> int
1018
+ ├── 极差(数据: typing.List[float]) -> float
1019
+ ├── 标准差(数据: typing.List[float], 自由度: int) -> float
1020
+ ├── 模运算阶(a: int, n: int, b: int) -> int
1021
+ ├── 欧拉函数(n: int) -> int
1022
+ ├── 正切(x: typing.Union[int, float]) -> typing.Union[int, float]
1023
+ ├── 正割(x: typing.Union[int, float]) -> typing.Union[int, float]
1024
+ ├── 正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
1025
+ ├── 相关系数(x: typing.List[float], y: typing.List[float]) -> float
1026
+ ├── 积分(函数: Any, 积分开始: float, 积分结束: float, 积分点数: int, 额外参数: Any, 额外关键字参数: Any) -> float
1027
+ ├── 积累乘积(数据: typing.List[float]) -> float
1028
+ ├── 符号函数(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1029
+ ├── 类似形状全一(数组A: Any, 返回类型: Any) -> Any
1030
+ ├── 类似形状全零(数组A: Any, 返回类型: Any) -> Any
1031
+ ├── 类似形状填充(数组A: Any, 填充值: Any, 返回类型: Any) -> Any
1032
+ ├── 累乘积(序列: typing.List[float]) -> typing.List[float]
1033
+ ├── 累加和(序列: typing.List[float]) -> typing.List[float]
1034
+ ├── 线性方程组(左边: list, 右边: list) -> list
1035
+ ├── 组合数(总数: int, 选取数: int) -> int
1036
+ ├── 维吉尼亚密码(文本: str, 密钥: str, 解密: bool) -> str
1037
+ ├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
1038
+ ├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
1039
+ ├── 莫尔斯密码(文本: str, 解密: bool) -> str
1040
+ ├── 误差函数(x: typing.Union[int, float]) -> typing.Union[int, float]
1041
+ ├── 读取(文件: str) -> list
1042
+ ├── 调和平均数(数据: typing.List[float]) -> float
1043
+ ├── 贝塔函数(p: float, q: float) -> float
1044
+ ├── 贝塞尔I0(x: typing.Union[int, float]) -> typing.Union[int, float]
1045
+ ├── 贝塞尔Iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
1046
+ ├── 负一整数次幂(指数: int) -> int
1047
+ ├── 转换为列表(数据: Any) -> list
1048
+ ├── 转换为数组(数据: Any) -> pypynum.Array.Array
1049
+ ├── 连续乘积(下界: int, 上界: int, 函数: typing.Callable) -> float
1050
+ ├── 连续加和(下界: int, 上界: int, 函数: typing.Callable) -> float
1051
+ ├── 阶乘函数(n: int) -> int
1052
+ ├── 阿特巴什密码(文本: str) -> str
1053
+ ├── 频率统计(数据: typing.List[typing.Any]) -> typing.Dict[typing.Any, int]
1054
+ └── 黎曼函数(alpha: float) -> float
883
1055
  ```
884
1056
 
885
1057
  ### 代码测试
@@ -2,32 +2,32 @@ pypynum/Array.py,sha256=Rv2g0gESXRaXKYR2I20I6jzlY30ng2s2mQTQh_4ggRM,11178
2
2
  pypynum/FourierT.py,sha256=AtG0tESykzEs4gDsXhcizW7qhQnmw0gjcWcXefBqzhs,1401
3
3
  pypynum/Geometry.py,sha256=bJCuif-wHO-t7oHFEE7ntzIdQwzUEbT3mcKgmBV6Wps,13982
4
4
  pypynum/Graph.py,sha256=m9iTCNYRCZmAexDzwJ8Y6J7v1aweT-6TZkqh4fOtZDE,10131
5
- pypynum/Group.py,sha256=QZdUUxa8zD9jxn69cJsbQlWZNvnSlw-31LZsmzXUxU0,2810
5
+ pypynum/Group.py,sha256=kzUR_r10ubOB2o51rKKdQPHRsgdTGL2yoY7yseKInZc,4263
6
6
  pypynum/Logic.py,sha256=IJAv59ECHU0HmG9lYCAQ_puqeL6Zor3-IDIVH48KBWE,11000
7
7
  pypynum/Matrix.py,sha256=AeA8I8uQ-Q2b63qDW4aasI6h6Vt3at-CK2IQ9WXfexQ,20436
8
8
  pypynum/NeuralN.py,sha256=iSOvC9JW1h4AFGokGGOTkKie5hAYN_YT9H4f3apI9b8,3275
9
9
  pypynum/PyPyNum.png,sha256=t96tJPWfHxT8kcXm_qZI2z5W36TgOqjCU9qdgbmlFws,11623
10
10
  pypynum/Quaternion.py,sha256=-BW_crP_i-veHN0_pD3Z1dipFNUX198oZDrUYTsoZw0,8017
11
- pypynum/README.md,sha256=LOUbJ3bpdTzH1Rk1Pq4eOwBJGirI59rFgS9F5XdN-i0,63014
11
+ pypynum/README.md,sha256=AiWIBOXP4A4ze8B4q_MEcb053aGdhcXqalMS-ey-feo,76274
12
12
  pypynum/Symbolics.py,sha256=u-Dig3OLs6qoLzxMpTAYJGq5uSWDMvgU13TAHKLyjMY,2768
13
13
  pypynum/Tensor.py,sha256=gi7OjrGgP5BSJS9Oma1B2EdX9qSpMNIP2BnKLojdT78,3930
14
14
  pypynum/Tree.py,sha256=BYnlb2kKNJ8kkuq8BAHIcLvPZw5KHxbvM7YuVGhQVMk,4330
15
15
  pypynum/Vector.py,sha256=ee-gkBtyG0l5dLFwAKRTTlnDG05pWpM19RGN7VoPvqE,3212
16
- pypynum/__init__.py,sha256=QpdHhzjxjtfIhfRJOvaqim00BVq-IAOwKfsckEGOMe4,2845
16
+ pypynum/__init__.py,sha256=K9xZ8D7UZyG4ziHxhvTD1czsaItgmsXQgD8GrO49oGc,2873
17
17
  pypynum/chars.py,sha256=ZOXZn2VzxmpHuvZ87ojhEib3CfTNgysRsFMFITHOA2E,2179
18
18
  pypynum/cipher.py,sha256=DaitY3DCoTuzyrXtD8Ap3IYDLhlMc7-o4AJfLlicvB4,10011
19
- pypynum/confs.py,sha256=nnHV-5_1u7hsbzjkOuFxz9p3nhVYqwrfXek5kXoJkrM,2853
19
+ pypynum/confs.py,sha256=iFz83iZ1A4BK4LTqo-ZbpAcoxhYWUxtEQKsr_-d8ryw,2869
20
20
  pypynum/constants.py,sha256=xELv4DIKEqBdwF9tUqCmTQVbgVrlrj385ht5eawvshU,1406
21
21
  pypynum/dists.py,sha256=WHDeM0oC4Do77p9TVVMu3pgWzI04gYdK_s1TNGhets0,29697
22
- pypynum/equations.py,sha256=pwbSLpmFl9eChyxkTeRrs3KC3gy19kpAcpxNvWAKQVA,749
22
+ pypynum/equations.py,sha256=k0fEEiewjp_h48Xg9AMOjdvO7fMEOA1Q28bUKoi8Y_Y,656
23
23
  pypynum/errors.py,sha256=I3nh5YD5F_sBoa7hjPJi81goRflbVAZcjtmW7O2BhJk,220
24
24
  pypynum/file.py,sha256=-sg3pndZdiyM8cS6KeIhCvB6NfAovHnLOhEf0XkjidE,3411
25
- pypynum/highprec.py,sha256=iyOnbvwMothwdSQAKDTsG-CB68VCutBcmxgyQI8gKcg,3392
26
25
  pypynum/image.py,sha256=nhTZmaBVIKhuar-CcwZWb-hRYmkj4b_g7vIlYvEJEEE,12155
27
- pypynum/maths.py,sha256=kwOUVEdaL8A0kYRnllg-7ytIYbnT4YUGcA41kokHda8,30672
26
+ pypynum/maths.py,sha256=rI16_5Mvow4aCfoG6gz6WKoraOjwUfQBKmtwjg5g88Q,30646
27
+ pypynum/multiprec.py,sha256=85AoSFWKYiAkTjFQli8wtPFyaxvXpC8XD_GOL0UNCu4,5934
28
28
  pypynum/numbers.py,sha256=PqQ07TWfcNlfjCjUg1UJda-BI1uOffmQVK1qIGbll_s,8619
29
29
  pypynum/plotting.py,sha256=mbIYK5TpY1qvuMJrqz4d8bxJEiZww3AI684vSKV-DgU,7781
30
- pypynum/polynomial.py,sha256=gF2KRLqBHItJ8tdTjFT4FOJqVkWiHTBdGREp3roppB0,9778
30
+ pypynum/polynomial.py,sha256=vETxsXsMWmCObZxkcvt9piSAZmb-Z5aaQEgkM_GOrnU,11669
31
31
  pypynum/pprinters.py,sha256=Qt9-V5SUyoOqC3lsUU5D5zSSM-MmcnFCUyUtLxhS4pE,2514
32
32
  pypynum/random.py,sha256=PkpZp-XRbhdsSLtTiQkK83WcOWYLbLGXROu3fsOKDcU,2272
33
33
  pypynum/regression.py,sha256=PfTM8glJSi3Jgvc_C_3hQBeVjkbrzSuDqRbEf3s403w,2040
@@ -36,10 +36,11 @@ pypynum/stattest.py,sha256=W1041KeVsvdcLKFJOK4hQm_DjO5ZjUE8WEmGUe-4_Zk,5507
36
36
  pypynum/test.py,sha256=hkLxhtBl9XVjaqcbzDPEuYB92vDXfM9f7AS3tF5FSEE,9005
37
37
  pypynum/this.py,sha256=oRX1OpMa4NJmQSdEjJxfszEo5FRYlxRiF8OTDRIcdMA,2154
38
38
  pypynum/tools.py,sha256=xN2hYpEnPGmn1CsdQ60OUv5HIwJRbQAWTI8NclwwHno,12609
39
- pypynum/types.py,sha256=CVWPZo_ACr_QGH5gAOhoG3jK35peiqipu3PH8ScEYHE,181
39
+ pypynum/types.py,sha256=VrC-V9LXnHL0YmloKwM67wSGHvmvEQXEDgZgKQFnF68,239
40
40
  pypynum/ufuncs.py,sha256=g2tewdsGa4VrIq2khR-0SWJoXBitVRN87DulOnTxxDA,2572
41
41
  pypynum/utils.py,sha256=OqUFVraYDTSubF9QhZm8WC6A0ppnkhVU0YtAeYN9EyU,21048
42
- PyPyNum-1.11.2.dist-info/METADATA,sha256=46S9DbnAyoufHs7dwgnfUSf5OAnmRjzVvN1qfyMS2dA,77393
43
- PyPyNum-1.11.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
44
- PyPyNum-1.11.2.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
45
- PyPyNum-1.11.2.dist-info/RECORD,,
42
+ pypynum/zh_cn.py,sha256=CpelF_mLcQp7SrtIa2C18myBSJEUD3iO4LBOoIgNlqU,11034
43
+ PyPyNum-1.12.0.dist-info/METADATA,sha256=Via1S7mpRGA81Bwfr15vrFRgfjWUyJRA8DwldFpXYLs,90653
44
+ PyPyNum-1.12.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
45
+ PyPyNum-1.12.0.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
46
+ PyPyNum-1.12.0.dist-info/RECORD,,