# ECE490
Repo to collaborate within for UIUC's ECE490, Spring 2023
## Installation
### Installation from PyPI
This should be as simple as:
```bash
python -m pip install uiuc-490-sp23
```
### Installation from Source
This project uses [Poetry](https://python-poetry.org/) Install it via
[their instructions](https://python-poetry.org/docs/#installing-with-the-official-installer)
and run:
```bash
poetry install
```
from this directory (preferably from within a `venv`).
## Executing
Once installed, individual assignments can be ran by:
```bash
python -m uiuc_490_sp23.assignment<n>
```
where `<n>` is the assignment number. These will have a CLI implemented using argparse; if you're not sure,
just run the above with `--help` to get a full list of commands.
## Assignments
### Assignment 1: Gradient Descent
This solves a simple, randomly generated quadratic minimization problem using Gradient Descent. It does so using
both fixed step size, as well as an adaptive backtracking line search (Armijo's rule).
### Assignment 2: Newton's Method and Projected Gradient Descent
This assignment does two things:
- Implements Newton's method to solve a simple 2D cubic polynomial and plots a fractal displaying the resulting solution based on the starting point
- Implements Projected gradient descent and uses it to solve a simple box constrained optimization problem
### Assignment 3: Augmented Lagrangian
This assignment implements the augmented Lagrangian to solve an equality constrained quadratic problem.
Raw data
{
"_id": null,
"home_page": "https://github.com/eric-silk/ECE490",
"name": "uiuc-490-sp23",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<3.12",
"maintainer_email": "",
"keywords": "optimization",
"author": "Eric Silk",
"author_email": "eric.silk@ericsilk.com",
"download_url": "https://files.pythonhosted.org/packages/67/40/b355f55e38c9e011a649234beac1d204ba151863590a77403ab079e54f34/uiuc_490_sp23-0.1.3.tar.gz",
"platform": null,
"description": "# ECE490\nRepo to collaborate within for UIUC's ECE490, Spring 2023\n\n## Installation\n### Installation from PyPI\nThis should be as simple as:\n```bash\npython -m pip install uiuc-490-sp23\n```\n### Installation from Source\nThis project uses [Poetry](https://python-poetry.org/) Install it via\n[their instructions](https://python-poetry.org/docs/#installing-with-the-official-installer)\nand run:\n```bash\npoetry install\n```\nfrom this directory (preferably from within a `venv`).\n\n## Executing\nOnce installed, individual assignments can be ran by:\n```bash\npython -m uiuc_490_sp23.assignment<n>\n```\nwhere `<n>` is the assignment number. These will have a CLI implemented using argparse; if you're not sure,\njust run the above with `--help` to get a full list of commands.\n\n\n## Assignments\n### Assignment 1: Gradient Descent\nThis solves a simple, randomly generated quadratic minimization problem using Gradient Descent. It does so using\nboth fixed step size, as well as an adaptive backtracking line search (Armijo's rule).\n\n### Assignment 2: Newton's Method and Projected Gradient Descent\nThis assignment does two things:\n- Implements Newton's method to solve a simple 2D cubic polynomial and plots a fractal displaying the resulting solution based on the starting point\n- Implements Projected gradient descent and uses it to solve a simple box constrained optimization problem\n\n### Assignment 3: Augmented Lagrangian\nThis assignment implements the augmented Lagrangian to solve an equality constrained quadratic problem.",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Programming assignments for UIUC's ECE490: Introduction to Optimization course during Spring 2023",
"version": "0.1.3",
"split_keywords": [
"optimization"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a70948d502b4962b2ebfecfa64399412d88d8b2a92731b53563a06dd00cc436f",
"md5": "3b8bf6d36ed73514e5af8d195ce66186",
"sha256": "829eaa8862e4d9ced901a791bf7102563bd008cd0436868713dba03af7fceeda"
},
"downloads": -1,
"filename": "uiuc_490_sp23-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3b8bf6d36ed73514e5af8d195ce66186",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<3.12",
"size": 152322,
"upload_time": "2023-04-23T19:31:21",
"upload_time_iso_8601": "2023-04-23T19:31:21.218267Z",
"url": "https://files.pythonhosted.org/packages/a7/09/48d502b4962b2ebfecfa64399412d88d8b2a92731b53563a06dd00cc436f/uiuc_490_sp23-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6740b355f55e38c9e011a649234beac1d204ba151863590a77403ab079e54f34",
"md5": "b43b49d27f28b9e766853341ebec4c29",
"sha256": "3d39075d4dfec586f8d3654dd933a295dc4f5e232a4456041ba87492aecf6eca"
},
"downloads": -1,
"filename": "uiuc_490_sp23-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "b43b49d27f28b9e766853341ebec4c29",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<3.12",
"size": 150904,
"upload_time": "2023-04-23T19:31:23",
"upload_time_iso_8601": "2023-04-23T19:31:23.234073Z",
"url": "https://files.pythonhosted.org/packages/67/40/b355f55e38c9e011a649234beac1d204ba151863590a77403ab079e54f34/uiuc_490_sp23-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-23 19:31:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "eric-silk",
"github_project": "ECE490",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "uiuc-490-sp23"
}