Skoči na vsebino

Naloge

Naloge so namenjene sprotnemu reševanju. Če se zatakne, poglejte namige (ali skočite na rešitve).

Naloga 1 - množenje matrik iz Pythona

V C++ izpostavite funkcijo matmul(A, B) in jo pokličite iz Pythona z NumPy polji.

Kriterij uspeha:

  • rezultat se ujema z A @ B v Pythonu (znotraj tolerance)

Namig:

  • začnite z Eigen::MatrixXd matmul(Eigen::MatrixXd A, Eigen::MatrixXd B).

Naloga 2 - izognite se kopijam (konceptualno)

Ustvarite pogled NumPy: A[:, ::2] (nezvezna postavitev) in ga podajte vezavi.

Kriterij uspeha:

  • znate pojasniti, ali se verjetno zgodi kopiranje in zakaj.

Namig:

  • poglejte A.flags.

Naloga 3 - validacija vhodov

Preverite, ali imata A in B združljive oblike; sicer vrzite izjemo.