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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyPyNum
3
- Version: 1.13.1
3
+ Version: 1.14.0
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,76 +234,68 @@ 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.0 | 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
301
  The Zen of PyPyNum, by Shen Jiayi
@@ -332,64 +324,57 @@ Python interpreter and run it!
332
324
  February 27, 2024
333
325
  ```
334
326
 
335
- ### 与上一个版本相比功能变化
336
-
337
- #### Functional changes compared to the previous version
327
+ ### Functional changes compared to the previous version
338
328
 
339
329
  ```
340
330
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
341
331
 
342
- 修正了MPComplex的错误并且新增了部分用
343
- 于计算三角函数的方法
344
-
345
- Corrected errors in MPComplex
346
- and added some methods for
347
- calculating trigonometric
348
- functions
332
+ 750 new lines have been added to the code
349
333
 
350
334
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
351
335
 
352
- 增加了levenshtein_distance函数
353
-
354
- Added levenshtein_distance function
355
-
356
-
357
- Help on function levenshtein_distance in module pypynum.tools:
336
+ Newly added functions and classes
358
337
 
359
- levenshtein_distance(s1: str, s2: str) -> int
360
- Introduction
361
- ==========
362
- Calculate the Levenshtein distance between two strings.
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.
367
-
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.
339
+ ├── bessel
340
+ │ ├── CLASS
341
+ │ └── FUNCTION
342
+ │ ├── bessel_i0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
343
+ │ ├── bessel_i1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
344
+ │ ├── bessel_iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
345
+ │ ├── bessel_j0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
346
+ │ ├── bessel_j1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
347
+ │ └── bessel_jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
348
+ ├── crandom
349
+ │ └── FUNCTION
350
+ │ ├── randint_polar(left: int, right: int, mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
351
+ │ ├── randint_rect(left: int, right: int, real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
352
+ │ ├── random_polar(mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
353
+ │ ├── random_rect(real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
354
+ │ ├── uniform_polar(left: typing.Union[int, float], right: typing.Union[int, float], mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
355
+ │ └── uniform_rect(left: typing.Union[int, float], right: typing.Union[int, float], real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
356
+ ├── dataproc
357
+ │ ├── CLASS
358
+ │ │ └── Series(object)/__init__(self: Any, data: typing.Any, index: typing.Any) -> None
359
+ ├── maths
360
+ │ └── FUNCTION
361
+ │ ├── quantile(data: list, q: float, interpolation: str, ordered: bool) -> float
362
+ ├── numbers
363
+ │ └── FUNCTION
364
+ │ ├── parse_float(s: str) -> tuple
365
+ │ ├── split_float(s: str) -> tuple
376
366
 
377
367
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
378
368
 
379
- 注意:以后的版本中的自述文件将更改为纯英文
380
-
381
- Attention: The self description
382
- file in future versions will be
383
- changed to pure English
369
+ Tip: The second type of Bessel
370
+ function has not been
371
+ implemented yet, but will be
372
+ added in future versions.
384
373
 
385
374
  !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
386
375
  ```
387
376
 
388
- ### 运行用时测试
389
-
390
- #### Run Time Test
391
-
392
- Python解释器版本
377
+ ### Run Time Test
393
378
 
394
379
  Python interpreter version
395
380
 
@@ -397,31 +382,31 @@ Python interpreter version
397
382
 
398
383
  + PyPy 3.10.12
399
384
 
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
- ### 基本结构
385
+ | Matrix Time Test | NumPy+CPython (seconds) | Ranking | PyPyNum+PyPy (seconds) | Ranking | Mpmath_+_PyPy_ (seconds) | Ranking | SymPy_+_PyPy_ (seconds) | Ranking |
386
+ |------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
387
+ | Create a hundred order random number matrix | 0.000083 | 1 | 0.005374 | 2 | 0.075253 | 3 | 0.230530 | 4 |
388
+ | Create a thousand order random number matrix | 0.006740 | 1 | 0.035666 | 2 | 1.200950 | 3 | 4.370265 | 4 |
389
+ | Addition of matrices of order one hundred | 0.000029 | 1 | 0.002163 | 2 | 0.045641 | 4 | 0.035700 | 3 |
390
+ | Adding matrices of order one thousand | 0.002647 | 1 | 0.019111 | 2 | 1.746957 | 4 | 0.771542 | 3 |
391
+ | Determinant of a hundred order matrix | 0.087209 | 2 | 0.016331 | 1 | 4.354507 | 3 | 5.157206 | 4 |
392
+ | Determinant of a thousand order matrix | 0.616113 | 1 | 3.509747 | 2 | It takes a long time | 3 | It takes a long time | 4 |
393
+ | Finding the inverse of a hundred order matrix | 0.162770 | 2 | 0.015768 | 1 | 8.162948 | 3 | 21.437424 | 4 |
394
+ | 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 |
395
+ | 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
396
 
414
- #### Basic structure
397
+ ### Basic structure
415
398
 
416
399
  ```
417
400
  PyPyNum
418
401
  ├── Array
419
402
  │ ├── CLASS
420
- │ │ └── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
403
+ │ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
404
+ │ │ └── BoolArray(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
421
405
  │ └── FUNCTION
422
406
  │ ├── array(data: Any) -> Any
423
407
  │ ├── asarray(data: Any) -> Any
424
408
  │ ├── aslist(data: Any) -> Any
409
+ │ ├── boolarray(data: Any) -> Any
425
410
  │ ├── fill(shape: Any, sequence: Any, repeat: Any, pad: Any, rtype: Any) -> Any
426
411
  │ ├── full(shape: Any, fill_value: Any, rtype: Any) -> Any
427
412
  │ ├── full_like(a: Any, fill_value: Any, rtype: Any) -> Any
@@ -536,6 +521,15 @@ PyPyNum
536
521
  │ │ └── Vector(pypynum.Array.Array)/__init__(self: Any, data: Any, check: Any) -> Any
537
522
  │ └── FUNCTION
538
523
  │ └── vec(data: Any) -> Any
524
+ ├── bessel
525
+ │ ├── CLASS
526
+ │ └── FUNCTION
527
+ │ ├── bessel_i0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
528
+ │ ├── bessel_i1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
529
+ │ ├── bessel_iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
530
+ │ ├── bessel_j0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
531
+ │ ├── bessel_j1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
532
+ │ └── bessel_jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
539
533
  ├── chars
540
534
  │ ├── CLASS
541
535
  │ └── FUNCTION
@@ -564,6 +558,19 @@ PyPyNum
564
558
  ├── constants
565
559
  │ ├── CLASS
566
560
  │ └── FUNCTION
561
+ ├── crandom
562
+ │ ├── CLASS
563
+ │ └── FUNCTION
564
+ │ ├── randint_polar(left: int, right: int, mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
565
+ │ ├── randint_rect(left: int, right: int, real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
566
+ │ ├── random_polar(mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
567
+ │ ├── random_rect(real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
568
+ │ ├── uniform_polar(left: typing.Union[int, float], right: typing.Union[int, float], mod: typing.Union[int, float], angle: typing.Union[int, float]) -> complex
569
+ │ └── uniform_rect(left: typing.Union[int, float], right: typing.Union[int, float], real: typing.Union[int, float], imag: typing.Union[int, float]) -> complex
570
+ ├── dataproc
571
+ │ ├── CLASS
572
+ │ │ └── Series(object)/__init__(self: Any, data: typing.Any, index: typing.Any) -> None
573
+ │ └── FUNCTION
567
574
  ├── dists
568
575
  │ ├── CLASS
569
576
  │ └── FUNCTION
@@ -647,8 +654,6 @@ PyPyNum
647
654
  │ ├── atan(x: typing.Union[int, float]) -> typing.Union[int, float]
648
655
  │ ├── atanh(x: typing.Union[int, float]) -> typing.Union[int, float]
649
656
  │ ├── 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
657
  │ ├── beta(p: typing.Union[int, float], q: typing.Union[int, float]) -> typing.Union[int, float]
653
658
  │ ├── central_moment(data: typing.Union[list, tuple], order: int) -> float
654
659
  │ ├── coeff_det(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
@@ -693,6 +698,7 @@ PyPyNum
693
698
  │ ├── primitive_root(a: int, single: bool) -> typing.Union[int, list]
694
699
  │ ├── product(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
695
700
  │ ├── ptp(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
701
+ │ ├── quantile(data: list, q: float, interpolation: str, ordered: bool) -> float
696
702
  │ ├── raw_moment(data: typing.Union[list, tuple], order: int) -> float
697
703
  │ ├── roll(seq: typing.Union[list, tuple, str], shift: int) -> typing.Union[list, tuple, str]
698
704
  │ ├── root(x: typing.Union[int, float, complex], y: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
@@ -744,7 +750,9 @@ PyPyNum
744
750
  │ ├── float2fraction(number: float, mixed: bool, error: float) -> tuple
745
751
  │ ├── int2roman(integer: int, overline: bool) -> str
746
752
  │ ├── int2words(integer: int) -> str
753
+ │ ├── parse_float(s: str) -> tuple
747
754
  │ ├── roman2int(roman_num: str) -> int
755
+ │ ├── split_float(s: str) -> tuple
748
756
  │ └── str2int(string: str) -> int
749
757
  ├── plotting
750
758
  │ ├── CLASS
@@ -835,11 +843,18 @@ PyPyNum
835
843
  │ ├── CLASS
836
844
  │ └── FUNCTION
837
845
  │ ├── add(x: Any, y: Any) -> Any
846
+ │ ├── apply(a: Any, func: Any, rtype: Any) -> Any
838
847
  │ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any) -> Any
839
848
  │ ├── divide(x: Any, y: Any) -> Any
849
+ │ ├── eq(x: Any, y: Any) -> Any
840
850
  │ ├── floor_divide(x: Any, y: Any) -> Any
851
+ │ ├── ge(x: Any, y: Any) -> Any
852
+ │ ├── gt(x: Any, y: Any) -> Any
853
+ │ ├── le(x: Any, y: Any) -> Any
854
+ │ ├── lt(x: Any, y: Any) -> Any
841
855
  │ ├── modulo(x: Any, y: Any) -> Any
842
856
  │ ├── multiply(x: Any, y: Any) -> Any
857
+ │ ├── ne(x: Any, y: Any) -> Any
843
858
  │ ├── power(x: Any, y: Any, m: Any) -> Any
844
859
  │ ├── subtract(x: Any, y: Any) -> Any
845
860
  │ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
@@ -885,6 +900,7 @@ PyPyNum
885
900
  ├── 写入(文件: str, 对象: object) -> Any
886
901
  ├── 几何平均数(数据: typing.List[float]) -> float
887
902
  ├── 凯撒密码(文本: str, 移位: int, 解密: bool) -> str
903
+ ├── 分位数(数据: list, 分位值: float, 插值方法: str, 已排序: bool) -> float
888
904
  ├── 判定系数(x: typing.List[float], y: typing.List[float]) -> float
889
905
  ├── 判断平方数(n: int) -> bool
890
906
  ├── 加权平均(数据: typing.List[float], 权重: typing.List[float]) -> float
@@ -940,6 +956,7 @@ PyPyNum
940
956
  ├── 序列滚动(序列: typing.Iterator[typing.Any], 偏移: int) -> typing.Iterator[typing.Any]
941
957
  ├── 归一化(数据: typing.List[float], 目标: float) -> typing.List[float]
942
958
  ├── 扩展欧几里得算法(a: int, b: int) -> typing.Tuple[int, int, int]
959
+ ├── 拆分浮点数字符串(字符串: str) -> tuple
943
960
  ├── 排列数(总数: int, 选取数: int) -> int
944
961
  ├── 数组(数据: list, 检查: bool) -> pypynum.Array.Array
945
962
  ├── 整数转上标(标准字符串: str) -> str
@@ -974,12 +991,17 @@ PyPyNum
974
991
  ├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
975
992
  ├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
976
993
  ├── 莫尔斯密码(文本: str, 解密: bool) -> str
994
+ ├── 解析浮点数字符串(字符串: str) -> tuple
977
995
  ├── 误差函数(x: typing.Union[int, float]) -> typing.Union[int, float]
978
996
  ├── 读取(文件: str) -> list
979
997
  ├── 调和平均数(数据: typing.List[float]) -> float
980
998
  ├── 贝塔函数(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]
999
+ ├── 贝塞尔函数I0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1000
+ ├── 贝塞尔函数I1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1001
+ ├── 贝塞尔函数Iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1002
+ ├── 贝塞尔函数J0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1003
+ ├── 贝塞尔函数J1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
1004
+ ├── 贝塞尔函数Jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
983
1005
  ├── 负一整数次幂(指数: int) -> int
984
1006
  ├── 转为多精度复数(实部: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
985
1007
  ├── 转换为列表(数据: Any) -> list
@@ -992,9 +1014,7 @@ PyPyNum
992
1014
  └── 黎曼函数(alpha: float) -> float
993
1015
  ```
994
1016
 
995
- ### 代码测试
996
-
997
- #### Code testing
1017
+ ### Code testing
998
1018
 
999
1019
  ```python
1000
1020
  from pypynum import (Array, Geometry, Logic, Matrix, Quaternion, Symbolics, Tensor, Vector,
@@ -1,4 +1,4 @@
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
@@ -8,25 +8,28 @@ pypynum/Matrix.py,sha256=_MMb2HsarLzPRGIR2tI4G7yPPvYpjIODYMgf6wdQmxw,20344
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=YQBK6hsNy4HEvMN_cGq6wmVYBrhIsx4vzsuaEEXh6sw,77084
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=It1LOKG9ytQmk3Le0OJ982C4TgG3Q5WefyAeclzkW8U,2984
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
22
+ pypynum/crandom.py,sha256=44GZ7o6y5PwgL-cZLkXUZaAUfiW6aadyRNfMdxTnH30,5111
23
+ pypynum/dataproc.py,sha256=xQJUvndP4APff2wpu2HItDZKWqrRZt72AU9CA8i-7tM,9277
21
24
  pypynum/dists.py,sha256=WHDeM0oC4Do77p9TVVMu3pgWzI04gYdK_s1TNGhets0,29697
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
30
+ pypynum/maths.py,sha256=0Z0qCN_Rh6pQydBCnvufNpTUIfo2GQGPbpJQbuSccQs,32818
28
31
  pypynum/multiprec.py,sha256=W4G48VXsTs13VFolcTjcE_BHQWccdl2PlC5coAT4V90,18405
29
- pypynum/numbers.py,sha256=PqQ07TWfcNlfjCjUg1UJda-BI1uOffmQVK1qIGbll_s,8619
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
@@ -38,10 +41,10 @@ pypynum/test.py,sha256=tjJI8YkAqNEtwNeFsixWliZfc3J1qVpgCo4u-Wh9kvw,8826
38
41
  pypynum/this.py,sha256=oRX1OpMa4NJmQSdEjJxfszEo5FRYlxRiF8OTDRIcdMA,2154
39
42
  pypynum/tools.py,sha256=0k8ZC-LcZ9BZqPYV487aPr95K1EoX-oHOalWjg9or3Y,12554
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.0.dist-info/METADATA,sha256=yHYtsquvIz5mb_kCo_xF5l6mxVPY3u7S6Lv66SlaZ3I,91463
48
+ PyPyNum-1.14.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
49
+ PyPyNum-1.14.0.dist-info/top_level.txt,sha256=4wW_Xb4bRglmiMsdPAe9f75MkXhNpuN88H17g_Cr5u8,8
50
+ PyPyNum-1.14.0.dist-info/RECORD,,