FuncDesigner是一個開源的CAS(計算機 代數系統)用Python編寫的。下面是三個例子,這樣你就可以了解該項目的工作。
例如:
從FuncDesigner進口*
A,B,C = oovars('A','B','C')
F1,F2 = SIN(A)+ COS(二) - LOG2(三)+ SQRT(b)中,和(C)+ C * COSH(B)/反正切(一)+ C [0] * C [1] + C [-1] /(A * c.size)
F3 = F1 * F2 + 2 * A + SIN(B)*(1 + 2 * c.size + 3 * f2.size)
F = 2 * A * B * C + F1 F2 * + F3 +點(A + C,B + C)
點= {A:1,B 2,C:[3,4,5]}#不過,你最好使用numpy的陣列,而不是Python列表
打印(F(點))
打印(F.D(點))
打印(F.D(點A))
打印(F.D(點,[B]))
打印(F.D(點,fixedVars = [A,C]))
預期的輸出:
[140.9337138 110.16255336 80.67870244]
{A:陣列([69.75779959,88.89020412,109.93551537]),B:陣列([ - 23.10565554,-39.41138045,-59.08378522]),
C:陣列([6.19249888,38.261221,38.261221]
[29.68377935,-0.18961959,29.68377935]
[23.03059873,23.03059873,-6.22406763]])}
[69.75779959 88.89020412 109.93551537]
{B:陣列([ - 23.10565554,-39.41138045,-59.08378522])}
{B:陣列([ - 23.10565554,-39.41138045,-59.08378522])}
  *您可以使用“for”循環FuncDesigner代碼
例如:
從FuncDesigner進口*
A,B,C = oovars('A','B','C')
F1,F2 = SIN(A)+ COS(二) - LOG2(三)+ SQRT(b)中,和(C)+ C * COSH(B)/反正切(一)+ C [0] * C [1] + C [-1] /(A * c.size)
F3 = F1 * F2 + 2 * A + SIN(B)*(1 + 2 * c.size + 3 * f2.size)
F = SIN(F2)* F3 + 1
M = 15
對於i在範圍(M):F = 0.5 * F + 0.4 * F3 * COS(F1 + 2 * f2)上
點= {A:1,B 2,C:[3,4,5]}#不過,你最好使用numpy的陣列,而不是Python列表
打印(F(點))
打印(F.D(點))
打印(F.D(點A))
打印(F.D(點,[B]))
打印(F.D(點,fixedVars = [A,C]))
[4.63468686 0.30782902 1.21725266]
{A:陣列([ - 436.83015952,204.25331181,186.38788436]),B:陣列([562.63390316,-273.23484496,-256.32464645]),
C:陣列([395.96975635,167.24928464,55.74976155]
  -74.80518167,-129.34496329,-19.94804845]
  [-57.42472654,-45.93978123,-66.30049589]])}
[-436.83015952 204.25331181 186.38788436]
{B:陣列([562.63390316,-273.23484496,-256.32464645])}
{B:陣列([562.63390316,-273.23484496,-256.32464645])}
例如:
從FuncDesigner進口*
從openopt進口NLP
A,B,C = oovars('A','B','C')
F =總和(A * [1,2])** 2 + B ** 2 + C 2 **
的startPoint = {A:[100,12],B:2,C:40}#不過,你最好使用numpy的陣列,而不是Python列表
P = NLP(F,的startPoint)
p.constraints = [(2 * C + A-10)** 2 <1.5±0.1 * B中,(a-10)** 28.9,A + B> [7.97999836,7.8552538]
一<9,(C-2)** 2 <1,B <-1.02,C> 1.01,((B + C * log10的(一)的.sum() - 1)** 2).EQ(0) ]
R = p.solve('ralg“)
打印r.xf
預期的輸出:
...
objFunValue:717.75631(可行的話,最大的約束= 7.44605e-07)
{A:陣列([8.99999792,8.87525277]),B:陣列([ - 1.01999971]),C:陣列([1.0613562])}
什麼的,這是新的發布:
- 在Interalg現在可以更快(可能多維)集成問題(IP)和一些優化問題很多次(有時訂單)
- 添加造型密集(MI)(QC)QP在FuncDesigner(阿爾法版本,渲染工作可以慢慢還)
- 修正了CPLEX包裝
- 在一些改進FuncDesigner區間分析(因而interalg)
- 添加FuncDesigner區間分析棕褐色的範圍(-pi / 2,π/ 2)
- 在其他一些錯誤修正和改進
- (專有)FuncDesigner隨機插件現在可以作為獨立的PYC文件,成為可供Python3以及
什麼是在0.45版本新:
- 在為FuncDesigner區間分析基本改進(從而影響interalg)
- 在臨時外觀圖釋為FD自動分化內核一個嚴重的錯誤是由於某些版本的Python或NumPy的,一個錯誤可能會影響優化問題,包括(MI)LP(MI)NLP,TSP等
- 在其他一些小的錯誤修正和改進。
什麼是在0.43版本新:
- 在interalg現在可以解決SNLE在第二個模式(參數dataHandling = &QUOT;原料&QUOT;,前 - 只&QUOT;整理和QUOT;)
- 在許多其他改進interalg
- 在一些改進FuncDesigner內核
- 在FuncDesigner ODE現在有3個參數,而不是4(向後不兼容!),如{T:np.linspace(0,1,100)}或僅僅np.linspace(0,1,100)如果你的ODE右邊是時間無關!
- 在FuncDesigner隨機插件現在可以處理一些問題,基於梯度的NLP / NSP求解
- 在許多小的改進和錯誤修正部分
什麼是在0.39版本新:
- 在interalg:添加分類變量和一般的邏輯約束,許多其他改進
- 在一些改進的自動分化
- 在DerApproximator有的OpenOpt / FuncDesigner功能現在與PyPy
- 新解算lsmr稠密/稀疏LLSP
- 在oovar構造函數現在可以處理參數LB和UB,例如:一個= oovar('一',磅= -1,UB = [1,2,3])(此oovar應具有尺寸3)或x = oovars(10,磅= -1,UB = 1)立>
- 在新FuncDesigner功能hstack,類似的語法來numpy.hstack,如F = hstack((A,B,C,D))
- 在一些錯誤修正
什麼是在0.36版本新:
- 在區間分析,現在可以包括最小值,最大值和1-D單調樣條曲線R - 內&GT; 1日R和三階
- 在一些錯誤修正和改進
什麼在0.21版本新:
- 在新功能:集成,翻譯
- 在一些加速的功能評估,自動分化,優化問題一些固定變量
- 在新的參數useSparse優化probs和自動分化(有時自動選擇提前工作)
- 在新的參數exactShape自動分化(防止諂媚操作)
- 在一些錯誤修正(多數WRT使用稀疏矩陣)和代碼清理
什麼是在0.18版本新:
- 在添加FuncDesigner操作ifThenElse
- 在個人公差FuncDesigner限制
- 現在,來定義平等的約束,你可以使用expression_1 == expression_2,可能與寬容,以及:(xpression_1 == expression_2)(TOL = 0.0001)
- 在自動分化有所改善(但一些尚待完成)
- &QUOT;負公差與QUOT;為約束(要嚴格要求適當的縮放)。然而,也許在將來會被替換的東西像myConstr(嚴= TRUE)為更好地了解。
- 在一個名為()標記為過時
要求:
- 在Python中
- 在NumPy的
評論沒有發現