PyPyNum 1.18.0__tar.gz → 1.18.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 (54) hide show
  1. {pypynum-1.18.0 → pypynum-1.18.1}/PKG-INFO +49 -107
  2. {pypynum-1.18.0 → pypynum-1.18.1}/PyPyNum.egg-info/PKG-INFO +49 -107
  3. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/README.md +48 -106
  4. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/__init__.py +2 -2
  5. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/arrays.py +81 -36
  6. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/dists.py +155 -174
  7. pypynum-1.18.1/pypynum/geoms.py +548 -0
  8. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/hypcmpnms.py +59 -0
  9. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/images.py +2 -2
  10. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/matrices.py +114 -80
  11. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/numbers.py +26 -14
  12. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/utils.py +43 -33
  13. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/vectors.py +7 -7
  14. {pypynum-1.18.0 → pypynum-1.18.1}/setup.py +3 -1
  15. pypynum-1.18.0/pypynum/geoms.py +0 -325
  16. {pypynum-1.18.0 → pypynum-1.18.1}/PyPyNum.egg-info/SOURCES.txt +0 -0
  17. {pypynum-1.18.0 → pypynum-1.18.1}/PyPyNum.egg-info/dependency_links.txt +0 -0
  18. {pypynum-1.18.0 → pypynum-1.18.1}/PyPyNum.egg-info/top_level.txt +0 -0
  19. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/PyPyNum.png +0 -0
  20. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/chars.py +0 -0
  21. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/ciphers.py +0 -0
  22. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/consts.py +0 -0
  23. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/crandom.py +0 -0
  24. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/dataproc.py +0 -0
  25. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/equations.py +0 -0
  26. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/fft.py +0 -0
  27. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/files.py +0 -0
  28. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/graphs.py +0 -0
  29. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/groups.py +0 -0
  30. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/huffman +0 -0
  31. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/interp.py +0 -0
  32. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/kernels.py +0 -0
  33. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/logics.py +0 -0
  34. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/maths.py +0 -0
  35. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/multiprec.py +0 -0
  36. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/networks.py +0 -0
  37. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/plotting.py +0 -0
  38. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/polys.py +0 -0
  39. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/pprinters.py +0 -0
  40. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/random.py +0 -0
  41. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/regs.py +0 -0
  42. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/seqs.py +0 -0
  43. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/special.py +0 -0
  44. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/stattest.py +0 -0
  45. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/symbols.py +0 -0
  46. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/tensors.py +0 -0
  47. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/test.py +0 -0
  48. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/this.py +0 -0
  49. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/tools.py +0 -0
  50. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/trees.py +0 -0
  51. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/types.py +0 -0
  52. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/ufuncs.py +0 -0
  53. {pypynum-1.18.0 → pypynum-1.18.1}/pypynum/zh_cn.py +0 -0
  54. {pypynum-1.18.0 → pypynum-1.18.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyPyNum
3
- Version: 1.18.0
3
+ Version: 1.18.1
4
4
  Summary: PyPyNum is a versatile Python math lib. It features modules for math, data analysis, arrays, crypto, physics, RNG, data proc, stats, eq solving, image proc, interp, matrix calc, and high-prec math. Designed for scientific computing, data science, and ML, it offers efficient, general-purpose tools.
5
5
  Home-page: https://github.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -40,7 +40,7 @@ science, and ML, it offers efficient, general-purpose tools.
40
40
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
41
41
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
42
42
 
43
- ## PyPyNum | Version -> 1.18.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
43
+ ## PyPyNum | Version -> 1.18.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
44
44
 
45
45
  ![LOGO](PyPyNum.png)
46
46
 
@@ -169,70 +169,10 @@ Python interpreter and run it!
169
169
 
170
170
  ### Functional Changes Compared to the Previous Version
171
171
 
172
- ```
173
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
174
-
175
- PyPyNum version 1.18.0 has undergone the following functional changes compared to version 1.17.2:
176
-
177
- 1. `arrays` Module
178
- a. Fixed reflection operation errors in the `Array` class.
179
-
180
- 2. `ciphers` Module
181
- a. The `base_64` function's input parameter and return type have been changed from `str` to `bytes`.
182
-
183
- 3. `groups` Module
184
- a. The `Group` class has been refactored and new available methods have been added.
185
- b. The `group` function now accepts an additional `operation` parameter.
186
-
187
- 4. `images` Module
188
- a. Added a new class `JPEG` for JPEG image handling.
189
- b. Added JPEG processing functions: `jpeg_adjust_qtable`, `jpeg_category`, `jpeg_channel_encoding`,
190
- `jpeg_chroma_dc_huff`, `jpeg_dct8x8`, `jpeg_decode_pixels`, `jpeg_encode_pixels`, `jpeg_luma_dc_huff`,
191
- `jpeg_rle_decoding`, `jpeg_rle_encoding`, `jpeg_split_pixels`, and `jpeg_zigzag`.
192
- c. Added color space conversion functions `rgb2ycbcr` and `ycbcr2rgb` (which are JPEG-related functions).
193
- d. Added `entropy` function (which is a PNG function).
194
- e. Added PNG filter functions `png_apply_filter` and `png_reverse_filter`, allowing the `apply_filter` parameter
195
- to be specified during writing to compress the generated file size.
196
-
197
- 5. `kernels` Module
198
- a. Added `matmul8x8kernel` function for 8x8 matrix multiplication kernel operations.
199
-
200
- 6. `maths` Module
201
- a. Added `dsigmoid` function.
202
- b. Updated `sumprod` function with a new `floating` parameter.
203
-
204
- 7. `matrices` Module
205
- a. Added `dctmtx` function to generate a discrete cosine transform matrix.
206
-
207
- 8. `numbers` Module
208
- a. Added `round_sigfig` function.
209
- b. Added `words2int` function to convert English words to integers.
210
-
211
- 9. `plotting` Module
212
- a. Renamed the `color` function to `colortext`.
213
-
214
- 10. `seqs` Module
215
- a. Updated `stirling1` function with a new `sign` parameter.
216
-
217
- 11. `special` Module
218
- a. Added `ellipe` and `ellipk` functions for complete elliptic integrals.
219
-
220
- 12. `symbols` Module
221
- a. Added `Expr` class.
222
- b. Added `build_expr_tree`, `infix2postfix`, and `tokenize` functions.
223
- c. The `parse_expr` function now returns an `Expr` object (previously returned a `list`).
224
-
225
- 13. `ufuncs` Module
226
- a. Renamed comparison functions to follow more explicit naming conventions:
227
- i. `eq` renamed to `equal`
228
- ii. `ge` renamed to `greater_equal`
229
- iii. `gt` renamed to `greater_than`
230
- iv. `le` renamed to `less_equal`
231
- v. `lt` renamed to `less_than`
232
- vi. `ne` renamed to `not_equal`
233
-
234
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
235
- ```
172
+ > 1. The `hypcmpnms` module added hypercomplex exponential and logarithmic operations.
173
+ > 2. The `dists` module fixed all calculation errors.
174
+ > 3. The `geoms` module fixed calculation errors and added more features.
175
+ > 4. The `utils` module fixed calculation errors in the `IntervalSet` class.
236
176
 
237
177
  ### Run Time Test
238
178
 
@@ -260,23 +200,23 @@ Python interpreter version
260
200
  PyPyNum
261
201
  ├── arrays
262
202
  │ ├── CLASS
263
- │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
203
+ │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
264
204
  │ │ └── BoolArray(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
265
205
  │ └── FUNCTION
266
- │ ├── array(data: Any) -> Any
267
- │ ├── asarray(data: Any) -> Any
206
+ │ ├── array(data: Any, dtype: Any) -> Any
207
+ │ ├── asarray(data: Any, dtype: Any) -> Any
268
208
  │ ├── aslist(data: Any) -> Any
269
209
  │ ├── boolarray(data: Any) -> Any
270
- │ ├── fill(shape: typing.Union[list, tuple], sequence: typing.Union[list, tuple, str], repeat: bool, pad: typing.Any, rtype: typing.Callable) -> typing.Any
271
- │ ├── full(shape: typing.Union[list, tuple], fill_value: typing.Any, rtype: typing.Callable) -> typing.Any
272
- │ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable) -> typing.Any
210
+ │ ├── fill(shape: typing.Sequence, sequence: typing.Sequence, repeat: bool, pad: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
211
+ │ ├── full(shape: typing.Sequence, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
212
+ │ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
273
213
  │ ├── get_shape(data: Any) -> Any
274
214
  │ ├── is_valid_array(_array: Any, _shape: Any) -> Any
275
- │ ├── ones(shape: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
276
- │ ├── ones_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
215
+ │ ├── ones(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
216
+ │ ├── ones_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
277
217
  │ ├── tensorproduct(tensors: pypynum.arrays.Array) -> pypynum.arrays.Array
278
- │ ├── zeros(shape: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
279
- │ └── zeros_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
218
+ │ ├── zeros(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
219
+ │ └── zeros_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
280
220
  ├── chars
281
221
  │ ├── CLASS
282
222
  │ └── FUNCTION
@@ -318,7 +258,7 @@ PyPyNum
318
258
  ├── dists
319
259
  │ ├── CLASS
320
260
  │ └── FUNCTION
321
- │ ├── beta_pdf(x: Any, a: Any, b: Any) -> Any
261
+ │ ├── beta_pdf(x: Any, alpha: Any, beta: Any) -> Any
322
262
  │ ├── binom_pmf(k: Any, n: Any, p: Any) -> Any
323
263
  │ ├── cauchy_cdf(x: Any, x0: Any, gamma: Any) -> Any
324
264
  │ ├── cauchy_pdf(x: Any, x0: Any, gamma: Any) -> Any
@@ -329,22 +269,22 @@ PyPyNum
329
269
  │ ├── f_pdf(x: Any, dfnum: Any, dfden: Any) -> Any
330
270
  │ ├── gamma_pdf(x: Any, shape: Any, scale: Any) -> Any
331
271
  │ ├── geometric_pmf(k: Any, p: Any) -> Any
332
- │ ├── hypergeom_pmf(k: Any, mg: Any, n: Any, nt: Any) -> Any
333
- │ ├── invgauss_pdf(x: Any, mu: Any, lambda_: Any, alpha: Any) -> Any
272
+ │ ├── hypergeom_pmf(M: Any, n: Any, N: Any, k: Any) -> Any
273
+ │ ├── invgauss_pdf(x: Any, mu: Any, lam: Any) -> Any
334
274
  │ ├── levy_pdf(x: Any, c: Any) -> Any
335
275
  │ ├── log_logistic_cdf(x: Any, alpha: Any, beta: Any) -> Any
336
276
  │ ├── log_logistic_pdf(x: Any, alpha: Any, beta: Any) -> Any
337
- │ ├── logistic_cdf(x: Any, mu: Any, s: Any) -> Any
338
- │ ├── logistic_pdf(x: Any, mu: Any, s: Any) -> Any
277
+ │ ├── logistic_cdf(x: Any, loc: Any, scale: Any) -> Any
278
+ │ ├── logistic_pdf(x: Any, loc: Any, scale: Any) -> Any
339
279
  │ ├── lognorm_cdf(x: Any, mu: Any, sigma: Any) -> Any
340
- │ ├── lognorm_pdf(x: Any, s: Any, scale: Any) -> Any
280
+ │ ├── lognorm_pdf(x: Any, mu: Any, sigma: Any) -> Any
341
281
  │ ├── logser_pmf(k: Any, p: Any) -> Any
342
282
  │ ├── multinomial_pmf(k: Any, n: Any, p: Any) -> Any
343
283
  │ ├── nbinom_pmf(k: Any, n: Any, p: Any) -> Any
344
- │ ├── nhypergeom_pmf(k: Any, m: Any, n: Any, r: Any) -> Any
284
+ │ ├── nhypergeom_pmf(M: Any, n: Any, r: Any, k: Any) -> Any
345
285
  │ ├── normal_cdf(x: Any, mu: Any, sigma: Any) -> Any
346
286
  │ ├── normal_pdf(x: Any, mu: Any, sigma: Any) -> Any
347
- │ ├── pareto_pdf(x: Any, k: Any, m: Any) -> Any
287
+ │ ├── pareto_pdf(x: Any, b: Any, scale: Any) -> Any
348
288
  │ ├── poisson_pmf(k: Any, mu: Any) -> Any
349
289
  │ ├── rayleigh_pdf(x: Any, sigma: Any) -> Any
350
290
  │ ├── t_pdf(x: Any, df: Any) -> Any
@@ -377,6 +317,8 @@ PyPyNum
377
317
  │ │ ├── Quadrilateral(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple], d: typing.Union[list, tuple]) -> Any
378
318
  │ │ └── Triangle(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple]) -> Any
379
319
  │ └── FUNCTION
320
+ │ ├── _rotate_point(p: Any, theta: Any, cx: Any, cy: Any) -> Any
321
+ │ ├── _scale_point(p: Any, k: Any, cx: Any, cy: Any) -> Any
380
322
  │ └── distance(g1: Any, g2: Any, error: typing.Union[int, float]) -> float
381
323
  ├── graphs
382
324
  │ ├── CLASS
@@ -567,23 +509,23 @@ PyPyNum
567
509
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
568
510
  ├── matrices
569
511
  │ ├── CLASS
570
- │ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
512
+ │ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
571
513
  │ └── FUNCTION
572
- │ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool) -> pypynum.matrices.Matrix
573
- │ ├── dctmtx(n: int) -> pypynum.matrices.Matrix
574
- │ ├── diag(v: typing.Any, k: int, n: int, m: int) -> typing.Any
514
+ │ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool, dtype: Any) -> pypynum.matrices.Matrix
515
+ │ ├── dctmtx(n: int, dtype: Any) -> pypynum.matrices.Matrix
516
+ │ ├── diag(v: typing.Any, k: int, n: int, m: int, dtype: Any) -> typing.Any
575
517
  │ ├── diag_indices(n: int, k: int, m: int) -> tuple
576
- │ ├── eigen(matrix: pypynum.matrices.Matrix) -> tuple
577
- │ ├── hessenberg(matrix: pypynum.matrices.Matrix) -> tuple
578
- │ ├── identity(n: int, m: int) -> pypynum.matrices.Matrix
579
- │ ├── lu(matrix: pypynum.matrices.Matrix) -> tuple
580
- │ ├── mat(data: typing.Any) -> pypynum.matrices.Matrix
581
- │ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
518
+ │ ├── eigen(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
519
+ │ ├── hessenberg(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
520
+ │ ├── identity(n: int, m: int, dtype: Any) -> pypynum.matrices.Matrix
521
+ │ ├── lu(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
522
+ │ ├── mat(data: typing.Any, dtype: Any) -> pypynum.matrices.Matrix
523
+ │ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable, dtype: Any) -> typing.Any
582
524
  │ ├── perm_mat_indices(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple]) -> tuple
583
- │ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool) -> tuple
584
- │ ├── rank_decomp(matrix: pypynum.matrices.Matrix) -> tuple
585
- │ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int) -> pypynum.matrices.Matrix
586
- │ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool) -> tuple
525
+ │ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool, dtype: Any) -> tuple
526
+ │ ├── rank_decomp(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
527
+ │ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int, dtype: Any) -> pypynum.matrices.Matrix
528
+ │ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool, dtype: Any) -> tuple
587
529
  │ ├── tril_indices(n: int, k: int, m: int) -> tuple
