SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy (ሳይይ ፓይ ይባላል) በቁጥር ላይ ዹተመሰሹተ ዚሂሳብ ጥቅል ሲሆን በተጚማሪም C እና Fortran ቀተ-መጻሕፍትን ያካትታል። SciPy ዚእርስዎን በይነተገናኝ ዹፓይዘን ክፍለ ጊዜ እንደ MATLAB፣ IDL፣ Octave፣ R ወይም SciLab ወዳለ ዹተሟላ ዚውሂብ ሳይንስ አካባቢ ይለውጠዋል።

በዚህ ጜሑፍ ውስጥ ፣ ዚሂሳብ ፕሮግራሞቜን መሰሚታዊ ቎ክኒኮቜን እንመለኚታለን - ሁኔታዊ ዚማመቻ቞ት ቜግሮቜን በ scipy.optimize ጥቅል በመጠቀም ለብዙ ተለዋዋጮቜ scalar ተግባር መፍታት። ያልተገደበ ዚማመቻ቞ት ስልተ ቀመሮቜ አስቀድሞ ውይይት ተደርጎበታል። ዚመጚሚሻ ጜሑፍ. በሳይፕ ተግባራት ላይ ዹበለጠ ዝርዝር እና ወቅታዊ እገዛ ሁል ጊዜ ዚእገዛ() ትዕዛዝን፣ Shift+Tab ወይም በ ውስጥ መጠቀም ይቻላል ኩፊሮላዊ ሰነዶቜ.

መግቢያ

በ scipy.optimize ጥቅል ውስጥ ሁለቱንም ሁኔታዊ እና ያልተገደበ ዚማመቻ቞ት ቜግሮቜን ለመፍታት አንድ ዹተለመደ በይነገጜ በተግባሩ ቀርቧል minimize(). ይሁን እንጂ ሁሉንም ቜግሮቜ ለመፍታት ምንም ዓይነት ዓለም አቀፋዊ ዘዮ እንደሌለ ይታወቃል, ስለዚህ በቂ ዘዮ መምሚጥ, እንደ ሁልጊዜ, በተመራማሪው ትኚሻ ላይ ይወርዳል.
ትክክለኛው ዚማመቻ቞ት ስልተ ቀመር ዚተግባር ክርክርን በመጠቀም ይገለጻል። minimize(..., method="").
ዚበርካታ ተለዋዋጮቜን ተግባር ሁኔታዊ ማመቻ቞ት ዚሚኚተሉትን ዘዎዎቜ ተግባራዊ ለማድሚግ ይገኛሉ፡-

  • trust-constr - በራስ መተማመን ክልል ውስጥ ዚአካባቢን ዝቅተኛ ይፈልጉ። ዚዊኪ መጣጥፍ, በ hub ላይ መጣጥፍ;
  • SLSQP - ተኚታታይ ኳድራቲክ ፕሮግራሚንግ ኚእገዳዎቜ ጋር ፣ ዚላግራንጅ ስርዓትን ለመፍታት ዚኒውቶኒያን ዘዎ። ዚዊኪ መጣጥፍ.
  • TNC - ዹተቆሹጠ ኒውተን ዚተገደበ፣ ዹተገደበ ዚድግግሞሜ ብዛት፣ ብዙ ነጻ ተለዋዋጮቜ ያሉት ዚመስመር ላይ ላልሆኑ ተግባራት ጥሩ። ዚዊኪ መጣጥፍ.
  • L-BFGS-B - ኹ Broyden-Fletcher-Goldfarb-Shanno ቡድን ዹተገኘ ዘዎ፣ ኚሄሲያን ማትሪክስ ቬክተር በኹፊል በመጫን ምክንያት በተቀነሰ ዹማህደሹ ትውስታ ፍጆታ ዚተተገበሚ። ዚዊኪ መጣጥፍ, በ hub ላይ መጣጥፍ.
  • COBYLA — MARE ዹተገደበ ማመቻ቞ት በመስመራዊ ግምታዊ፣ ዹተገደበ ማመቻ቞ት በመስመራዊ ግምታዊ (ያለ ቀስ በቀስ ስሌት)። ዚዊኪ መጣጥፍ.

