PyPyNum 1.12.1__tar.gz → 1.13.1__tar.gz

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.
Files changed (51) hide show
  1. {pypynum-1.12.1 → pypynum-1.13.1}/PKG-INFO +90 -45
  2. {pypynum-1.12.1 → pypynum-1.13.1}/PyPyNum.egg-info/PKG-INFO +90 -45
  3. {pypynum-1.12.1 → pypynum-1.13.1}/PyPyNum.egg-info/SOURCES.txt +1 -0
  4. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Matrix.py +3 -3
  5. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/README.md +89 -44
  6. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/__init__.py +2 -1
  7. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/equations.py +4 -5
  8. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/errors.py +4 -0
  9. pypynum-1.13.1/pypynum/interp.py +118 -0
  10. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/maths.py +27 -18
  11. pypynum-1.13.1/pypynum/multiprec.py +575 -0
  12. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/polynomial.py +76 -9
  13. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/random.py +1 -1
  14. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/test.py +0 -11
  15. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/tools.py +33 -31
  16. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/types.py +1 -1
  17. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/zh_cn.py +46 -0
  18. {pypynum-1.12.1 → pypynum-1.13.1}/setup.py +1 -1
  19. pypynum-1.12.1/pypynum/multiprec.py +0 -303
  20. {pypynum-1.12.1 → pypynum-1.13.1}/PyPyNum.egg-info/dependency_links.txt +0 -0
  21. {pypynum-1.12.1 → pypynum-1.13.1}/PyPyNum.egg-info/top_level.txt +0 -0
  22. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Array.py +0 -0
  23. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/FourierT.py +0 -0
  24. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Geometry.py +0 -0
  25. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Graph.py +0 -0
  26. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Group.py +0 -0
  27. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Logic.py +0 -0
  28. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/NeuralN.py +0 -0
  29. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/PyPyNum.png +0 -0
  30. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Quaternion.py +0 -0
  31. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Symbolics.py +0 -0
  32. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Tensor.py +0 -0
  33. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Tree.py +0 -0
  34. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/Vector.py +0 -0
  35. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/chars.py +0 -0
  36. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/cipher.py +0 -0
  37. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/confs.py +0 -0
  38. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/constants.py +0 -0
  39. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/dists.py +0 -0
  40. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/file.py +0 -0
  41. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/image.py +0 -0
  42. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/numbers.py +0 -0
  43. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/plotting.py +0 -0
  44. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/pprinters.py +0 -0
  45. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/regression.py +0 -0
  46. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/sequence.py +0 -0
  47. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/stattest.py +0 -0
  48. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/this.py +0 -0
  49. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/ufuncs.py +0 -0
  50. {pypynum-1.12.1 → pypynum-1.13.1}/pypynum/utils.py +0 -0
  51. {pypynum-1.12.1 → pypynum-1.13.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.12.1
3
+ Version: 1.13.1
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.12.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
237
+ ## Version -> 1.13.1 | 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
 
@@ -251,8 +251,8 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
251
251
  supports other types of Python interpreters
252
252
  + 不定期更新版本,增加更多实用功能
253
253
  + Update versions periodically to add more practical features
254
- + 如需联系,请添加QQ号2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰)
255
- + If you need to contact, please add QQ number 2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰)
254
+ + 如需联系,请添加QQ号2261748025(Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰),或者通过我的邮箱2261748025@qq.com
255
+ + If you need to contact, please add QQ number 2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰), or through my email 2261748025@qq.com
256
256
 
257
257
  ### 子模块的名称与功能简介
258
258
 
@@ -274,6 +274,7 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
274
274
  | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
275
275
  | `pypynum.Group` | 群论算法 Group Theory Algorithm |
276
276
  | `pypynum.image` | 图像处理 Image processing |
277
+ | `pypynum.interp` | 数据插值 Data Interpolation |
277
278
  | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
278
279
  | `pypynum.maths` | 通用数学函数 General mathematical functions |
279
280
  | `pypynum.Matrix` | 矩阵运算 Matrix operation |
@@ -338,22 +339,48 @@ Python interpreter and run it!
338
339
  ```
339
340
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
340
341
 
341
- 修复了矩阵的默认输出格式
342
+ 修正了MPComplex的错误并且新增了部分用
343
+ 于计算三角函数的方法
342
344
 
343
- Fixed the default output format of the matrix
345
+ Corrected errors in MPComplex
346
+ and added some methods for
347
+ calculating trigonometric
348
+ functions
344
349
 
345
350
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
346
351
 
347
- multiprec模块新增了一些函数
352
+ 增加了levenshtein_distance函数
348
353
 
349
- The multiprec module has added some new functions
354
+ Added levenshtein_distance function
350
355
 
351
- mp_atan(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
352
- mp_atan2(y: Union[int, str, decimal.Decimal], x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
353
- mp_cosh(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
354
- mp_exp(x: Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool = True) -> decimal.Decimal
355
- mp_sinh(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
356
- setprec(sigfigs: int)
356
+
357
+ Help on function levenshtein_distance in module pypynum.tools:
358
+
359
+ levenshtein_distance(s1: str, s2: str) -> int
360
+ Introduction
361
+ ==========
362
+ Calculate the Levenshtein distance between two strings.
363
+
364
+ The Levenshtein distance is a measure of the difference between two strings. It is defined as the minimum number
365
+ of single-character edits (i.e., insertions, deletions or substitutions) required to change one string into the
366
+ other.
367
+
368
+ Example
369
+ ==========
370
+ >>> levenshtein_distance("kitten", "sitting")
371
+ 3
372
+ >>>
373
+ :param s1: First string to compare.
374
+ :param s2: Second string to compare.
375
+ :return: The Levenshtein distance between the two strings.
376
+
377
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
378
+
379
+ 注意:以后的版本中的自述文件将更改为纯英文
380
+
381
+ Attention: The self description
382
+ file in future versions will be
383
+ changed to pure English
357
384
 
358
385
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
359
386
  ```
@@ -594,6 +621,13 @@ PyPyNum
594
621
  │ │ └── PNG(object)/__init__(self: Any) -> None
595
622
  │ └── FUNCTION
596
623
  │ └── crc(data: Any, length: Any, init: Any, xor: Any) -> Any
624
+ ├── interp
625
+ │ ├── CLASS
626
+ │ └── FUNCTION
627
+ │ ├── bicubic(x: Any) -> Any
628
+ │ ├── contribute(src: Any, x: Any, y: Any, channels: Any) -> Any
629
+ │ ├── interp1d(data: typing.Union[list, tuple], length: int) -> list
630
+ │ └── interp2d(src: Any, new_height: Any, new_width: Any, channels: Any, round_res: Any, min_val: Any, max_val: Any) -> Any
597
631
  ├── maths
598
632
  │ ├── CLASS
599
633
  │ └── FUNCTION
@@ -630,7 +664,7 @@ PyPyNum
630
664
  │ ├── csch(x: typing.Union[int, float]) -> typing.Union[int, float]
631
665
  │ ├── cumprod(lst: typing.Union[list, tuple]) -> list
632
666
  │ ├── cumsum(lst: typing.Union[list, tuple]) -> list
633
- │ ├── deriv(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
667
+ │ ├── deriv(f: Any, x: float, h: float, method: str, args: Any, kwargs: Any) -> Any
634
668
  │ ├── erf(x: typing.Union[int, float]) -> float
635
669
  │ ├── exgcd(a: int, b: int) -> tuple
636
670
  │ ├── exp(x: typing.Union[int, float]) -> typing.Union[int, float]
@@ -682,21 +716,28 @@ PyPyNum
682
716
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
683
717
  ├── multiprec
684
718
  │ ├── CLASS
719
+ │ │ └── MPComplex(object)/__init__(self: Any, real: Any, imag: Any, sigfigs: Any) -> Any
685
720
  │ └── FUNCTION
721
+ │ ├── _remove_trailing_zeros(value: typing.Any) -> str
722
+ │ ├── _setprec(sigfigs: int) -> Any
723
+ │ ├── asmpc(real: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], imag: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> pypynum.multiprec.MPComplex
686
724
  │ ├── frac2dec(frac: fractions.Fraction, sigfigs: int) -> decimal.Decimal
687
- │ ├── mp_atan(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
688
- │ ├── mp_atan2(y: typing.Union[int, str, decimal.Decimal], x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
689
- │ ├── mp_cos(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
690
- │ ├── mp_cosh(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
725
+ │ ├── mp_acos(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
726
+ │ ├── mp_asin(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
727
+ │ ├── mp_atan(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
728
+ │ ├── mp_atan2(y: typing.Union[int, float, str, decimal.Decimal], x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
729
+ │ ├── mp_cos(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
730
+ │ ├── mp_cosh(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
691
731
  │ ├── mp_e(sigfigs: int, method: str) -> decimal.Decimal
692
- │ ├── mp_exp(x: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
693
- │ ├── mp_ln(x: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
694
- │ ├── mp_log(x: typing.Union[int, str, decimal.Decimal], base: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
732
+ │ ├── mp_exp(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
733
+ │ ├── mp_fresnel_c(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
734
+ │ ├── mp_fresnel_s(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
735
+ │ ├── mp_ln(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
736
+ │ ├── mp_log(x: typing.Union[int, float, str, decimal.Decimal], base: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
695
737
  │ ├── mp_phi(sigfigs: int, method: str) -> decimal.Decimal
696
738
  │ ├── mp_pi(sigfigs: int, method: str) -> decimal.Decimal
697
- │ ├── mp_sin(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
698
- ├── mp_sinh(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
699
- │ └── setprec(sigfigs: int) -> Any
739
+ │ ├── mp_sin(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
740
+ └── mp_sinh(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
700
741
  ├── numbers
701
742
  │ ├── CLASS
702
743
  │ └── FUNCTION
@@ -718,10 +759,14 @@ PyPyNum
718
759
  │ ├── CLASS
719
760
  │ │ └── Polynomial(object)/__init__(self: Any, terms: Any) -> Any
720
761
  │ └── FUNCTION
762
+ │ ├── chebgauss(n: Any) -> Any
763
+ │ ├── chebpoly(n: Any, single: Any) -> Any
721
764
  │ ├── from_coeffs(coeffs: Any) -> Any
722
765
  │ ├── from_coords(coords: Any) -> Any
723
- │ ├── leggauss(polynomial: Any) -> Any
724
- │ ├── legpoly(n: Any) -> Any
766
+ │ ├── laggauss(n: Any) -> Any
767
+ │ ├── lagpoly(n: Any, single: Any) -> Any
768
+ │ ├── leggauss(n: Any) -> Any
769
+ │ ├── legpoly(n: Any, single: Any) -> Any
725
770
  │ └── poly(terms: Any) -> Any
726
771
  ├── pprinters
727
772
  │ ├── CLASS
@@ -777,7 +822,7 @@ PyPyNum
777
822
  │ ├── generate_primes(limit: int) -> list
778
823
  │ ├── generate_semiprimes(limit: int) -> list
779
824
  │ ├── geomspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
780
- │ ├── interp(data: typing.Union[list, tuple], length: int) -> list
825
+ │ ├── levenshtein_distance(s1: str, s2: str) -> int
781
826
  │ ├── linspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
782
827
  │ ├── magic_square(n: Any) -> Any
783
828
  │ ├── primality(n: int, iter_num: int) -> bool
@@ -870,16 +915,22 @@ PyPyNum
870
915
  ├── 多精度余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
871
916
  ├── 多精度双曲余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
872
917
  ├── 多精度双曲正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
918
+ ├── 多精度反余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
873
919
  ├── 多精度反正切(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
920
+ ├── 多精度反正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
874
921
  ├── 多精度圆周率(有效位数: int, 方法: str) -> decimal.Decimal
922
+ ├── 多精度复数(实部: typing.Union[int, float, str, decimal.Decimal], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
875
923
  ├── 多精度对数(真数: typing.Union[int, float], 底数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
876
924
  ├── 多精度方位角(y: typing.Union[int, float], x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
877
925
  ├── 多精度欧拉数(有效位数: int, 方法: str) -> decimal.Decimal
878
926
  ├── 多精度正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
879
927
  ├── 多精度自然对数(真数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
880
928
  ├── 多精度自然指数(指数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
929
+ ├── 多精度菲涅耳余弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
930
+ ├── 多精度菲涅耳正弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
881
931
  ├── 多精度黄金分割率(有效位数: int, 方法: str) -> decimal.Decimal
882
932
  ├── 多项式方程(系数: list) -> list
933
+ ├── 字符串转整数(字符串: str) -> int
883
934
  ├── 导数(函数: Any, 参数: float, 步长: float, 额外参数: Any, 额外关键字参数: Any) -> float
884
935
  ├── 峰度(数据: typing.List[float], 费希尔: bool) -> float
885
936
  ├── 希尔256密码(文本: bytes, 密钥: list, 解密: bool) -> bytes
@@ -893,6 +944,8 @@ PyPyNum
893
944
  ├── 数组(数据: list, 检查: bool) -> pypynum.Array.Array
894
945
  ├── 整数转上标(标准字符串: str) -> str
895
946
  ├── 整数转下标(标准字符串: str) -> str
947
+ ├── 整数转单词(整数: int) -> str
948
+ ├── 整数转罗马数(整数: int, 上划线: bool) -> str
896
949
  ├── 方差(数据: typing.List[float], 自由度: int) -> float
897
950
  ├── 普莱费尔密码(文本: str, 密钥: str, 解密: bool) -> str
898
951
  ├── 最大公约数(args: int) -> int
@@ -904,6 +957,7 @@ PyPyNum
904
957
  ├── 正切(x: typing.Union[int, float]) -> typing.Union[int, float]
905
958
  ├── 正割(x: typing.Union[int, float]) -> typing.Union[int, float]
906
959
  ├── 正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
960
+ ├── 浮点数转分数(数值: float, 是否带分数: bool, 误差: float) -> tuple
907
961
  ├── 相关系数(x: typing.List[float], y: typing.List[float]) -> float
908
962
  ├── 积分(函数: Any, 积分开始: float, 积分结束: float, 积分点数: int, 额外参数: Any, 额外关键字参数: Any) -> float
909
963
  ├── 积累乘积(数据: typing.List[float]) -> float
@@ -916,6 +970,7 @@ PyPyNum
916
970
  ├── 线性方程组(左边: list, 右边: list) -> list
917
971
  ├── 组合数(总数: int, 选取数: int) -> int
918
972
  ├── 维吉尼亚密码(文本: str, 密钥: str, 解密: bool) -> str
973
+ ├── 罗马数转整数(罗马数: str) -> int
919
974
  ├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
920
975
  ├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
921
976
  ├── 莫尔斯密码(文本: str, 解密: bool) -> str
@@ -926,6 +981,7 @@ PyPyNum
926
981
  ├── 贝塞尔I0(x: typing.Union[int, float]) -> typing.Union[int, float]
927
982
  ├── 贝塞尔Iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
928
983
  ├── 负一整数次幂(指数: int) -> int
984
+ ├── 转为多精度复数(实部: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
929
985
  ├── 转换为列表(数据: Any) -> list
930
986
  ├── 转换为数组(数据: Any) -> pypynum.Array.Array
931
987
  ├── 连续乘积(下界: int, 上界: int, 函数: typing.Callable) -> float
@@ -1147,8 +1203,8 @@ print(equations.poly_eq(p))
1147
1203
  print(equations.lin_eq(*m))
1148
1204
 
1149
1205
  """
1150
- [(-1.5615528128088307-6.5209667308287455e-24j) (1.0000000000000007+3.241554513744382e-25j) (2.5615528128088294+4.456233626665941e-24j)]
1151
- [ 1.6666666666666667 -0.6666666666666666 -0.4444444444444444]
1206
+ [(-1.5615528128088307-6.5209667308287455e-24j), (1.0000000000000007+3.241554513744382e-25j), (2.5615528128088294+4.456233626665941e-24j)]
1207
+ [1.6666666666666665, -0.6666666666666666, -0.4444444444444444]
1152
1208
  """
1153
1209
 
1154
1210
  print(maths.cot(constants.pi / 3))
@@ -1248,10 +1304,10 @@ print(random.randint(0, 9, [2, 3, 4]))
1248
1304
  print(random.uniform(0, 9, [2, 3, 4]))
1249
1305
 
1250
1306
  """
1251
- [[[1.0022026821190488, -0.38242004448759154, -0.23648445523561967, 0.43813038741951754], [-0.3778652198785619, -0.03865603124657112, -1.5186239424691736, -0.7368762975012327], [-0.7580654190380791, -1.3672869759158346, 0.582588816791107, 1.0281649895276377]], [[0.5270622699930536, 0.6132250709048543, 0.9764619731696673, -0.13740454362420268], [-2.0801461607759886, -0.1935521020633617, 0.44420106801354153, 1.4830089202063659], [-0.8790685594194517, 0.45517163054358967, -1.1448643981658326, 0.986414969442009]]]
1252
- [[[0.13698864758140294, 0.634190467772759, 0.25683276170297875, 0.9026812741081188], [0.26303437123782614, 0.02477620234532174, 0.9947822450199725, 0.5916822332583692], [0.7523977891797228, 0.6198410071512576, 0.05799276940261333, 0.4181042411131305]], [[0.21564211884049145, 0.30667940527138227, 0.03010277335333611, 0.904264028183912], [0.33977550248572597, 0.042594462434406455, 0.6371061749651907, 0.8639246364627866], [0.009159271907318911, 0.054475512265855563, 0.7109847662274855, 0.9695933487818381]]]
1253
- [[[1, 6, 0, 1], [0, 4, 8, 3], [2, 4, 2, 8]], [[9, 7, 0, 6], [6, 2, 4, 6], [2, 2, 0, 1]]]
1254
- [[[4.281963231653285, 7.6564706580977155, 2.7831005401808904, 4.69275453971821], [7.731377457312142, 7.026081604862776, 3.1623746844355916, 4.097454457127405], [1.0053860355938644, 8.396390096875859, 5.860124932392565, 0.7556741321519111]], [[3.0505373562186717, 5.846422325897977, 5.79128924014881, 5.322513543793011], [7.97334322055796, 0.4266873959996582, 6.217219949795519, 2.819046997201407], [7.195256735457888, 3.205909055908082, 2.9903485221015123, 6.695032815286013]]]
1307
+ [[[0.015128082827448793, -0.731558889632968, -0.23379102528494308, 0.5923285646572862], [0.6389462900078073, -1.6347914510943111, 2.3694029836271726, -0.568526047386569], [-1.4229328154353735, 0.45185125607678145, -0.4003256267251042, -1.1425679894907612]], [[1.2876668616276734, 0.934232416262927, -1.4096609242818299, 0.2683613962988281], [0.3503627719719857, 1.9613965063102903, -2.0790609695353077, -0.10339725500993839], [-0.9334087233797456, 1.1394611182611, 1.3341558691128073, -0.3838574172857678]]]
1308
+ [[[0.8274205130045614, 0.27524584776494854, 0.715710895889572, 0.5807271906102146], [0.21742840470887725, 0.04577819370109826, 0.873689463957162, 0.04119770233167375], [0.554823367037196, 0.5901404246422433, 0.21342393541488192, 0.2979716283166385]], [[0.6045948602408673, 0.265586003384665, 0.9646655285283718, 0.9873208424367568], [0.16916505841642293, 0.15942804932580645, 0.679004396069304, 0.4586819952716237], [0.6058239213086706, 0.37021967026096103, 0.0015603885735545608, 0.8432925281217005]]]
1309
+ [[[7, 2, 9, 7], [0, 5, 1, 3], [9, 1, 0, 2]], [[1, 2, 7, 5], [5, 7, 4, 1], [2, 5, 7, 9]]]
1310
+ [[[1.6682230173222767, 0.5174279535822173, 6.202024157209834, 5.097176032335483], [3.44538825088208, 3.7119354081208025, 4.584800897579607, 8.294514147889751], [7.201908571787272, 4.96544760729807, 5.896259095293225, 3.215472062129558]], [[6.352678024277219, 6.894646335413341, 2.0445980257056333, 1.5835361381716893], [6.363077167625872, 8.831103031792672, 6.229821243776864, 0.5639371628314593], [7.639545178199688, 8.079077083978365, 8.063058392021144, 8.673394953496695]]]
1255
1311
  """
1256
1312
 
1257
1313
  print(regression.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
@@ -1276,19 +1332,8 @@ print(tools.linspace(0, 2.8, 8))
1276
1332
  [0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]
1277
1333
  """
1278
1334
 
1279
- # 提示:
1280
- #
1281
- # 测试已成功通过并结束。
1282
- #
1283
- # 这些测试只是这个包功能的一部分。
1284
- #
1285
- # 更多的功能需要自己探索和尝试!
1286
- #
1287
1335
  # Tip:
1288
- #
1289
1336
  # The test has been successfully passed and ended.
1290
- #
1291
1337
  # These tests are only part of the functionality of this package.
1292
- #
1293
1338
  # More features need to be explored and tried by yourself!
1294
1339
  ```
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.12.1
3
+ Version: 1.13.1
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.12.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
237
+ ## Version -> 1.13.1 | 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
 
@@ -251,8 +251,8 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
251
251
  supports other types of Python interpreters
252
252
  + 不定期更新版本,增加更多实用功能
253
253
  + Update versions periodically to add more practical features
254
- + 如需联系,请添加QQ号2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰)
255
- + If you need to contact, please add QQ number 2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰)
254
+ + 如需联系,请添加QQ号2261748025(Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰),或者通过我的邮箱2261748025@qq.com
255
+ + If you need to contact, please add QQ number 2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰), or through my email 2261748025@qq.com
256
256
 
257
257
  ### 子模块的名称与功能简介
258
258
 
@@ -274,6 +274,7 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
274
274
  | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
275
275
  | `pypynum.Group` | 群论算法 Group Theory Algorithm |
276
276
  | `pypynum.image` | 图像处理 Image processing |
277
+ | `pypynum.interp` | 数据插值 Data Interpolation |
277
278
  | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
278
279
  | `pypynum.maths` | 通用数学函数 General mathematical functions |
279
280
  | `pypynum.Matrix` | 矩阵运算 Matrix operation |
@@ -338,22 +339,48 @@ Python interpreter and run it!
338
339
  ```
339
340
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
340
341
 
341
- 修复了矩阵的默认输出格式
342
+ 修正了MPComplex的错误并且新增了部分用
343
+ 于计算三角函数的方法
342
344
 
343
- Fixed the default output format of the matrix
345
+ Corrected errors in MPComplex
346
+ and added some methods for
347
+ calculating trigonometric
348
+ functions
344
349
 
345
350
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
346
351
 
347
- multiprec模块新增了一些函数
352
+ 增加了levenshtein_distance函数
348
353
 
349
- The multiprec module has added some new functions
354
+ Added levenshtein_distance function
350
355
 
351
- mp_atan(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
352
- mp_atan2(y: Union[int, str, decimal.Decimal], x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
353
- mp_cosh(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
354
- mp_exp(x: Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool = True) -> decimal.Decimal
355
- mp_sinh(x: Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
356
- setprec(sigfigs: int)
356
+
357
+ Help on function levenshtein_distance in module pypynum.tools:
358
+
359
+ levenshtein_distance(s1: str, s2: str) -> int
360
+ Introduction
361
+ ==========
362
+ Calculate the Levenshtein distance between two strings.
363
+
364
+ The Levenshtein distance is a measure of the difference between two strings. It is defined as the minimum number
365
+ of single-character edits (i.e., insertions, deletions or substitutions) required to change one string into the
366
+ other.
367
+
368
+ Example
369
+ ==========
370
+ >>> levenshtein_distance("kitten", "sitting")
371
+ 3
372
+ >>>
373
+ :param s1: First string to compare.
374
+ :param s2: Second string to compare.
375
+ :return: The Levenshtein distance between the two strings.
376
+
377
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
378
+
379
+ 注意:以后的版本中的自述文件将更改为纯英文
380
+
381
+ Attention: The self description
382
+ file in future versions will be
383
+ changed to pure English
357
384
 
358
385
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
359
386
  ```
@@ -594,6 +621,13 @@ PyPyNum
594
621
  │ │ └── PNG(object)/__init__(self: Any) -> None
595
622
  │ └── FUNCTION
596
623
  │ └── crc(data: Any, length: Any, init: Any, xor: Any) -> Any
624
+ ├── interp
625
+ │ ├── CLASS
626
+ │ └── FUNCTION
627
+ │ ├── bicubic(x: Any) -> Any
628
+ │ ├── contribute(src: Any, x: Any, y: Any, channels: Any) -> Any
629
+ │ ├── interp1d(data: typing.Union[list, tuple], length: int) -> list
630
+ │ └── interp2d(src: Any, new_height: Any, new_width: Any, channels: Any, round_res: Any, min_val: Any, max_val: Any) -> Any
597
631
  ├── maths
598
632
  │ ├── CLASS
599
633
  │ └── FUNCTION
@@ -630,7 +664,7 @@ PyPyNum
630
664
  │ ├── csch(x: typing.Union[int, float]) -> typing.Union[int, float]
631
665
  │ ├── cumprod(lst: typing.Union[list, tuple]) -> list
632
666
  │ ├── cumsum(lst: typing.Union[list, tuple]) -> list
633
- │ ├── deriv(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
667
+ │ ├── deriv(f: Any, x: float, h: float, method: str, args: Any, kwargs: Any) -> Any
634
668
  │ ├── erf(x: typing.Union[int, float]) -> float
635
669
  │ ├── exgcd(a: int, b: int) -> tuple
636
670
  │ ├── exp(x: typing.Union[int, float]) -> typing.Union[int, float]
@@ -682,21 +716,28 @@ PyPyNum
682
716
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
683
717
  ├── multiprec
684
718
  │ ├── CLASS
719
+ │ │ └── MPComplex(object)/__init__(self: Any, real: Any, imag: Any, sigfigs: Any) -> Any
685
720
  │ └── FUNCTION
721
+ │ ├── _remove_trailing_zeros(value: typing.Any) -> str
722
+ │ ├── _setprec(sigfigs: int) -> Any
723
+ │ ├── asmpc(real: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], imag: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> pypynum.multiprec.MPComplex
686
724
  │ ├── frac2dec(frac: fractions.Fraction, sigfigs: int) -> decimal.Decimal
687
- │ ├── mp_atan(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
688
- │ ├── mp_atan2(y: typing.Union[int, str, decimal.Decimal], x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
689
- │ ├── mp_cos(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
690
- │ ├── mp_cosh(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
725
+ │ ├── mp_acos(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
726
+ │ ├── mp_asin(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
727
+ │ ├── mp_atan(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
728
+ │ ├── mp_atan2(y: typing.Union[int, float, str, decimal.Decimal], x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
729
+ │ ├── mp_cos(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
730
+ │ ├── mp_cosh(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
691
731
  │ ├── mp_e(sigfigs: int, method: str) -> decimal.Decimal
692
- │ ├── mp_exp(x: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
693
- │ ├── mp_ln(x: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
694
- │ ├── mp_log(x: typing.Union[int, str, decimal.Decimal], base: typing.Union[int, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
732
+ │ ├── mp_exp(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
733
+ │ ├── mp_fresnel_c(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
734
+ │ ├── mp_fresnel_s(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
735
+ │ ├── mp_ln(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
736
+ │ ├── mp_log(x: typing.Union[int, float, str, decimal.Decimal], base: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
695
737
  │ ├── mp_phi(sigfigs: int, method: str) -> decimal.Decimal
696
738
  │ ├── mp_pi(sigfigs: int, method: str) -> decimal.Decimal
697
- │ ├── mp_sin(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
698
- ├── mp_sinh(x: typing.Union[int, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
699
- │ └── setprec(sigfigs: int) -> Any
739
+ │ ├── mp_sin(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
740
+ └── mp_sinh(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
700
741
  ├── numbers
701
742
  │ ├── CLASS
702
743
  │ └── FUNCTION
@@ -718,10 +759,14 @@ PyPyNum
718
759
  │ ├── CLASS
719
760
  │ │ └── Polynomial(object)/__init__(self: Any, terms: Any) -> Any
720
761
  │ └── FUNCTION
762
+ │ ├── chebgauss(n: Any) -> Any
763
+ │ ├── chebpoly(n: Any, single: Any) -> Any
721
764
  │ ├── from_coeffs(coeffs: Any) -> Any
722
765
  │ ├── from_coords(coords: Any) -> Any
723
- │ ├── leggauss(polynomial: Any) -> Any
724
- │ ├── legpoly(n: Any) -> Any
766
+ │ ├── laggauss(n: Any) -> Any
767
+ │ ├── lagpoly(n: Any, single: Any) -> Any
768
+ │ ├── leggauss(n: Any) -> Any
769
+ │ ├── legpoly(n: Any, single: Any) -> Any
725
770
  │ └── poly(terms: Any) -> Any
726
771
  ├── pprinters
727
772
  │ ├── CLASS
@@ -777,7 +822,7 @@ PyPyNum
777
822
  │ ├── generate_primes(limit: int) -> list
778
823
  │ ├── generate_semiprimes(limit: int) -> list
779
824
  │ ├── geomspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
780
- │ ├── interp(data: typing.Union[list, tuple], length: int) -> list
825
+ │ ├── levenshtein_distance(s1: str, s2: str) -> int
781
826
  │ ├── linspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
782
827
  │ ├── magic_square(n: Any) -> Any
783
828
  │ ├── primality(n: int, iter_num: int) -> bool
@@ -870,16 +915,22 @@ PyPyNum
870
915
  ├── 多精度余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
871
916
  ├── 多精度双曲余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
872
917
  ├── 多精度双曲正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
918
+ ├── 多精度反余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
873
919
  ├── 多精度反正切(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
920
+ ├── 多精度反正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
874
921
  ├── 多精度圆周率(有效位数: int, 方法: str) -> decimal.Decimal
922
+ ├── 多精度复数(实部: typing.Union[int, float, str, decimal.Decimal], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
875
923
  ├── 多精度对数(真数: typing.Union[int, float], 底数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
876
924
  ├── 多精度方位角(y: typing.Union[int, float], x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
877
925
  ├── 多精度欧拉数(有效位数: int, 方法: str) -> decimal.Decimal
878
926
  ├── 多精度正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
879
927
  ├── 多精度自然对数(真数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
880
928
  ├── 多精度自然指数(指数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
929
+ ├── 多精度菲涅耳余弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
930
+ ├── 多精度菲涅耳正弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
881
931
  ├── 多精度黄金分割率(有效位数: int, 方法: str) -> decimal.Decimal
882
932
  ├── 多项式方程(系数: list) -> list
933
+ ├── 字符串转整数(字符串: str) -> int
883
934
  ├── 导数(函数: Any, 参数: float, 步长: float, 额外参数: Any, 额外关键字参数: Any) -> float
884
935
  ├── 峰度(数据: typing.List[float], 费希尔: bool) -> float
885
936
  ├── 希尔256密码(文本: bytes, 密钥: list, 解密: bool) -> bytes
@@ -893,6 +944,8 @@ PyPyNum
893
944
  ├── 数组(数据: list, 检查: bool) -> pypynum.Array.Array
894
945
  ├── 整数转上标(标准字符串: str) -> str
895
946
  ├── 整数转下标(标准字符串: str) -> str
947
+ ├── 整数转单词(整数: int) -> str
948
+ ├── 整数转罗马数(整数: int, 上划线: bool) -> str
896
949
  ├── 方差(数据: typing.List[float], 自由度: int) -> float
897
950
  ├── 普莱费尔密码(文本: str, 密钥: str, 解密: bool) -> str
898
951
  ├── 最大公约数(args: int) -> int
@@ -904,6 +957,7 @@ PyPyNum
904
957
  ├── 正切(x: typing.Union[int, float]) -> typing.Union[int, float]
905
958
  ├── 正割(x: typing.Union[int, float]) -> typing.Union[int, float]
906
959
  ├── 正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
960
+ ├── 浮点数转分数(数值: float, 是否带分数: bool, 误差: float) -> tuple
907
961
  ├── 相关系数(x: typing.List[float], y: typing.List[float]) -> float
908
962
  ├── 积分(函数: Any, 积分开始: float, 积分结束: float, 积分点数: int, 额外参数: Any, 额外关键字参数: Any) -> float
909
963
  ├── 积累乘积(数据: typing.List[float]) -> float
@@ -916,6 +970,7 @@ PyPyNum
916
970
  ├── 线性方程组(左边: list, 右边: list) -> list
917
971
  ├── 组合数(总数: int, 选取数: int) -> int
918
972
  ├── 维吉尼亚密码(文本: str, 密钥: str, 解密: bool) -> str
973
+ ├── 罗马数转整数(罗马数: str) -> int
919
974
  ├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
920
975
  ├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
921
976
  ├── 莫尔斯密码(文本: str, 解密: bool) -> str
@@ -926,6 +981,7 @@ PyPyNum
926
981
  ├── 贝塞尔I0(x: typing.Union[int, float]) -> typing.Union[int, float]
927
982
  ├── 贝塞尔Iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
928
983
  ├── 负一整数次幂(指数: int) -> int
984
+ ├── 转为多精度复数(实部: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
929
985
  ├── 转换为列表(数据: Any) -> list
930
986
  ├── 转换为数组(数据: Any) -> pypynum.Array.Array
931
987
  ├── 连续乘积(下界: int, 上界: int, 函数: typing.Callable) -> float
@@ -1147,8 +1203,8 @@ print(equations.poly_eq(p))
1147
1203
  print(equations.lin_eq(*m))
1148
1204
 
1149
1205
  """
1150
- [(-1.5615528128088307-6.5209667308287455e-24j) (1.0000000000000007+3.241554513744382e-25j) (2.5615528128088294+4.456233626665941e-24j)]
1151
- [ 1.6666666666666667 -0.6666666666666666 -0.4444444444444444]
1206
+ [(-1.5615528128088307-6.5209667308287455e-24j), (1.0000000000000007+3.241554513744382e-25j), (2.5615528128088294+4.456233626665941e-24j)]
1207
+ [1.6666666666666665, -0.6666666666666666, -0.4444444444444444]
1152
1208
  """
1153
1209
 
1154
1210
  print(maths.cot(constants.pi / 3))
@@ -1248,10 +1304,10 @@ print(random.randint(0, 9, [2, 3, 4]))
1248
1304
  print(random.uniform(0, 9, [2, 3, 4]))
1249
1305
 
1250
1306
  """
1251
- [[[1.0022026821190488, -0.38242004448759154, -0.23648445523561967, 0.43813038741951754], [-0.3778652198785619, -0.03865603124657112, -1.5186239424691736, -0.7368762975012327], [-0.7580654190380791, -1.3672869759158346, 0.582588816791107, 1.0281649895276377]], [[0.5270622699930536, 0.6132250709048543, 0.9764619731696673, -0.13740454362420268], [-2.0801461607759886, -0.1935521020633617, 0.44420106801354153, 1.4830089202063659], [-0.8790685594194517, 0.45517163054358967, -1.1448643981658326, 0.986414969442009]]]
1252
- [[[0.13698864758140294, 0.634190467772759, 0.25683276170297875, 0.9026812741081188], [0.26303437123782614, 0.02477620234532174, 0.9947822450199725, 0.5916822332583692], [0.7523977891797228, 0.6198410071512576, 0.05799276940261333, 0.4181042411131305]], [[0.21564211884049145, 0.30667940527138227, 0.03010277335333611, 0.904264028183912], [0.33977550248572597, 0.042594462434406455, 0.6371061749651907, 0.8639246364627866], [0.009159271907318911, 0.054475512265855563, 0.7109847662274855, 0.9695933487818381]]]
1253
- [[[1, 6, 0, 1], [0, 4, 8, 3], [2, 4, 2, 8]], [[9, 7, 0, 6], [6, 2, 4, 6], [2, 2, 0, 1]]]
1254
- [[[4.281963231653285, 7.6564706580977155, 2.7831005401808904, 4.69275453971821], [7.731377457312142, 7.026081604862776, 3.1623746844355916, 4.097454457127405], [1.0053860355938644, 8.396390096875859, 5.860124932392565, 0.7556741321519111]], [[3.0505373562186717, 5.846422325897977, 5.79128924014881, 5.322513543793011], [7.97334322055796, 0.4266873959996582, 6.217219949795519, 2.819046997201407], [7.195256735457888, 3.205909055908082, 2.9903485221015123, 6.695032815286013]]]
1307
+ [[[0.015128082827448793, -0.731558889632968, -0.23379102528494308, 0.5923285646572862], [0.6389462900078073, -1.6347914510943111, 2.3694029836271726, -0.568526047386569], [-1.4229328154353735, 0.45185125607678145, -0.4003256267251042, -1.1425679894907612]], [[1.2876668616276734, 0.934232416262927, -1.4096609242818299, 0.2683613962988281], [0.3503627719719857, 1.9613965063102903, -2.0790609695353077, -0.10339725500993839], [-0.9334087233797456, 1.1394611182611, 1.3341558691128073, -0.3838574172857678]]]
1308
+ [[[0.8274205130045614, 0.27524584776494854, 0.715710895889572, 0.5807271906102146], [0.21742840470887725, 0.04577819370109826, 0.873689463957162, 0.04119770233167375], [0.554823367037196, 0.5901404246422433, 0.21342393541488192, 0.2979716283166385]], [[0.6045948602408673, 0.265586003384665, 0.9646655285283718, 0.9873208424367568], [0.16916505841642293, 0.15942804932580645, 0.679004396069304, 0.4586819952716237], [0.6058239213086706, 0.37021967026096103, 0.0015603885735545608, 0.8432925281217005]]]
1309
+ [[[7, 2, 9, 7], [0, 5, 1, 3], [9, 1, 0, 2]], [[1, 2, 7, 5], [5, 7, 4, 1], [2, 5, 7, 9]]]
1310
+ [[[1.6682230173222767, 0.5174279535822173, 6.202024157209834, 5.097176032335483], [3.44538825088208, 3.7119354081208025, 4.584800897579607, 8.294514147889751], [7.201908571787272, 4.96544760729807, 5.896259095293225, 3.215472062129558]], [[6.352678024277219, 6.894646335413341, 2.0445980257056333, 1.5835361381716893], [6.363077167625872, 8.831103031792672, 6.229821243776864, 0.5639371628314593], [7.639545178199688, 8.079077083978365, 8.063058392021144, 8.673394953496695]]]
1255
1311
  """
1256
1312
 
1257
1313
  print(regression.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
@@ -1276,19 +1332,8 @@ print(tools.linspace(0, 2.8, 8))
1276
1332
  [0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]
1277
1333
  """
1278
1334
 
1279
- # 提示:
1280
- #
1281
- # 测试已成功通过并结束。
1282
- #
1283
- # 这些测试只是这个包功能的一部分。
1284
- #
1285
- # 更多的功能需要自己探索和尝试!
1286
- #
1287
1335
  # Tip:
1288
- #
1289
1336
  # The test has been successfully passed and ended.
1290
- #
1291
1337
  # These tests are only part of the functionality of this package.
1292
- #
1293
1338
  # More features need to be explored and tried by yourself!
1294
1339
  ```
@@ -28,6 +28,7 @@ pypynum/equations.py
28
28
  pypynum/errors.py
29
29
  pypynum/file.py
30
30
  pypynum/image.py
31
+ pypynum/interp.py
31
32
  pypynum/maths.py
32
33
  pypynum/multiprec.py
33
34
  pypynum/numbers.py
@@ -356,7 +356,7 @@ def hessenberg(matrix: Matrix) -> tuple:
356
356
  continue
357
357
  h = 0.0
358
358
  for k in range(0, i):
359
- a[i, k] = a[i, k] * scale_inv
359
+ a[i, k] *= scale_inv
360
360
  rr, ii = a[i, k].real, a[i, k].imag
361
361
  h += rr * rr + ii * ii
362
362
  f = a[i, i - 1]
@@ -373,7 +373,7 @@ def hessenberg(matrix: Matrix) -> tuple:
373
373
  h = 1 / sqrt(h)
374
374
  t[i] *= h
375
375
  for k in range(0, i - 1):
376
- a[i, k] = a[i, k] * h
376
+ a[i, k] *= h
377
377
  for j in range(0, i):
378
378
  g = t[i].conjugate() * a[j, i - 1]
379
379
  for k in range(0, i - 1):
@@ -547,7 +547,7 @@ def eigen(matrix: Matrix) -> tuple:
547
547
 
548
548
 
549
549
  def svd(matrix: Matrix) -> tuple:
550
- print("\n警告:SVD函数可能存在计算错误\n\nWarning: The SVD function may have calculation errors\n")
550
+ print("\nWarning: The SVD function may have calculation errors\n")
551
551
  e0, u = eigen(matrix @ matrix.t())
552
552
  u = Matrix([_[::-1] for _ in u])
553
553
  e1, v = eigen(matrix.t() @ matrix)