有沒有一種方法來評估函數/表達式中的數字操作數(+, - ,/,*)?計數算術運算
在示例,讓我們簡單的線性代數問題(Ax = b
):
A_data = np.array([[1, -4, 1],
[1, 6, -1],
[2, -1, 2]], dtype=float)
b_data = np.array([[7],
[13],
[5]], dtype=float)
接着,讓應用Gauss消去過程:
def gauss_elim(A, b):
Ab = np.column_stack((A, b))
for k, pivot_row in enumerate(Ab[:-1]):
for row in Ab[k+1:]:
if pivot_row[k] != 0:
row[k:] = row[k:] - pivot_row[k:] * row[k]/pivot_row[k]
return Ab
結果是:
array([[ 1. , -4. , 1. , 7. ],
[ 0. , 10. , -2. , 6. ],
[ 0. , 0. , 1.4, -13.2]])
我如何計算操作?
注意:我知道可以事先計算評估操作次數(即對於Gaussian elimination它是O(n^3))。
「數字」是什麼意思? – Divakar
*「是否有一種方法可以用數字方式評估數字操作的數量(+, - ,/,*)。」* - 其中有四個? – jonrsharpe
你可以使用['unittest.mock.Mock.call_count'](https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.call_count)和使用'對象'數組 –