PyPyNum 1.13.1__py3-none-any.whl → 1.14.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.13.1
3
+ Version: 1.14.1
4
4
  Summary: PyPyNum is a Python library for math & science computations, covering algebra, calculus, stats, with data structures like matrices, vectors, tensors. It offers numerical tools, programs, and supports computational ops, functions, processing, simulation, & visualization in data science & ML, crucial for research, engineering, & data processing.
5
5
  Home-page: https://github.com/PythonSJL/PyPyNum
6
6
  Author: Shen Jiayi
@@ -234,88 +234,79 @@ processing.</font><font color = red>[Python>=3.4]</font>
234
234
  [![Downloads](https://static.pepy.tech/badge/pypynum/month)](https://pepy.tech/project/pypynum)
235
235
  [![Downloads](https://static.pepy.tech/badge/pypynum/week)](https://pepy.tech/project/pypynum)
236
236
 
237
- ## Version -> 1.13.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
237
+ ## Version -> 1.14.1 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
238
238
 
239
239
  ![LOGO](PyPyNum.png)
240
240
 
241
- PyPI上无法显示logo,可以在Gitee或者GitHub中查看。
242
-
243
241
  The logo cannot be displayed on PyPI, it can be viewed in Gitee or GitHub.
244
242
 
245
- ### 介绍
246
-
247
- #### Introduction
243
+ ### Introduction
248
244
 
249
- + 多功能数学库,类似于numpy、scipy等,专为PyPy解释器制作,亦支持其他类型的Python解释器
250
245
  + Multi functional math library, similar to numpy, scipy, etc., designed specifically for PyPy interpreters and also
251
246
  supports other types of Python interpreters
252
- + 不定期更新版本,增加更多实用功能
253
247
  + Update versions periodically to add more practical features
254
- + 如需联系,请添加QQ号2261748025(Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰),或者通过我的邮箱2261748025@qq.com
255
248
  + If you need to contact, please add QQ number 2261748025 (Py𝙿𝚢𝚝𝚑𝚘𝚗-水晶兰), or through my email 2261748025@qq.com
256
249
 
257
- ### 子模块的名称与功能简介
258
-
259
- #### Name and Function Introduction of Submodules
260
-
261
- | 子模块名称 Submodule Name | 功能简介 Function Introduction |
262
- |:--------------------:|:------------------------------------------:|
263
- | `pypynum.Array` | 多维数组 Multidimensional array |
264
- | `pypynum.chars` | 特殊数学符号 Special mathematical symbols |
265
- | `pypynum.cipher` | 加密解密算法 Encryption and decryption algorithm |
266
- | `pypynum.confs` | 通用配置 Universal configuration |
267
- | `pypynum.constants` | 数学常数集合 Set of mathematical constants |
268
- | `pypynum.dists` | 概率分布 Probability distribution |
269
- | `pypynum.equations` | 方程求解 Solving equations |
270
- | `pypynum.errors` | 异常对象 Exception object |
271
- | `pypynum.file` | 文件读写 File read and write |
272
- | `pypynum.FourierT` | 傅里叶变换 Fourier transform |
273
- | `pypynum.Geometry` | 几何形状 Geometric shape |
274
- | `pypynum.Graph` | 图论算法 Graph Theory Algorithm |
275
- | `pypynum.Group` | 群论算法 Group Theory Algorithm |
276
- | `pypynum.image` | 图像处理 Image processing |
277
- | `pypynum.interp` | 数据插值 Data Interpolation |
278
- | `pypynum.Logic` | 逻辑电路设计 Logic circuit design |
279
- | `pypynum.maths` | 通用数学函数 General mathematical functions |
280
- | `pypynum.Matrix` | 矩阵运算 Matrix operation |
281
- | `pypynum.multiprec` | 多精度计算 Multi precision calculation |
282
- | `pypynum.NeuralN` | 神经网络训练 Neural network training |
283
- | `pypynum.numbers` | 数字处理 Number processing |
284
- | `pypynum.plotting` | 数据可视化 Data visualization |
285
- | `pypynum.polynomial` | 多项式运算 Polynomial operation |
286
- | `pypynum.pprinters` | 美化打印 Pretty printers |
287
- | `pypynum.Quaternion` | 四元数运算 Quaternion operation |
288
- | `pypynum.random` | 随机数生成 Random number generation |
289
- | `pypynum.regression` | 回归分析 Regression analysis |
290
- | `pypynum.sequence` | 数列计算 Sequence calculation |
291
- | `pypynum.stattest` | 统计检验 Statistical test |
292
- | `pypynum.Symbolics` | 符号计算 Symbol calculation |
293
- | `pypynum.Tensor` | 张量运算 Tensor operation |
294
- | `pypynum.test` | 简易测试 Easy test |
295
- | `pypynum.this` | 项目之禅 Zen of Projects |
296
- | `pypynum.tools` | 辅助函数 Auxiliary functions |
297
- | `pypynum.Tree` | 树形数据结构 Tree data structure |
298
- | `pypynum.types` | 特殊类型 Special types |
299
- | `pypynum.ufuncs` | 通用函数 Universal functions |
300
- | `pypynum.utils` | 实用工具 Utility |
301
- | `pypynum.Vector` | 向量运算 Vector operation |
302
- | `pypynum.zh_cn` | 中文名的函数 Functions with Chinese names |
303
-
304
- ### PyPyNum的Zen(预览)
305
-
306
- #### The Zen of PyPyNum (Preview)
250
+ ### Name and Function Introduction of Submodules
251
+
252
+ | Submodule Name | Function Introduction |
253
+ |:--------------------:|:-----------------------------------:|
254
+ | `pypynum.Array` | Multidimensional array |
255
+ | `pypynum.bessel` | Bessel functions |
256
+ | `pypynum.chars` | Special mathematical symbols |
257
+ | `pypynum.cipher` | Encryption and decryption algorithm |
258
+ | `pypynum.confs` | Universal configuration |
259
+ | `pypynum.constants` | Set of mathematical constants |
260
+ | `pypynum.crandom` | Random complex number |
261
+ | `pypynum.dataproc` | Data processing |
262
+ | `pypynum.dists` | Probability distribution |
263
+ | `pypynum.equations` | Solving equations |
264
+ | `pypynum.errors` | Exception object |
265
+ | `pypynum.file` | File read and write |
266
+ | `pypynum.FourierT` | Fourier transform |
267
+ | `pypynum.Geometry` | Geometric shape |
268
+ | `pypynum.Graph` | Graph Theory Algorithm |
269
+ | `pypynum.Group` | Group Theory Algorithm |
270
+ | `pypynum.image` | Image processing |
271
+ | `pypynum.interp` | Data Interpolation |
272
+ | `pypynum.Logic` | Logic circuit design |
273
+ | `pypynum.maths` | General mathematical functions |
274
+ | `pypynum.Matrix` | Matrix operation |
275
+ | `pypynum.multiprec` | Multi precision calculation |
276
+ | `pypynum.NeuralN` | Neural network training |
277
+ | `pypynum.numbers` | Number processing |
278
+ | `pypynum.plotting` | Data visualization |
279
+ | `pypynum.polynomial` | Polynomial operation |
280
+ | `pypynum.pprinters` | Pretty printers |
281
+ | `pypynum.Quaternion` | Quaternion operation |
282
+ | `pypynum.random` | Random number generation |
283
+ | `pypynum.regression` | Regression analysis |
284
+ | `pypynum.sequence` | Sequence calculation |
285
+ | `pypynum.stattest` | Statistical test |
286
+ | `pypynum.Symbolics` | Symbol calculation |
287
+ | `pypynum.Tensor` | Tensor operation |
288
+ | `pypynum.test` | Easy test |
289
+ | `pypynum.this` | Zen of Projects |
290
+ | `pypynum.tools` | Auxiliary functions |
291
+ | `pypynum.Tree` | Tree data structure |
292
+ | `pypynum.types` | Special types |
293
+ | `pypynum.ufuncs` | Universal functions |
294
+ | `pypynum.utils` | Utility |
295
+ | `pypynum.Vector` | Vector operation |
296
+ | `pypynum.zh_cn` | Functions with Chinese names |
297
+
298
+ ### The Zen of PyPyNum (Preview)
307
299
 
308
300
  ```
309
- The Zen of PyPyNum, by Shen Jiayi
310
-
311
- This is a math package written purely in Python.
312
-
313
- Elegant is superior to clunky.
314
- Clarity trumps obscurity.
315
- Straightforwardness is preferred over convolution.
316
- Sophisticated is better than overcomplicated.
317
- Flat structure beats nested hierarchies.
318
- Sparse code wins over bloated ones.
301
+ The Zen of PyPyNum, by Shen Jiayi
302
+
303
+ In this mathematical sanctuary, we weave our algorithms with pure Python threads.
304
+ Precision outweighs approximation.
305
+ Elegance in mathematics transcends the bulky algorithms.
306
+ Clarity in logic illuminates the darkest problems.
307
+ Simplicity in form is the pinnacle of sophistication.
308
+ Flat hierarchies in our code mirror the linear nature of functions.
309
+ Sparse code, like a minimal polynomial, retains essence without redundancy.
319
310
  ```
320
311
 
321
312
  ```
@@ -329,67 +320,52 @@ Python interpreter and run it!
329
320
  ```
330
321
 
331
322
  ```
332
- February 27, 2024
323
+ September 5, 2024
333
324
  ```
334
325
 
335
- ### 与上一个版本相比功能变化
336
-
337
- #### Functional changes compared to the previous version
326
+ ### Functional changes compared to the previous version
338
327
 
339
328
  ```
340
329
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
341
330
 
342
- 修正了MPComplex的错误并且新增了部分用
343
- 于计算三角函数的方法
344
-
345
- Corrected errors in MPComplex
346
- and added some methods for
347
- calculating trigonometric
348
- functions
331
+ < Fixed the display issue of multi precision complex numbers >
349
332
 
350
333
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
351
334
 
352
- 增加了levenshtein_distance函数
353
-
354
- Added levenshtein_distance function
355
-
335
+ < Updated the Zen content of the project >
356
336
 
357
- Help on function levenshtein_distance in module pypynum.tools:
358
-
359
- levenshtein_distance(s1: str, s2: str) -> int
360
- Introduction
361
- ==========
362
- Calculate the Levenshtein distance between two strings.
337
+ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
363
338
 
364
- The Levenshtein distance is a measure of the difference between two strings. It is defined as the minimum number
365
- of single-character edits (i.e., insertions, deletions or substitutions) required to change one string into the
366
- other.
339
+ < The following two function names have removed the 'generate' prefix >
367
340
 
368
- Example
369
- ==========
370
- >>> levenshtein_distance("kitten", "sitting")
371
- 3
372
- >>>
373
- :param s1: First string to compare.
374
- :param s2: Second string to compare.
375
- :return: The Levenshtein distance between the two strings.
341
+ generate_primes(limit: int) -> list
342
+ generate_semiprimes(limit: int) -> list
376
343
 
377
344
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
378
345
 
379
- 注意:以后的版本中的自述文件将更改为纯英文
346
+ <<< Newly added functions and classes >>>
380
347
 
381
- Attention: The self description
382
- file in future versions will be
383
- changed to pure English
348
+ PyPyNum
349
+ ├── Matrix
350
+ │ └── FUNCTION
351
+ │ └── triu_indices(n: int, k: int, m: int) -> tuple # Returns the indices of the upper triangular part of a matrix
352
+ ├── multiprec
353
+ │ └── FUNCTION
354
+ │ ├── mp_euler_gamma(sigfigs: int) -> decimal.Decimal # Returns the Euler-Mascheroni constant with specified significant figures
355
+ ├── sequence
356
+ │ └── FUNCTION
357
+ │ ├── bell_triangle(n: int) -> list # Returns the first n rows of the Bell triangle
358
+ │ ├── pascal_triangle(n: int) -> list # Returns the first n rows of Pascal's triangle
359
+ │ ├── stirling1(n: int) -> list # Returns the first n rows of Stirling numbers of the first kind
360
+ │ └── stirling2(n: int) -> list # Returns the first n rows of Stirling numbers of the second kind
361
+ ├── tools
362
+ │ └── FUNCTION
363
+ │ └── twinprimes(limit: int) -> list # Returns all twin prime pairs up to and including the specified limit
384
364
 
385
365
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
386
366
  ```
387
367
 
388
- ### 运行用时测试
389
-
390
- #### Run Time Test
391
-
392
- Python解释器版本
368
+ ### Run Time Test
393
369
 
394
370
  Python interpreter version
395
371
 
@@ -397,31 +373,31 @@ Python interpreter version
397
373
 
398
374
  + PyPy 3.10.12
399
375
 
400
- | 矩阵用时测试<br>Matrix Time Test | NumPy+CPython(seconds) | 排名<br>Ranking | PyPyNum+PyPy(seconds) | 排名<br>Ranking | Mpmath_+_PyPy_(_seconds_) | 排名<br>Ranking | SymPy_+_PyPy_(_seconds_) | 排名<br>Ranking |
401
- |:------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------:|
402
- | 创建一百阶随机数矩阵<br>Create a hundred order random number matrix | 0.000083 | 1 | 0.005374 | 2 | 0.075253 | 3 | 0.230530 | 4 |
403
- | 创建一千阶随机数矩阵<br>Create a thousand order random number matrix | 0.006740 | 1 | 0.035666 | 2 | 1.200950 | 3 | 4.370265 | 4 |
404
- | 一百阶矩阵相加<br>Addition of matrices of order one hundred | 0.000029 | 1 | 0.002163 | 2 | 0.045641 | 4 | 0.035700 | 3 |
405
- | 一千阶矩阵相加<br>Adding matrices of order one thousand | 0.002647 | 1 | 0.019111 | 2 | 1.746957 | 4 | 0.771542 | 3 |
406
- | 一百阶矩阵行列式<br>Determinant of a hundred order matrix | 0.087209 | 2 | 0.016331 | 1 | 4.354507 | 3 | 5.157206 | 4 |
407
- | 一千阶矩阵行列式<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 |
408
- | 一百阶矩阵求逆<br>Finding the inverse of a hundred order matrix | 0.162770 | 2 | 0.015768 | 1 | 8.162948 | 3 | 21.437424 | 4 |
409
- | 一千阶矩阵求逆<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 |
410
- | 数组输出效果<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⎦⎦``` | / |
411
-
412
- ### 基本结构
376
+ | Matrix Time Test | NumPy+CPython (seconds) | Ranking | PyPyNum+PyPy (seconds) | Ranking | Mpmath_+_PyPy_ (seconds) | Ranking | SymPy_+_PyPy_ (seconds) | Ranking |
377
+ |------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
378
+ | Create a hundred order random number matrix | 0.000083 | 1 | 0.005374 | 2 | 0.075253 | 3 | 0.230530 | 4 |
379
+ | Create a thousand order random number matrix | 0.006740 | 1 | 0.035666 | 2 | 1.200950 | 3 | 4.370265 | 4 |
380
+ | Addition of matrices of order one hundred | 0.000029 | 1 | 0.002163 | 2 | 0.045641 | 4 | 0.035700 | 3 |
381
+ | Adding matrices of order one thousand | 0.002647 | 1 | 0.019111 | 2 | 1.746957 | 4 | 0.771542 | 3 |
382
+ | Determinant of a hundred order matrix | 0.087209 | 2 | 0.016331 | 1 | 4.354507 | 3 | 5.157206 | 4 |
383
+ | Determinant of a thousand order matrix | 0.616113 | 1 | 3.509747 | 2 | It takes a long time | 3 | It takes a long time | 4 |
384
+ | Finding the inverse of a hundred order matrix | 0.162770 | 2 | 0.015768 | 1 | 8.162948 | 3 | 21.437424 | 4 |
385
+ | 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 |
386
+ | 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⎦⎦``` | / |
413
387
 
414
- #### Basic structure
388
+ ### Basic structure
415
389
 
416
390
  ```
417
391
  PyPyNum
418
392
  ├── Array
419
393
  │ ├── CLASS
420
- │ │ └── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
394
+ │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
395
+ │ │ └── BoolArray(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
421
396
  │ └── FUNCTION
422
397
  │ ├── array(data: Any) -> Any
423
398
  │ ├── asarray(data: Any) -> Any
424
399
  │ ├── aslist(data: Any) -> Any
400
+ │ ├── boolarray(data: Any) -> Any
425
401
  │ ├── fill(shape: Any, sequence: Any, repeat: Any, pad: Any, rtype: Any) -> Any
426
402
  │ ├── full(shape: Any, fill_value: Any, rtype: Any) -> Any
427
403
  │ ├── full_like(a: Any, fill_value: Any, rtype: Any) -> Any
@@ -499,7 +475,8 @@ PyPyNum
499
475
  │ ├── rank_decomp(matrix: pypynum.Matrix.Matrix) -> tuple
500
476
  │ ├── rotate90(matrix: pypynum.Matrix.Matrix, times: int) -> pypynum.Matrix.Matrix
501
477
  │ ├── svd(matrix: pypynum.Matrix.Matrix) -> tuple
502
- └── tril_indices(n: int, k: int, m: int) -> tuple
478
+ ├── tril_indices(n: int, k: int, m: int) -> tuple
479
+ │ └── triu_indices(n: int, k: int, m: int) -> tuple
503
480
  ├── NeuralN
504
481
  │ ├── CLASS
505
482
  │ │ └── NeuralNetwork(object)/__init__(self: Any, _input: Any, _hidden: Any, _output: Any) -> Any
@@ -536,6 +513,15 @@ PyPyNum
536
513
  │ │ └── Vector(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
537
514
  │ └── FUNCTION
538
515
  │ └── vec(data: Any) -> Any
516
+ ├── bessel
517
+ │ ├── CLASS
518
+ │ └── FUNCTION
519
+ │ ├── bessel_i0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
520
+ │ ├── bessel_i1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
521
+ │ ├── bessel_iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
522
+ │ ├── bessel_j0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
523
+ │ ├── bessel_j1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
524
+ │ └── bessel_jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
539
525
  ├── chars
540
526
  │ ├── CLASS
541
527
  │ └── FUNCTION
@@ -564,6 +550,19 @@ PyPyNum
564
550
  ├── constants
565
551
  │ ├── CLASS
566
552
  │ └── FUNCTION
553
+ ├── crandom
554
+ │ ├── CLASS
555
+ │ └── FUNCTION
556
+ │ ├── randint_polar(left: int, right: int, mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
557
+ │ ├── randint_rect(left: int, right: int, real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
558
+ │ ├── random_polar(mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
559
+ │ ├── random_rect(real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
560
+ │ ├── uniform_polar(left: typing.Union[int, float], right: typing.Union[int, float], mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
561
+ │ └── uniform_rect(left: typing.Union[int, float], right: typing.Union[int, float], real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
562
+ ├── dataproc
563
+ │ ├── CLASS
564
+ │ │ └── Series(object)/__init__(self: Any, data: typing.Any, index: typing.Any) -> None
565
+ │ └── FUNCTION
567
566
  ├── dists
568
567
  │ ├── CLASS
569
568
  │ └── FUNCTION
@@ -647,8 +646,6 @@ PyPyNum
647
646
  │ ├── atan(x: typing.Union[int, float]) -> typing.Union[int, float]
648
647
  │ ├── atanh(x: typing.Union[int, float]) -> typing.Union[int, float]
649
648
  │ ├── average(data: typing.Union[list, tuple], weights: typing.Union[list, tuple]) -> float
650
- │ ├── bessel_i0(x: typing.Union[int, float]) -> typing.Union[int, float]
651
- │ ├── bessel_iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
652
649
  │ ├── beta(p: typing.Union[int, float], q: typing.Union[int, float]) -> typing.Union[int, float]
653
650
  │ ├── central_moment(data: typing.Union[list, tuple], order: int) -> float
654
651
  │ ├── coeff_det(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
@@ -693,6 +690,7 @@ PyPyNum
693
690
  │ ├── primitive_root(a: int, single: bool) -> typing.Union[int, list]
694
691
  │ ├── product(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
695
692
  │ ├── ptp(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
693
+ │ ├── quantile(data: list, q: float, interpolation: str, ordered: bool) -> float
696
694
  │ ├── raw_moment(data: typing.Union[list, tuple], order: int) -> float
697
695
  │ ├── roll(seq: typing.Union[list, tuple, str], shift: int) -> typing.Union[list, tuple, str]
698
696
  │ ├── root(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
@@ -729,6 +727,7 @@ PyPyNum
729
727
  │ ├── mp_cos(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
730
728
  │ ├── mp_cosh(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
731
729
  │ ├── mp_e(sigfigs: int, method: str) -> decimal.Decimal
730
+ │ ├── mp_euler_gamma(sigfigs: int) -> decimal.Decimal
732
731
  │ ├── mp_exp(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int, builtin: bool) -> decimal.Decimal
733
732
  │ ├── mp_fresnel_c(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
734
733
  │ ├── mp_fresnel_s(x: typing.Union[int, float, str, decimal.Decimal], sigfigs: int) -> decimal.Decimal
@@ -744,7 +743,9 @@ PyPyNum
744
743
  │ ├── float2fraction(number: float, mixed: bool, error: float) -> tuple
745
744
  │ ├── int2roman(integer: int, overline: bool) -> str
746
745
  │ ├── int2words(integer: int) -> str
746
+ │ ├── parse_float(s: str) -> tuple
747
747
  │ ├── roman2int(roman_num: str) -> int
748
+ │ ├── split_float(s: str) -> tuple
748
749
  │ └── str2int(string: str) -> int
749
750
  ├── plotting
750
751
  │ ├── CLASS
@@ -792,12 +793,16 @@ PyPyNum
792
793
  │ ├── CLASS
793
794
  │ └── FUNCTION
794
795
  │ ├── arithmetic_sequence(a1: typing.Union[int, float], an: typing.Union[int, float], d: typing.Union[int, float], n: typing.Union[int, float], s: typing.Union[int, float]) -> dict
796
+ │ ├── bell_triangle(n: int) -> list
795
797
  │ ├── bernoulli(n: int, single: bool) -> list
796
798
  │ ├── catalan(n: int, single: bool) -> typing.Union[int, list]
797
799
  │ ├── farey(n: int) -> list
798
800
  │ ├── fibonacci(n: int, single: bool) -> typing.Union[int, list]
799
801
  │ ├── geometric_sequence(a1: typing.Union[int, float], an: typing.Union[int, float], r: typing.Union[int, float], n: typing.Union[int, float], s: typing.Union[int, float]) -> dict
800
- └── recaman(n: int, single: bool) -> typing.Union[int, list]
802
+ ├── pascal_triangle(n: int) -> list
803
+ │ ├── recaman(n: int, single: bool) -> typing.Union[int, list]
804
+ │ ├── stirling1(n: int) -> list
805
+ │ └── stirling2(n: int) -> list
801
806
  ├── stattest
802
807
  │ ├── CLASS
803
808
  │ └── FUNCTION
@@ -819,15 +824,16 @@ PyPyNum
819
824
  │ ├── classify(array: typing.Union[list, tuple]) -> dict
820
825
  │ ├── dedup(iterable: typing.Union[list, tuple, str]) -> typing.Union[list, tuple, str]
821
826
  │ ├── frange(start: typing.Union[int, float], stop: typing.Union[int, float], step: float) -> list
822
- │ ├── generate_primes(limit: int) -> list
823
- │ ├── generate_semiprimes(limit: int) -> list
824
827
  │ ├── geomspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
825
828
  │ ├── levenshtein_distance(s1: str, s2: str) -> int
826
829
  │ ├── linspace(start: typing.Union[int, float], stop: typing.Union[int, float], number: int) -> list
827
830
  │ ├── magic_square(n: Any) -> Any
828
831
  │ ├── primality(n: int, iter_num: int) -> bool
829
832
  │ ├── prime_factors(integer: int, dictionary: bool, pollard_rho: bool) -> typing.Union[list, dict]
830
- └── split(iterable: typing.Union[list, tuple, str], key: typing.Union[list, tuple], retain: bool) -> list
833
+ ├── primes(limit: int) -> list
834
+ │ ├── semiprimes(limit: int) -> list
835
+ │ ├── split(iterable: typing.Union[list, tuple, str], key: typing.Union[list, tuple], retain: bool) -> list
836
+ │ └── twinprimes(limit: int) -> list
831
837
  ├── types
832
838
  │ ├── CLASS
833
839
  │ └── FUNCTION
@@ -835,11 +841,18 @@ PyPyNum
835
841
  │ ├── CLASS
836
842
  │ └── FUNCTION
837
843
  │ ├── add(x: Any, y: Any) -> Any
844
+ │ ├── apply(a: Any, func: Any, rtype: Any) -> Any
838
845
  │ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any) -> Any
839
846
  │ ├── divide(x: Any, y: Any) -> Any
847
+ │ ├── eq(x: Any, y: Any) -> Any
840
848
  │ ├── floor_divide(x: Any, y: Any) -> Any
849
+ │ ├── ge(x: Any, y: Any) -> Any
850
+ │ ├── gt(x: Any, y: Any) -> Any
851
+ │ ├── le(x: Any, y: Any) -> Any
852
+ │ ├── lt(x: Any, y: Any) -> Any
841
853
  │ ├── modulo(x: Any, y: Any) -> Any
842
854
  │ ├── multiply(x: Any, y: Any) -> Any
855
+ │ ├── ne(x: Any, y: Any) -> Any
843
856
  │ ├── power(x: Any, y: Any, m: Any) -> Any
844
857
  │ ├── subtract(x: Any, y: Any) -> Any
845
858
  │ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
@@ -885,6 +898,7 @@ PyPyNum
885
898
  ├── 写入(文件: str, 对象: object) -> Any
886
899
  ├── 几何平均数(数据: typing.List[float]) -> float
887
900
  ├── 凯撒密码(文本: str, 移位: int, 解密: bool) -> str
901
+ ├── 分位数(数据: list, 分位值: float, 插值方法: str, 已排序: bool) -> float
888
902
  ├── 判定系数(x: typing.List[float], y: typing.List[float]) -> float
889
903
  ├── 判断平方数(n: int) -> bool
890
904
  ├── 加权平均(数据: typing.List[float], 权重: typing.List[float]) -> float
@@ -940,6 +954,7 @@ PyPyNum
940
954
  ├── 序列滚动(序列: typing.Iterator[typing.Any], 偏移: int) -> typing.Iterator[typing.Any]
941
955
  ├── 归一化(数据: typing.List[float], 目标: float) -> typing.List[float]
942
956
  ├── 扩展欧几里得算法(a: int, b: int) -> typing.Tuple[int, int, int]
957
+ ├── 拆分浮点数字符串(字符串: str) -> tuple
943
958
  ├── 排列数(总数: int, 选取数: int) -> int
944
959
  ├── 数组(数据: list, 检查: bool) -> pypynum.Array.Array
945
960
  ├── 整数转上标(标准字符串: str) -> str
@@ -974,12 +989,17 @@ PyPyNum
974
989
  ├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
975
990
  ├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
976
991
  ├── 莫尔斯密码(文本: str, 解密: bool) -> str
992
+ ├── 解析浮点数字符串(字符串: str) -> tuple
977
993
  ├── 误差函数(x: typing.Union[int, float]) -> typing.Union[int, float]
978
994
  ├── 读取(文件: str) -> list
979
995
  ├── 调和平均数(数据: typing.List[float]) -> float
980
996
  ├── 贝塔函数(p: float, q: float) -> float
981
- ├── 贝塞尔I0(x: typing.Union[int, float]) -> typing.Union[int, float]
982
- ├── 贝塞尔Iv(v: typing.Union[int, float], x: typing.Union[int, float]) -> typing.Union[int, float]
997
+ ├── 贝塞尔函数I0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
998
+ ├── 贝塞尔函数I1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
999
+ ├── 贝塞尔函数Iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1000
+ ├── 贝塞尔函数J0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1001
+ ├── 贝塞尔函数J1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1002
+ ├── 贝塞尔函数Jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
983
1003
  ├── 负一整数次幂(指数: int) -> int
984
1004
  ├── 转为多精度复数(实部: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
985
1005
  ├── 转换为列表(数据: Any) -> list
@@ -992,9 +1012,7 @@ PyPyNum
992
1012
  └── 黎曼函数(alpha: float) -> float
993
1013
  ```
994
1014
 
995
- ### 代码测试
996
-
997
- #### Code testing
1015
+ ### Code testing
998
1016
 
999
1017
  ```python
1000
1018
  from pypynum import (Array, Geometry, Logic, Matrix, Quaternion, Symbolics, Tensor, Vector,
@@ -1,47 +1,50 @@
1
- pypynum/Array.py,sha256=Rv2g0gESXRaXKYR2I20I6jzlY30ng2s2mQTQh_4ggRM,11178
1
+ pypynum/Array.py,sha256=DcsGi4U_62yrwQj7DOtaQqybYh8IXRBc-pajTZnv2b0,13294
2
2
  pypynum/FourierT.py,sha256=AtG0tESykzEs4gDsXhcizW7qhQnmw0gjcWcXefBqzhs,1401
3
3
  pypynum/Geometry.py,sha256=bJCuif-wHO-t7oHFEE7ntzIdQwzUEbT3mcKgmBV6Wps,13982
4
4
  pypynum/Graph.py,sha256=m9iTCNYRCZmAexDzwJ8Y6J7v1aweT-6TZkqh4fOtZDE,10131
5
5
  pypynum/Group.py,sha256=kzUR_r10ubOB2o51rKKdQPHRsgdTGL2yoY7yseKInZc,4263
6
6
  pypynum/Logic.py,sha256=IJAv59ECHU0HmG9lYCAQ_puqeL6Zor3-IDIVH48KBWE,11000
7
- pypynum/Matrix.py,sha256=_MMb2HsarLzPRGIR2tI4G7yPPvYpjIODYMgf6wdQmxw,20344
7
+ pypynum/Matrix.py,sha256=C84xfnTsg9N8FJXYzSORLHoRsch04PBbvMgPmjVFLuE,20612
8
8
  pypynum/NeuralN.py,sha256=iSOvC9JW1h4AFGokGGOTkKie5hAYN_YT9H4f3apI9b8,3275
9
9
  pypynum/PyPyNum.png,sha256=t96tJPWfHxT8kcXm_qZI2z5W36TgOqjCU9qdgbmlFws,11623
10
10
  pypynum/Quaternion.py,sha256=-BW_crP_i-veHN0_pD3Z1dipFNUX198oZDrUYTsoZw0,8017
11
- pypynum/README.md,sha256=6WXIDNu_Tc5fHBpNIbzDCV8PWszDFCivzKenPuYc660,74771
11
+ pypynum/README.md,sha256=ZGKsMqWmWtoUADcjjrURWUbwWaqN4CuiXDjTvVBKj-g,76730
12
12
  pypynum/Symbolics.py,sha256=u-Dig3OLs6qoLzxMpTAYJGq5uSWDMvgU13TAHKLyjMY,2768
13
13
  pypynum/Tensor.py,sha256=gi7OjrGgP5BSJS9Oma1B2EdX9qSpMNIP2BnKLojdT78,3930
14
14
  pypynum/Tree.py,sha256=BYnlb2kKNJ8kkuq8BAHIcLvPZw5KHxbvM7YuVGhQVMk,4330
15
15
  pypynum/Vector.py,sha256=ee-gkBtyG0l5dLFwAKRTTlnDG05pWpM19RGN7VoPvqE,3212
16
- pypynum/__init__.py,sha256=TqL88yyyOIW5Jp54b4ZqS1jr3J9bwo9VWLBDkh8ied8,2896
16
+ pypynum/__init__.py,sha256=eyYuIv8qPb8BkFu2aQ18HZ3cc7HEf0O2K8ayZyKJL4E,3008
17
+ pypynum/bessel.py,sha256=4g4XZAw1craezmxkYkvyPt1OlKjJU1JCqn_SZKME3PY,4164
17
18
  pypynum/chars.py,sha256=ZOXZn2VzxmpHuvZ87ojhEib3CfTNgysRsFMFITHOA2E,2179
18
19
  pypynum/cipher.py,sha256=DaitY3DCoTuzyrXtD8Ap3IYDLhlMc7-o4AJfLlicvB4,10011
19
20
  pypynum/confs.py,sha256=iFz83iZ1A4BK4LTqo-ZbpAcoxhYWUxtEQKsr_-d8ryw,2869
20
21
  pypynum/constants.py,sha256=xELv4DIKEqBdwF9tUqCmTQVbgVrlrj385ht5eawvshU,1406
21
- pypynum/dists.py,sha256=WHDeM0oC4Do77p9TVVMu3pgWzI04gYdK_s1TNGhets0,29697
22
+ pypynum/crandom.py,sha256=44GZ7o6y5PwgL-cZLkXUZaAUfiW6aadyRNfMdxTnH30,5111
23
+ pypynum/dataproc.py,sha256=xQJUvndP4APff2wpu2HItDZKWqrRZt72AU9CA8i-7tM,9277
24
+ pypynum/dists.py,sha256=qyZLsXF1x3QYjsge50wMWrPcFoMHs5yBbHAbg5L9rDw,29698
22
25
  pypynum/equations.py,sha256=26XEQBIcL3cyPLO6YFvBK1dlFHw-du3nQG4-cXAFYe0,557
23
26
  pypynum/errors.py,sha256=XlK5yazNbNtnbM4toT_bdI41u-q-AUkZsa7dqc5dQb0,264
24
27
  pypynum/file.py,sha256=-sg3pndZdiyM8cS6KeIhCvB6NfAovHnLOhEf0XkjidE,3411
25
28
  pypynum/image.py,sha256=nhTZmaBVIKhuar-CcwZWb-hRYmkj4b_g7vIlYvEJEEE,12155
26
29
  pypynum/interp.py,sha256=X1LN4WiVYkZlyKXvK_KJ2KDgjDiW_-tqgFM4ySQ3yJk,4897
27
- pypynum/maths.py,sha256=cERFo7YK191xZ3JnshzXk4am9maTJUIeIEf1zIQitIM,31764
28
- pypynum/multiprec.py,sha256=W4G48VXsTs13VFolcTjcE_BHQWccdl2PlC5coAT4V90,18405
29
- pypynum/numbers.py,sha256=PqQ07TWfcNlfjCjUg1UJda-BI1uOffmQVK1qIGbll_s,8619
30
+ pypynum/maths.py,sha256=McuOXRktbjcjZpTfWEoHnmFkeeQVacMoHyThqTIC27E,32808
31
+ pypynum/multiprec.py,sha256=NKZC5kIEg63WuTK5YCATuHP6ArSGHUKQpMHPmZ7GJ0k,19091
32
+ pypynum/numbers.py,sha256=EPzw8zq5U7GQj8URu2VxeVIXS-_XQm2ADmSAIHa816k,11133
30
33
  pypynum/plotting.py,sha256=mbIYK5TpY1qvuMJrqz4d8bxJEiZww3AI684vSKV-DgU,7781
31
34
  pypynum/polynomial.py,sha256=60hDQG_iRwduFFqawSTzAG6F3eHqfgrSnSGDwBLQB-s,14587
32
35
  pypynum/pprinters.py,sha256=Qt9-V5SUyoOqC3lsUU5D5zSSM-MmcnFCUyUtLxhS4pE,2514
33
36
  pypynum/random.py,sha256=qy2ISoHQVJ-zOVITplmCGvWEw-EZc18r-hZl8dvDimE,2274
34
37
  pypynum/regression.py,sha256=PfTM8glJSi3Jgvc_C_3hQBeVjkbrzSuDqRbEf3s403w,2040
35
- pypynum/sequence.py,sha256=7NSZm_p_B00KFj5XZrtSm2FXhsowxs0qg_Q_P4pAA8o,7194
38
+ pypynum/sequence.py,sha256=L8xaFGjFy5X4NKS4wkDGx9RSzkrWDZF__rLFdnnNEIA,8443
36
39
  pypynum/stattest.py,sha256=W1041KeVsvdcLKFJOK4hQm_DjO5ZjUE8WEmGUe-4_Zk,5507
37
40
  pypynum/test.py,sha256=tjJI8YkAqNEtwNeFsixWliZfc3J1qVpgCo4u-Wh9kvw,8826
38
- pypynum/this.py,sha256=oRX1OpMa4NJmQSdEjJxfszEo5FRYlxRiF8OTDRIcdMA,2154
39
- pypynum/tools.py,sha256=0k8ZC-LcZ9BZqPYV487aPr95K1EoX-oHOalWjg9or3Y,12554
41
+ pypynum/this.py,sha256=wT7DwodxqOQ7LoDaUtvskMkAb8CODL_56mtXPy12P54,3411
42
+ pypynum/tools.py,sha256=r94-thFR4MzrGSNpNwdYJV60JBqZoT0aH2T8-ghsgRQ,14305
40
43
  pypynum/types.py,sha256=ek9tydfCspsjcvxVFv_rJegnTHl6PHwKPdqjvHfkvDg,246
41
- pypynum/ufuncs.py,sha256=g2tewdsGa4VrIq2khR-0SWJoXBitVRN87DulOnTxxDA,2572
44
+ pypynum/ufuncs.py,sha256=hb7v4DgJ1eUB16uQ_m-OUfM9e2rIKwPk03shd1cBx0o,3547
42
45
  pypynum/utils.py,sha256=OqUFVraYDTSubF9QhZm8WC6A0ppnkhVU0YtAeYN9EyU,21048
43
- pypynum/zh_cn.py,sha256=Ky9AWuW64Vbhg_Pdn0Yksls7IEM_zk7uz1bb4iKmGNc,13008
44
- PyPyNum-1.13.1.dist-info/METADATA,sha256=obf7t8Nu3EQH3DUm9tWPCgJYuvzNQVtlagsQpvCsS1c,89150
45
- PyPyNum-1.13.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
46
- PyPyNum-1.13.1.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
47
- PyPyNum-1.13.1.dist-info/RECORD,,
46
+ pypynum/zh_cn.py,sha256=VfmCAtL9CZaHuridOswBTGVGPwyu_4v19Leb0niqxtY,13723
47
+ PyPyNum-1.14.1.dist-info/METADATA,sha256=nncMFGDv-KkzXh5IPLgrtzJZR0craxK4B0iZzoUHSUc,91109
48
+ PyPyNum-1.14.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
49
+ PyPyNum-1.14.1.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
50
+ PyPyNum-1.14.1.dist-info/RECORD,,