Skip to main content

Algebra of Sets

Project description

How to have a set containing all real numbers from 1 to 10 not including 10?
How to add interval from 20 to 30 to the set?
How to make sure this set is a subset of set of positive numbers?
How to add scalar number to it?
How to get complement of the set?
>>> from set_algebra import Interval, Set
>>> s = Set('[1, 10)')
>>> 1 in s
True
>>> 10 in s
False
>>> s.add(Interval('[20, 30]'))
>>> 25 in s
True
>>> s <= Set('(0, inf)')
True
>>> s.add(100)
>>> s.notation
'[1, 10), [20, 30], {100}'
>>> (~s).notation
'(-inf, 1), [10, 20), (30, 100), (100, inf)'

Set-Algebra provides classes representing math concepts:

  • Infinity
  • Endpoint
  • Interval
  • Uncountable Infinite Set

Besides numbers, Set-Algebra supports all objects that can be compared to each other - strings, datetimes, etc.

Infinity() is greater than any of these objects except float(‘inf’) and float(‘nan’). NegativeInfinity included as well.

Set-Algebra fully supports Python3. Tested on python 2.7, 3.2 - 3.6.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for set-algebra, version 0.3.5
Filename, size File type Python version Upload date Hashes
Filename, size set_algebra-0.3.5-py2-none-any.whl (12.8 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size set_algebra-0.3.5-py3-none-any.whl (12.8 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page