588
530
  │ └── triu_indices(n: int, k: int, m: int) -> tuple
589
531
  ├── multiprec
@@ -822,7 +764,7 @@ PyPyNum
822
764
  │ └── FUNCTION
823
765
  ├── vectors
824
766
  │ ├── CLASS
825
- │ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
767
+ │ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
826
768
  │ └── FUNCTION
827
769
  │ └── vec(data: Any) -> Any
828
770
  └── zh_cn
@@ -1087,7 +1029,7 @@ print("Value of exp(e^2):", exp_e_squared)
1087
1029
  """
1088
1030
  Modulus of the complex1: 3.064156670102011971734464
1089
1031
  Square root of the complex2: 1.630869996965458756791024890326755654659+0.9631646481434200567938527724670041364524i
1090
- Power of complex1 raised to complex2: 0.144632311554759549910373681031-0.17337039786352194417298867399i
1032
+ Power of complex1 raised to complex2: 0.144632311554759549910373681032-0.17337039786352194417298867399i
1091
1033
  Value of Euler's gamma constant: 0.577215664901532860606512090082402431042159336
1092
1034
  Logarithm of 2 (base 10): 0.30102999566398119521373889472449302676818988146211
1093
1035
  Value of exp(e^2): 1618.1779919126535017
@@ -1105,7 +1047,7 @@ Bessel Function of the first kind, order 0 at x=1: 0.7651976865579666
1105
1047
  Modified Bessel function of the first kind, order 1 at x=1: 0.565159103992485
1106
1048
  Hypergeometric function 0F1 at z=0.5 with b0=1: 1.5660829297563503
1107
1049
  Hypergeometric function 1F1 at z=1 with a0=1, b0=1: 2.7182818284590455
1108
- q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.33353429405776575+1.8573191887407854j)
1050
+ q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.3335342940577659+1.8573191887407858j)
1109
1051
  q-Gamma Function at n=2 with q=0.5+0.1j: (0.9999999999999989-4.953510875709033e-16j)
1110
1052
  """