በተመሹጠው ዘዮ ላይ በመመስሚት ቜግሩን ለመፍታት ሁኔታዎቜ እና ገደቊቜ በተለዹ መንገድ ተቀምጠዋል-

  • ክፍል ነገር Bounds ዘዎዎቜ L-BFGS-B, TNC, SLSQP, እምነት-constr;
  • ዝርዝር (min, max) ለተመሳሳይ ዘዎዎቜ L-BFGS-B, TNC, SLSQP, trust-constr;
  • ዕቃ ወይም ዚነገሮቜ ዝርዝር LinearConstraint, NonlinearConstraint ለ COBYLA, SLSQP, እምነት-ዚመቆጣጠር ዘዎዎቜ;
  • መዝገበ ቃላት ወይም ዹመዝገበ-ቃላት ዝርዝር {'type':str, 'fun':callable, 'jac':callable,opt, 'args':sequence,opt} ለ COBYLA, SLSQP ዘዎዎቜ.

ዚጜሑፍ ዝርዝር፡-
1) ሁኔታዊ ዚማሻሻያ ስልተ-ቀመር በአደራ ክልል ውስጥ (ዘዮ = "trust-constr") እንደ እቃዎቜ ኚተገለጹ ገደቊቜ ጋር መጠቀምን ያስቡበት። Bounds, LinearConstraint, NonlinearConstraint ;
2) በመዝገበ ቃላት መልክ ኚተገለጹ ገደቊቜ ጋር በትንሹ ዚካሬዎቜ ዘዮ (ዘዮ = "SLSQP") በመጠቀም ተኚታታይ ፕሮግራሞቜን ያስቡበት። {'type', 'fun', 'jac', 'args'};
3) ዚድር ስቱዲዮን ምሳሌ በመጠቀም ዚተመሚቱ ምርቶቜን ዚማመቻ቞ት ምሳሌ ይተንትኑ።

ሁኔታዊ ዚማሻሻያ ዘዮ="trust-constr"

ዘዮውን መተግበር trust-constr በዛላይ ተመስርቶ EQSQP ለእኩልነት ቅርፅ ገደቊቜ እና ላይ ላሉ ቜግሮቜ ጉዞ በእኩልነት መልክ ገደቊቜ ላሉ ቜግሮቜ። ሁለቱም ዘዎዎቜ በራስ መተማመን ክልል ውስጥ ዚአካባቢን ዝቅተኛ ለማግኘት በአልጎሪዝም ዚተተገበሩ እና ለትላልቅ ቜግሮቜ ተስማሚ ና቞ው።

በአጠቃላይ ቅፅ ዝቅተኛ ዚማግኘት ቜግር ዚሂሳብ ቀመር፡-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

ለጠንካራ ዚእኩልነት ገደቊቜ, ዚታቜኛው ወሰን ኹላይኛው ወሰን ጋር እኩል ነው SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት.
ለአንድ-መንገድ ገደብ, ዹላይኛው ወይም ዚታቜኛው ገደብ ተዘጋጅቷል np.inf ኹተዛማጅ ምልክት ጋር.
ዚሁለት ተለዋዋጮቜ ዚሚታወቅ ዹ Rosenbrock ተግባር ዝቅተኛውን ማግኘት አስፈላጊ ይሁን።

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

በዚህ ሁኔታ ፣ ዚሚኚተሉት ገደቊቜ በእሱ ትርጓሜ ላይ ተቀምጠዋል-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

በእኛ ሁኔታ, በነጥቡ ላይ ልዩ ዹሆነ መፍትሄ አለ SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት, ለዚህም ዚመጀመሪያው እና አራተኛው እገዳዎቜ ብቻ ዚሚሰሩ ናቾው.
እገዳዎቹን ኚታቜ እስኚ ላይ እናልፍ እና እንዎት በሳይፕ እንጜፋ቞ው ዹሚለውን እንመልኚት።
ገደቊቜ SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት О SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት ዚቊውንድስ ነገርን በመጠቀም እንገልፀው።

from scipy.optimize import Bounds
bounds = Bounds ([0, -0.5], [1.0, 2.0])

ገደቊቜ SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት О SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት በመስመራዊ መልክ እንጜፈው፡-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

እነዚህን ገደቊቜ እንደ LinearConstraint ነገር እንገልፃ቞ው፡-

import numpy as np
from scipy.optimize import LinearConstraint
linear_constraint = LinearConstraint ([[1, 2], [2, 1]], [-np.inf, 1], [1, 1])

እና በመጚሚሻም በማትሪክስ ውስጥ ያለው ያልተለመደ ገደብ

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

ዚያዕቆብን ማትሪክስ ለዚህ ገደብ እና ዚሄሲያን ማትሪክስ ኹዘፈቀደ ቬክተር ጋር ያለውን ዚመስመር ጥምር እንገልፃለን። SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት:

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

አሁን መስመር ዹሌለውን ገደብ እንደ ዕቃ መግለፅ እንቜላለን NonlinearConstraint:

from scipy.optimize import NonlinearConstraint

def cons_f(x):
     return [x[0]**2 + x[1], x[0]**2 - x[1]]

def cons_J(x):
     return [[2*x[0], 1], [2*x[0], -1]]

def cons_H(x, v):
     return v[0]*np.array([[2, 0], [0, 0]]) + v[1]*np.array([[2, 0], [0, 0]])

nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1, jac=cons_J, hess=cons_H)

መጠኑ ትልቅ ኚሆነ፣ ማትሪክስ እንዲሁ በጥቂቱ ሊገለጜ ይቜላል፡-

from scipy.sparse import csc_matrix

def cons_H_sparse(x, v):
     return v[0]*csc_matrix([[2, 0], [0, 0]]) + v[1]*csc_matrix([[2, 0], [0, 0]])

nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1,
                                            jac=cons_J, hess=cons_H_sparse)

ወይም እንደ ዕቃ LinearOperator:

from scipy.sparse.linalg import LinearOperator

def cons_H_linear_operator(x, v):
    def matvec(p):
        return np.array([p[0]*2*(v[0]+v[1]), 0])
    return LinearOperator((2, 2), matvec=matvec)

nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1,
                                jac=cons_J, hess=cons_H_linear_operator)

ዚሄሲያን ማትሪክስ ሲሰላ SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት ብዙ ጥሚት ይጠይቃል, ክፍልን መጠቀም ይቜላሉ HessianUpdateStrategy. ዚሚኚተሉት ስልቶቜ ይገኛሉ፡- BFGS О SR1.

from scipy.optimize import BFGS

nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1, jac=cons_J, hess=BFGS())

ሂሲያን እንዲሁ ውስን ልዩነቶቜን በመጠቀም ሊሰላ ይቜላል-

nonlinear_constraint = NonlinearConstraint (cons_f, -np.inf, 1, jac = cons_J, hess = '2-point')

ዚያኮቢያን ማትሪክስ ለገደቊቜ እንዲሁ ውስን ልዩነቶቜን በመጠቀም ሊሰላ ይቜላል። ሆኖም ግን, በዚህ ሁኔታ ውስጥ ዚሄሲያን ማትሪክስ ዚመጚሚሻ ልዩነቶቜን በመጠቀም ሊሰላ አይቜልም. ሄሲያን እንደ ተግባር ወይም ዹHessianUpdateStrategy ክፍልን በመጠቀም መገለጜ አለበት።

nonlinear_constraint = NonlinearConstraint (cons_f, -np.inf, 1, jac = '2-point', hess = BFGS ())

ዚማመቻ቞ት ቜግር መፍትሄው ይህንን ይመስላል።

from scipy.optimize import minimize
from scipy.optimize import rosen, rosen_der, rosen_hess, rosen_hess_prod

x0 = np.array([0.5, 0])
res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hess=rosen_hess,
                constraints=[linear_constraint, nonlinear_constraint],
                options={'verbose': 1}, bounds=bounds)
print(res.x)

`gtol` termination condition is satisfied.
Number of iterations: 12, function evaluations: 8, CG iterations: 7, optimality: 2.99e-09, constraint violation: 1.11e-16, execution time: 0.033 s.
[0.41494531 0.17010937]

አስፈላጊ ኹሆነ, ሄሲያንን ለማስላት ያለው ተግባር LinearOperator ክፍልን በመጠቀም ሊገለጜ ይቜላል

def rosen_hess_linop(x):
    def matvec(p):
        return rosen_hess_prod(x, p)
    return LinearOperator((2, 2), matvec=matvec)

res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hess=rosen_hess_linop,
                 constraints=[linear_constraint, nonlinear_constraint],
                 options={'verbose': 1}, bounds=bounds)

print(res.x)

ወይም ዚሄሲያን ምርት እና ዹዘፈቀደ ቬክተር በመለኪያው በኩል hessp:

res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hessp=rosen_hess_prod,
                constraints=[linear_constraint, nonlinear_constraint],
                options={'verbose': 1}, bounds=bounds)
print(res.x)

በአማራጭ፣ እዚተመቻ቞ ያለው ተግባር ዚመጀመሪያ እና ሁለተኛ ተዋጜኊዎቜ በግምት ሊደሹጉ ይቜላሉ። ለምሳሌ, ሄሲያን ተግባሩን በመጠቀም ሊጠጋ ይቜላል SR1 (quasi-Newtonian approximation)። ዚግራዲዚንት ውሱን በሆኑ ልዩነቶቜ ሊጠጋ ይቜላል።

from scipy.optimize import SR1
res = minimize(rosen, x0, method='trust-constr',  jac="2-point", hess=SR1(),
               constraints=[linear_constraint, nonlinear_constraint],
               options={'verbose': 1}, bounds=bounds)
