Skip to content
This repository has been archived by the owner on Nov 17, 2022. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
peisenha committed Nov 10, 2021
2 parents 6b90557 + 73eab58 commit d5c2e67
Show file tree
Hide file tree
Showing 24 changed files with 83 additions and 59 deletions.
3 changes: 3 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ export JUPYTER_CONFIG_DIR=$PWD/configurations/jupyter

# Location for startup scripts
export IPYTHONDIR=$PWD/configurations/ipython

# We need to be able to import our package
export PYTHONPATH=$PWD:$PYTHONPATH
File renamed without changes.
1 change: 1 addition & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import sys

sys.path.insert(0, os.path.abspath("."))
print(sys.executable)

# -- Project information -----------------------------------------------------

Expand Down
Empty file added lectures/__init__.py
Empty file.
Empty file.
5 changes: 3 additions & 2 deletions lectures/approximation/approximation_algorithms.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
"""Algorithms for approximation lecture."""
import numpy as np
from approximation_auxiliary import get_chebyshev_nodes
from approximation_auxiliary import get_uniform_nodes
from scipy.interpolate import interp1d

from lectures.approximation.approximation_auxiliary import get_chebyshev_nodes
from lectures.approximation.approximation_auxiliary import get_uniform_nodes


def get_interpolator_runge_baseline(func):
"""Return interpolator runge function (baseline)."""
Expand Down
13 changes: 7 additions & 6 deletions lectures/approximation/approximation_plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@

import matplotlib.pyplot as plt
import numpy as np
from approximation_algorithms import get_interpolator_monomial_flexible_nodes
from approximation_auxiliary import get_chebyshev_nodes
from approximation_auxiliary import get_uniform_nodes
from approximation_auxiliary import spline_basis
from approximation_problems import problem_reciprocal_exponential
from approximation_problems import problem_two_dimensions
from scipy.interpolate import interp1d
from temfpy.interpolation import runge

from lectures.approximation.approximation_algorithms import get_interpolator_monomial_flexible_nodes
from lectures.approximation.approximation_auxiliary import get_chebyshev_nodes
from lectures.approximation.approximation_auxiliary import get_uniform_nodes
from lectures.approximation.approximation_auxiliary import spline_basis
from lectures.approximation.approximation_problems import problem_reciprocal_exponential
from lectures.approximation.approximation_problems import problem_two_dimensions


def plot_runge():
"""Plot runge function."""
Expand Down
11 changes: 6 additions & 5 deletions lectures/approximation/approximation_solutions_exercises.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

import numpy as np
import pandas as pd
from approximation_algorithms import get_interpolator
from approximation_auxiliary import compute_interpolation_error_df
from approximation_auxiliary import get_uniform_nodes
from approximation_problems import problem_kinked
from approximation_problems import problem_reciprocal_exponential
from temfpy.interpolation import runge

from lectures.approximation.approximation_algorithms import get_interpolator
from lectures.approximation.approximation_auxiliary import compute_interpolation_error_df
from lectures.approximation.approximation_auxiliary import get_uniform_nodes
from lectures.approximation.approximation_problems import problem_kinked
from lectures.approximation.approximation_problems import problem_reciprocal_exponential


def test_exercise_1():
"""Run test exercise 1."""
Expand Down
Empty file.
15 changes: 8 additions & 7 deletions lectures/integration/integration_algorithms_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@

import chaospy as cp
import numpy as np
from integration_algorithms import monte_carlo_naive_one
from integration_algorithms import monte_carlo_naive_two_dimensions
from integration_algorithms import monte_carlo_quasi_two_dimensions
from integration_algorithms import quadrature_gauss_legendre_one
from integration_algorithms import quadrature_gauss_legendre_two
from integration_algorithms import quadrature_newton_simpson_one
from integration_algorithms import quadrature_newton_trapezoid_one
from scipy.stats import uniform