1111
1053
 
@@ -1182,7 +1124,7 @@ print(equations.poly_eq(p))
1182
1124
  print(equations.lin_eq(*m))
1183
1125
 
1184
1126
  """
1185
- [(-1.5615528128088307-6.5209667308287455e-24j), (1.0000000000000007+3.241554513744382e-25j), (2.5615528128088294+4.456233626665941e-24j)]
1127
+ [(-1.5615528128088307-3.728101026218476e-24j), (1.0000000000000007+3.2415545137443745e-25j), (2.5615528128088294+7.352235277305158e-24j)]
1186
1128
  [1.6666666666666665, -0.6666666666666666, -0.4444444444444444]
1187
1129
  """
1188
1130
 
@@ -1283,10 +1225,10 @@ print(random.randint(0, 9, [2, 3, 4]))
1283
1225
  print(random.uniform(0, 9, [2, 3, 4]))
1284
1226
 
1285
1227
  """
1286
- [[[0.19564108603837504, 1.01920370166293, -0.0432622197313817, 1.8767392228517594], [-0.9372140720220945, 0.6455939848661518, 0.06219926062283103, -0.03646501719525719], [-0.6575861228704779, -1.627831653990843, 1.4669927522358261, -2.1082184047042944]], [[-0.4550416369776341, 0.5921202822490813, 0.1393176939653395, -0.1994214479986489], [-0.559257919413219, -1.629764620332396, 0.04658277611512766, 0.20529751771180757], [0.492656546311569, 0.9731757491363898, -0.3281597719355017, -0.6855996837842998]]]
1287
- [[[0.9897608447208633, 0.9091539554606014, 0.839742901348473, 0.7483640950392159], [0.1271954637618754, 0.23914774960655272, 0.6603167703557995, 0.09706202212722614], [0.1020987366479954, 0.16628877700140854, 0.9844464087410161, 0.8213963537473721]], [[0.268434775377716, 0.8021623176316018, 0.48319517625501174, 0.30410149780944096], [0.8970313978138931, 0.9980790184879383, 0.1185467392465952, 0.19570961919567464], [0.08626090792820118, 0.5790211560246683, 0.7475290741004703, 0.8048613204213184]]]
1288
- [[[9, 0, 7, 5], [2, 7, 3, 5], [7, 6, 4, 2]], [[3, 4, 2, 0], [4, 2, 2, 1], [4, 5, 4, 9]]]
1289
- [[[8.067902792666303, 3.1398970785364244, 7.875028237778611, 7.766921948037462], [3.337337214716076, 2.852783099370506, 1.028257336777862, 7.822605535085232], [7.111199916783942, 5.890725764603359, 3.038605829888671, 6.272148674191553]], [[1.076715403659712, 6.806086377982102, 5.699002266942416, 1.1654651363361368], [1.3920577362733448, 8.527352563852686, 2.359964996027981, 5.183071574749471], [7.8250627862940725, 1.6259461468536924, 8.333173856724002, 5.068032713313034]]]
1228
+ [[[0.18059388030329554, -0.7950286594701896, -1.6124456807502878, 1.0650032690802622], [1.231592625021916, -0.2923569307790834, 0.5743684840351643, -0.5994993318165575], [-0.4541501878112403, 0.5194701735167844, -0.41134655581914514, 2.5838345235765336]], [[-0.38027869224951916, 1.407233237769525, -1.4230691454968791, -1.098291804499891], [0.0720517812951513, 1.2716687933757764, -0.389868632414012, 0.18416602669163057], [-0.49978319823217315, 0.8789409340735714, -1.4538419291500941, -1.895514116697364]]]
1229
+ [[[0.3214199347664204, 0.4682526051010606, 0.8691333897517276, 0.65768740769836], [0.7632355843244432, 0.5804412886619936, 0.008332295847854443, 0.6151292129754637], [0.9795343167986345, 0.5205461670247327, 0.7248923173697739, 0.11717223436961488]], [[0.7662005170926139, 0.9714376279553422, 0.9550672285743181, 0.08793525427569937], [0.6339393968200449, 0.8301210945735973, 0.6564657233275701, 0.6220565155685059], [0.21406744938064437, 0.3047415909582225, 0.6510510008125593, 0.12269523561892148]]]
1230
+ [[[5, 1, 4, 9], [9, 1, 6, 2], [4, 3, 1, 9]], [[0, 9, 6, 9], [7, 8, 0, 2], [9, 8, 5, 3]]]
1231
+ [[[1.6943948141992893, 2.247908784078809, 8.414928873268128, 4.628393016930337], [7.572639917918929, 5.357050653981085, 8.240417270343459, 3.24879148260883], [4.771181663822661, 1.905700180078211, 3.7868896315863747, 4.2241419541638265]], [[4.635584514037156, 7.401849961502754, 0.6758543569780475, 6.101106332926675], [1.9978290038252968, 7.441511948419005, 0.10317848285562836, 5.723737686439019], [0.13415224754500865, 7.69176143777073, 2.9628506743472967, 5.077060383033804]]]
1290
1232
  """
