課後練習 03
題目敘述與分數比率
- (10%,當週 demo)實測並回答能使教材降階展開範例計算行列式值的時間,在體感 5 秒以內的最大 N 值。
- (10%,當週 demo)接續教材的三角化的範例,以「對角線上非零元素的個數」來計算矩陣的 rank,並與 numpy 內建的 rank 計算函式的結果進行比較。
- (10%,當週 demo)接續教材的三角化的範例,以「對角線上的元素的乘積」來計算矩陣的行列式值,並與 numpy 內建的行列式計算函式的結果進行比較。注意:請記得跟三角化前的矩陣也做比較。
- (40%,可於次週 demo)請以 time 或其他函式庫,測量以降階展開的方式計算行列式值時,當矩陣大小 N 在 2 以上的時間,並將結果繪製成折線圖
- 一個 N 值只需要做一次實驗,N 值最大須至第一題求出的最大值為止。
- 計時跟繪圖必須在同一個 py 檔案裡執行一次即完成,不能有計時後複製結果至另外的檔案再繪圖,或任何類似行為。
- 圖的 x 軸必須是 N 值,y 軸必須是時間,且皆必須以 xlabel 及 ylabel 標示。
- 次週 demo 者,程式碼請於屆時直接帶至課堂,不必事先繳交。
- (5% bonus)於本週 demo 此題。
- (30%,可於次週 demo)將上一題的每個 N 都做十次以上的實驗,並改畫成 boxplot。
注意事項
- 排隊請使用此連結。
- 本週題目皆允許使用 numpy,最後兩題增加允許使用 matplotlib 和你選定的計時函式庫。此外,在不違反題目要求的情況下,可以盡量使用 numpy 的內建函式。
- 於前三題中,對教材範例的修改應該盡可能的少。若教師或助教判定你有太多不必要的修改時,可能會予以扣分。