MCPcopy Index your code
hub / github.com/SLiCAP/SLiCAP_python / _detBS

Function _detBS

SLiCAP/SLiCAPmath.py:148–170  ·  view source on GitHub ↗
(M)

Source from the content-addressed store, hash-verified

146 return sp.expand(D)
147
148def _detBS(M):
149 newM = M.copy()
150 sign = 1
151 dim = newM.shape[0]
152 for k in range(dim-1):
153 if newM[k, k].is_zero:
154 for m in range(k+1, dim-1):
155 if newM[m, k] != 0:
156 row_m = newM.row(m)
157 newM[m, :] = newM.row(k)
158 newM[k, :] = row_m
159 sign = -sign
160 break
161 if m == dim-1:
162 return sp.S(0)
163 for i in range(k+1, dim):
164 for j in range(k+1, dim):
165 newM[i, j] = newM[k, k] * newM[i, j] - newM[i, k] * newM[k, j]
166 if k:
167 newM[i, j] = sp.factor(newM[i, j] / newM[k-1, k-1])
168 newM[i, k] = 0
169 D = sign * newM[dim-1, dim-1]
170 return sp.simplify(D)
171
172def _Roots(expr, var):
173 if isinstance(expr, sp.Basic) and isinstance(var, sp.Symbol):

Callers 1

detFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected