# Homework¶

**Homework submission**

You must upload separate “computational” and “analytical” submissions to Canvas for each assignment. While you will receive a single grade for the overall assignment, these are graded in different ways (hence the separate submissions).

Computational problems:Upload a single ”.zip” file, containing

allroutines required to run your codes (including any files provided by the instructor) – Matlab functions/scripts must be submitted as ”.m” files, and Python functions/scripts must be submitted as ”.py” files. I will unpack and run what you submit, so if your codes have erroneous names (e.g., capitalization/spelling), if you omit any files, or if you use non-standard toolboxes/packages, your codes will not run.

Analytical problems:You must upload a

single ”.pdf” file, containing all of your analytical work. Do not submit graphics files (e.g., ”.png” or ”.jpg”), Word documents, or multiple files, since I grade your assignment using the Canvas PDF markup tools.

**Homework grading:**

Since I have no TA/grader support for this class, I will select two problems from each assignment to grade closely. These will account for 70% of the overall grade. The remaining problems will be awarded a

completiongrade for the remaining 30%.Analytical problem rubric:

Proof/solution technique:(10% max) – the proof/solution technique should be clearly identifiable, with no missing components.

Logical ordering of steps/arguments:(20% max) – all steps/arguments should follow from previous statements, without “circular” or random ordering, and without any skipped steps.

Justification of steps:(30% max) – all steps/arguments should be sufficiently justified (quote major definitions or theorems, explainin short sentencesany major steps).

Validity:(40% max) – the proof has no holes or errors, and the calculations contain no mistakes.Computational problem rubric (see my examples for formatting/commenting templates):

Formatting:(10% max) – all Matlab scripts begin with the`clear`

command; all files are indented correctly/consistently; all file/function names and arguments match the assignment specifications.

Commenting:(20% max) – all files include your name and a comment header indicating its purpose; function comment headers document all input and output arguments; accurate commenting is includedthroughoutall files.

Completion/presentation:(20% max) – all codes run (even if the output is incorrect); plots have axis labels, titles, and legends (if multiple curves are plotted) with valid descriptions of the data; printed outputs are appropriately labeled, withno extraneous output.

Efficiency/elegance:(20% max) – elegant code uses loops, functions and whole-array operations to enable readability; efficient code pre-allocates data, and avoids redundant computations or data allocations.

Accuracy:(30% max) – codes correctly implement the mathematical algorithms for the targeted problems.

## Assignments¶

- Homework 1:
`Mathematical Background & Matrix Arithmetic`

(due Feb 8)- Testing scripts:
`prob4.m`

and`prob4.py`

- Written solutions:
`Written problems`

- Matlab solutions:
`bvp.m`

- Python solutions:
`bvp.py`

- Testing scripts:
- Homework 2:
`Cholesky, Gaussian Elimination and LU`

(due Feb 22)- Written solutions:
`Written problems`

- Matlab solutions:
`inverse.m`

,`test_inv.m`

(testing script:`test_inverse.m`

) - Python solutions:
`inverse.py`

,`test_inv.py`

(testing script:`test_inverse.py`

)

- Written solutions:
- Homework 3:
`Sensitivity of Linear Systems`

(due Mar 22)- Written solutions:
`Written problems`

- Matlab solutions:
`naiveLU.m`

,`TestLU.m`

,`fwdsub_col.m`

,`bwdsub_col.m`

(testing script:`test_naiveLU.m`

) - Python solutions:
`naiveLU.py`

,`TestLU.py`

,`fwdsub_row.py`

,`bwdsub_row.py`

(testing script:`test_naiveLU.py`

)

- Written solutions:
- Homework 4:
`Error Propagation and Remedies`

(due Mar 29)- Written solutions:
`Written problems`

- Matlab solutions:
`IterativeRefinement.m`

,`TestIR.m`

(along with`naiveLU.m`

,`fwdsub_col.m`

and`bwdsub_col.m`

from homework 3) (testing script:`test_IterRefine.m`

) - Python solutions:
`IterativeRefinement.py`

,`TestIR.py`

(along with`naiveLU.py`

,`fwdsub_row.py`

and`bwdsub_row.py`

from homework 3) (testing script:`test_IterRefine.py`

)

- Written solutions:
- Homework 5:
`Least-Squares`

(due Apr 18)- Written solutions:
`Written problems`

- Matlab solutions:
`QRfact.m`

,`TestQR.m`

(along with`bwdsub_col.m`

from earlier) (testing script:`hw5_test.m`

) - Python solutions:
`QRfact.py`

,`TestQR.py`

(along with`bwdsub_row.py`

from earlier) (testing script:`hw5_test.py`

)

- Written solutions:
- Homework 6:
`SVD, Eigenvalues and Eigenvectors`

(due May 3)- Data files:
`climate_data.txt`

(required) and`README_climate_data.txt`

(optional) - Written solutions:
`Written problems`

- Matlab solutions:
`LeastSquares.m`

- Python solutions:
`LeastSquares.py`

- Data files: