PyPyNum 1.9.1__py3-none-any.whl → 1.10.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.9.1
3
+ Version: 1.10.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.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
695
+ ## Version -> 1.10.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,40 +716,42 @@ 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.utils` | 实用工具 Utility |
752
- | `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.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.image` | 图像处理 Image processing |
733
+ | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
734
+ | `pypynum.maths` | 通用数学函数 General mathematical functions |
735
+ | `pypynum.Matrix` | 矩阵运算 Matrix operation |
736
+ | `pypynum.NeuralN` | 神经网络训练 Neural network training |
737
+ | `pypynum.numbers` | 数字处理 Number processing |
738
+ | `pypynum.plotting` | 数据可视化 Data visualization |
739
+ | `pypynum.polynomial` | 多项式运算 Polynomial operation |
740
+ | `pypynum.probability` | 概率统计 Probability statistics |
741
+ | `pypynum.Quaternion` | 四元数运算 Quaternion operation |
742
+ | `pypynum.random` | 随机数生成 Random number generation |
743
+ | `pypynum.regression` | 回归分析 Regression analysis |
744
+ | `pypynum.sequence` | 数列计算 Sequence calculation |
745
+ | `pypynum.Symbolics` | 符号计算 Symbol calculation |
746
+ | `pypynum.Tensor` | 张量运算 Tensor operation |
747
+ | `pypynum.test` | 简易测试 Easy test |
748
+ | `pypynum.this` | 项目之禅 Zen of Projects |
749
+ | `pypynum.tools` | 辅助函数 Auxiliary functions |
750
+ | `pypynum.Tree` | 树形数据结构 Tree data structure |
751
+ | `pypynum.types` | 特殊类型 Special types |
752
+ | `pypynum.ufuncs` | 通用函数 Universal functions |
753
+ | `pypynum.utils` | 实用工具 Utility |
754
+ | `pypynum.Vector` | 向量运算 Vector operation |
753
755
 
754
756
  ### PyPyNum的Zen(预览)
755
757
 
@@ -789,9 +791,185 @@ Python interpreter and run it!
789
791
  ```
790
792
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
791
793
 
792
- 修复了一些功能问题
794
+ 名称缩写的函数
793
795
 
794
- Fixed some functional issues
796
+ Functions with abbreviated names
797
+
798
+ linear_regression -> lin_reg
799
+ parabolic_regression -> par_reg
800
+ polynomial_regression -> poly_reg
801
+ linear_equation -> lin_eq
802
+ polynomial_equation -> poly_eq
803
+ derivative -> deriv
804
+ definite_integral -> integ
805
+
806
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
807
+
808
+ ★ Matrix.inv(self):
809
+ ★ 速度提高约55000%
810
+ ★ Speed increased by about 55000%
811
+
812
+ Matrix.outer(self, other):
813
+ 速度提高约900%
814
+ Speed increased by about 900%
815
+
816
+ identity(n: int) -> Matrix:
817
+ 速度提高约630%
818
+ Speed increased by about 630%
819
+
820
+ tril_indices(n: int,
821
+ k: int = 0,
822
+ m: int | None = None) -> tuple:
823
+ 速度提高约140%
824
+ Speed increased by about 140%
825
+
826
+ Matrix.kron(self, other):
827
+ 速度提高约130%
828
+ Speed increased by about 130%
829
+
830
+ Matrix.t(self):
831
+ 速度提高约70%
832
+ Speed increased by about 70%
833
+
834
+ lu(matrix: Matrix) -> tuple:
835
+ 速度提高约9%
836
+ Speed increased by about 9%
837
+
838
+ Matrix.inner(self, other):
839
+ 速度提高约5%
840
+ Speed increased by about 5%
841
+
842
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
843
+
844
+ 矩阵支持更好的修改元素方式
845
+
846
+ Matrix supports better ways
847
+ to modify elements
848
+
849
+ 示例 Example
850
+
851
+ A = [[0, 1, 2, 3],
852
+ [4, 5, 6, 7],
853
+ [8, 9, 10, 11],
854
+ [12, 13, 14, 15]]
855
+ matrix = mat(A)
856
+ matrix[0:2, 0:2] = [[16, 77],
857
+ [72, 16]]
858
+
859
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
860
+
861
+ 这个方法添加了是否返回所有主元
862
+
863
+ This method adds whether to return all main elements
864
+
865
+ Matrix.rref(self, pivots=True)
866
+
867
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
868
+
869
+ 新增的函数
870
+
871
+ New functions added
872
+
873
+ aslist(data)
874
+ asarray(data)
875
+ roll(seq, shift)
876
+
877
+ 请注意,“roll”函数目前是一个初步实现,将来将被设计为数组绑定方法。
878
+ Please note that the "roll" function is currently a preliminary implementation
879
+ and will be designed as an array binding method in the future.
880
+
881
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
882
+
883
+ <<<添加了image模块>>>
884
+
885
+ <<<Added image module>>>
886
+
887
+ <<<添加了PNG类>>>
888
+
889
+ <<<Added PNG class>>>
890
+
891
+ class PNG(builtins.object)
892
+
893
+ Introduction
894
+ ==========
895
+ This is a PNG class written in pure Python,
896
+ supporting the creation, reading, modification, and saving of PNG images.
897
+
898
+ Roadmap
899
+ ==========
900
+ This class is currently in development.
901
+ Future updates will expand its functionality to enhance the capabilities of working with PNG images.
902
+
903
+ Usage
904
+ ==========
905
+
906
+ Creating a new PNG image:
907
+ ----------
908
+ To create a new PNG image, instantiate the PNG class and use the `new` method
909
+ to define the image dimensions, bit depth, and color mode.
910
+
911
+ - from png import PNG
912
+
913
+ # Create a new image with a width of 200 pixels, a height of 100 pixels,
914
+ an 8-bit depth, and the default RGB color mode.
915
+
916
+ - image = PNG()
917
+ - image.new(200, 100, 8)
918
+
919
+ # Optionally, you can specify a background color. For example, to create a new image with a blue background:
920
+
921
+ - image.new(200, 100, 8, color=(0, 0, 255))
922
+
923
+ Reading an existing PNG image:
924
+ ----------
925
+ To read an existing PNG image from a file, use the `read` method.
926
+
927
+ - image = PNG()
928
+ - image.read("example.png")
929
+
930
+ Modifying a pixel:
931
+ ----------
932
+ To modify the color of a pixel at a specific coordinate, use the `setp` method.
933
+
934
+ # Set the pixel at (10, 10) to red (255, 0, 0).
935
+
936
+ - image.setp(10, 10, (255, 0, 0))
937
+
938
+ Getting a pixel's color:
939
+ ----------
940
+ To retrieve the color of a pixel at a specific coordinate, use the `getp` method.
941
+
942
+ - color = image.getp(10, 10)
943
+ - print(color) # Output: (255, 0, 0) for the example above
944
+
945
+ Saving the image:
946
+ ----------
947
+ To save the image to a file, use the `write` method.
948
+
949
+ - image.write("output.png")
950
+
951
+ Getting image information:
952
+ ----------
953
+ To obtain information about the image, such as its dimensions and color mode, use the `info` method.
954
+
955
+ - info = image.info()
956
+ - print(info) # Output: {'width': 200, 'height': 100, 'bit_depth': 8, 'color_mode': 'RGB'}
957
+
958
+ __init__(self) -> None
959
+
960
+ __repr__(self) -> str
961
+
962
+ getp(self, x: int, y: int) -> tuple
963
+
964
+ info(self) -> dict
965
+
966
+ new(self, width: int, height: int, bit_depth: int, color: tuple = (), color_mode: str = 'RGB') -> None
967
+
968
+ read(self, filename: str) -> None
969
+
970
+ setp(self, x: int, y: int, color: tuple) -> None
971
+
972
+ write(self, filename: str = None) -> bytes
795
973
 
796
974
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
797
975
  ```
@@ -800,6 +978,14 @@ Fixed some functional issues
800
978
 
801
979
  #### Run Time Test
802
980
 
981
+ Python解释器版本
982
+
983
+ Python interpreter version
984
+
985
+ + CPython 3.8.10
986
+
987
+ + PyPy 3.10.12
988
+
803
989
  | 矩阵用时测试<br>Matrix Time Test | NumPy+CPython(seconds) | 排名<br>Ranking | PyPyNum+PyPy(seconds) | 排名<br>Ranking | Mpmath_+_PyPy_(_seconds_) | 排名<br>Ranking | SymPy_+_PyPy_(_seconds_) | 排名<br>Ranking |