1291
1233
 
1292
1234
  print(regs.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
@@ -1305,7 +1247,7 @@ print(tools.frange(0, 3, 0.4))
1305
1247
  print(tools.linspace(0, 2.8, 8))
1306
1248
 
1307
1249
  """
1308
- {<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'>]}
1250
+ {<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'>]}
1309
1251
  ['Python', 6, 'NumPy', <class 'int'>, 'PyPyNum', 9, 'pypynum', True]
1310
1252
  [0.0, 0.4, 0.8, 1.2000000000000002, 1.6, 2.0, 2.4000000000000004, 2.8000000000000003, 3.2]
1311
1253
  [0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyPyNum
3
- Version: 1.18.0
3
+ Version: 1.18.1
4
4
  Summary: PyPyNum is a versatile Python math lib. It features modules for math, data analysis, arrays, crypto, physics, RNG, data proc, stats, eq solving, image proc, interp, matrix calc, and high-prec math. Designed for scientific computing, data science, and ML, it offers efficient, general-purpose tools.
5
5
  Home-page: https://github.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -40,7 +40,7 @@ science, and ML, it offers efficient, general-purpose tools.
40
40
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
41
41
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
42
42
 
43
- ## PyPyNum | Version -> 1.18.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
43
+ ## PyPyNum | Version -> 1.18.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
44
44
 
45
45
  ![LOGO](PyPyNum.png)
46
46
 
@@ -169,70 +169,10 @@ Python interpreter and run it!
169
169
 
170
170
  ### Functional Changes Compared to the Previous Version
171
171
 
172
- ```
173
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
174
-
175
- PyPyNum version 1.18.0 has undergone the following functional changes compared to version 1.17.2:
176
-
177
- 1. `arrays` Module
178
- a. Fixed reflection operation errors in the `Array` class.
179
-
180
- 2. `ciphers` Module
181
- a. The `base_64` function's input parameter and return type have been changed from `str` to `bytes`.
182
-
183
- 3. `groups` Module
184
- a. The `Group` class has been refactored and new available methods have been added.
185
- b. The `group` function now accepts an additional `operation` parameter.
186
-
187
- 4. `images` Module
188
- a. Added a new class `JPEG` for JPEG image handling.
189
- b. Added JPEG processing functions: `jpeg_adjust_qtable`, `jpeg_category`, `jpeg_channel_encoding`,
190
- `jpeg_chroma_dc_huff`, `jpeg_dct8x8`, `jpeg_decode_pixels`, `jpeg_encode_pixels`, `jpeg_luma_dc_huff`,
191
- `jpeg_rle_decoding`, `jpeg_rle_encoding`, `jpeg_split_pixels`, and `jpeg_zigzag`.
192
- c. Added color space conversion functions `rgb2ycbcr` and `ycbcr2rgb` (which are JPEG-related functions).
193
- d. Added `entropy` function (which is a PNG function).
194
- e. Added PNG filter functions `png_apply_filter` and `png_reverse_filter`, allowing the `apply_filter` parameter
195
- to be specified during writing to compress the generated file size.
196
-
197
- 5. `kernels` Module
198
- a. Added `matmul8x8kernel` function for 8x8 matrix multiplication kernel operations.
199
-
200
- 6. `maths` Module
201
- a. Added `dsigmoid` function.
202
- b. Updated `sumprod` function with a new `floating` parameter.
203
-
204
- 7. `matrices` Module
205
- a. Added `dctmtx` function to generate a discrete cosine transform matrix.
206
-
207
- 8. `numbers` Module
208
- a. Added `round_sigfig` function.
209
- b. Added `words2int` function to convert English words to integers.
210
-
211
- 9. `plotting` Module
212
- a. Renamed the `color` function to `colortext`.
213
-
214
- 10. `seqs` Module
215
- a. Updated `stirling1` function with a new `sign` parameter.
216
-
217
- 11. `special` Module
218
- a. Added `ellipe` and `ellipk` functions for complete elliptic integrals.
219
-
220
- 12. `symbols` Module
221
- a. Added `Expr` class.
222
- b. Added `build_expr_tree`, `infix2postfix`, and `tokenize` functions.
223
- c. The `parse_expr` function now returns an `Expr` object (previously returned a `list`).
224
-
225
- 13. `ufuncs` Module
226
- a. Renamed comparison functions to follow more explicit naming conventions:
227
- i. `eq` renamed to `equal`
228
- ii. `ge` renamed to `greater_equal`
229
- iii. `gt` renamed to `greater_than`
230
- iv. `le` renamed to `less_equal`
231
- v. `lt` renamed to `less_than`
232
- vi. `ne` renamed to `not_equal`
233
-
234
- !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
235
- ```
172
+ > 1. The `hypcmpnms` module added hypercomplex exponential and logarithmic operations.
173
+ > 2. The `dists` module fixed all calculation errors.
174
+ > 3. The `geoms` module fixed calculation errors and added more features.
175
+ > 4. The `utils` module fixed calculation errors in the `IntervalSet` class.
236
176
 
237
177
  ### Run Time Test
238
178
 
@@ -260,23 +200,23 @@ Python interpreter version
260
200
  PyPyNum
261
201
  ├── arrays
262
202
  │ ├── CLASS
263
- │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
203
+ │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
264
204
  │ │ └── BoolArray(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
265
205
  │ └── FUNCTION
266
- │ ├── array(data: Any) -> Any
267
- │ ├── asarray(data: Any) -> Any
206
+ │ ├── array(data: Any, dtype: Any) -> Any
207
+ │ ├── asarray(data: Any, dtype: Any) -> Any
268
208
  │ ├── aslist(data: Any) -> Any
269
209
  │ ├── boolarray(data: Any) -> Any
270
- │ ├── fill(shape: typing.Union[list, tuple], sequence: typing.Union[list, tuple, str], repeat: bool, pad: typing.Any, rtype: typing.Callable) -> typing.Any
271
- │ ├── full(shape: typing.Union[list, tuple], fill_value: typing.Any, rtype: typing.Callable) -> typing.Any
272
- │ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable) -> typing.Any
210
+ │ ├── fill(shape: typing.Sequence, sequence: typing.Sequence, repeat: bool, pad: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
211
+ │ ├── full(shape: typing.Sequence, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
212
+ │ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
273
213
  │ ├── get_shape(data: Any) -> Any
274
214
  │ ├── is_valid_array(_array: Any, _shape: Any) -> Any
275
- │ ├── ones(shape: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
276
- │ ├── ones_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
215
+ │ ├── ones(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
216
+ │ ├── ones_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
277
217
  │ ├── tensorproduct(tensors: pypynum.arrays.Array) -> pypynum.arrays.Array
278
- │ ├── zeros(shape: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
279
- │ └── zeros_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
218
+ │ ├── zeros(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
219
+ │ └── zeros_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
280
220
  ├── chars
281
221
  │ ├── CLASS
282
222
  │ └── FUNCTION
@@ -318,7 +258,7 @@ PyPyNum
318
258
  ├── dists
319
259
  │ ├── CLASS
320
260
  │ └── FUNCTION
321
- │ ├── beta_pdf(x: Any, a: Any, b: Any) -> Any
261
+ │ ├── beta_pdf(x: Any, alpha: Any, beta: Any) -> Any
322
262
  │ ├── binom_pmf(k: Any, n: Any, p: Any) -> Any
323
263
  │ ├── cauchy_cdf(x: Any, x0: Any, gamma: Any) -> Any
324
264
  │ ├── cauchy_pdf(x: Any, x0: Any, gamma: Any) -> Any
@@ -329,22 +269,22 @@ PyPyNum
329
269
  │ ├── f_pdf(x: Any, dfnum: Any, dfden: Any) -> Any
330
270
  │ ├── gamma_pdf(x: Any, shape: Any, scale: Any) -> Any
331
271
  │ ├── geometric_pmf(k: Any, p: Any) -> Any
332
- │ ├── hypergeom_pmf(k: Any, mg: Any, n: Any, nt: Any) -> Any
333
- │ ├── invgauss_pdf(x: Any, mu: Any, lambda_: Any, alpha: Any) -> Any
272
+ │ ├── hypergeom_pmf(M: Any, n: Any, N: Any, k: Any) -> Any
273
+ │ ├── invgauss_pdf(x: Any, mu: Any, lam: Any) -> Any
334
274
  │ ├── levy_pdf(x: Any, c: Any) -> Any
335
275
  │ ├── log_logistic_cdf(x: Any, alpha: Any, beta: Any) -> Any
336
276
  │ ├── log_logistic_pdf(x: Any, alpha: Any, beta: Any) -> Any
337
- │ ├── logistic_cdf(x: Any, mu: Any, s: Any) -> Any
338
- │ ├── logistic_pdf(x: Any, mu: Any, s: Any) -> Any
277
+ │ ├── logistic_cdf(x: Any, loc: Any, scale: Any) -> Any
278
+ │ ├── logistic_pdf(x: Any, loc: Any, scale: Any) -> Any
339
279
  │ ├── lognorm_cdf(x: Any, mu: Any, sigma: Any) -> Any
340
- │ ├── lognorm_pdf(x: Any, s: Any, scale: Any) -> Any
280
+ │ ├── lognorm_pdf(x: Any, mu: Any, sigma: Any) -> Any
341
281
  │ ├── logser_pmf(k: Any, p: Any) -> Any
342
282
  │ ├── multinomial_pmf(k: Any, n: Any, p: Any) -> Any
343
283
  │ ├── nbinom_pmf(k: Any, n: Any, p: Any) -> Any
344
- │ ├── nhypergeom_pmf(k: Any, m: Any, n: Any, r: Any) -> Any
284
+ │ ├── nhypergeom_pmf(M: Any, n: Any, r: Any, k: Any) -> Any
345
285
  │ ├── normal_cdf(x: Any, mu: Any, sigma: Any) -> Any
346
286
  │ ├── normal_pdf(x: Any, mu: Any, sigma: Any) -> Any
347
- │ ├── pareto_pdf(x: Any, k: Any, m: Any) -> Any
287
+ │ ├── pareto_pdf(x: Any, b: Any, scale: Any) -> Any
348
288
  │ ├── poisson_pmf(k: Any, mu: Any) -> Any
349
289
  │ ├── rayleigh_pdf(x: Any, sigma: Any) -> Any
350
290
  │ ├── t_pdf(x: Any, df: Any) -> Any
@@ -377,6 +317,8 @@ PyPyNum
377
317
  │ │ ├── Quadrilateral(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple], d: typing.Union[list, tuple]) -> Any
378
318
  │ │ └── Triangle(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple]) -> Any
379
319
  │ └── FUNCTION
320
+ │ ├── _rotate_point(p: Any, theta: Any, cx: Any, cy: Any) -> Any
321
+ │ ├── _scale_point(p: Any, k: Any, cx: Any, cy: Any) -> Any
380
322
  │ └── distance(g1: Any, g2: Any, error: typing.Union[int, float]) -> float
381
323
  ├── graphs
382
324
  │ ├── CLASS
@@ -567,23 +509,23 @@ PyPyNum
567
509
  │ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
568
510
  ├── matrices
569
511
  │ ├── CLASS
570
- │ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
512
+ │ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
571
513
  │ └── FUNCTION
572
- │ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool) -> pypynum.matrices.Matrix
573
- │ ├── dctmtx(n: int) -> pypynum.matrices.Matrix
574
- │ ├── diag(v: typing.Any, k: int, n: int, m: int) -> typing.Any
514
+ │ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool, dtype: Any) -> pypynum.matrices.Matrix
515
+ │ ├── dctmtx(n: int, dtype: Any) -> pypynum.matrices.Matrix
516
+ │ ├── diag(v: typing.Any, k: int, n: int, m: int, dtype: Any) -> typing.Any
575
517
  │ ├── diag_indices(n: int, k: int, m: int) -> tuple
576
- │ ├── eigen(matrix: pypynum.matrices.Matrix) -> tuple
577
- │ ├── hessenberg(matrix: pypynum.matrices.Matrix) -> tuple
578
- │ ├── identity(n: int, m: int) -> pypynum.matrices.Matrix
579
- │ ├── lu(matrix: pypynum.matrices.Matrix) -> tuple
580
- │ ├── mat(data: typing.Any) -> pypynum.matrices.Matrix
581
- │ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
518
+ │ ├── eigen(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
519
+ │ ├── hessenberg(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
520
+ │ ├── identity(n: int, m: int, dtype: Any) -> pypynum.matrices.Matrix
521
+ │ ├── lu(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
522
+ │ ├── mat(data: typing.Any, dtype: Any) -> pypynum.matrices.Matrix
523
+ │ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable, dtype: Any) -> typing.Any
582
524
  │ ├── perm_mat_indices(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple]) -> tuple
583
- │ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool) -> tuple
584
- │ ├── rank_decomp(matrix: pypynum.matrices.Matrix) -> tuple
585
- │ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int) -> pypynum.matrices.Matrix
586
- │ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool) -> tuple
525
+ │ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool, dtype: Any) -> tuple
526
+ │ ├── rank_decomp(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
527
+ │ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int, dtype: Any) -> pypynum.matrices.Matrix
528
+ │ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool, dtype: Any) -> tuple
587
529
  │ ├── tril_indices(n: int, k: int, m: int) -> tuple
588
530
  │ └── triu_indices(n: int, k: int, m: int) -> tuple
589
531
  ├── multiprec
@@ -822,7 +764,7 @@ PyPyNum
822
764
  │ └── FUNCTION
823
765
  ├── vectors
824
766
  │ ├── CLASS
825
- │ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
767
+ │ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
826
768
  │ └── FUNCTION
827
769
  │ └── vec(data: Any) -> Any
828
770
  └── zh_cn
@@ -1087,7 +1029,7 @@ print("Value of exp(e^2):", exp_e_squared)
1087
1029
  """
1088
1030
  Modulus of the complex1: 3.064156670102011971734464
1089
1031
  Square root of the complex2: 1.630869996965458756791024890326755654659+0.9631646481434200567938527724670041364524i
1090
- Power of complex1 raised to complex2: 0.144632311554759549910373681031-0.17337039786352194417298867399i
1032
+ Power of complex1 raised to complex2: 0.144632311554759549910373681032-0.17337039786352194417298867399i
1091
1033
  Value of Euler's gamma constant: 0.577215664901532860606512090082402431042159336
1092
1034
  Logarithm of 2 (base 10): 0.30102999566398119521373889472449302676818988146211
1093
1035
  Value of exp(e^2): 1618.1779919126535017
@@ -1105,7 +1047,7 @@ Bessel Function of the first kind, order 0 at x=1: 0.7651976865579666
1105
1047
  Modified Bessel function of the first kind, order 1 at x=1: 0.565159103992485
1106
1048
  Hypergeometric function 0F1 at z=0.5 with b0=1: 1.5660829297563503
1107
1049
  Hypergeometric function 1F1 at z=1 with a0=1, b0=1: 2.7182818284590455
1108
- q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.33353429405776575+1.8573191887407854j)
1050
+ q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.3335342940577659+1.8573191887407858j)
1109
1051
  q-Gamma Function at n=2 with q=0.5+0.1j: (0.9999999999999989-4.953510875709033e-16j)
