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.
- {PyPyNum-1.9.1.dist-info → PyPyNum-1.10.0.dist-info}/METADATA +276 -83
- PyPyNum-1.10.0.dist-info/RECORD +41 -0
- {PyPyNum-1.9.1.dist-info → PyPyNum-1.10.0.dist-info}/WHEEL +1 -1
- pypynum/Array.py +76 -56
- pypynum/Group.py +3 -16
- pypynum/Matrix.py +79 -61
- pypynum/README.md +275 -82
- pypynum/Tensor.py +7 -4
- pypynum/Tree.py +43 -7
- pypynum/Vector.py +0 -14
- pypynum/__init__.py +23 -3
- pypynum/equations.py +4 -4
- pypynum/file.py +5 -1
- pypynum/image.py +260 -0
- pypynum/maths.py +149 -118
- pypynum/numbers.py +66 -9
- pypynum/polynomial.py +113 -4
- pypynum/regression.py +4 -4
- pypynum/test.py +10 -10
- pypynum/tools.py +28 -28
- pypynum/ufuncs.py +83 -7
- PyPyNum-1.9.1.dist-info/RECORD +0 -40
- {PyPyNum-1.9.1.dist-info → PyPyNum-1.10.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyPyNum
|
|
3
|
-
Version: 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
|
[](https://pepy.tech/project/pypynum)
|
|
693
693
|
[](https://pepy.tech/project/pypynum)
|
|
694
694
|
|
|
695
|
-
## Version -> 1.
|
|
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
|

|
|
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 |
|
|
720
|
-
|
|
721
|
-
|
|
|
722
|
-
|
|
|
723
|
-
|
|
|
724
|
-
|
|
|
725
|
-
|
|
|
726
|
-
|
|
|
727
|
-
|
|
|
728
|
-
|
|
|
729
|
-
|
|
|
730
|
-
|
|
|
731
|
-
|
|
|
732
|
-
|
|
|
733
|
-
|
|
|
734
|
-
|
|
|
735
|
-
|
|
|
736
|
-
|
|
|
737
|
-
|
|
|
738
|
-
|
|
|
739
|
-
| `pypynum.
|
|
740
|
-
| `pypynum.
|
|
741
|
-
| `pypynum.
|
|
742
|
-
|
|
|
743
|
-
| `pypynum.
|
|
744
|
-
|
|
|
745
|
-
|
|
|
746
|
-
|
|
|
747
|
-
|
|
|
748
|
-
|
|
|
749
|
-
|
|
|
750
|
-
|
|
|
751
|
-
|
|
|
752
|
-
|
|
|
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
|
-
|
|
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 |
|
|
811
|
-
| 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 |
|
|
812
|
-
| 一千阶矩阵求逆<br>Finding the inverse of a thousand order matrix | 0.598905 | 1 |
|
|
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
|
-
│ ├──
|
|
827
|
-
│ ├──
|
|
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
|
-
│ ├──
|
|
831
|
-
│
|
|
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
|
-
│
|
|
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
|
-
│
|
|
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
|
-
│
|
|
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
|
-
│ ├──
|
|
970
|
-
│ └──
|
|
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
|
-
│ ├──
|
|
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
|
-
│ ├──
|
|
1101
|
-
│ ├──
|
|
1102
|
-
│ └──
|
|
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
|
-
│
|
|
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
|
-
[[-
|
|
1230
|
-
[
|
|
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.
|
|
1364
|
-
print(equations.
|
|
1558
|
+
print(equations.poly_eq(p))
|
|
1559
|
+
print(equations.lin_eq(*m))
|
|
1365
1560
|
|
|
1366
1561
|
"""
|
|
1367
|
-
[
|
|
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
|
-
[[[
|
|
1471
|
-
[[[0.
|
|
1472
|
-
[[[
|
|
1473
|
-
[[[4.
|
|
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.
|
|
1477
|
-
print(regression.
|
|
1478
|
-
print(regression.
|
|
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.
|
|
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 '
|
|
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,,
|