from lectures.integration.integration_algorithms import monte_carlo_naive_one
from lectures.integration.integration_algorithms import monte_carlo_naive_two_dimensions
from lectures.integration.integration_algorithms import monte_carlo_quasi_two_dimensions
from lectures.integration.integration_algorithms import quadrature_gauss_legendre_one
from lectures.integration.integration_algorithms import quadrature_gauss_legendre_two
from lectures.integration.integration_algorithms import quadrature_newton_simpson_one
from lectures.integration.integration_algorithms import quadrature_newton_trapezoid_one


def test_1():
"""Return test 1."""
Expand Down
11 changes: 6 additions & 5 deletions lectures/integration/integration_plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from integration_algorithms import monte_carlo_naive_one
from integration_algorithms import quadrature_gauss_legendre_one
from integration_algorithms import quadrature_newton_trapezoid_one
from integration_problems import problem_kinked
from integration_problems import problem_smooth

from lectures.integration.integration_algorithms import monte_carlo_naive_one
from lectures.integration.integration_algorithms import quadrature_gauss_legendre_one
from lectures.integration.integration_algorithms import quadrature_newton_trapezoid_one
from lectures.integration.integration_problems import problem_kinked
from lectures.integration.integration_problems import problem_smooth


def plot_gauss_legendre_weights(deg):
Expand Down
19 changes: 11 additions & 8 deletions lectures/integration/integration_solutions_exercises.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,19 @@

import numpy as np
import pandas as pd
from integration_algorithms import monte_carlo_naive_two_dimensions as mc_naive
from integration_algorithms import monte_carlo_quasi_two_dimensions as mc_quasi
from integration_algorithms import quadrature_gauss_legendre_one
from integration_algorithms import quadrature_gauss_legendre_two as gc_legendre_two
from integration_algorithms import quadrature_newton_simpson_one
from integration_algorithms import quadrature_newton_trapezoid_one
from integration_problems import problem_kinked
from integration_problems import problem_smooth
from temfpy.integration import discontinuous

from lectures.integration.integration_algorithms import monte_carlo_naive_two_dimensions as mc_naive
from lectures.integration.integration_algorithms import monte_carlo_quasi_two_dimensions as mc_quasi
from lectures.integration.integration_algorithms import quadrature_gauss_legendre_one
from lectures.integration.integration_algorithms import (
quadrature_gauss_legendre_two as gc_legendre_two,
)
from lectures.integration.integration_algorithms import quadrature_newton_simpson_one
from lectures.integration.integration_algorithms import quadrature_newton_trapezoid_one
from lectures.integration.integration_problems import problem_kinked
from lectures.integration.integration_problems import problem_smooth


def test_exercise_1():
"""Get solution for exercise 1."""
Expand Down
Empty file.
13 changes: 7 additions & 6 deletions lectures/linear_equations/linear_algorithms_tests.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
"""This module contains some tests for our functions."""
import numpy as np
import pytest
from linear_algorithms import backward_substitution
from linear_algorithms import forward_substitution
from linear_algorithms import gauss_seidel
from linear_algorithms import solve
from linear_problems import get_random_problem
from linear_solutions_tests import gauss_jacobi

from lectures.linear_equations.linear_algorithms import backward_substitution
from lectures.linear_equations.linear_algorithms import forward_substitution
from lectures.linear_equations.linear_algorithms import gauss_seidel
from lectures.linear_equations.linear_algorithms import solve
from lectures.linear_equations.linear_problems import get_random_problem
from lectures.linear_equations.linear_solutions_tests import gauss_jacobi


@pytest.mark.repeat(5)
Expand Down
7 changes: 4 additions & 3 deletions lectures/linear_equations/linear_solutions_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@

import matplotlib.pyplot as plt
import numpy as np
from linear_algorithms import backward_substitution
from linear_algorithms import eps
from linear_problems import get_random_problem

from lectures.linear_equations.linear_algorithms import backward_substitution
from lectures.linear_equations.linear_algorithms import eps
from lectures.linear_equations.linear_problems import get_random_problem


