PyPyNum 1.9.2__tar.gz → 1.11.0__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 (46) hide show
  1. {pypynum-1.9.2 → pypynum-1.11.0}/PKG-INFO +204 -136
  2. {pypynum-1.9.2 → pypynum-1.11.0}/PyPyNum.egg-info/PKG-INFO +204 -136
  3. {pypynum-1.9.2 → pypynum-1.11.0}/PyPyNum.egg-info/SOURCES.txt +3 -1
  4. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Array.py +16 -0
  5. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Group.py +3 -16
  6. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Matrix.py +74 -61
  7. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/README.md +204 -136
  8. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Vector.py +0 -14
  9. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/__init__.py +24 -4
  10. pypynum-1.11.0/pypynum/dists.py +865 -0
  11. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/equations.py +2 -2
  12. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/file.py +5 -1
  13. pypynum-1.11.0/pypynum/image.py +260 -0
  14. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/maths.py +262 -154
  15. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/numbers.py +14 -6
  16. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/polynomial.py +7 -2
  17. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/regression.py +4 -4
  18. pypynum-1.11.0/pypynum/stattest.py +128 -0
  19. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/test.py +10 -10
  20. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/tools.py +28 -28
  21. {pypynum-1.9.2 → pypynum-1.11.0}/setup.py +1 -1
  22. pypynum-1.9.2/pypynum/probability.py +0 -70
  23. {pypynum-1.9.2 → pypynum-1.11.0}/PyPyNum.egg-info/dependency_links.txt +0 -0
  24. {pypynum-1.9.2 → pypynum-1.11.0}/PyPyNum.egg-info/top_level.txt +0 -0
  25. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/FourierT.py +0 -0
  26. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Geometry.py +0 -0
  27. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Graph.py +0 -0
  28. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Logic.py +0 -0
  29. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/NeuralN.py +0 -0
  30. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/PyPyNum.png +0 -0
  31. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Quaternion.py +0 -0
  32. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Symbolics.py +0 -0
  33. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Tensor.py +0 -0
  34. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/Tree.py +0 -0
  35. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/chars.py +0 -0
  36. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/cipher.py +0 -0
  37. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/constants.py +0 -0
  38. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/errors.py +0 -0
  39. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/plotting.py +0 -0
  40. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/random.py +0 -0
  41. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/sequence.py +0 -0
  42. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/this.py +0 -0
  43. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/types.py +0 -0
  44. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/ufuncs.py +0 -0
  45. {pypynum-1.9.2 → pypynum-1.11.0}/pypynum/utils.py +0 -0
  46. {pypynum-1.9.2 → pypynum-1.11.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.9.2
3
+ Version: 1.11.0
4
4
  Summary: A multifunctional mathematical calculation package written in pure Python programming language [Python>=3.4]
5
5
  Home-page: https://github.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -692,7 +692,7 @@ Description-Content-Type: text/markdown
692
692
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
693
693
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
694
694
 
695
- ## Version -> 1.9.2 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
695
+ ## Version -> 1.11.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
696
696
 
697
697
  ![LOGO](PyPyNum.png)
698
698
 
@@ -716,41 +716,43 @@ The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
716
716
 
717
717
  #### Name and Function Introduction of Submodules
718
718
 
719
- | 子模块名称 Submodule Name | 功能简介 Function Introduction |
720
- |-----------------------|--------------------------------------------|
721
- | `pypynum.Array` | 多维数组 Multidimensional array |
722
- | `pypynum.chars` | 特殊数学符号 Special mathematical symbols |
723
- | `pypynum.cipher` | 加密解密算法 Encryption and decryption algorithm |
724
- | `pypynum.constants` | 数学常数集合 Set of mathematical constants |
725
- | `pypynum.equations` | 方程求解 Solving equations |
726
- | `pypynum.errors` | 异常对象 Exception object |
727
- | `pypynum.file` | 文件读写 File read and write |
728
- | `pypynum.FourierT` | 傅里叶变换 Fourier transform |
729
- | `pypynum.Geometry` | 几何形状 Geometric shape |
730
- | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
731
- | `pypynum.Group` | 群论算法 Group Theory Algorithm |
732
- | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
733
- | `pypynum.maths` | 通用数学函数 General mathematical functions |
734
- | `pypynum.Matrix` | 矩阵运算 Matrix operation |
735
- | `pypynum.NeuralN` | 神经网络训练 Neural network training |
736
- | `pypynum.numbers` | 数字处理 Number processing |
737
- | `pypynum.plotting` | 数据可视化 Data visualization |
738
- | `pypynum.polynomial` | 多项式运算 Polynomial operation |
739
- | `pypynum.probability` | 概率统计 Probability statistics |
740
- | `pypynum.Quaternion` | 四元数运算 Quaternion operation |
741
- | `pypynum.random` | 随机数生成 Random number generation |
742
- | `pypynum.regression` | 回归分析 Regression analysis |
743
- | `pypynum.sequence` | 数列计算 Sequence calculation |
744
- | `pypynum.Symbolics` | 符号计算 Symbol calculation |
745
- | `pypynum.Tensor` | 张量运算 Tensor operation |
746
- | `pypynum.test` | 简易测试 Easy test |
747
- | `pypynum.this` | 项目之禅 Zen of Projects |
748
- | `pypynum.tools` | 辅助函数 Auxiliary functions |
749
- | `pypynum.Tree` | 树形数据结构 Tree data structure |
750
- | `pypynum.types` | 特殊类型 Special types |
751
- | `pypynum.ufuncs` | 通用函数 Universal functions |
752
- | `pypynum.utils` | 实用工具 Utility |
753
- | `pypynum.Vector` | 向量运算 Vector operation |
719
+ | 子模块名称 Submodule Name | 功能简介 Function Introduction |
720
+ |:--------------------:|:------------------------------------------:|
721
+ | `pypynum.Array` | 多维数组 Multidimensional array |
722
+ | `pypynum.chars` | 特殊数学符号 Special mathematical symbols |
723
+ | `pypynum.cipher` | 加密解密算法 Encryption and decryption algorithm |
724
+ | `pypynum.constants` | 数学常数集合 Set of mathematical constants |
725
+ | `pypynum.dists` | 概率分布 Probability distribution |
726
+ | `pypynum.equations` | 方程求解 Solving equations |
727
+ | `pypynum.errors` | 异常对象 Exception object |
728
+ | `pypynum.file` | 文件读写 File read and write |
729
+ | `pypynum.FourierT` | 傅里叶变换 Fourier transform |
730
+ | `pypynum.Geometry` | 几何形状 Geometric shape |
731
+ | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
732
+ | `pypynum.Group` | 群论算法 Group Theory Algorithm |
733
+ | `pypynum.image` | 图像处理 Image processing |
734
+ | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
735
+ | `pypynum.maths` | 通用数学函数 General mathematical functions |
736
+ | `pypynum.Matrix` | 矩阵运算 Matrix operation |
737
+ | `pypynum.NeuralN` | 神经网络训练 Neural network training |
738
+ | `pypynum.numbers` | 数字处理 Number processing |
739
+ | `pypynum.plotting` | 数据可视化 Data visualization |
740
+ | `pypynum.polynomial` | 多项式运算 Polynomial operation |
741
+ | `pypynum.Quaternion` | 四元数运算 Quaternion operation |
742
+ | `pypynum.random` | 随机数生成 Random number generation |
743
+ | `pypynum.regression` | 回归分析 Regression analysis |
744
+ | `pypynum.sequence` | 数列计算 Sequence calculation |
745
+ | `pypynum.stattest` | 统计检验 Statistical test |
746
+ | `pypynum.Symbolics` | 符号计算 Symbol calculation |
747
+ | `pypynum.Tensor` | 张量运算 Tensor operation |
748
+ | `pypynum.test` | 简易测试 Easy test |
749
+ | `pypynum.this` | 项目之禅 Zen of Projects |
750
+ | `pypynum.tools` | 辅助函数 Auxiliary functions |
751
+ | `pypynum.Tree` | 树形数据结构 Tree data structure |
752
+ | `pypynum.types` | 特殊类型 Special types |
753
+ | `pypynum.ufuncs` | 通用函数 Universal functions |
754
+ | `pypynum.utils` | 实用工具 Utility |
755
+ | `pypynum.Vector` | 向量运算 Vector operation |
754
756
 
755
757
  ### PyPyNum的Zen(预览)
756
758
 
@@ -783,87 +785,110 @@ Python interpreter and run it!
783
785
  February 27, 2024
784
786
  ```
785
787
 
786
- ### 与上一个版本相比新增功能
788
+ ### 与上一个版本相比功能变化
787
789
 
788
- #### New features compared to the previous version
790
+ #### Functional changes compared to the previous version
789
791
 
790
792
  ```
791
793
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
792
794
 
793
- 新增代码行数大约三百行
795
+ 代码增加了约1000行
794
796
 
795
- Approximately 300 new lines of
796
- code added
797
+ The code has increased by about
798
+ 1000 lines
797
799
 
798
800
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
799
801
 
800
- 修改过的函数
802
+ 删除了maths模块中的一些分布函数
803
+ Removed some distribution
804
+ functions from the math module
801
805
 
802
- Modified functions
806
+ 删除了probability模块
807
+ The probability module has been
808
+ removed
803
809
 
804
- ├── Array
805
- fill(shape: Any, sequence: Any, repeat: Any, pad: Any, rtype: Any) -> Any
806
- zeros(shape: Any, rtype: Any) -> Any
807
- zeros_like(a: Any, rtype: Any) -> Any
810
+ 增加了dists模块
811
+ Added dists module
812
+
813
+ 增加了stattest模块
814
+ Added stattest module
808
815
 
809
816
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
810
817
 
811
- 新增加的函数
812
-
813
- Newly added functions
814
-
815
- class Polynomial(builtins.object)
816
- <以下为新增加的方法>
817
- <The following are the newly added methods>
818
- __divmod__ = __truediv__(self, other)
819
- __float__(self)
820
- __int__(self)
821
- __round__(self, n=None)
822
- coeffs(self, reverse=False)
823
- degs(self, reverse=False)
824
- deriv(self)
825
- evaluate(self, x)
826
- gcd(self, other)
827
- integ(self, constant=0)
828
- is_zero(self)
829
- latex(self)
830
- lcm(self, other)
831
- roots(self)
832
- sqrt(self)
818
+ <<<新增的函数>>>
819
+
820
+ <<<New functions added>>>
833
821
 
834
822
  PyPyNum
835
- ├── Array
823
+ ├── dists
836
824
  │ └── FUNCTION
837
- │ ├── full(shape: Any, fill_value: Any, rtype: Any) -> Any
838
- │ ├── full_like(a: Any, fill_value: Any, rtype: Any) -> Any
839
- │ ├── ones(shape: Any, rtype: Any) -> Any
840
- │ ├── ones_like(a: Any, rtype: Any) -> Any
825
+ │ ├── beta_pdf(x: Any, a: Any, b: Any) -> Any
826
+ │ ├── binom_pmf(k: Any, n: Any, p: Any) -> Any
827
+ │ ├── cauchy_cdf(x: Any, x0: Any, gamma: Any) -> Any
828
+ │ ├── cauchy_pdf(x: Any, x0: Any, gamma: Any) -> Any
829
+ │ ├── chi2_cdf(k: Any, x: Any) -> Any
830
+ │ ├── chi2_pdf(x: Any, df: Any) -> Any
831
+ │ ├── expon_cdf(x: Any, scale: Any) -> Any
832
+ │ ├── expon_pdf(x: Any, scale: Any) -> Any
833
+ │ ├── f_pdf(x: Any, dfnum: Any, dfden: Any) -> Any
834
+ │ ├── gamma_pdf(x: Any, shape: Any, scale: Any) -> Any
835
+ │ ├── geometric_pmf(k: Any, p: Any) -> Any
836
+ │ ├── hypergeom_pmf(k: Any, mg: Any, n: Any, nt: Any) -> Any
837
+ │ ├── inv_gauss_pdf(x: Any, mu: Any, lambda_: Any, alpha: Any) -> Any
838
+ │ ├── levy_pdf(x: Any, c: Any) -> Any
839
+ │ ├── log_logistic_cdf(x: Any, alpha: Any, beta: Any) -> Any
840
+ │ ├── log_logistic_pdf(x: Any, alpha: Any, beta: Any) -> Any
841
+ │ ├── logistic_cdf(x: Any, mu: Any, s: Any) -> Any
842
+ │ ├── logistic_pdf(x: Any, mu: Any, s: Any) -> Any
843
+ │ ├── lognorm_cdf(x: Any, mu: Any, sigma: Any) -> Any
844
+ │ ├── lognorm_pdf(x: Any, s: Any, scale: Any) -> Any
845
+ │ ├── logser_pmf(k: Any, p: Any) -> Any
846
+ │ ├── multinomial_pmf(k: Any, n: Any, p: Any) -> Any
847
+ │ ├── nbinom_pmf(k: Any, n: Any, p: Any) -> Any
848
+ │ ├── nhypergeom_pmf(k: Any, m: Any, n: Any, r: Any) -> Any
849
+ │ ├── normal_cdf(x: Any, mu: Any, sigma: Any) -> Any
850
+ │ ├── normal_pdf(x: Any, mu: Any, sigma: Any) -> Any
851
+ │ ├── pareto_pdf(x: Any, k: Any, m: Any) -> Any
852
+ │ ├── poisson_pmf(k: Any, mu: Any) -> Any
853
+ │ ├── rayleigh_pdf(x: Any, sigma: Any) -> Any
854
+ │ ├── t_pdf(x: Any, df: Any) -> Any
855
+ │ ├── uniform_cdf(x: Any, loc: Any, scale: Any) -> Any
856
+ │ ├── uniform_pdf(x: Any, loc: Any, scale: Any) -> Any
857
+ │ ├── vonmises_pdf(x: Any, mu: Any, kappa: Any) -> Any
858
+ │ ├── weibull_max_pdf(x: Any, c: Any, scale: Any, loc: Any) -> Any
859
+ │ ├── weibull_min_pdf(x: Any, c: Any, scale: Any, loc: Any) -> Any
860
+ │ └── zipf_pmf(k: Any, s: Any, n: Any) -> Any
841
861
  ├── maths
842
862
  │ └── FUNCTION
843
- │ ├── sumprod(arrays: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
844
- ├── polynomial
845
- └── FUNCTION
846
- │ ├── from_coeffs(coeffs: Any) -> Any
847
- │ ├── leggauss(polynomial: Any) -> Any
848
- ├── legpoly(n: Any) -> Any
849
- ├── ufuncs
863
+ │ ├── bessel_i0(x: Any) -> Any
864
+ ├── bessel_iv(v: Any, x: Any) -> Any
865
+ ├── lower_gamma(s: Any, x: Any) -> Any
866
+ │ ├── upper_gamma(s: Any, x: Any) -> Any
867
+ │ ├── xlogy(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
868
+ ├── stattest
850
869
  │ ├── CLASS
851
870
  │ └── FUNCTION
852
- │ ├── add(x: Any, y: Any) -> Any
853
- │ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any) -> Any
854
- │ ├── divide(x: Any, y: Any) -> Any
855
- │ ├── floor_divide(x: Any, y: Any) -> Any
856
- │ ├── modulo(x: Any, y: Any) -> Any
857
- ├── multiply(x: Any, y: Any) -> Any
858
- │ ├── power(x: Any, y: Any, m: Any) -> Any
859
- │ ├── subtract(x: Any, y: Any) -> Any
860
- │ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
871
+ │ ├── chi2_cont(contingency: list, lambda_: float, calc_p: bool, corr: bool) -> tuple
872
+ │ ├── chisquare(observed: list, expected: list) -> tuple
873
+ │ ├── kurttest(data: list, two_tailed: bool) -> tuple
874
+ │ ├── mediantest(samples: Any, ties: Any, lambda_: Any, corr: Any) -> Any
875
+ │ ├── normaltest(data: list) -> tuple
876
+ └── skewtest(data: list, two_tailed: bool) -> tuple
877
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
861
878
  ```
862
879
 
863
880
  ### 运行用时测试
864
881
 
865
882
  #### Run Time Test
866
883
 
884
+ Python解释器版本
885
+
886
+ Python interpreter version
887
+
888
+ + CPython 3.8.10
889
+
890
+ + PyPy 3.10.12
891
+
867
892
  | 矩阵用时测试<br>Matrix Time Test | NumPy+CPython(seconds) | 排名<br>Ranking | PyPyNum+PyPy(seconds) | 排名<br>Ranking | Mpmath_+_PyPy_(_seconds_) | 排名<br>Ranking | SymPy_+_PyPy_(_seconds_) | 排名<br>Ranking |
868
893
  |:------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|
869
894
  | 创建一百阶随机数矩阵<br>Create a hundred order random number matrix | 0.000083 | 1 | 0.005374 | 2 | 0.075253 | 3 | 0.230530 | 4 |
@@ -871,9 +896,9 @@ PyPyNum
871
896
  | 一百阶矩阵相加<br>Addition of matrices of order one hundred | 0.000029 | 1 | 0.002163 | 2 | 0.045641 | 4 | 0.035700 | 3 |
872
897
  | 一千阶矩阵相加<br>Adding matrices of order one thousand | 0.002647 | 1 | 0.019111 | 2 | 1.746957 | 4 | 0.771542 | 3 |
873
898
  | 一百阶矩阵行列式<br>Determinant of a hundred order matrix | 0.087209 | 2 | 0.016331 | 1 | 4.354507 | 3 | 5.157206 | 4 |
874
- | 一千阶矩阵行列式<br>Determinant of a thousand order matrix | 0.616113 | 1 | 3.509747 | 2 | 速度极慢 | 3 | 无法计算 | 4 |
875
- | 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 | 1 | 31.088849 | 4 | 8.162948 | 2 | 21.437424 | 3 |
876
- | 一千阶矩阵求逆<br>Finding the inverse of a thousand order matrix | 0.598905 | 1 | 速度较慢 | 4 | 速度较慢 | 2 | 速度较慢 | 3 |
899
+ | 一千阶矩阵行列式<br>Determinant of a thousand order matrix | 0.616113 | 1 | 3.509747 | 2 | It takes a long time | 3 | It takes a long time | 4 |
900
+ | 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 | 2 | 0.015768 | 1 | 8.162948 | 3 | 21.437424 | 4 |
901
+ | 一千阶矩阵求逆<br>Finding the inverse of a thousand order matrix | 0.598905 | 1 | 17.072552 | 2 | It takes a long time | 3 | It takes a long time | 4 |
877
902
  | 数组输出效果<br>Array output effect | ```[[[[ -7 -67]```<br>```[-78  29]]```<br><br>```[[-86 -97]```<br>```[ 68  -3]]]```<br><br><br>```[[[ 11  42]```<br>```[ 24 -65]]```<br><br>```[[-60  72]```<br>```[ 73   2]]]]``` | / | ```[[[[ 37  83]```<br>```[ 40   2]]```<br><br>```[[ -5 -34]```<br>```[ -7  72]]]```<br><br><br>```[[[ 13 -64]```<br>```[  6  90]]```<br><br>```[[ 68  57]```<br>```[ 78  11]]]]``` | / | ```[-80.0   -8.0  80.0  -88.0]```<br>```[-99.0  -43.0  87.0   81.0]```<br>```[ 20.0  -55.0  98.0    8.0]```<br>```[  8.0   44.0  64.0  -35.0]```<br>(只支持矩阵)<br>(Only supports matrices) | / | ```⎡⎡16   -56⎤  ⎡ 8   -28⎤⎤```<br>```⎢⎢        ⎥  ⎢        ⎥⎥```<br>```⎢⎣-56  56 ⎦  ⎣-28  28 ⎦⎥```<br>```⎢                      ⎥```<br>```⎢ ⎡-2  7 ⎤   ⎡-18  63 ⎤⎥```<br>```⎢ ⎢      ⎥   ⎢        ⎥⎥```<br>```⎣ ⎣7   -7⎦   ⎣63   -63⎦⎦``` | / |
878
903
 
879
904
  ### 基本结构
@@ -887,6 +912,8 @@ PyPyNum
887
912
  │ │ └── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
888
913
  │ └── FUNCTION
889
914
  │ ├── array(data: Any) -> Any
915
+ │ ├── asarray(data: Any) -> Any
916
+ │ ├── aslist(data: Any) -> Any
890
917
  │ ├── fill(shape: Any, sequence: Any, repeat: Any, pad: Any, rtype: Any) -> Any
891
918
  │ ├── full(shape: Any, fill_value: Any, rtype: Any) -> Any
892
919
  │ ├── full_like(a: Any, fill_value: Any, rtype: Any) -> Any
@@ -923,11 +950,7 @@ PyPyNum
923
950
  │ ├── CLASS
924
951
  │ │ └── Group(object)/__init__(self: Any, data: Any) -> Any
925
952
  │ └── FUNCTION
926
- ├── add(x: Any, y: Any) -> Any
927
- │ ├── divide(x: Any, y: Any) -> Any
928
- │ ├── group(data: Any) -> Any
929
- │ ├── multiply(x: Any, y: Any) -> Any
930
- │ └── subtract(x: Any, y: Any) -> Any
953
+ └── group(data: Any) -> Any
931
954
  ├── Logic
932
955
  │ ├── CLASS
933
956
  │ │ ├── AND(pypynum.Logic.Binary)/__init__(self: Any, label: Any, pin0: Any, pin1: Any) -> Any
@@ -965,11 +988,8 @@ PyPyNum
965
988
  │ ├── mat(data: Any) -> Any
966
989
  │ ├── qr(matrix: pypynum.Matrix.Matrix) -> tuple
967
990
  │ ├── rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
968
- │ ├── same(rows: Any, cols: Any, value: Any) -> Any
969
991
  │ ├── svd(matrix: pypynum.Matrix.Matrix) -> tuple
970
- ├── tril_indices(n: int, k: int, m: int) -> tuple
971
- │ ├── zeros(_dimensions: Any) -> Any
972
- │ └── zeros_like(_nested_list: Any) -> Any
992
+ └── tril_indices(n: int, k: int, m: int) -> tuple
973
993
  ├── NeuralN
974
994
  │ ├── CLASS
975
995
  │ │ └── NeuralNetwork(object)/__init__(self: Any, _input: Any, _hidden: Any, _output: Any) -> Any
@@ -1005,10 +1025,7 @@ PyPyNum
1005
1025
  │ ├── CLASS
1006
1026
  │ │ └── Vector(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
1007
1027
  │ └── FUNCTION
1008
- ├── same(length: Any, value: Any) -> Any
1009
- │ ├── vec(data: Any) -> Any
1010
- │ ├── zeros(_dimensions: Any) -> Any
1011
- │ └── zeros_like(_nested_list: Any) -> Any
1028
+ └── vec(data: Any) -> Any
1012
1029
  ├── chars
1013
1030
  │ ├── CLASS
1014
1031
  │ └── FUNCTION
@@ -1030,11 +1047,50 @@ PyPyNum
1030
1047
  ├── constants
1031
1048
  │ ├── CLASS
1032
1049
  │ └── FUNCTION
1050
+ ├── dists
1051
+ │ ├── CLASS
1052
+ │ └── FUNCTION
1053
+ │ ├── beta_pdf(x: Any, a: Any, b: Any) -> Any
1054
+ │ ├── binom_pmf(k: Any, n: Any, p: Any) -> Any
1055
+ │ ├── cauchy_cdf(x: Any, x0: Any, gamma: Any) -> Any
1056
+ │ ├── cauchy_pdf(x: Any, x0: Any, gamma: Any) -> Any
1057
+ │ ├── chi2_cdf(x: Any, df: Any) -> Any
1058
+ │ ├── chi2_pdf(x: Any, df: Any) -> Any
1059
+ │ ├── expon_cdf(x: Any, scale: Any) -> Any
1060
+ │ ├── expon_pdf(x: Any, scale: Any) -> Any
1061
+ │ ├── f_pdf(x: Any, dfnum: Any, dfden: Any) -> Any
1062
+ │ ├── gamma_pdf(x: Any, shape: Any, scale: Any) -> Any
1063
+ │ ├── geometric_pmf(k: Any, p: Any) -> Any
1064
+ │ ├── hypergeom_pmf(k: Any, mg: Any, n: Any, nt: Any) -> Any
1065
+ │ ├── inv_gauss_pdf(x: Any, mu: Any, lambda_: Any, alpha: Any) -> Any
1066
+ │ ├── levy_pdf(x: Any, c: Any) -> Any
1067
+ │ ├── log_logistic_cdf(x: Any, alpha: Any, beta: Any) -> Any
1068
+ │ ├── log_logistic_pdf(x: Any, alpha: Any, beta: Any) -> Any
1069
+ │ ├── logistic_cdf(x: Any, mu: Any, s: Any) -> Any
1070
+ │ ├── logistic_pdf(x: Any, mu: Any, s: Any) -> Any
1071
+ │ ├── lognorm_cdf(x: Any, mu: Any, sigma: Any) -> Any
1072
+ │ ├── lognorm_pdf(x: Any, s: Any, scale: Any) -> Any
1073
+ │ ├── logser_pmf(k: Any, p: Any) -> Any
1074
+ │ ├── multinomial_pmf(k: Any, n: Any, p: Any) -> Any
1075
+ │ ├── nbinom_pmf(k: Any, n: Any, p: Any) -> Any
1076
+ │ ├── nhypergeom_pmf(k: Any, m: Any, n: Any, r: Any) -> Any
1077
+ │ ├── normal_cdf(x: Any, mu: Any, sigma: Any) -> Any
1078
+ │ ├── normal_pdf(x: Any, mu: Any, sigma: Any) -> Any
1079
+ │ ├── pareto_pdf(x: Any, k: Any, m: Any) -> Any
1080
+ │ ├── poisson_pmf(k: Any, mu: Any) -> Any
1081
+ │ ├── rayleigh_pdf(x: Any, sigma: Any) -> Any
1082
+ │ ├── t_pdf(x: Any, df: Any) -> Any
1083
+ │ ├── uniform_cdf(x: Any, loc: Any, scale: Any) -> Any
1084
+ │ ├── uniform_pdf(x: Any, loc: Any, scale: Any) -> Any
1085
+ │ ├── vonmises_pdf(x: Any, mu: Any, kappa: Any) -> Any
1086
+ │ ├── weibull_max_pdf(x: Any, c: Any, scale: Any, loc: Any) -> Any
1087
+ │ ├── weibull_min_pdf(x: Any, c: Any, scale: Any, loc: Any) -> Any
1088
+ │ └── zipf_pmf(k: Any, s: Any, n: Any) -> Any
1033
1089
  ├── equations
1034
1090
  │ ├── CLASS
1035
1091
  │ └── FUNCTION
1036
- │ ├── linear_equation(left: list, right: list) -> list
1037
- │ └── polynomial_equation(coefficients: list) -> list
1092
+ │ ├── lin_eq(left: list, right: list) -> list
1093
+ │ └── poly_eq(coefficients: list) -> list
1038
1094
  ├── errors
1039
1095
  │ ├── CLASS
1040
1096
  │ └── FUNCTION
@@ -1043,6 +1099,11 @@ PyPyNum
1043
1099
  │ └── FUNCTION
1044
1100
  │ ├── read(file: str) -> list
1045
1101
  │ └── write(file: str, cls: object) -> Any
1102
+ ├── image
1103
+ │ ├── CLASS
1104
+ │ │ └── PNG(object)/__init__(self: Any) -> None
1105
+ │ └── FUNCTION
1106
+ │ └── crc(data: Any, length: Any, init: Any, xor: Any) -> Any
1046
1107
  ├── maths
1047
1108
  │ ├── CLASS
1048
1109
  │ └── FUNCTION
@@ -1062,6 +1123,8 @@ PyPyNum
1062
1123
  │ ├── atan(x: typing.Union[int, float]) -> typing.Union[int, float]
1063
1124
  │ ├── atanh(x: typing.Union[int, float]) -> typing.Union[int, float]
1064
1125
  │ ├── average(data: Any, weights: Any, expected: Any) -> Any
1126
+ │ ├── bessel_i0(x: Any) -> Any
1127
+ │ ├── bessel_iv(v: Any, x: Any) -> Any
1065
1128
  │ ├── beta(p: typing.Union[int, float], q: typing.Union[int, float]) -> typing.Union[int, float]
1066
1129
  │ ├── central_moment(data: typing.Union[list, tuple], order: int) -> float
1067
1130
  │ ├── coeff_det(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
@@ -1077,25 +1140,25 @@ PyPyNum
1077
1140
  │ ├── csch(x: typing.Union[int, float]) -> typing.Union[int, float]
1078
1141
  │ ├── cumprod(lst: typing.Union[list, tuple]) -> list
1079
1142
  │ ├── cumsum(lst: typing.Union[list, tuple]) -> list
1080
- │ ├── definite_integral(f: Any, x_start: typing.Union[int, float], x_end: typing.Union[int, float], n: int, args: Any, kwargs: Any) -> float
1081
- │ ├── derivative(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
1143
+ │ ├── deriv(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
1082
1144
  │ ├── erf(x: typing.Union[int, float]) -> float
1083
1145
  │ ├── exgcd(a: int, b: int) -> tuple
1084
1146
  │ ├── exp(x: typing.Union[int, float]) -> typing.Union[int, float]
1085
1147
  │ ├── factorial(n: int) -> int
1086
1148
  │ ├── freq(data: typing.Union[list, tuple]) -> dict
1087
1149
  │ ├── gamma(alpha: typing.Union[int, float]) -> float
1088
- │ ├── gaussian(x: typing.Union[int, float], _mu: typing.Union[int, float], _sigma: typing.Union[int, float]) -> float
1089
1150
  │ ├── gcd(args: int) -> int
1090
1151
  │ ├── geom_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1091
1152
  │ ├── harm_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1153
+ │ ├── integ(f: Any, x_start: typing.Union[int, float], x_end: typing.Union[int, float], n: int, args: Any, kwargs: Any) -> float
1092
1154
  │ ├── iroot(y: int, n: int) -> int
1093
1155
  │ ├── is_possibly_square(n: int) -> bool
1094
1156
  │ ├── is_square(n: int) -> bool
1095
1157
  │ ├── isqrt(x: int) -> int
1096
- │ ├── kurt(data: typing.Union[list, tuple]) -> float
1158
+ │ ├── kurt(data: typing.Union[list, tuple], fisher: bool) -> float
1097
1159
  │ ├── lcm(args: int) -> int
1098
1160
  │ ├── ln(x: typing.Union[int, float]) -> typing.Union[int, float]
1161
+ │ ├── lower_gamma(s: Any, x: Any) -> Any
1099
1162
  │ ├── mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1100
1163
  │ ├── median(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1101
1164
  │ ├── mod_order(a: int, n: int, b: int) -> int
@@ -1103,11 +1166,11 @@ PyPyNum
1103
1166
  │ ├── normalize(data: typing.Union[list, tuple], target: typing.Union[int, float, complex]) -> typing.Union[list, tuple]
1104
1167
  │ ├── parity(x: int) -> int
1105
1168
  │ ├── pi(i: int, n: int, f: Any) -> typing.Union[int, float, complex]
1106
- │ ├── poisson(x: int, _lambda: typing.Union[int, float]) -> float
1107
1169
  │ ├── primitive_root(a: int, single: bool) -> typing.Union[int, list]
1108
1170
  │ ├── product(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1109
1171
  │ ├── ptp(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1110
1172
  │ ├── raw_moment(data: typing.Union[list, tuple], order: int) -> float
1173
+ │ ├── roll(seq: typing.Union[list, tuple, str], shift: int) -> typing.Union[list, tuple, str]
1111
1174
  │ ├── root(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1112
1175
  │ ├── sec(x: typing.Union[int, float]) -> typing.Union[int, float]
1113
1176
  │ ├── sech(x: typing.Union[int, float]) -> typing.Union[int, float]
@@ -1123,7 +1186,9 @@ PyPyNum
1123
1186
  │ ├── tan(x: typing.Union[int, float]) -> typing.Union[int, float]
1124
1187
  │ ├── tanh(x: typing.Union[int, float]) -> typing.Union[int, float]
1125
1188
  │ ├── totient(n: int) -> int
1189
+ │ ├── upper_gamma(s: Any, x: Any) -> Any
1126
1190
  │ ├── var(numbers: typing.Union[list, tuple], dof: int) -> typing.Union[int, float, complex]
1191
+ │ ├── xlogy(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1127
1192
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1128
1193
  ├── numbers
1129
1194
  │ ├── CLASS
@@ -1147,16 +1212,10 @@ PyPyNum
1147
1212
  │ │ └── Polynomial(object)/__init__(self: Any, terms: Any) -> Any
1148
1213
  │ └── FUNCTION
1149
1214
  │ ├── from_coeffs(coeffs: Any) -> Any
1215
+ │ ├── from_coords(coords: Any) -> Any
1150
1216
  │ ├── leggauss(polynomial: Any) -> Any
1151
1217
  │ ├── legpoly(n: Any) -> Any
1152
1218
  │ └── poly(terms: Any) -> Any
1153
- ├── probability
1154
- │ ├── CLASS
1155
- │ └── FUNCTION
1156
- │ ├── binomial(sample_size: int, successes: int, success_probability: typing.Union[int, float]) -> float
1157
- │ ├── chi2_cont(contingency: list, calc_p: bool, corr: bool) -> tuple
1158
- │ ├── chi2_pdf(x: typing.Union[int, float], k: typing.Union[int, float]) -> float
1159
- │ └── hypergeometric(total_items: int, success_items: int, sample_size: int, successes_in_sample: int) -> float
1160
1219
  ├── random
1161
1220
  │ ├── CLASS
1162
1221
  │ └── FUNCTION
@@ -1169,9 +1228,9 @@ PyPyNum
1169
1228
  ├── regression
1170
1229
  │ ├── CLASS
1171
1230
  │ └── FUNCTION
1172
- │ ├── linear_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1173
- │ ├── parabolic_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1174
- │ └── polynomial_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple], n: int) -> list
1231
+ │ ├── lin_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1232
+ │ ├── par_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1233
+ │ └── poly_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple], n: int) -> list
1175
1234
  ├── sequence
1176
1235
  │ ├── CLASS
1177
1236
  │ └── FUNCTION
@@ -1182,6 +1241,15 @@ PyPyNum
1182
1241
  │ ├── fibonacci(n: int, single: bool) -> typing.Union[int, list]
1183
1242
  │ ├── geometric_sequence(a1: typing.Union[int, float], an: typing.Union[int, float], r: typing.Union[int, float], n: typing.Union[int, float], s: typing.Union[int, float]) -> dict
1184
1243
  │ └── recaman(n: int, single: bool) -> typing.Union[int, list]
1244
+ ├── stattest
1245
+ │ ├── CLASS
1246
+ │ └── FUNCTION
1247
+ │ ├── chi2_cont(contingency: list, lambda_: float, calc_p: bool, corr: bool) -> tuple
1248
+ │ ├── chisquare(observed: list, expected: list) -> tuple
1249
+ │ ├── kurttest(data: list, two_tailed: bool) -> tuple
1250
+ │ ├── mediantest(samples: Any, ties: Any, lambda_: Any, corr: Any) -> Any
1251
+ │ ├── normaltest(data: list) -> tuple
1252
+ │ └── skewtest(data: list, two_tailed: bool) -> tuple
1185
1253
  ├── test
1186
1254
  │ ├── CLASS
1187
1255
  │ └── FUNCTION
@@ -1300,8 +1368,8 @@ print(m1.rank())
1300
1368
  [10 12]]
1301
1369
  [[19 22]
1302
1370
  [43 50]]
1303
- [[-2.0 1.0]
1304
- [ 1.5 -0.5]]
1371
+ [[ -1.9999999999999996 0.9999999999999998]
1372
+ [ 1.4999999999999998 -0.49999999999999994]]
1305
1373
  2
1306
1374
  """
1307
1375
 
@@ -1434,8 +1502,8 @@ m = [
1434
1502
  ],
1435
1503
  [-1, -2, -3]
1436
1504
  ]
1437
- print(equations.polynomial_equation(p))
1438
- print(equations.linear_equation(*m))
1505
+ print(equations.poly_eq(p))
1506
+ print(equations.lin_eq(*m))
1439
1507
 
1440
1508
  """
1441
1509
  [(-1.5615528128088307-6.5209667308287455e-24j) (1.0000000000000007+3.241554513744382e-25j) (2.5615528128088294+4.456233626665941e-24j)]
@@ -1539,20 +1607,20 @@ print(random.randint(0, 9, [2, 3, 4]))
1539
1607
  print(random.uniform(0, 9, [2, 3, 4]))
1540
1608
 
1541
1609
  """
1542
- [[[2.0337109813389342, 0.07828151434838644, 0.5770175491332994, -0.45862437785903776], [-0.5647580909376742, 0.04013315334953438, -1.4415329001085142, 0.21063309355876483], [-0.13079032580688052, -0.12269092226721959, -1.0486596849517071, 0.33707912556088127]], [[1.0924880424965842, -0.2904666571377903, -0.8147193339820543, -0.12425697574808597], [-0.9431495143889028, 1.6993259508582454, 2.459143670684122, 0.6706774051649211], [-0.2067467760214054, -1.335666880934244, -0.06604610266464511, 1.4659516633001894]]]
1543
- [[[0.5056293647418786, 0.41138133426895374, 0.1116780669974381, 0.5421022799938007], [0.8529591223803364, 0.7967626494191837, 0.6778986058446654, 0.7966034784840031], [0.8226174224158366, 0.6882274477983558, 0.2043768498847348, 0.20649565416723548]], [[0.7858708880353261, 0.293208591223893, 0.9713037501099235, 0.1277647867709274], [0.5310738736523741, 0.3775394394569467, 0.6618665928287699, 0.7813821035754579], [0.41759114496811056, 0.8741519554894022, 0.8325056303107449, 0.8127323540413558]]]
1544
- [[[5, 9, 7, 5], [9, 9, 9, 8], [6, 2, 0, 3]], [[4, 7, 5, 8], [5, 7, 2, 4], [9, 9, 2, 2]]]
1545
- [[[7.666875196011509, 4.2629925536138815, 6.269304350870346, 6.1616482850575816], [8.736107228623906, 4.050564635824004, 8.719616126170123, 8.241460211008127], [2.2965292897567497, 2.3960057526618233, 2.406429664045121, 7.644380154396355]], [[3.8027437908649793, 5.075197041264121, 3.778237396690295, 0.9427794634466875], [1.9182768078467933, 6.926954119152528, 2.5353235396092666, 3.0648655668955422], [8.538065261473607, 7.652025295242501, 4.086320910353441, 7.457914057699455]]]
1610
+ [[[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]]]
1611
+ [[[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]]]
1612
+ [[[1, 6, 0, 1], [0, 4, 8, 3], [2, 4, 2, 8]], [[9, 7, 0, 6], [6, 2, 4, 6], [2, 2, 0, 1]]]
1613
+ [[[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]]]
1546
1614
  """
1547
1615
 
1548
- print(regression.linear_regression(list(range(5)), [2, 4, 6, 7, 8]))
1549
- print(regression.parabolic_regression(list(range(5)), [2, 4, 6, 7, 8]))
1550
- print(regression.polynomial_regression(list(range(5)), [2, 4, 6, 7, 8], 4))
1616
+ print(regression.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
1617
+ print(regression.par_reg(list(range(5)), [2, 4, 6, 7, 8]))
1618
+ print(regression.poly_reg(list(range(5)), [2, 4, 6, 7, 8], 4))
1551
1619
 
1552
1620
  """
1553
1621
  [1.5, 2.4000000000000004]
1554
1622
  [-0.21428571428571563, 2.3571428571428625, 1.971428571428569]
1555
- [0.0833333333480164, -0.6666666668091551, 1.416666667838451, 1.1666666648311779, 2.0000000002900586]
1623
+ [0.08333333333320592, -0.666666666666571, 1.4166666666628345, 1.1666666666688208, 1.9999999999999258]
1556
1624
  """
1557
1625
 
1558
1626
  print(tools.classify([1, 2.3, 4 + 5j, "string", list, True, 3.14, False, tuple, tools]))