PyPyNum 1.7.0__tar.gz → 1.8.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/PKG-INFO +44 -86
  2. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/PyPyNum.egg-info/PKG-INFO +44 -86
  3. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/PyPyNum.egg-info/SOURCES.txt +4 -1
  4. PyPyNum-1.8.1/pypynum/Graph.py +270 -0
  5. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Matrix.py +236 -32
  6. PyPyNum-1.8.1/pypynum/PyPyNum.png +0 -0
  7. PyPyNum-1.8.1/pypynum/README.md +778 -0
  8. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Tree.py +1 -1
  9. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/__init__.py +4 -2
  10. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/equations.py +3 -4
  11. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/maths.py +81 -1
  12. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/plotting.py +1 -0
  13. PyPyNum-1.8.1/pypynum/polynomial.py +158 -0
  14. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/tools.py +97 -1
  15. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/setup.py +16 -4
  16. PyPyNum-1.7.0/pypynum/__temporary.py +0 -169
  17. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/PyPyNum.egg-info/dependency_links.txt +0 -0
  18. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/PyPyNum.egg-info/top_level.txt +0 -0
  19. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Array.py +0 -0
  20. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/FourierT.py +0 -0
  21. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Geometry.py +0 -0
  22. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Group.py +0 -0
  23. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Logic.py +0 -0
  24. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/NeuralN.py +0 -0
  25. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Quaternion.py +0 -0
  26. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Symbolics.py +0 -0
  27. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Tensor.py +0 -0
  28. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/Vector.py +0 -0
  29. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/chars.py +0 -0
  30. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/cipher.py +0 -0
  31. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/constants.py +0 -0
  32. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/errors.py +0 -0
  33. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/file.py +0 -0
  34. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/numbers.py +0 -0
  35. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/probability.py +0 -0
  36. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/random.py +0 -0
  37. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/regression.py +0 -0
  38. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/sequence.py +0 -0
  39. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/test.py +0 -0
  40. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/this.py +0 -0
  41. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/types.py +0 -0
  42. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/pypynum/utils.py +0 -0
  43. {PyPyNum-1.7.0 → PyPyNum-1.8.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.7.0
3
+ Version: 1.8.1
4
4
  Summary: A multifunctional mathematical calculation package written in pure Python programming language [Python>=3.5]
5
5
  Home-page: https://www.gitee.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -668,6 +668,7 @@ License:
668
668
  For more information on this, and how to apply and follow the GNU AGPL, see
669
669
  <http://www.gnu.org/licenses/>.
670
670
 
671
+ Keywords: math,数学,mathematics,数学计算,numerical,数值,computation,计算,scientific,科学,algebra,代数,calculus,微积分,statistics,统计,linear-algebra,线性代数,optimization,优化,numerical-analysis,数值分析,matrix,矩阵,vector,向量,tensor,张量,numerics,数值计算,library,库,tools,工具,utils,实用程序,algorithms,算法,software,软件,package,包,methods,方法,data-science,数据科学,machine-learning,机器学习,computational,计算的,operations,操作,functions,函数,processing,处理,programming,编程,simulation,仿真,visualization,可视化,physics,物理
671
672
  Requires-Python: >=3.5
672
673
  Description-Content-Type: text/markdown
673
674
 
@@ -691,7 +692,7 @@ Description-Content-Type: text/markdown
691
692
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
692
693
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
693
694
 
694
- ## Version -> 1.7.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum
695
+ ## Version -> 1.8.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum
695
696
 
696
697
  ![LOGO](PyPyNum.png)
697
698
 
@@ -740,54 +741,11 @@ Python interpreter and run it!)
740
741
  ```
741
742
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
742
743
 
743
- 新增代码行数:
744
- 约八百行
744
+ eig函数修复了计算错误并改名为eigen
745
745
 
746
- New code lines:
747
- approximately 800 lines
748
-
749
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
750
-
751
- 部分函数再次优化,性能提高一倍。
752
-
753
- Partial functions were optimized
754
- again, resulting in a doubling
755
- of performance.
756
-
757
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
758
-
759
- 新增的好玩功能举例。
760
-
761
- Examples of newly added fun
762
- features.
763
-
764
- 新增的有序集合包含绝大多数内置集合的运算
765
- ,并且另有几个新函数。请注意它不是从内置
766
- 集合继承的。
767
-
768
- The newly added ordered set
769
- contains the majority of
770
- built-in set operations, and
771
- there are also several new
772
- functions. Please note that it
773
- does not inherit from the
774
- built-in set.
775
-
776
- 新增的无穷迭代器支持迭代多种数列,默认的
777
- 空字符串即为自增数列。目前支持的数列有等
778
- 差数列、等比数列、斐波那契数列与卡特兰数
779
- 列。
780
-
781
- The newly added infinite
782
- iterator supports iterating
783
- multiple sequences, and the
784
- default empty string is the self
785
- increasing sequence. The
786
- currently supported sequences
787
- include arithmetic sequences,
788
- proportional sequences,
789
- Fibonacci sequences, and Catalan
790
- sequences.
746
+ The eig function fixed
747
+ calculation errors and changed
748
+ its name to eigen
791
749
 
792
750
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
793
751
 
@@ -796,34 +754,13 @@ sequences.
796
754
  <<<The ellipsis in the following structure represents the original part>>>
797
755
 
798
756
  PyPyNum
799
- Tree [Various trees]
800
- CLASSES
801
- MultiTree
802
- MultiTreeNode
803
- ★ maths [Mathematical functions]
804
- FUNCTIONS
805
- ...
806
- totient(n: int) -> int
807
- mod_order(a: int, n: int, b: int) -> int
808
- primitive_root(a: int, single: bool = False) -> Union[int, list]
809
- normalize(data: arr, target: num = 1) -> arr
810
- average(data, weights, expected=False)
811
- exgcd(a: int, b: int) -> tuple
812
- crt(n: arr, a: arr) -> int
813
- ★ sequence [Various sequences]
757
+ Matrix [Matrix calculation]
814
758
  FUNCTIONS
815
- farey(n: int) -> list
816
759
  ...
817
- tools [Other useful tools]
818
- FUNCTIONS
760
+ rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
761
+ hessenberg(matrix: pypynum.Matrix.Matrix) -> tuple
762
+ eigen(matrix: pypynum.Matrix.Matrix) -> tuple
819
763
  ...
820
- primality(n: int, iter_num: int = 10) -> bool
821
- generate_primes(limit: int) -> list
822
- prime_factors(integer: int, dictionary: bool = False, pollard_rho: bool = True) -> Union[list, dict]
823
- ★ utils [Other useful tools]
824
- CLASSES
825
- InfIterator
826
- OrderedSet
827
764
  ```
