2017-01-19 92 views
0

我的工作,涉及到域類似於在需要提醒的數學,他們表現得像套在這個意義上,域定義爲這樣一個概念的項目:在域上設置操作?

d1 = Domain((4, 6)) 

可能從另一箇中減去域:

d2 = Domain((0, 10)) 

,並導致平分域:

assert (d2 - d1) == Domain((0, 4), (6, 10)) 

有沒有一個標準Python庫的各種操作和概念?我已經創建了自己的工具,但我確實試圖在生產代碼中使用它,所以如果沒有標準工具,優化和無缺陷替代方案將更可取。

+3

你可能想看看[SymPy](HTTP ://docs.sympy.org/latest/modules/sets.html)。 – user2357112

+0

問題要求我們推薦或查找書籍,工具,軟件庫,教程或其他非本地資源,因爲它們傾向於吸引自以爲是的答案和垃圾郵件,所以不適合Stack Overflow。相反,[描述問題](http://meta.stackoverflow.com/questions/254393/what-exactly-is-a-recommendation-question)以及到目前爲止已經做了什麼來解決它。 –

+1

我覺得我對數學領域的圖書館有要求,我的一個可能的操作簡要例子得到了重點。雖然我已經編寫了一個工具來完成這個工作,但我真的只想知道一個已經存在的產品是否已經存在 - 我已經編輯過,以便爲標準庫指定偏好。 – rmorshea

回答

1

不知道更多關於你的具體問題,一個IntervalTree聽起來像它可能是你一個有用的數據結構:

>>> from intervaltree import Interval, IntervalTree 
>>> d1 = Interval(4, 6) 
>>> d2 = Interval(0, 10) 
>>> dt = IntervalTree([d2]) 
>>> dt.chop(*d1) 
>>> dt 
IntervalTree([Interval(0, 4), Interval(6, 10)]) 
-1

SymPy由user2357112建議。還有其他的一般解了那裏訂購的對象(例如datetime對象),但我的偏好是一個標準庫的工具(這只是含蓄地在原來的問題陳述說明)