Skip to main content

The asymintervals library introduces a novel and unique approach with Asymmetric Interval Numbers (AINs), combining the simplicity of classical interval numbers with advanced capabilities for modeling uncertainty.

AINs integrate the expected value with the interval, offering a more accurate representation of data uncertainty compared to traditional interval numbers. This library provides a complete toolkit, including basic arithmetic operations. The theoretical foundations of AINs, along with detailed discussions on properties, rigorous mathematical proofs, and theorems on symmetry and asymmetry for both binary and unary operations, are introduced in [1], further enhancing the mathematical framework of AINs. Practical examples illustrate the versatility of AINs in various scientific and technical applications. AINs represent a significant advancement in interval arithmetic, paving the way for further research and applications across diverse fields.

Documentation is avaliable on readthedocs.

Installation

You can download and install asymintervals library using pip:

pip install asymintervals

You can run all tests with following command from the root of the project:

python -m doctest -v asymintervals\asymintervals.py

Example

A simple example demonstrating how to use the library.

# Import the AIN (Asymmetric Interval Number) class from the asymintervals module
from asymintervals import AIN  
import matplotlib.pyplot as plt

# Initialize two AIN instances with specified lower, upper, and expected values
a = AIN(0, 10, 2)  # Interval 'a' with lower=0, upper=10, expected=2
b = AIN(2, 8, 3)   # Interval 'b' with lower=2, upper=8, expected=3

# Perform arithmetic operations between interval 'a' and interval 'b'
c = a + b          # Addition of intervals 'a' and 'b'
d = a * b          # Multiplication of intervals 'a' and 'b'
e = a / b          # Division of interval 'c' by interval 'd'

# Plot the resulting intervals from the arithmetic operations
c.plot()           # Plot interval 'c' resulting from addition
d.plot()           # Plot interval 'd' resulting from multiplication
e.plot()           # Plot interval 'e' resulting from division

# Print the results of the operations for each interval
print(c)           # Output the details of interval 'c'
print(d)           # Output the details of interval 'd'
print(e)           # Output the details of interval 'e'

# Print summaries for each interval to provide key statistics or characteristics
print("Summary for interval 'a':")
a.summary()
print("Summary for interval 'b':")
b.summary()
print("Summary for interval 'c':")
c.summary()
print("Summary for interval 'd':")
d.summary()
print("Summary for interval 'e':")
e.summary()

Reference

If the asymintervals library has contributed to a scientific publication, we kindly request acknowledgment by citing it.

[1] Sałabun, W. (2024). Asymmetric Interval Numbers: a new approach to modeling uncertainty.
    Fuzzy Sets and Systems, (in press).
@article{salabun2024,
   title={Asymmetric Interval Numbers: a new approach to modeling uncertainty},
   author={Sałabun, Wojciech},
   journal={Fuzzy Sets and Systems},
   volume={in press},
   number={in press},
   pages={in press},
   year={2024},
   publisher={Elsevier}
}

Release files for asymintervals 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asymintervals 1.2.0
File Size Uploaded
asymintervals-1.2.0.tar.gz 56.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asymintervals 1.2.0
File Interpreter ABI Platform
asymintervals-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 113.8 kB

Release files / asymintervals-1.2.0.tar.gz

Download URL asymintervals-1.2.0.tar.gz
Size 56.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cf3fc69f1b32d929f41551c32c345b7320655b69849cf85a8a2b7550069de17d
BLAKE2b-256 checksum
How to use checksums
32033403e1952f676d9cfe776edaa0f3826710a3a917be6893768045092fcf91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / asymintervals-1.2.0-py3-none-any.whl

Download URL asymintervals-1.2.0-py3-none-any.whl
Size 57.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
29d13293ca9481621712b10ce74b10de433de018f37c3f333d968502a8d23c27
BLAKE2b-256 checksum
How to use checksums
3fb1bb73a7237251abee977b47367c960f55630767f40812779cdbdc6ded06be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page