def test_1():
Expand Down
Empty file.
7 changes: 4 additions & 3 deletions lectures/nonlinear_equations/nonlinear_algorithms_tests.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
"""Tests for nonlinear equations lecture."""
import numpy as np
from nonlinear_algorithms import bisect
from nonlinear_algorithms import fixpoint
from nonlinear_algorithms import newton_method
from scipy.optimize import bisect as sp_bisect

from lectures.nonlinear_equations.nonlinear_algorithms import bisect
from lectures.nonlinear_equations.nonlinear_algorithms import fixpoint
from lectures.nonlinear_equations.nonlinear_algorithms import newton_method


def test_1():
"""Bisection method is working."""
Expand Down
5 changes: 3 additions & 2 deletions lectures/nonlinear_equations/nonlinear_plots.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
"""Plots for nonlinear equations lecture."""
import matplotlib.pyplot as plt
import numpy as np
from nonlinear_algorithms import funcit
from nonlinear_algorithms import newton_method
from scipy.optimize import root

from lectures.nonlinear_equations.nonlinear_algorithms import funcit
from lectures.nonlinear_equations.nonlinear_algorithms import newton_method


def plot_bisection_test_function(f):
"""Plot bisect example."""
Expand Down
13 changes: 7 additions & 6 deletions lectures/nonlinear_equations/nonlinear_solutions_exercises.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@

import matplotlib.pyplot as plt
import numpy as np
from nonlinear_algorithms import bisect
from nonlinear_algorithms import fixpoint
from nonlinear_algorithms import newton_method
from nonlinear_problems import bisection_test_function
from nonlinear_problems import get_cournot_problem
from nonlinear_problems import newton_pathological_example
from scipy import optimize

from lectures.nonlinear_equations.nonlinear_algorithms import bisect
from lectures.nonlinear_equations.nonlinear_algorithms import fixpoint
from lectures.nonlinear_equations.nonlinear_algorithms import newton_method
from lectures.nonlinear_equations.nonlinear_problems import bisection_test_function
from lectures.nonlinear_equations.nonlinear_problems import get_cournot_problem
from lectures.nonlinear_equations.nonlinear_problems import newton_pathological_example


def test_exercise_1():
"""Test for exercise 1."""
Expand Down
6 changes: 3 additions & 3 deletions lectures/nonlinear_equations/notebook.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"metadata": {},
"outputs": [],
"source": [
"#from temfpy.nonlinear_equations import exponential # noqa: F401\n",
"# from temfpy.nonlinear_equations import exponential # noqa: F401\n",
"from scipy import optimize\n",
"import pandas as pd\n",
"import numpy as np\n",
Expand Down Expand Up @@ -1290,7 +1290,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
Expand All @@ -1304,7 +1304,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
"version": "3.8.12"
}
},
"nbformat": 4,
Expand Down
Empty file.
3 changes: 2 additions & 1 deletion lectures/optimization/optimization_solutions_exercises.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from optimization_problems import get_test_function
from scipy.optimize import minimize
from scipy.stats import logistic
from scipy.stats import norm

from lectures.optimization.optimization_problems import get_test_function


def test_exercise_1():
"""Solution for exercise 1."""
Expand Down
6 changes: 6 additions & 0 deletions rtd_environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ dependencies:
- jupyter_nbextensions_configurator
- nbsphinx
- nb_black
- numpy
- scipy
- pandas
- chaospy
- matplotlib
- pytest
- pip
- restructuredtext_lint
- pip:
Expand Down
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ addopts = --black --flake8 --doctest-modules --ignore-glob="configurations/*"
python_files = *_tests.py *_solutions_*

[flake8]
ignore = D301, W503, E203, N806, E741, T001, B007, D004
ignore = D301, W503, E203, N806, E741, T001, B007, D004, D104
max-line-length = 100
exclude = configurations/*, conf.py

Expand All @@ -15,4 +15,4 @@ ignore = W293, W291, W503, D301, W503, E203, N806, E741, T001, B007, F401, D004
[doc8]
max-line-length = 100
ignore-path = iteration/lecture_plan_2021.rst, README.rst
ignore = D004
ignore = D004, D104

0 comments on commit d5c2e67

Please sign in to comment.