804
990
  |:------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|
805
991
  | 创建一百阶随机数矩阵<br>Create a hundred order random number matrix | 0.000083 | 1 | 0.005374 | 2 | 0.075253 | 3 | 0.230530 | 4 |
@@ -807,9 +993,9 @@ Fixed some functional issues
807
993
  | 一百阶矩阵相加<br>Addition of matrices of order one hundred | 0.000029 | 1 | 0.002163 | 2 | 0.045641 | 4 | 0.035700 | 3 |
808
994
  | 一千阶矩阵相加<br>Adding matrices of order one thousand | 0.002647 | 1 | 0.019111 | 2 | 1.746957 | 4 | 0.771542 | 3 |
809
995
  | 一百阶矩阵行列式<br>Determinant of a hundred order matrix | 0.087209 | 2 | 0.016331 | 1 | 4.354507 | 3 | 5.157206 | 4 |
810
- | 一千阶矩阵行列式<br>Determinant of a thousand order matrix | 0.616113 | 1 | 3.509747 | 2 | 速度极慢 | 3 | 无法计算 | 4 |
811
- | 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 | 1 | 31.088849 | 4 | 8.162948 | 2 | 21.437424 | 3 |
812
- | 一千阶矩阵求逆<br>Finding the inverse of a thousand order matrix | 0.598905 | 1 | 速度较慢 | 4 | 速度较慢 | 2 | 速度较慢 | 3 |
996
+ | 一千阶矩阵行列式<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 |
997
+ | 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 | 2 | 0.015768 | 1 | 8.162948 | 3 | 21.437424 | 4 |
998
+ | 一千阶矩阵求逆<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 |
813
999
  | 数组输出效果<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⎦⎦``` | / |
814
1000
 
815
1001
  ### 基本结构
@@ -823,12 +1009,17 @@ PyPyNum
823
1009
  │ │ └── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
824
1010
  │ └── FUNCTION
825
1011
  │ ├── array(data: Any) -> Any
826
- │ ├── fill(shape: Any, sequence: Any, repeat: Any, pad: Any) -> Any
827
- │ ├── function(_array: Any, _function: Any, args: Any) -> Any
1012
+ │ ├── asarray(data: Any) -> Any
1013
+ │ ├── aslist(data: Any) -> Any
1014
+ │ ├── fill(shape: Any, sequence: Any, repeat: Any, pad: Any, rtype: Any) -> Any
1015
+ │ ├── full(shape: Any, fill_value: Any, rtype: Any) -> Any
1016
+ │ ├── full_like(a: Any, fill_value: Any, rtype: Any) -> Any
828
1017
  │ ├── get_shape(data: Any) -> Any
829
1018
  │ ├── is_valid_array(_array: Any, _shape: Any) -> Any
830
- │ ├── zeros(shape: Any) -> Any
831
- └── zeros_like(_nested_list: Any) -> Any
1019
+ │ ├── ones(shape: Any, rtype: Any) -> Any
1020
+ ├── ones_like(a: Any, rtype: Any) -> Any
1021
+ │ ├── zeros(shape: Any, rtype: Any) -> Any
1022
+ │ └── zeros_like(a: Any, rtype: Any) -> Any
832
1023
  ├── FourierT
833
1024
  │ ├── CLASS
834
1025
  │ │ └── FT1D(object)/__init__(self: Any, data: Any) -> Any
@@ -856,11 +1047,7 @@ PyPyNum
856
1047
  │ ├── CLASS
857
1048
  │ │ └── Group(object)/__init__(self: Any, data: Any) -> Any
858
1049
  │ └── FUNCTION
859
- ├── add(x: Any, y: Any) -> Any
860
- │ ├── divide(x: Any, y: Any) -> Any
861
- │ ├── group(data: Any) -> Any
862
- │ ├── multiply(x: Any, y: Any) -> Any
863
- │ └── subtract(x: Any, y: Any) -> Any
1050
+ └── group(data: Any) -> Any
864
1051
  ├── Logic
865
1052
  │ ├── CLASS
866
1053
  │ │ ├── AND(pypynum.Logic.Binary)/__init__(self: Any, label: Any, pin0: Any, pin1: Any) -> Any
@@ -898,11 +1085,8 @@ PyPyNum
898
1085
  │ ├── mat(data: Any) -> Any
899
1086
  │ ├── qr(matrix: pypynum.Matrix.Matrix) -> tuple
900
1087
  │ ├── rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
901
- │ ├── same(rows: Any, cols: Any, value: Any) -> Any
902
1088
  │ ├── svd(matrix: pypynum.Matrix.Matrix) -> tuple
903
- ├── tril_indices(n: int, k: int, m: int) -> tuple
904
- │ ├── zeros(_dimensions: Any) -> Any
905
- │ └── zeros_like(_nested_list: Any) -> Any
1089
+ └── tril_indices(n: int, k: int, m: int) -> tuple
906
1090
  ├── NeuralN
907
1091
  │ ├── CLASS
908
1092
  │ │ └── NeuralNetwork(object)/__init__(self: Any, _input: Any, _hidden: Any, _output: Any) -> Any
@@ -938,10 +1122,7 @@ PyPyNum
938
1122
  │ ├── CLASS
939
1123
  │ │ └── Vector(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
940
1124
  │ └── FUNCTION
941
- ├── same(length: Any, value: Any) -> Any
942
- │ ├── vec(data: Any) -> Any
943
- │ ├── zeros(_dimensions: Any) -> Any
944
- │ └── zeros_like(_nested_list: Any) -> Any
1125
+ └── vec(data: Any) -> Any
945
1126
  ├── chars
946
1127
  │ ├── CLASS
947
1128
  │ └── FUNCTION
@@ -966,8 +1147,8 @@ PyPyNum
966
1147
  ├── equations
967
1148
  │ ├── CLASS
968
1149
  │ └── FUNCTION
969
- │ ├── linear_equation(left: list, right: list) -> list
970
- │ └── polynomial_equation(coefficients: list) -> list
1150
+ │ ├── lin_eq(left: list, right: list) -> list
1151
+ │ └── poly_eq(coefficients: list) -> list
971
1152
  ├── errors
972
1153
  │ ├── CLASS
973
1154
  │ └── FUNCTION
@@ -976,6 +1157,11 @@ PyPyNum
976
1157
  │ └── FUNCTION
977
1158
  │ ├── read(file: str) -> list
978
1159
  │ └── write(file: str, cls: object) -> Any
1160
+ ├── image
1161
+ │ ├── CLASS
1162
+ │ │ └── PNG(object)/__init__(self: Any) -> None
1163
+ │ └── FUNCTION
1164
+ │ └── crc(data: Any, length: Any, init: Any, xor: Any) -> Any
979
1165
  ├── maths
980
1166
  │ ├── CLASS
981
1167
  │ └── FUNCTION
@@ -1010,8 +1196,7 @@ PyPyNum
1010
1196
  │ ├── csch(x: typing.Union[int, float]) -> typing.Union[int, float]
1011
1197
  │ ├── cumprod(lst: typing.Union[list, tuple]) -> list
1012
1198
  │ ├── cumsum(lst: typing.Union[list, tuple]) -> list
1013
- │ ├── definite_integral(f: Any, x_start: typing.Union[int, float], x_end: typing.Union[int, float], n: int, args: Any, kwargs: Any) -> float
1014
- │ ├── derivative(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
1199
+ │ ├── deriv(f: Any, x: typing.Union[int, float], h: typing.Union[int, float], args: Any, kwargs: Any) -> float
1015
1200
  │ ├── erf(x: typing.Union[int, float]) -> float
1016
1201
  │ ├── exgcd(a: int, b: int) -> tuple
1017
1202
  │ ├── exp(x: typing.Union[int, float]) -> typing.Union[int, float]
@@ -1022,6 +1207,7 @@ PyPyNum
1022
1207
  │ ├── gcd(args: int) -> int
1023
1208
  │ ├── geom_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1024
1209
  │ ├── harm_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1210
+ │ ├── integ(f: Any, x_start: typing.Union[int, float], x_end: typing.Union[int, float], n: int, args: Any, kwargs: Any) -> float
1025
1211
  │ ├── iroot(y: int, n: int) -> int
1026
1212
  │ ├── is_possibly_square(n: int) -> bool
1027
1213
  │ ├── is_square(n: int) -> bool
@@ -1041,17 +1227,19 @@ PyPyNum
1041
1227
  │ ├── product(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1042
1228
  │ ├── ptp(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1043
1229
  │ ├── raw_moment(data: typing.Union[list, tuple], order: int) -> float
1230
+ │ ├── roll(seq: typing.Union[list, tuple, str], shift: int) -> typing.Union[list, tuple, str]
1044
1231
  │ ├── root(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1045
1232
  │ ├── sec(x: typing.Union[int, float]) -> typing.Union[int, float]
1046
1233
  │ ├── sech(x: typing.Union[int, float]) -> typing.Union[int, float]
1047
1234
  │ ├── sigma(i: int, n: int, f: Any) -> typing.Union[int, float, complex]
1048
1235
  │ ├── sigmoid(x: typing.Union[int, float]) -> float
1049
- │ ├── sign(x: typing.Union[int, float]) -> int
1236
+ │ ├── sign(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1050
1237
  │ ├── sin(x: typing.Union[int, float]) -> typing.Union[int, float]
1051
1238
  │ ├── sinh(x: typing.Union[int, float]) -> typing.Union[int, float]
1052
1239
  │ ├── skew(data: typing.Union[list, tuple]) -> float
1053
1240
  │ ├── square_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1054
1241
  │ ├── std(numbers: typing.Union[list, tuple], dof: int) -> typing.Union[int, float, complex]
1242
+ │ ├── sumprod(arrays: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
1055
1243
  │ ├── tan(x: typing.Union[int, float]) -> typing.Union[int, float]
1056
1244
  │ ├── tanh(x: typing.Union[int, float]) -> typing.Union[int, float]
1057
1245
  │ ├── totient(n: int) -> int
@@ -1062,6 +1250,7 @@ PyPyNum
1062
1250
  │ └── FUNCTION
1063
1251
  │ ├── float2fraction(number: float, mixed: bool, error: float) -> tuple
1064
1252
  │ ├── int2roman(integer: int, overline: bool) -> str
1253
+ │ ├── int2words(integer: int) -> str
1065
1254
  │ ├── roman2int(roman_num: str) -> int
1066
1255
  │ └── str2int(string: str) -> int
1067
1256
  ├── plotting
@@ -1077,6 +1266,10 @@ PyPyNum
1077
1266
  │ ├── CLASS
1078
1267
  │ │ └── Polynomial(object)/__init__(self: Any, terms: Any) -> Any
1079
1268
  │ └── FUNCTION
1269
+ │ ├── from_coeffs(coeffs: Any) -> Any
1270
+ │ ├── from_coords(coords: Any) -> Any
1271
+ │ ├── leggauss(polynomial: Any) -> Any
1272
+ │ ├── legpoly(n: Any) -> Any
1080
1273
  │ └── poly(terms: Any) -> Any
1081
1274
  ├── probability
1082
1275
  │ ├── CLASS
@@ -1097,9 +1290,9 @@ PyPyNum
1097
1290
  ├── regression
1098
1291
  │ ├── CLASS
1099
1292
  │ └── FUNCTION
1100
- │ ├── linear_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1101
- │ ├── parabolic_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1102
- │ └── polynomial_regression(x: typing.Union[list, tuple], y: typing.Union[list, tuple], n: int) -> list
1293
+ │ ├── lin_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1294
+ │ ├── par_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> list
1295
+ │ └── poly_reg(x: typing.Union[list, tuple], y: typing.Union[list, tuple], n: int) -> list
1103
1296
  ├── sequence
1104
1297
  │ ├── CLASS
1105
1298
  │ └── FUNCTION
@@ -1138,12 +1331,14 @@ PyPyNum
1138
1331
  │ ├── CLASS
1139
1332
  │ └── FUNCTION
1140
1333
  │ ├── add(x: Any, y: Any) -> Any
1334
+ │ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any) -> Any
1141
1335
  │ ├── divide(x: Any, y: Any) -> Any
1142
1336
  │ ├── floor_divide(x: Any, y: Any) -> Any
1143
1337
  │ ├── modulo(x: Any, y: Any) -> Any
1144
1338
  │ ├── multiply(x: Any, y: Any) -> Any
1145
1339
  │ ├── power(x: Any, y: Any, m: Any) -> Any
1146
- └── subtract(x: Any, y: Any) -> Any
1340
+ ├── subtract(x: Any, y: Any) -> Any
1341
+ │ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
1147
1342
  └── utils
1148
1343
  ├── CLASS
1149
1344
  │ ├── InfIterator(object)/__init__(self: Any, start: typing.Union[int, float, complex], mode: str, common: typing.Union[int, float, complex]) -> Any
@@ -1226,8 +1421,8 @@ print(m1.rank())
1226
1421
  [10 12]]
1227
1422
  [[19 22]
1228
1423
  [43 50]]
1229
- [[-2.0 1.0]
1230
- [ 1.5 -0.5]]
1424
+ [[ -1.9999999999999996 0.9999999999999998]
1425
+ [ 1.4999999999999998 -0.49999999999999994]]
1231
1426
  2
1232
1427
  """
1233
1428
 
@@ -1360,13 +1555,11 @@ m = [
1360
1555
  ],
1361
1556
  [-1, -2, -3]
1362
1557
  ]
1363
- print(equations.polynomial_equation(p))
1364
- print(equations.linear_equation(*m))
1558
+ print(equations.poly_eq(p))
1559
+ print(equations.lin_eq(*m))
1365
1560
 
1366
1561
  """
1367
- [[(-1.5615528128088307-6.5209667308287455e-24j) 0 0]
1368
- [ 0 (2.5615528128088294+4.456233626665941e-24j) 0]
1369
- [ 0 0 (1.0000000000000007+3.241554513744382e-25j)]]
1562
+ [(-1.5615528128088307-6.5209667308287455e-24j) (1.0000000000000007+3.241554513744382e-25j) (2.5615528128088294+4.456233626665941e-24j)]
1370
1563
  [ 1.6666666666666667 -0.6666666666666666 -0.4444444444444444]
1371
1564
  """
1372
1565
 
@@ -1467,20 +1660,20 @@ print(random.randint(0, 9, [2, 3, 4]))
1467
1660
  print(random.uniform(0, 9, [2, 3, 4]))
1468
1661
 
1469
1662
  """
1470
- [[[0.4604088962341266, -1.7729143777833498, -1.027113249139529, -1.367335972424437], [1.5152952392963814, 0.1143532276512219, -2.2478367353916626, 0.770010737736378], [-0.4126751204277065, -2.5483288418244814, -0.8493985529797649, -0.5563319772201964]], [[1.9010219123281087, 0.44289739103266357, -0.7148439667426828, -0.742966218100922], [0.21210379525283574, 1.5466635593995341, -0.4536304781981763, 0.5978046752778463], [-0.802299453332161, -1.0295309618075863, 0.5960990076298143, -0.7956578324150254]]]
1471
- [[[0.6378288221898551, 0.5667742466043126, 0.4656215108828976, 0.15042085420645113], [0.17290475960349394, 0.7286971110875379, 0.645886619551428, 0.6328537921605502], [0.5626377160935252, 0.41015810474249603, 0.9951566294215863, 0.21679108443018347]], [[0.7747392018966252, 0.5885873225687281, 0.4305122635955937, 0.1102178686782671], [0.6823600514076231, 0.919946966200235, 0.9010988477920265, 0.9324975541841414], [0.026520946245817467, 0.7483826867189314, 0.25799134110551736, 0.7231613737350734]]]
1472
- [[[5, 5, 4, 2], [2, 0, 9, 6], [9, 2, 0, 0]], [[0, 3, 9, 2], [2, 5, 5, 3], [9, 2, 5, 1]]]
1473
- [[[4.661185893580614, 6.263504213542613, 1.5982048879385133, 4.592524740685044], [5.915777961319595, 0.7073727896327806, 2.6233256174392263, 4.980453415047565], [2.257336580759053, 8.299789041235444, 5.839322602213961, 3.1890466264933925]], [[8.498155134210208, 4.722625882838601, 4.4036516933236705, 4.313235000904077], [3.7418534910533126, 2.7783464437089305, 8.884554145257127, 3.860087039759355], [4.430653527343895, 0.9625175276439548, 6.813933725727357, 7.910773669181097]]]
1663
+ [[[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]]]
1664
+ [[[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]]]
1665
+ [[[1, 6, 0, 1], [0, 4, 8, 3], [2, 4, 2, 8]], [[9, 7, 0, 6], [6, 2, 4, 6], [2, 2, 0, 1]]]
1666
+ [[[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]]]
1474
1667
  """
1475
1668
 
1476
- print(regression.linear_regression(list(range(5)), [2, 4, 6, 7, 8]))
1477
- print(regression.parabolic_regression(list(range(5)), [2, 4, 6, 7, 8]))
1478
- print(regression.polynomial_regression(list(range(5)), [2, 4, 6, 7, 8], 4))
1669
+ print(regression.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
1670
+ print(regression.par_reg(list(range(5)), [2, 4, 6, 7, 8]))
1671
+ print(regression.poly_reg(list(range(5)), [2, 4, 6, 7, 8], 4))
1479
1672
 
1480
1673
  """
1481
1674
  [1.5, 2.4000000000000004]
1482
1675
  [-0.21428571428571563, 2.3571428571428625, 1.971428571428569]
1483
- [0.08333333334800574, -0.6666666668092494, 1.4166666678382942, 1.1666666648311956, 2.0000000002900613]
1676
+ [0.08333333333320592, -0.666666666666571, 1.4166666666628345, 1.1666666666688208, 1.9999999999999258]
1484
1677
  """
1485
1678
 
1486
1679
  print(tools.classify([1, 2.3, 4 + 5j, "string", list, True, 3.14, False, tuple, tools]))
@@ -1489,7 +1682,7 @@ print(tools.frange(0, 3, 0.4))
1489
1682
  print(tools.linspace(0, 2.8, 8))
1490
1683
 
1491
1684
  """
1492
- {<class 'int'>: [1], <class 'float'>: [2.3, 3.14], <class 'complex'>: [(4+5j)], <class 'str'>: ['string'], <class 'type'>: [<class 'list'>, <class 'tuple'>], <class 'bool'>: [True, False], <class 'module'>: [<module 'pypynum.tools' from 'F:\\PyPyproject\\PyPyproject1\\pypynum\\tools.py'>]}
1685
+ {<class 'int'>: [1], <class 'float'>: [2.3, 3.14], <class 'complex'>: [(4+5j)], <class 'str'>: ['string'], <class 'type'>: [<class 'list'>, <class 'tuple'>], <class 'bool'>: [True, False], <class 'module'>: [<module 'pypynum.tools' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\pypynum\\tools.py'>]}
1493
1686
  ['Python', 6, 'NumPy', <class 'int'>, 'PyPyNum', 9, 'pypynum', True]
1494
1687
  [0.0, 0.4, 0.8, 1.2000000000000002, 1.6, 2.0, 2.4000000000000004, 2.8000000000000003]
1495
1688
  [0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]
@@ -0,0 +1,41 @@
1
+ pypynum/Array.py,sha256=qABWeR4bSRf6t-h9v-KTDUQb8jJIpa2mQsPRLv31F_U,8978
2
+ pypynum/FourierT.py,sha256=AtG0tESykzEs4gDsXhcizW7qhQnmw0gjcWcXefBqzhs,1401
3
+ pypynum/Geometry.py,sha256=bJCuif-wHO-t7oHFEE7ntzIdQwzUEbT3mcKgmBV6Wps,13982
4
+ pypynum/Graph.py,sha256=m9iTCNYRCZmAexDzwJ8Y6J7v1aweT-6TZkqh4fOtZDE,10131
5
+ pypynum/Group.py,sha256=QZdUUxa8zD9jxn69cJsbQlWZNvnSlw-31LZsmzXUxU0,2810
6
+ pypynum/Logic.py,sha256=IJAv59ECHU0HmG9lYCAQ_puqeL6Zor3-IDIVH48KBWE,11000
7
+ pypynum/Matrix.py,sha256=HccbMMLgrcLNvg7moOrfAMDctiLAWTa4b3V4UYwsakM,18682
8
+ pypynum/NeuralN.py,sha256=iSOvC9JW1h4AFGokGGOTkKie5hAYN_YT9H4f3apI9b8,3275
9
+ pypynum/PyPyNum.png,sha256=t96tJPWfHxT8kcXm_qZI2z5W36TgOqjCU9qdgbmlFws,11623
10
+ pypynum/Quaternion.py,sha256=-BW_crP_i-veHN0_pD3Z1dipFNUX198oZDrUYTsoZw0,8017
11
+ pypynum/README.md,sha256=EM9yjBPsBor8oGJCbRYXqqUzMVsk9gI-DRQKnaF7XTY,58918
12
+ pypynum/Symbolics.py,sha256=u-Dig3OLs6qoLzxMpTAYJGq5uSWDMvgU13TAHKLyjMY,2768
13
+ pypynum/Tensor.py,sha256=gi7OjrGgP5BSJS9Oma1B2EdX9qSpMNIP2BnKLojdT78,3930
14
+ pypynum/Tree.py,sha256=BYnlb2kKNJ8kkuq8BAHIcLvPZw5KHxbvM7YuVGhQVMk,4330
15
+ pypynum/Vector.py,sha256=ee-gkBtyG0l5dLFwAKRTTlnDG05pWpM19RGN7VoPvqE,3212
16
+ pypynum/__init__.py,sha256=v698plpqMZaMvqCevw1WWC4rJBjs_WbEnRnNlo_K2iY,2452
17
+ pypynum/chars.py,sha256=VcK9w0i73FMCzc-9aIibjdHqyMsofJXdoBq0d8L7Vr0,1001
18
+ pypynum/cipher.py,sha256=DaitY3DCoTuzyrXtD8Ap3IYDLhlMc7-o4AJfLlicvB4,10011
19
+ pypynum/constants.py,sha256=xELv4DIKEqBdwF9tUqCmTQVbgVrlrj385ht5eawvshU,1406
20
+ pypynum/equations.py,sha256=pwbSLpmFl9eChyxkTeRrs3KC3gy19kpAcpxNvWAKQVA,749
21
+ pypynum/errors.py,sha256=I3nh5YD5F_sBoa7hjPJi81goRflbVAZcjtmW7O2BhJk,220
22
+ pypynum/file.py,sha256=-sg3pndZdiyM8cS6KeIhCvB6NfAovHnLOhEf0XkjidE,3411
23
+ pypynum/image.py,sha256=nhTZmaBVIKhuar-CcwZWb-hRYmkj4b_g7vIlYvEJEEE,12155
24
+ pypynum/maths.py,sha256=3jJtTy7IlyIFd5q2xc7ovlySmf3b04IUf2Q1C8JvxMI,27975
25
+ pypynum/numbers.py,sha256=PqQ07TWfcNlfjCjUg1UJda-BI1uOffmQVK1qIGbll_s,8619
26
+ pypynum/plotting.py,sha256=mbIYK5TpY1qvuMJrqz4d8bxJEiZww3AI684vSKV-DgU,7781
27
+ pypynum/polynomial.py,sha256=qRNITUY5Tcx43bccs2kx_dmvL_heLM0v-IcR-FyQBl8,9465
28
+ pypynum/probability.py,sha256=aUHaS7NMIJJWI8vZktgvn1zQKLtjdBiY5d-qwbJ6fGM,3778
29
+ pypynum/random.py,sha256=vfTtyH5yOSKJoSI_-NT_Tg8wC-ZXT0wt34f87oaSpJY,4610
30
+ pypynum/regression.py,sha256=PfTM8glJSi3Jgvc_C_3hQBeVjkbrzSuDqRbEf3s403w,2040
31
+ pypynum/sequence.py,sha256=7NSZm_p_B00KFj5XZrtSm2FXhsowxs0qg_Q_P4pAA8o,7194
32
+ pypynum/test.py,sha256=hkLxhtBl9XVjaqcbzDPEuYB92vDXfM9f7AS3tF5FSEE,9005
33
+ pypynum/this.py,sha256=oRX1OpMa4NJmQSdEjJxfszEo5FRYlxRiF8OTDRIcdMA,2154
34
+ pypynum/tools.py,sha256=xN2hYpEnPGmn1CsdQ60OUv5HIwJRbQAWTI8NclwwHno,12609
35
+ pypynum/types.py,sha256=CVWPZo_ACr_QGH5gAOhoG3jK35peiqipu3PH8ScEYHE,181
36
+ pypynum/ufuncs.py,sha256=g2tewdsGa4VrIq2khR-0SWJoXBitVRN87DulOnTxxDA,2572
37
+ pypynum/utils.py,sha256=oeHpAMFItWXfKjb0UQITPwMVKZBd3H5JT3R-jBgn2_w,14466
38
+ PyPyNum-1.10.0.dist-info/METADATA,sha256=lpsZLPsOBvxZ5poG-NZjTkAJpcuTNJ0EVMUOBsVx3zQ,100363
39
+ PyPyNum-1.10.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
40
+ PyPyNum-1.10.0.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
41
+ PyPyNum-1.10.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5