1110
1052
  """
1111
1053
 
@@ -1182,7 +1124,7 @@ print(equations.poly_eq(p))
1182
1124
  print(equations.lin_eq(*m))
1183
1125
 
1184
1126
  """
1185
- [(-1.5615528128088307-6.5209667308287455e-24j), (1.0000000000000007+3.241554513744382e-25j), (2.5615528128088294+4.456233626665941e-24j)]
1127
+ [(-1.5615528128088307-3.728101026218476e-24j), (1.0000000000000007+3.2415545137443745e-25j), (2.5615528128088294+7.352235277305158e-24j)]
1186
1128
  [1.6666666666666665, -0.6666666666666666, -0.4444444444444444]
1187
1129
  """
1188
1130
 
@@ -1283,10 +1225,10 @@ print(random.randint(0, 9, [2, 3, 4]))
1283
1225
  print(random.uniform(0, 9, [2, 3, 4]))
1284
1226
 
1285
1227
  """
1286
- [[[0.19564108603837504, 1.01920370166293, -0.0432622197313817, 1.8767392228517594], [-0.9372140720220945, 0.6455939848661518, 0.06219926062283103, -0.03646501719525719], [-0.6575861228704779, -1.627831653990843, 1.4669927522358261, -2.1082184047042944]], [[-0.4550416369776341, 0.5921202822490813, 0.1393176939653395, -0.1994214479986489], [-0.559257919413219, -1.629764620332396, 0.04658277611512766, 0.20529751771180757], [0.492656546311569, 0.9731757491363898, -0.3281597719355017, -0.6855996837842998]]]
1287
- [[[0.9897608447208633, 0.9091539554606014, 0.839742901348473, 0.7483640950392159], [0.1271954637618754, 0.23914774960655272, 0.6603167703557995, 0.09706202212722614], [0.1020987366479954, 0.16628877700140854, 0.9844464087410161, 0.8213963537473721]], [[0.268434775377716, 0.8021623176316018, 0.48319517625501174, 0.30410149780944096], [0.8970313978138931, 0.9980790184879383, 0.1185467392465952, 0.19570961919567464], [0.08626090792820118, 0.5790211560246683, 0.7475290741004703, 0.8048613204213184]]]
1288
- [[[9, 0, 7, 5], [2, 7, 3, 5], [7, 6, 4, 2]], [[3, 4, 2, 0], [4, 2, 2, 1], [4, 5, 4, 9]]]
1289
- [[[8.067902792666303, 3.1398970785364244, 7.875028237778611, 7.766921948037462], [3.337337214716076, 2.852783099370506, 1.028257336777862, 7.822605535085232], [7.111199916783942, 5.890725764603359, 3.038605829888671, 6.272148674191553]], [[1.076715403659712, 6.806086377982102, 5.699002266942416, 1.1654651363361368], [1.3920577362733448, 8.527352563852686, 2.359964996027981, 5.183071574749471], [7.8250627862940725, 1.6259461468536924, 8.333173856724002, 5.068032713313034]]]
1228
+ [[[0.18059388030329554, -0.7950286594701896, -1.6124456807502878, 1.0650032690802622], [1.231592625021916, -0.2923569307790834, 0.5743684840351643, -0.5994993318165575], [-0.4541501878112403, 0.5194701735167844, -0.41134655581914514, 2.5838345235765336]], [[-0.38027869224951916, 1.407233237769525, -1.4230691454968791, -1.098291804499891], [0.0720517812951513, 1.2716687933757764, -0.389868632414012, 0.18416602669163057], [-0.49978319823217315, 0.8789409340735714, -1.4538419291500941, -1.895514116697364]]]
1229
+ [[[0.3214199347664204, 0.4682526051010606, 0.8691333897517276, 0.65768740769836], [0.7632355843244432, 0.5804412886619936, 0.008332295847854443, 0.6151292129754637], [0.9795343167986345, 0.5205461670247327, 0.7248923173697739, 0.11717223436961488]], [[0.7662005170926139, 0.9714376279553422, 0.9550672285743181, 0.08793525427569937], [0.6339393968200449, 0.8301210945735973, 0.6564657233275701, 0.6220565155685059], [0.21406744938064437, 0.3047415909582225, 0.6510510008125593, 0.12269523561892148]]]
1230
+ [[[5, 1, 4, 9], [9, 1, 6, 2], [4, 3, 1, 9]], [[0, 9, 6, 9], [7, 8, 0, 2], [9, 8, 5, 3]]]
1231
+ [[[1.6943948141992893, 2.247908784078809, 8.414928873268128, 4.628393016930337], [7.572639917918929, 5.357050653981085, 8.240417270343459, 3.24879148260883], [4.771181663822661, 1.905700180078211, 3.7868896315863747, 4.2241419541638265]], [[4.635584514037156, 7.401849961502754, 0.6758543569780475, 6.101106332926675], [1.9978290038252968, 7.441511948419005, 0.10317848285562836, 5.723737686439019], [0.13415224754500865, 7.69176143777073, 2.9628506743472967, 5.077060383033804]]]
1290
1232
  """
1291
1233
 
1292
1234
  print(regs.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
@@ -1305,7 +1247,7 @@ print(tools.frange(0, 3, 0.4))
1305
1247
  print(tools.linspace(0, 2.8, 8))
1306
1248
 
1307
1249
  """
1308
- {<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'>]}
1250
+ {<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'>]}
1309
1251
  ['Python', 6, 'NumPy', <class 'int'>, 'PyPyNum', 9, 'pypynum', True]
1310
1252
  [0.0, 0.4, 0.8, 1.2000000000000002, 1.6, 2.0, 2.4000000000000004, 2.8000000000000003, 3.2]
1311
1253
  [0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]