828
765
 
829
766
  ### 运行用时测试
@@ -893,6 +830,14 @@ PyPyNum
893
830
  Triangle
894
831
  FUNCTIONS
895
832
  distance(g1, g2, error: int | float = 0) -> float
833
+ ★ Graph [Graph theory]
834
+ CLASSES
835
+ BaseGraph
836
+ BaseWeGraph
837
+ WeDiGraph
838
+ WeUnGraph
839
+ DiGraph
840
+ UnGraph
896
841
  ★ Group [Group theory]
897
842
  CLASSES
898
843
  Group
@@ -930,14 +875,16 @@ PyPyNum
930
875
  CLASSES
931
876
  Matrix
932
877
  FUNCTIONS
933
- eig(matrix)
934
- identity(n)
935
- lu(matrix)
878
+ eigen(matrix: pypynum.Matrix.Matrix) -> tuple
879
+ hessenberg(matrix: pypynum.Matrix.Matrix) -> tuple
880
+ identity(n: int) -> pypynum.Matrix.Matrix
881
+ lu(matrix: pypynum.Matrix.Matrix) -> tuple
936
882
  mat(data)
937
- qr(matrix)
883
+ qr(matrix: pypynum.Matrix.Matrix) -> tuple
884
+ rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
938
885
  same(rows, cols, value=0)
