Metadata-Version: 2.1
Name: udecimal
Version: 0.1.0
Summary: Пакет для работы с десятичными числами с учётом неопределённостей и ковариаций
Home-page: https://github.com/skyfet/udecimal
Author: Arthem Harutiunyan
Author-email: arthemharutiunyan@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mpmath (>=1.2.1)
Provides-Extra: dev
Requires-Dist: pytest (>=6.0) ; extra == 'dev'

# UDecimal
`UDecimal` — это Python-пакет для работы с десятичными числами, содержащими неопределённости и ковариации между переменными. Пакет обеспечивает точные вычисления с учётом неопределённостей, что особенно полезно в научных и инженерных приложениях.

## Установка
Установите пакет с помощью pip:
```sh
pip install udecimal
```

## Использование
### Создание Экземпляра `UDecimal`
Создание переменной с неопределённостью:
```py
a = UDecimal('10.0', '0.1')
b = UDecimal('5.0', '0.05')
```
Выполнение операций:
```py
c = a / b
print(c) # Вывод: 2.0 ± 0.04472135955
```
### Установка Ковариаций
Создание переменных и установка частичной ковариации:
```py
x = UDecimal('3.0', '0.1')
y = UDecimal('4.0', '0.2')
x.set_covariance(y, '0.015')
```
Умножение с учётом ковариации:
```py
z = x * y
print(z) # Вывод: 12.0 ± 0.078112206
```
Дополнительные Функции
Вычисление натурального логарифма:
```py
a = UDecimal(str(math.e), '0.1')
ln_a = a.ln()
print(ln_a) # Вывод: 1.0 ± 0.03678794412
```
Тригонометрические функции:
```py
angle = UDecimal(str(math.pi / 4), '0.01')
tan_angle = angle.tan()
print(tan_angle) # Вывод: 1.0 ± 0.02
```
### Тестирование
Для запуска тестов используйте команду:
```sh
python -m unittest discover
```
## Лицензия
Этот проект лицензирован под лицензией MIT - смотрите файл LICENSE для деталей.
