GithubHelp home page GithubHelp logo

floswald / numericalmethods Goto Github PK

View Code? Open in Web Editor NEW
72.0 5.0 74.0 88.13 MB

website for numerical methods course

Home Page: https://floswald.github.io/NumericalMethods/

HTML 19.12% Julia 4.71% Jupyter Notebook 75.42% Makefile 0.01% C++ 0.01% SCSS 0.03% CSS 0.04% JavaScript 0.15% TeX 0.53%

numericalmethods's Introduction

Computational Economics for PhDs

Go to course website ๐ŸŽˆ

DOI

Course Description

This is a course for PhD students in Computational Economics.

Course Overview

In this course you will learn about some commonly used methods in Computational Economics. These methods are being used in all fields of Economics. The course has a clear focus on applying what you learn. We will cover the theoretical concepts that underlie each topic, but you should expect a fair amount of hands on action required on your behalf. In the words of the great Che-Lin Su:

Doing Computation is the only way to learn Computation. Doing Computation is the only way to learn Computation. Doing Computation is the only way to learn Computation.

True to that motto, there will be homeworks for you to try out what you learned in class. There will also be a term paper.

Prerequisites

  1. You need a laptop.
  2. You should be familiar with the material from Introduction to Programming taught by Clement Mazet in M1. Check out the materials here
  3. You must sign up for a free account at github.com. Choose a reasonable user name and upload a profile picture.
  4. Before you come the first class, please do this:
    1. Download the latest stable julia release for your OS.
    2. Download the VSCode Editor

Getting Programming Skills

  1. Check out Clement Mazet's materials. You must know this level.
  2. We will be using Julia for this course.
  3. Clement in his course will introduce you to things like the Unix Shell and the verion control system Git. Both of those are very useful - for this course, and for the rest of your life as a scientist.
  4. What is Version Control? watch this 5 minute video. and go back to Clement's stuff if unclear.

License

The copyright notice to be included in any copies and other derivative work of this material is:

Copyright 2021 Florian Oswald, Sciences Po Paris, [email protected]

Thank you.

This is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

numericalmethods's People

Contributors

floswald avatar pkofod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

numericalmethods's Issues

Homework 4 - Objective and Constraint

Hi, I'm following the course (thanks for making it public btw!) and struggling a bit with setting up the objective and constraint functions in homework 4. Unfortunately there is no check built-in to the notebook for those. These are the functions I have set up:

function obj(x::Vector, grad::Vector, data::Dict)
	a = data[:a]
	ns = data[:ns]
	z = data[:z]
	zp = data[:zp]
	ฯ€ = data[:ฯ€]
	if length(grad) > 0
		grad[1] = up(a, x[1])
		grad[2] = sum(ฯ€ * a .* zp[:, 1] * up(a, sum(x[2] * zp[:, 1])))
		grad[3] = sum(ฯ€ * a .* zp[:, 2] * up(a, sum(x[3] * zp[:, 2])))
		grad[4] = sum(ฯ€ * a .* zp[:, 3] * up(a, sum(x[4] * zp[:, 3])))
	end
	return u(a, x[1]) + sum([ฯ€[s] * u(a, sum(x[2:end] .* zp[s, :])) for s in 1:ns])
end

function constr(x::Vector, grad::Vector, data::Dict)
	p = data[:p]
	e = data[:e]
	if length(grad) > 0
		grad[1] = 1
		grad[2] = p[1]
		grad[3] = p[2]
		grad[4] = p[3]
	end
	return x[1] + sum(p .* x[2:end]) - sum(p .* e)
end

Would appreciate if you could let me know if this is correct or otherwise point out where I'm wrong.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.