# Numerical Analysis (Jan-May 2023)

```
Class timings: Tuesday and Friday, 9:30 AM to 11:00 AM
Wednesday, 2:00 to 3:30 PM
Class room : Auditorium
First class : 3 January 2023
Grading : Homework (30), midterm (30), final (40)
TA : Arpit Babbar
```

**Re-exam policy**: No re-exam will be given in case of failure and course has to be repeated next year.

**Mid-term exam**:

**Final exam**:

All documents and communication will be sent through Google Classroom. Do not email me directly unless it is a personal issue.

## Students

- Pradipta Chatterjee
- Anupam Nayak
- Aniket Pal
- Kousik Samanta
- Keshav Sharma

## Assignments

Assignments must be done individually without discussing with others. You can discuss with the TA.

It is **highly recommended** to write the assignment in LaTeX [1,2]. You can install LaTeX on your laptop and use TexStudio as a LaTeX editor. Or use the free online tool Overleaf which works in the browser and does not require any installation. Another very good software for writing mathematical documents is Texmacs.

If you write assignments by hand, then they must be written on standard A4 size paper only. There must be a margin of about 1 inch drawn on left of front-side and a corresponding margin on right of back-side, together with a margin on top of every page. Write assignment number, your full name and date of submission. Cleanliness and clarity in writing will carry weightage while grading.

Assignments can also be written in the form of jupyter notebook where you can use LaTeX.

Assignments should be submitted on Google Classroom. If it is handwritten, then scan it and upload the pdf on Google Classroom.

File names must contain assignment number and your name, in this format: `Assign_1_YourName.pdf`

or `Assign_1_YourName.ipynb`

. If the assignment is given as a jupyter notebook `foo.ipynb`

, submit your solution as `foo_YourName.ipynb`

. Do not use spaces in file names.

Most of the examples codes given will be in Python. You are encouraged to write coding assignments in Python, but you are free to use other languages like C/C++/Python/Matlab/Julia.

Here are some tips on writing assignment and exam.

- Explain how you will index vector/matrix entries, 0-based or 1-based indexing.
- Make pictures if it helps to explain the ideas.
- Dont just write down the equations of the numerical method, explain how you arrive at them.
- For coding assignments, after you obtain the numerical result, make some conclusions from the results. How good is the solution, are there any problems with it, does it agree with the theoretical analysis of the method, etc.

## Intro to Python

We will extensively use Python in this course and you can install it on your laptop using conda. You can also run it in the cloud, see below. We will use jupyter notebooks via jupyter-lab. We will need following Python modules

```
numpy matplotlib scipy sympy jupyterlab prettytable
```

See here for more info on installing with Conda.

A small introduction to some Python that is useful for this course is available here. In the terminal, you can clone this repository

```
git clone https://github.com/cpraveen/python
cd python
```

or download a zip file, or

```
wget https://github.com/cpraveen/python/archive/master.zip
unzip master.zip
cd python-master
```

## Codes

## Running in cloud

- Github codespaces (Recommended)
- StudioLab: You need to get a free account. Install some modules by creating a notebook with this code block
`%conda install numpy scipy sympy matplotlib prettytable`

You only need to do this once.

- Colab: You need a google account and the notebooks are saved into your Google drive, typically in the directory called
`Colab Notebooks`

. - Matlab Online: You need to get a free account.

## References

- LaTeX in 30 minutes
- A simple guide to LaTeX
- L. N. Trefethen and D. Bau, Numerical Linear Algebra, SIAM.
- S. L. Brunton and J. N. Katz, Data Driven Science and Engineering: Machine Learning, Dynamical Systems and Control, Cambridge Univ. Press.
- James Demmel, Applied Numerical Linear Algebra, SIAM.
- E. Darve and M. Wootters, Numerical Linear Algebra with Julia, SIAM.
- G. H. Golub and C. F. Van Loan, Matrix Computations, HBA.