print(res.x)

ሁኔታዊ ዚማመቻ቞ት ዘዮ = "SLSQP"

ዹ SLSQP ዘዮ አንድ ተግባርን በቅጹ ዚመቀነስ ቜግሮቜን ለመፍታት ዹተነደፈ ነው፡-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

ዚት SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት О SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት - በእኩልነት ወይም በእኩልነት መልክ ገደቊቜን ዚሚገልጹ መግለጫዎቜ ጠቋሚዎቜ። SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት - ለተግባሩ ፍቺ ጎራ ዚታቜኛው እና ዹላይኛው ድንበሮቜ ስብስቊቜ።

መስመራዊ እና ቀጥተኛ ያልሆኑ ገደቊቜ በመዝገበ-ቃላት መልክ ኚቁልፎቜ ጋር ተገልጞዋል። type, fun О jac.

ineq_cons = {'type': 'ineq',
             'fun': lambda x: np.array ([1 - x [0] - 2 * x [1],
                                          1 - x [0] ** 2 - x [1],
                                          1 - x [0] ** 2 + x [1]]),
             'jac': lambda x: np.array ([[- 1.0, -2.0],
                                          [-2 * x [0], -1.0],
                                          [-2 * x [0], 1.0]])
            }

eq_cons = {'type': 'eq',
           'fun': lambda x: np.array ([2 * x [0] + x [1] - 1]),
           'jac': lambda x: np.array ([2.0, 1.0])
          }

ዹዝቅተኛውን ፍለጋ በሚኹተለው መንገድ ይኹናወናል.

x0 = np.array([0.5, 0])
res = minimize(rosen, x0, method='SLSQP', jac=rosen_der,
               constraints=[eq_cons, ineq_cons], options={'ftol': 1e-9, 'disp': True},
               bounds=bounds)

print(res.x)

Optimization terminated successfully.    (Exit mode 0)
            Current function value: 0.34271757499419825
            Iterations: 4
            Function evaluations: 5
            Gradient evaluations: 4
[0.41494475 0.1701105 ]

ዚማመቻ቞ት ምሳሌ

ወደ አምስተኛው ዹቮክኖሎጂ መዋቅር ኹመሾጋገር ጋር ተያይዞ ዚዌብ ስቱዲዮን ምሳሌ በመጠቀም ዚምርት ማመቻ቞ትን እንይ ይህም ትንሜ ግን ዹተሹጋጋ ገቢ ያስገኝልናል። እስቲ እራሳቜንን እንደ ሶስት አይነት ምርቶቜን ዚሚያመርት ጋሊ ዳይሬክተር አድርገን እናስብ።

  • x0 - ዚማሚፊያ ገጟቜን መሞጥ, ኹ 10 tr.
  • x1 - ዚኮርፖሬት ድር ጣቢያዎቜ, ኹ 20 tr.
  • x2 - ዚመስመር ላይ መደብሮቜ, ኹ 30 tr.

ዚእኛ ወዳጃዊ ዚስራ ቡድን አራት ጁኒዚር፣ ሁለት መካኚለኛ እና አንድ ሲኒዚር ያካትታል። ዚእነሱ ወርሃዊ ዚስራ ጊዜ ፈንድ፡-

  • ሰኔዎቜ፡- 4 * 150 = 600 чел * час,
  • መሀል 2 * 150 = 300 чел * час,
  • ሎነር፡ 150 чел * час.

ዚመጀመሪያው ዹሚገኝ ጁኒዹር (0 ፣ 1 ፣ 2) ሰዓታትን በአንድ ዓይነት ጣቢያ (x10 ፣ x20 ፣ x30) ፣ መካኚለኛ - (7 ፣ 15 ፣ 20) ፣ ኹፍተኛ - (5 ፣ 10 ፣ 15) ልማት እና ማሰማራት ላይ ያሳልፉ ። ) ዚህይወትዎ ምርጥ ጊዜ ሰዓታት።

ልክ እንደ ማንኛውም መደበኛ ዳይሬክተር፣ ወርሃዊ ትርፍን ኹፍ ማድሚግ እንፈልጋለን። ለስኬት ዚመጀመሪያው እርምጃ ዹዓላማውን ተግባር መፃፍ ነው value በወር ኚተመሚቱ ምርቶቜ ዚገቢ መጠን:

def value(x):
    return - 10*x[0] - 20*x[1] - 30*x[2]

ይህ ስህተት አይደለም ኹፍተኛውን ሲፈልጉ ዹዓላማው ተግባር በተቃራኒው ምልክት ይቀንሳል.

ቀጣዩ እርምጃ ሰራተኞቻቜን ኹመጠን በላይ እንዳይሰሩ መኹልኹል እና በስራ ሰዓት ላይ ገደቊቜን ማስተዋወቅ ነው፡-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

ምን እኩል ነው፡-

SciPy፣ ኚሁኔታዎቜ ጋር ማመቻ቞ት

ineq_cons = {'type': 'ineq',
             'fun': lambda x: np.array ([600 - 10 * x [0] - 20 * x [1] - 30 * x[2],
                                         300 - 7  * x [0] - 15 * x [1] - 20 * x[2],
                                         150 - 5  * x [0] - 10 * x [1] - 15 * x[2]])
            }

መደበኛ ገደብ ዚምርት ውፅዓት አዎንታዊ ብቻ መሆን አለበት፡-

bnds = Bounds ([0, 0, 0], [np.inf, np.inf, np.inf])

እና በመጚሚሻም ፣ በጣም አስደሳቜ ግምት በዝቅተኛ ዋጋ እና ኹፍተኛ ጥራት ምክንያት ፣ ደስተኛ ደንበኞቜ ወሹፋ ለእኛ ያለማቋሚጥ ይሰለፋሉ። ዹተገደበ ዚማመቻ቞ት ቜግርን በመፍታት ላይ በመመስሚት ወርሃዊ ዚምርት መጠኖቜን እራሳቜንን መምሚጥ እንቜላለን scipy.optimize:

x0 = np.array([10, 10, 10])
res = minimize(value, x0, method='SLSQP', constraints=ineq_cons, bounds=bnds)
print(res.x)

[7.85714286 5.71428571 3.57142857]

ወደ ሙሉ ቁጥሮቜ እናዞራ እና ወርሃዊ ዚቀዘፋዎቜን ጭነት በጥሩ ዚምርት ስርጭት እናሰላ። x = (8, 6, 3) :

  • ሰኔዎቜ፡- 8 * 10 + 6 * 20 + 3 * 30 = 290 чел * час;
  • መሀል 8 * 7 + 6 * 15 + 3 * 20 = 206 чел * час;
  • ሎነር፡ 8 * 5 + 6 * 10 + 3 * 15 = 145 чел * час.

ማጠቃለያ-ዳይሬክተሩ ዚሚገባውን ኹፍተኛውን ለመቀበል ፣ 8 ማሚፊያ ገጟቜን ፣ 6 መካኚለኛ መጠን ያላ቞ውን ጣቢያዎቜን እና 3 መደብሮቜን በወር መፍጠር ጥሩ ነው። በዚህ ሁኔታ ሲኒዚር ኚማሜኑ ቀና ብሎ ሳያይ ማሚስ አለበት ፣ ዚመሃልዎቹ ጭነት በግምት 2/3 ፣ ጁኒዚርዎቹ ኚግማሜ በታቜ ይሆናሉ።

መደምደሚያ

ጜሑፉ ኚጥቅሉ ጋር ለመስራት መሰሚታዊ ቎ክኒኮቜን ይዘሚዝራል scipy.optimize, ሁኔታዊ ዚመቀነስ ቜግሮቜን ለመፍታት ያገለግላል. በግሌ እጠቀማለሁ። scipy ለአካዳሚክ ዓላማ ብቻ ነው፣ ለዚህም ነው ዹተሰጠው ምሳሌ እንደዚህ አይነት አስቂኝ ተፈጥሮ ዚሆነው።

ብዙ ንድፈ ሃሳቊቜ እና ምናባዊ ምሳሌዎቜ ለምሳሌ በ IL Akulich መጜሃፍ ውስጥ "በምሳሌዎቜ እና ቜግሮቜ ውስጥ ዚሂሳብ ፕሮግራሞቜ" ይገኛሉ. ተጚማሪ ሃርድኮር መተግበሪያ scipy.optimize ኚምስሎቜ ስብስብ ዹ 3 ዲ መዋቅር ለመገንባት (በ hub ላይ መጣጥፍ) ውስጥ ሊታይ ይቜላል። scipy-ዚምግብ ማብሰያ.

ዋናው ዹመሹጃ ምንጭ ነው። docs.scipy.orgለዚህ እና ለሌሎቜ ክፍሎቜ ትርጉም አስተዋጜኊ ለማድሚግ ዹሚፈልጉ scipy እንኩአን ደህና መጡ ዹፊልሙ.

СпасОбП mephistophees በህትመቱ ዝግጅት ላይ ለመሳተፍ.

ምንጭ: hab.com

አስተያዚት ያክሉ