939
- svd(matrix)
940
- tril_indices(n, k=0, m=None)
886
+ svd(matrix: pypynum.Matrix.Matrix) -> tuple
887
+ tril_indices(n: int, k: int = 0, m: int = None) -> tuple
941
888
  zeros(_dimensions)
942
889
  zeros_like(_nested_list)
943
890
  ★ NeuralN [A simple neural network model]
@@ -1121,6 +1068,9 @@ PyPyNum
1121
1068
  average(data, weights, expected=False)
1122
1069
  exgcd(a: int, b: int) -> tuple
1123
1070
  crt(n: arr, a: arr) -> int
1071
+ isqrt(x: int) -> int
1072
+ is_possibly_square(n: int) -> bool
1073
+ is_square(n: int) -> bool
1124
1074
  ★ numbers [Conversion of various numbers]
1125
1075
  FUNCTIONS
1126
1076
  float2fraction(number: float, mixed: bool = False, error: float = 1e-15) -> tuple
@@ -1138,6 +1088,11 @@ PyPyNum
1138
1088
  unary(function, right: real = 5, left: real = -5, top: real = 5, bottom: real = -5, complexity: real = 5...
1139
1089
  binary(function, right: real = 5, left: real = -5, top: real = 5, bottom: real = -5, complexity: real = 5...
1140
1090
  c_unary(function, start: real, end: real, interval: real = 5, projection: str = "ri", right: real = 5...
1091
+ ★ polynomial [Polynomial object]
1092
+ CLASSES
1093
+ Polynomial
1094
+ FUNCTIONS
1095
+ poly(terms=None)
1141
1096
  ★ probability [Probability function]
1142
1097
  FUNCTIONS
1143
1098
  binomial(sample_size: int, successes: int, success_probability: Union[int, float]) -> float
@@ -1176,6 +1131,7 @@ PyPyNum
1176
1131
  primality(n: int, iter_num: int = 10) -> bool
1177
1132
  generate_primes(limit: int) -> list
1178
1133
  prime_factors(integer: int, dictionary: bool = False, pollard_rho: bool = True) -> Union[list, dict]
1134
+ magic_square(n)
1179
1135
  ★ utils [Other useful tools]
1180
1136
  CLASSES
1181
1137
  InfIterator
@@ -1344,7 +1300,7 @@ print(v1.angles())
1344
1300
  6.62607015e-34
1345
1301
  1.618033988749895
1346
1302
  3.141592653589793
1347
- 1000000000000.0
1303
+ 1000000000000
1348
1304
 
1349
1305
  >>> p = [1, -2, -3, 4]
1350
1306
  >>> m = [
@@ -1358,7 +1314,9 @@ print(v1.angles())
1358
1314
  >>> print(equations.polynomial_equation(p))
1359
1315
  >>> print(equations.linear_equation(*m))
1360
1316
 
1361
- [(-1.5615528128088307-6.5209667308287455e-24j) (2.5615528128088294+4.456233626665941e-24j) (1.0000000000000007+3.241554513744382e-25j)]
1317
+ [[(-1.5615528128088307-6.5209667308287455e-24j) 0 0]
1318
+ [ 0 (2.5615528128088294+4.456233626665941e-24j) 0]
1319
+ [ 0 0 (1.0000000000000007+3.241554513744382e-25j)]]
1362
1320
  [ 1.6666666666666667 -0.6666666666666666 -0.4444444444444444]
1363
1321
 
1364
1322
  >>> print(maths.cot(constants.pi / 3))
@@ -1453,10 +1411,10 @@ print(v1.angles())
1453
1411
  >>> print(random.randint(0, 9, [2, 3, 4]))
1454
1412
  >>> print(random.uniform(0, 9, [2, 3, 4]))
1455
1413
 
1456
- [[[0.4334341920363395, 0.055711784711422116, -1.0235500373980284, 0.30031229336738374], [-0.2650367914670356, 0.5513398538865067, -0.9735921328831166, 0.41345578602104827], [-0.11598957920080871, -0.9044539791933183, 1.6448227575237069, -0.26304156924843813]], [[0.27363898507271256, -0.5897181011789576, 1.5120937498473583, 2.1302709742844694], [1.9743293887616236, 0.4117207260898469, 0.5809554193110543, -1.8456249006764007], [1.274481044612177, -0.30645083457981553, -1.3285606156236818, 0.33473439037886943]]]
1457
- [[[0.5269441534226782, 0.36498666932667356, 0.7363066388832684, 0.5878544826035406], [0.5684721009896431, 0.9009577979323332, 0.036288112799501615, 0.18351641818419884], [0.24258369409385339, 0.09354340906140202, 0.4856203412285762, 0.783031677244552]], [[0.8777465681935882, 0.6406910705155251, 0.10275292827025073, 0.01295823682977526], [0.3898500974345528, 0.6216248983423127, 0.3179425906177036, 0.012870877167621808], [0.2660481991211192, 0.09872041627158801, 0.3681944568198672, 0.494087114885137]]]
1458
- [[[5, 9, 5, 6], [6, 7, 6, 1], [1, 3, 2, 4]], [[5, 8, 8, 3], [3, 2, 3, 9], [3, 0, 7, 1]]]
1459
- [[[8.610851610963957, 1.3747433091161905, 1.3831050577679438, 4.715182178697273], [0.8765517657148284, 4.809554825684029, 2.7557819856736137, 5.938765584746821], [6.088739464744903, 4.627722536295625, 0.6116370455995369, 5.875683438664389]], [[7.7228845997304845, 5.428461366109726, 8.02712172516869, 5.9319006090345425], [5.726626482636939, 7.978329508380601, 1.114307478513796, 6.236721706167868], [1.4123245528031072, 5.327811122183013, 7.324213082306745, 1.5016363011868927]]]
1414
+ [[[1.524086835643172, -0.20868457467847845, 0.5240261503975477, -0.6439838767682032], [-1.091904210196648, -0.20567633973733265, 1.374424576574523, 0.6563097903476932], [0.2171635934136032, 1.0821030876490199, -0.8410496800310051, -0.8321549344577578]], [[0.5306996954571072, -0.4441704154154241, 1.0481960055260355, 0.39805451821848287], [-0.4006858882593715, -0.06238294764009237, -1.1536673264483728, -0.8063185246185602], [0.3029117113345387, -0.32570360518676644, 0.6608320231980702, 1.7415150171137153]]]
1415
+ [[[0.3736243541521843, 0.8599079983285199, 0.4260061864869946, 0.8441437619796597], [0.8955986631978392, 0.7570336992646656, 0.6706841989644684, 0.328634366074538], [0.4371430562585502, 0.9576395263025738, 0.2380278778546957, 0.806813631306664]], [[0.18549375381453237, 0.5749941389233029, 0.7009767023241946, 0.30017399397762223], [0.6661914823434657, 0.7802291606608635, 0.6847755352217044, 0.2661053533652564], [0.07937643994416943, 0.5452043474222034, 0.8026792060861194, 0.07776400257578953]]]
1416
+ [[[9, 0, 9, 0], [2, 6, 3, 4], [5, 8, 4, 7]], [[7, 7, 6, 3], [5, 5, 5, 8], [3, 4, 6, 6]]]
1417
+ [[[5.049093842782947, 1.3880585421884204, 8.533634113864629, 3.550264239771317], [3.3311351975225176, 5.131771033264564, 0.9570872044431911, 5.165536082759862], [1.2035779060925538, 8.292998518472567, 8.014641974770818, 6.251632912237915]], [[6.411677800595937, 5.365937405245105, 8.70943859614565, 4.348757668525482], [7.827612569569748, 1.3718742546020972, 0.5252489627763138, 2.065015517785291], [4.620664668451086, 2.604569735623819, 5.548107842615733, 7.60342292447815]]]
1460
1418
 
1461
1419
  >>> print(regression.linear_regression(list(range(5)), [2, 4, 6, 7, 8]))
1462
1420
  >>> print(regression.parabolic_regression(list(range(5)), [2, 4, 6, 7, 8]))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.7.0
3
+ Version: 1.8.1
4
4
  Summary: A multifunctional mathematical calculation package written in pure Python programming language [Python>=3.5]
5
5
  Home-page: https://www.gitee.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -668,6 +668,7 @@ License:
668
668
  For more information on this, and how to apply and follow the GNU AGPL, see
669
669
  <http://www.gnu.org/licenses/>.
670
670
 
671
+ Keywords: math,数学,mathematics,数学计算,numerical,数值,computation,计算,scientific,科学,algebra,代数,calculus,微积分,statistics,统计,linear-algebra,线性代数,optimization,优化,numerical-analysis,数值分析,matrix,矩阵,vector,向量,tensor,张量,numerics,数值计算,library,库,tools,工具,utils,实用程序,algorithms,算法,software,软件,package,包,methods,方法,data-science,数据科学,machine-learning,机器学习,computational,计算的,operations,操作,functions,函数,processing,处理,programming,编程,simulation,仿真,visualization,可视化,physics,物理
671
672
  Requires-Python: >=3.5
672
673
  Description-Content-Type: text/markdown
673
674
 
@@ -691,7 +692,7 @@ Description-Content-Type: text/markdown
691
692
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
692
693
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
693
694
 
694
- ## Version -> 1.7.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum
695
+ ## Version -> 1.8.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum
695
696
 
696
697
  ![LOGO](PyPyNum.png)
697
698
 
@@ -740,54 +741,11 @@ Python interpreter and run it!)
740
741
  ```
741
742
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
742
743
 
743
- 新增代码行数:
744
- 约八百行
744
+ eig函数修复了计算错误并改名为eigen
745
745
 
746
- New code lines:
747
- approximately 800 lines
748
-
749
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
750
-
751
- 部分函数再次优化,性能提高一倍。
752
-
753
- Partial functions were optimized
754
- again, resulting in a doubling
755
- of performance.
756
-
757
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
758
-
759
- 新增的好玩功能举例。
760
-
761
- Examples of newly added fun
762
- features.
763
-
764
- 新增的有序集合包含绝大多数内置集合的运算
765
- ,并且另有几个新函数。请注意它不是从内置
766
- 集合继承的。
767
-
768
- The newly added ordered set
769
- contains the majority of
770
- built-in set operations, and
771
- there are also several new
772
- functions. Please note that it
773
- does not inherit from the
774
- built-in set.
775
-
776
- 新增的无穷迭代器支持迭代多种数列,默认的
777
- 空字符串即为自增数列。目前支持的数列有等
778
- 差数列、等比数列、斐波那契数列与卡特兰数
779
- 列。
780
-
781
- The newly added infinite
782
- iterator supports iterating
783
- multiple sequences, and the
784
- default empty string is the self
785
- increasing sequence. The
786
- currently supported sequences
787
- include arithmetic sequences,
788
- proportional sequences,
789
- Fibonacci sequences, and Catalan
790
- sequences.
746
+ The eig function fixed
747
+ calculation errors and changed
748
+ its name to eigen
791
749
 
792
750
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
793
751
 
@@ -796,34 +754,13 @@ sequences.
796
754
  <<<The ellipsis in the following structure represents the original part>>>
797
755
 
798
756
  PyPyNum
799
- Tree [Various trees]
800
- CLASSES
801
- MultiTree
802
- MultiTreeNode
803
- ★ maths [Mathematical functions]
804
- FUNCTIONS
805
- ...
806
- totient(n: int) -> int
807
- mod_order(a: int, n: int, b: int) -> int
808
- primitive_root(a: int, single: bool = False) -> Union[int, list]
809
- normalize(data: arr, target: num = 1) -> arr
810
- average(data, weights, expected=False)
811
- exgcd(a: int, b: int) -> tuple
812
- crt(n: arr, a: arr) -> int
813
- ★ sequence [Various sequences]
757
+ Matrix [Matrix calculation]
814
758
  FUNCTIONS
815
- farey(n: int) -> list
816
759
  ...
817
- tools [Other useful tools]
818
- FUNCTIONS
760
+ rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
761
+ hessenberg(matrix: pypynum.Matrix.Matrix) -> tuple
762
+ eigen(matrix: pypynum.Matrix.Matrix) -> tuple
819
763
  ...
820
- primality(n: int, iter_num: int = 10) -> bool
821
- generate_primes(limit: int) -> list
822
- prime_factors(integer: int, dictionary: bool = False, pollard_rho: bool = True) -> Union[list, dict]
823
- ★ utils [Other useful tools]
824
- CLASSES
825
- InfIterator
826
- OrderedSet
827
764
  ```
828
765
 
829
766
  ### 运行用时测试
@@ -893,6 +830,14 @@ PyPyNum
893
830
  Triangle
894
831
  FUNCTIONS
895
832
  distance(g1, g2, error: int | float = 0) -> float
833
+ ★ Graph [Graph theory]
834
+ CLASSES
835
+ BaseGraph
836
+ BaseWeGraph
837
+ WeDiGraph
838
+ WeUnGraph
839
+ DiGraph
840
+ UnGraph
896
841
  ★ Group [Group theory]
897
842
  CLASSES
898
843
  Group
@@ -930,14 +875,16 @@ PyPyNum
930
875
  CLASSES
931
876
  Matrix
932
877
  FUNCTIONS
933
- eig(matrix)
934
- identity(n)
935
- lu(matrix)
878
+ eigen(matrix: pypynum.Matrix.Matrix) -> tuple
879
+ hessenberg(matrix: pypynum.Matrix.Matrix) -> tuple
880
+ identity(n: int) -> pypynum.Matrix.Matrix
881
+ lu(matrix: pypynum.Matrix.Matrix) -> tuple
936
882
  mat(data)
937
- qr(matrix)
883
+ qr(matrix: pypynum.Matrix.Matrix) -> tuple
884
+ rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
938
885
  same(rows, cols, value=0)
939
- svd(matrix)
940
- tril_indices(n, k=0, m=None)
886
+ svd(matrix: pypynum.Matrix.Matrix) -> tuple
887
+ tril_indices(n: int, k: int = 0, m: int = None) -> tuple
941
888
  zeros(_dimensions)
942
889
  zeros_like(_nested_list)
943
890
  ★ NeuralN [A simple neural network model]
@@ -1121,6 +1068,9 @@ PyPyNum
1121
1068
  average(data, weights, expected=False)
1122
1069
  exgcd(a: int, b: int) -> tuple
1123
1070
  crt(n: arr, a: arr) -> int
1071
+ isqrt(x: int) -> int
1072
+ is_possibly_square(n: int) -> bool
1073
+ is_square(n: int) -> bool
1124
1074
  ★ numbers [Conversion of various numbers]
1125
1075
  FUNCTIONS
1126
1076
  float2fraction(number: float, mixed: bool = False, error: float = 1e-15) -> tuple
@@ -1138,6 +1088,11 @@ PyPyNum
1138
1088
  unary(function, right: real = 5, left: real = -5, top: real = 5, bottom: real = -5, complexity: real = 5...
1139
1089
  binary(function, right: real = 5, left: real = -5, top: real = 5, bottom: real = -5, complexity: real = 5...
1140
1090
  c_unary(function, start: real, end: real, interval: real = 5, projection: str = "ri", right: real = 5...
1091
+ ★ polynomial [Polynomial object]
1092
+ CLASSES
1093
+ Polynomial
1094
+ FUNCTIONS
1095
+ poly(terms=None)
1141
1096
  ★ probability [Probability function]
1142
1097
  FUNCTIONS
1143
1098
  binomial(sample_size: int, successes: int, success_probability: Union[int, float]) -> float
@@ -1176,6 +1131,7 @@ PyPyNum
1176
1131
  primality(n: int, iter_num: int = 10) -> bool
1177
1132
  generate_primes(limit: int) -> list
1178
1133
  prime_factors(integer: int, dictionary: bool = False, pollard_rho: bool = True) -> Union[list, dict]
1134
+ magic_square(n)
1179
1135
  ★ utils [Other useful tools]
1180
1136
  CLASSES
1181
1137
  InfIterator
@@ -1344,7 +1300,7 @@ print(v1.angles())
1344
1300
  6.62607015e-34
1345
1301
  1.618033988749895
1346
1302
  3.141592653589793
1347
- 1000000000000.0
1303
+ 1000000000000
1348
1304
 
1349
1305
  >>> p = [1, -2, -3, 4]
1350
1306
  >>> m = [
@@ -1358,7 +1314,9 @@ print(v1.angles())
1358
1314
  >>> print(equations.polynomial_equation(p))
1359
1315
  >>> print(equations.linear_equation(*m))
1360
1316
 
1361
- [(-1.5615528128088307-6.5209667308287455e-24j) (2.5615528128088294+4.456233626665941e-24j) (1.0000000000000007+3.241554513744382e-25j)]
1317
+ [[(-1.5615528128088307-6.5209667308287455e-24j) 0 0]
1318
+ [ 0 (2.5615528128088294+4.456233626665941e-24j) 0]
1319
+ [ 0 0 (1.0000000000000007+3.241554513744382e-25j)]]
1362
1320
  [ 1.6666666666666667 -0.6666666666666666 -0.4444444444444444]
1363
1321
 
1364
1322
  >>> print(maths.cot(constants.pi / 3))
@@ -1453,10 +1411,10 @@ print(v1.angles())
1453
1411
  >>> print(random.randint(0, 9, [2, 3, 4]))
1454
1412
  >>> print(random.uniform(0, 9, [2, 3, 4]))
1455
1413
 
1456
- [[[0.4334341920363395, 0.055711784711422116, -1.0235500373980284, 0.30031229336738374], [-0.2650367914670356, 0.5513398538865067, -0.9735921328831166, 0.41345578602104827], [-0.11598957920080871, -0.9044539791933183, 1.6448227575237069, -0.26304156924843813]], [[0.27363898507271256, -0.5897181011789576, 1.5120937498473583, 2.1302709742844694], [1.9743293887616236, 0.4117207260898469, 0.5809554193110543, -1.8456249006764007], [1.274481044612177, -0.30645083457981553, -1.3285606156236818, 0.33473439037886943]]]
1457
- [[[0.5269441534226782, 0.36498666932667356, 0.7363066388832684, 0.5878544826035406], [0.5684721009896431, 0.9009577979323332, 0.036288112799501615, 0.18351641818419884], [0.24258369409385339, 0.09354340906140202, 0.4856203412285762, 0.783031677244552]], [[0.8777465681935882, 0.6406910705155251, 0.10275292827025073, 0.01295823682977526], [0.3898500974345528, 0.6216248983423127, 0.3179425906177036, 0.012870877167621808], [0.2660481991211192, 0.09872041627158801, 0.3681944568198672, 0.494087114885137]]]
1458
- [[[5, 9, 5, 6], [6, 7, 6, 1], [1, 3, 2, 4]], [[5, 8, 8, 3], [3, 2, 3, 9], [3, 0, 7, 1]]]
1459
- [[[8.610851610963957, 1.3747433091161905, 1.3831050577679438, 4.715182178697273], [0.8765517657148284, 4.809554825684029, 2.7557819856736137, 5.938765584746821], [6.088739464744903, 4.627722536295625, 0.6116370455995369, 5.875683438664389]], [[7.7228845997304845, 5.428461366109726, 8.02712172516869, 5.9319006090345425], [5.726626482636939, 7.978329508380601, 1.114307478513796, 6.236721706167868], [1.4123245528031072, 5.327811122183013, 7.324213082306745, 1.5016363011868927]]]
1414
+ [[[1.524086835643172, -0.20868457467847845, 0.5240261503975477, -0.6439838767682032], [-1.091904210196648, -0.20567633973733265, 1.374424576574523, 0.6563097903476932], [0.2171635934136032, 1.0821030876490199, -0.8410496800310051, -0.8321549344577578]], [[0.5306996954571072, -0.4441704154154241, 1.0481960055260355, 0.39805451821848287], [-0.4006858882593715, -0.06238294764009237, -1.1536673264483728, -0.8063185246185602], [0.3029117113345387, -0.32570360518676644, 0.6608320231980702, 1.7415150171137153]]]
1415
+ [[[0.3736243541521843, 0.8599079983285199, 0.4260061864869946, 0.8441437619796597], [0.8955986631978392, 0.7570336992646656, 0.6706841989644684, 0.328634366074538], [0.4371430562585502, 0.9576395263025738, 0.2380278778546957, 0.806813631306664]], [[0.18549375381453237, 0.5749941389233029, 0.7009767023241946, 0.30017399397762223], [0.6661914823434657, 0.7802291606608635, 0.6847755352217044, 0.2661053533652564], [0.07937643994416943, 0.5452043474222034, 0.8026792060861194, 0.07776400257578953]]]
1416
+ [[[9, 0, 9, 0], [2, 6, 3, 4], [5, 8, 4, 7]], [[7, 7, 6, 3], [5, 5, 5, 8], [3, 4, 6, 6]]]
1417
+ [[[5.049093842782947, 1.3880585421884204, 8.533634113864629, 3.550264239771317], [3.3311351975225176, 5.131771033264564, 0.9570872044431911, 5.165536082759862], [1.2035779060925538, 8.292998518472567, 8.014641974770818, 6.251632912237915]], [[6.411677800595937, 5.365937405245105, 8.70943859614565, 4.348757668525482], [7.827612569569748, 1.3718742546020972, 0.5252489627763138, 2.065015517785291], [4.620664668451086, 2.604569735623819, 5.548107842615733, 7.60342292447815]]]
1460
1418
 
1461
1419
  >>> print(regression.linear_regression(list(range(5)), [2, 4, 6, 7, 8]))
1462
1420
  >>> print(regression.parabolic_regression(list(range(5)), [2, 4, 6, 7, 8]))
@@ -6,17 +6,19 @@ PyPyNum.egg-info/top_level.txt
6
6
  pypynum/Array.py
7
7
  pypynum/FourierT.py
8
8
  pypynum/Geometry.py
9
+ pypynum/Graph.py
9
10
  pypynum/Group.py
10
11
  pypynum/Logic.py
11
12
  pypynum/Matrix.py
12
13
  pypynum/NeuralN.py
14
+ pypynum/PyPyNum.png
13
15
  pypynum/Quaternion.py
16
+ pypynum/README.md
14
17
  pypynum/Symbolics.py
15
18
  pypynum/Tensor.py
16
19
  pypynum/Tree.py
17
20
  pypynum/Vector.py
18
21
  pypynum/__init__.py
19
- pypynum/__temporary.py
20
22
  pypynum/chars.py
21
23
  pypynum/cipher.py
22
24
  pypynum/constants.py
@@ -26,6 +28,7 @@ pypynum/file.py
26
28
  pypynum/maths.py
27
29
  pypynum/numbers.py
28
30
  pypynum/plotting.py
31
+ pypynum/polynomial.py
29
32
  pypynum/probability.py
30
33
  pypynum/random.py
31
34
  pypynum/regression.py