cell_dependencies$b1c510c9-4130-4f5e-8d15-3bfaf0a61033precedence_heuristic cell_id$b1c510c9-4130-4f5e-8d15-3bfaf0a61033downstream_cells_mapupstream_cells_map@md_strgetindex$7e571edb-6206-4138-863e-5a9d804e07ecprecedence_heuristic cell_id$7e571edb-6206-4138-863e-5a9d804e07ecdownstream_cells_mapupstream_cells_map@md_strgetindex$1c4b711d-7275-4b23-82b6-bf0e57ff5d51precedence_heuristic cell_id$1c4b711d-7275-4b23-82b6-bf0e57ff5d51downstream_cells_mapupstream_cells_map@md_strgetindex$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3precedence_heuristic cell_id$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3downstream_cells_mapupstream_cells_mapTableOfContents$ebf43572-95f2-401e-aa2e-d7748d3bf639precedence_heuristic cell_id$ebf43572-95f2-401e-aa2e-d7748d3bf639downstream_cells_mapupstream_cells_map@md_strgetindex$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fprecedence_heuristic cell_id$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fdownstream_cells_mapSidebartoc$fefc5308-7caf-465a-afc0-b1a6f2e68ba2upstream_cells_mapString@htl HypertextLiteral.attribute_valueHypertextLiteral.ResultRobustLocalResourceHypertextLiteral.BypassHypertextLiteral.contentMarkdown.parseHypertextLiteral$a9d71171-dd24-472a-be5f-12619295c4bfMarkdownread$fefc5308-7caf-465a-afc0-b1a6f2e68ba2precedence_heuristic cell_id$fefc5308-7caf-465a-afc0-b1a6f2e68ba2downstream_cells_mapupstream_cells_maptoc$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f$a9d71171-dd24-472a-be5f-12619295c4bfprecedence_heuristiccell_id$a9d71171-dd24-472a-be5f-12619295c4bfdownstream_cells_mapPlutoUIHypertextLiteral$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fPlutoTeachingToolsupstream_cells_map$09579796-7e0e-4990-b727-b20f63242bcbprecedence_heuristic cell_id$09579796-7e0e-4990-b727-b20f63242bcbdownstream_cells_mapupstream_cells_map@md_strgetindex$d448115a-6857-4082-893b-37549fe83b8bprecedence_heuristic cell_id$d448115a-6857-4082-893b-37549fe83b8bdownstream_cells_mapupstream_cells_map@md_strgetindex$9261420d-3754-4820-a4f0-c5bda988157aprecedence_heuristic cell_id$9261420d-3754-4820-a4f0-c5bda988157adownstream_cells_mapupstream_cells_map@md_strgetindex$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3baprecedence_heuristic cell_id$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3badownstream_cells_mapupstream_cells_map@md_strgetindex$c0da4104-9a5a-4553-8df0-fdadd0194c14precedence_heuristic cell_id$c0da4104-9a5a-4553-8df0-fdadd0194c14downstream_cells_mapupstream_cells_map@md_strgetindex$854d367b-1609-4c00-9c62-9439874a03d6precedence_heuristic cell_id$854d367b-1609-4c00-9c62-9439874a03d6downstream_cells_mapupstream_cells_map@md_strgetindexcell_execution_order$a9d71171-dd24-472a-be5f-12619295c4bf$9261420d-3754-4820-a4f0-c5bda988157a$09579796-7e0e-4990-b727-b20f63242bcb$c0da4104-9a5a-4553-8df0-fdadd0194c14$d448115a-6857-4082-893b-37549fe83b8b$854d367b-1609-4c00-9c62-9439874a03d6$ebf43572-95f2-401e-aa2e-d7748d3bf639$7e571edb-6206-4138-863e-5a9d804e07ec$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba$1c4b711d-7275-4b23-82b6-bf0e57ff5d51$b1c510c9-4130-4f5e-8d15-3bfaf0a61033$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f$fefc5308-7caf-465a-afc0-b1a6f2e68ba2last_hot_reload_timeprocess_statusreadypathN/home/runner/work/error-control-modelling/error-control-modelling/src/index.jlpluto_versionv0.20.21cell_order$9261420d-3754-4820-a4f0-c5bda988157a$09579796-7e0e-4990-b727-b20f63242bcb$c0da4104-9a5a-4553-8df0-fdadd0194c14$a9d71171-dd24-472a-be5f-12619295c4bf$fefc5308-7caf-465a-afc0-b1a6f2e68ba2$d448115a-6857-4082-893b-37549fe83b8b$854d367b-1609-4c00-9c62-9439874a03d6$ebf43572-95f2-401e-aa2e-d7748d3bf639$7e571edb-6206-4138-863e-5a9d804e07ec$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba$1c4b711d-7275-4b23-82b6-bf0e57ff5d51$b1c510c9-4130-4f5e-8d15-3bfaf0a61033$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fpublished_objectsnbpkgwaiting_for_permission,waiting_for_permission_but_probably_disabled²installed_versionsPlutoUI0.7.71HypertextLiteral0.9.5PlutoTeachingTools0.4.5terminal_outputsnbpkg_sync Resolving... ===  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Project.toml`  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Manifest.toml` Instantiating... === Precompiling... === Waiting for notebook process to start... Done. Starting precompilation...PlutoUI Resolving... ===  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Project.toml`  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Manifest.toml` Instantiating... === Precompiling... === Waiting for notebook process to start... Done. Starting precompilation...HypertextLiteral Resolving... ===  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Project.toml`  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Manifest.toml` Instantiating... === Precompiling... === Waiting for notebook process to start... Done. Starting precompilation...PlutoTeachingTools Resolving... ===  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Project.toml`  No Changes to `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_wntvurycoi/Manifest.toml` Instantiating... === Precompiling... === Waiting for notebook process to start... Done. Starting precompilation...enabledìinstantiated÷restart_recommended_msgrestart_required_msginstall_time_nsOQbusy_packagescell_inputs$b1c510c9-4130-4f5e-8d15-3bfaf0a61033cell_id$b1c510c9-4130-4f5e-8d15-3bfaf0a61033code~md""" ## Literature There is no single textbook corresponding to the content of the course. Parts of the lectures have substantial overlap with the following resources, where further information can be found. - Youssef Saad. *Numerical Methods for Large Eigenvalue Problems*, SIAM (2011). A PDF is available free of charge on [Youssef Saad's website](https://www-users.cse.umn.edu/~saad/eig_book_2ndEd.pdf). - Nicholas J. Higham. *Accuracy and Stability of Numerical Algorithms*, SIAM (2002). - Peter Arbenz. *Lecture notes on solving large scale eigenvalue problems*, ETHZ. A PDF is available from [Peter Arbenz' website](https://people.inf.ethz.ch/arbenz/ewp/Lnotes/lsevp.pdf). - Mathieu Lewin. *Théorie spectrale et mécanique quantique*, Springer (2022). A PDF for EPFL students is available from [Springer Link]([https://link.springer.com/book/10.1007/978-3-030-93436-1). """metadatashow_logsèdisabled®skip_as_script«code_folded$7e571edb-6206-4138-863e-5a9d804e07eccell_id$7e571edb-6206-4138-863e-5a9d804e07eccodemd""" ## Content * Important eigenvalue problems in materials science * Motivation for studying errors in eigenvalue problems * Types of simulation error * Residual-error relationships for eigenvalue problems * Perturbation theory and parametrised eigenvalue problems * Subtleties of infinite-dimensional eigenvalue problems * Discretisation and discretisation error * Plane-wave basis sets * Errors due to uncertain parameters (if time permits) * Non-linear eigenvalue problems (if time permits) Algorithm demonstrations and implementations will be based on the [Julia programming language](https://julialang.org/) and interactive [Pluto](https://plutojl.org/) notebooks. """metadatashow_logsèdisabled®skip_as_script«code_folded$1c4b711d-7275-4b23-82b6-bf0e57ff5d51cell_id$1c4b711d-7275-4b23-82b6-bf0e57ff5d51codemd""" ## Resources on the Julia programming language In this class we employ the [Julia programming language](https://julialang.org/) for code examples and programming exercises. Helpful information and pointers to further resources on Julia can be found in the online material of the [MATH-251(b) Numerical Analysis](https://teaching.matmat.org/numerical-analysis) lecture: - The [Julia introduction notebook](https://teaching.matmat.org/numerical-analysis/02_Julia.html) - The [Getting started with Julia](https://teaching.matmat.org/numerical-analysis/exercises/ex0_introduction_julia_pluto_statement.html) exercise sheet - The [Basic plotting with Julia](https://teaching.matmat.org/numerical-analysis/exercises/ex0_introduction_plots_statement.html) exercise sheet """metadatashow_logsèdisabled®skip_as_script«code_folded$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3cell_id$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3codeTableOfContents()metadatashow_logsèdisabled®skip_as_script«code_folded$ebf43572-95f2-401e-aa2e-d7748d3bf639cell_id$ebf43572-95f2-401e-aa2e-d7748d3bf639code.md""" ## Summary Errors are ubiquitous in computational science as neither models nor numerical techniques are perfect. With respect to eigenvalue problems motivated from materials science and atomistic modelling we discuss, implement and apply numerical techniques for estimating simulation error. """metadatashow_logsèdisabled®skip_as_script«code_folded$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fcell_id$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fcodeFbegin RobustLocalResource("https://teaching.matmat.org/error-control/sidebar.md", "sidebar.md") toc = Markdown.parse(read("sidebar.md", String)) Sidebar(toc, ypos) = @htl("""""") Sidebar(toc, 315) endmetadatashow_logsèdisabled®skip_as_script«code_folded$fefc5308-7caf-465a-afc0-b1a6f2e68ba2cell_id$fefc5308-7caf-465a-afc0-b1a6f2e68ba2codetocmetadatashow_logsèdisabled®skip_as_script«code_folded$a9d71171-dd24-472a-be5f-12619295c4bfcell_id$a9d71171-dd24-472a-be5f-12619295c4bfcodeJbegin using HypertextLiteral using PlutoUI using PlutoTeachingTools endmetadatashow_logsèdisabled®skip_as_script«code_folded$09579796-7e0e-4990-b727-b20f63242bcbcell_id$09579796-7e0e-4990-b727-b20f63242bcbcodemd""" This repository contains the teaching material of the course [MATH-500 Error control in scientific modelling](https://edu.epfl.ch/coursebook/en/error-control-in-scientific-modelling-MATH-500) at EPFL. """metadatashow_logsèdisabled®skip_as_script«code_folded$d448115a-6857-4082-893b-37549fe83b8bcell_id$d448115a-6857-4082-893b-37549fe83b8bcode٫md""" If you spot an error feel free to make a pull request to the [github repository](https://github.com/epfl-matmat/error-control-modelling) generating this website. """metadatashow_logsèdisabled®skip_as_script«code_folded$9261420d-3754-4820-a4f0-c5bda988157acell_id$9261420d-3754-4820-a4f0-c5bda988157acode;md""" # MATH-500: Error control in scientific modelling """metadatashow_logsèdisabled®skip_as_script«code_folded$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3bacell_id$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3bacodemd""" ## Prerequisites * Analysis * Linear algebra * Exposure to numerical linear algebra * Some experience with numerical methods for solving differential equations (such as finite-element methods, finite-difference approaches, plane-wave methods) * Exposure to implementing numerical algorithms (e.g. using Python or Julia) This course delivers a mathematical viewpoint on materials modelling and it is explicitly intended for an interdisciplinary student audience. To keep it accessible, the key mathematical and physical concepts will both be revised as we go along. However, the learning curve will be steep and an interest to learn about the respective other discipline is required. The problem sheets and the projects require a substantial amount of work and feature both theoretical (proof-oriented) and applied (programming-based and simulation-based) components. While there is some freedom for students to select their respective focus, students are encouraged to team up across the disciplines for the course work. In the past participants from materials science found it useful to take this course after they followed the lectures on [Fundamentals of solid state materials](https://edu.epfl.ch/coursebook/en/fundamentals-of-solid-state-materials-MSE-423). """metadatashow_logsèdisabled®skip_as_script«code_folded$c0da4104-9a5a-4553-8df0-fdadd0194c14cell_id$c0da4104-9a5a-4553-8df0-fdadd0194c14codemd""" ## Course outline """metadatashow_logsèdisabled®skip_as_script«code_folded$854d367b-1609-4c00-9c62-9439874a03d6cell_id$854d367b-1609-4c00-9c62-9439874a03d6codeٜmd""" ## EPFL resources If you are an EPFL student, you can find the following course resources: - **Moodle link:** """metadatashow_logsèdisabled®skip_as_script«code_foldedënotebook_id$6d0915ea-c61c-11f0-2150-19b71f42064cbondscell_results$b1c510c9-4130-4f5e-8d15-3bfaf0a61033queued¤logsrunning¦outputbodyI

Literature

There is no single textbook corresponding to the content of the course. Parts of the lectures have substantial overlap with the following resources, where further information can be found.

persist_js_state¤mimetext/htmllast_run_timestampAGhas_pluto_hook_features¬rootassigneecell_id$b1c510c9-4130-4f5e-8d15-3bfaf0a61033depends_on_disabled_cells§runtime |~published_object_keysdepends_on_skipped_cells§errored$7e571edb-6206-4138-863e-5a9d804e07ecqueued¤logsrunning¦outputbody

Content

Algorithm demonstrations and implementations will be based on the Julia programming language and interactive Pluto notebooks.

persist_js_state¤mimetext/htmllast_run_timestampAG׷has_pluto_hook_features¬rootassigneecell_id$7e571edb-6206-4138-863e-5a9d804e07ecdepends_on_disabled_cells§runtime2@published_object_keysdepends_on_skipped_cells§errored$1c4b711d-7275-4b23-82b6-bf0e57ff5d51queued¤logsrunning¦outputbody

Resources on the Julia programming language

In this class we employ the Julia programming language for code examples and programming exercises. Helpful information and pointers to further resources on Julia can be found in the online material of the MATH-251(b) Numerical Analysis lecture:

persist_js_state¤mimetext/htmllast_run_timestampAGthas_pluto_hook_features¬rootassigneecell_id$1c4b711d-7275-4b23-82b6-bf0e57ff5d51depends_on_disabled_cells§runtime tpublished_object_keysdepends_on_skipped_cells§errored$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3queued¤logsrunning¦outputbodyP persist_js_state¤mimetext/htmllast_run_timestampAG(̷has_pluto_hook_features¬rootassigneecell_id$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3depends_on_disabled_cells§runtime&published_object_keysdepends_on_skipped_cells§errored$ebf43572-95f2-401e-aa2e-d7748d3bf639queued¤logsrunning¦outputbody[

Summary

Errors are ubiquitous in computational science as neither models nor numerical techniques are perfect. With respect to eigenvalue problems motivated from materials science and atomistic modelling we discuss, implement and apply numerical techniques for estimating simulation error.

persist_js_state¤mimetext/htmllast_run_timestampAGhas_pluto_hook_features¬rootassigneecell_id$ebf43572-95f2-401e-aa2e-d7748d3bf639depends_on_disabled_cells§runtimeSpublished_object_keysdepends_on_skipped_cells§errored$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fqueued¤logsrunning¦outputbodypersist_js_state¤mimetext/htmllast_run_timestampAG۩has_pluto_hook_features¬rootassigneecell_id$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fdepends_on_disabled_cells§runtime@Z1published_object_keysdepends_on_skipped_cells§errored$fefc5308-7caf-465a-afc0-b1a6f2e68ba2queued¤logsrunning¦outputbody

Error control in scientific modelling

  1. Introduction

  2. The Dirichlet Laplacian in an Unbounded Domain

  3. Matrix Eigenproblems

  4. Bounds on Eigenvalues

  5. Errors due to floating-point arithmetic

  6. Diagonalisation algorithms

  7. Matrix Perturbation Theory

  8. Hilbert Spaces

  9. Operators and their spectra

  10. Periodic Problems

  11. Density functional theory

  12. Nomenclature

persist_js_state¤mimetext/htmllast_run_timestampAGzhas_pluto_hook_features¬rootassigneecell_id$fefc5308-7caf-465a-afc0-b1a6f2e68ba2depends_on_disabled_cells§runtime"published_object_keysdepends_on_skipped_cells§errored$a9d71171-dd24-472a-be5f-12619295c4bfqueued¤logsrunning¦outputbodypersist_js_state¤mimetext/plainlast_run_timestampAG has_pluto_hook_features¬rootassigneecell_id$a9d71171-dd24-472a-be5f-12619295c4bfdepends_on_disabled_cells§runtimewpublished_object_keysdepends_on_skipped_cells§errored$09579796-7e0e-4990-b727-b20f63242bcbqueued¤logsrunning¦outputbody

This repository contains the teaching material of the course MATH-500 Error control in scientific modelling at EPFL.

persist_js_state¤mimetext/htmllast_run_timestampAGhas_pluto_hook_features¬rootassigneecell_id$09579796-7e0e-4990-b727-b20f63242bcbdepends_on_disabled_cells§runtimeKIpublished_object_keysdepends_on_skipped_cells§errored$d448115a-6857-4082-893b-37549fe83b8bqueued¤logsrunning¦outputbody

If you spot an error feel free to make a pull request to the github repository generating this website.

persist_js_state¤mimetext/htmllast_run_timestampAG*has_pluto_hook_features¬rootassigneecell_id$d448115a-6857-4082-893b-37549fe83b8bdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$9261420d-3754-4820-a4f0-c5bda988157aqueued¤logsrunning¦outputbodyي

MATH-500: Error control in scientific modelling

persist_js_state¤mimetext/htmllast_run_timestampAGhas_pluto_hook_features¬rootassigneecell_id$9261420d-3754-4820-a4f0-c5bda988157adepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3baqueued¤logsrunning¦outputbody

Prerequisites

This course delivers a mathematical viewpoint on materials modelling and it is explicitly intended for an interdisciplinary student audience. To keep it accessible, the key mathematical and physical concepts will both be revised as we go along. However, the learning curve will be steep and an interest to learn about the respective other discipline is required.

The problem sheets and the projects require a substantial amount of work and feature both theoretical (proof-oriented) and applied (programming-based and simulation-based) components. While there is some freedom for students to select their respective focus, students are encouraged to team up across the disciplines for the course work.

In the past participants from materials science found it useful to take this course after they followed the lectures on Fundamentals of solid state materials.

persist_js_state¤mimetext/htmllast_run_timestampAG8Chas_pluto_hook_features¬rootassigneecell_id$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3badepends_on_disabled_cells§runtime m*published_object_keysdepends_on_skipped_cells§errored$c0da4104-9a5a-4553-8df0-fdadd0194c14queued¤logsrunning¦outputbodyH

Course outline

persist_js_state¤mimetext/htmllast_run_timestampAGhas_pluto_hook_features¬rootassigneecell_id$c0da4104-9a5a-4553-8df0-fdadd0194c14depends_on_disabled_cells§runtimeHpublished_object_keysdepends_on_skipped_cells§errored$854d367b-1609-4c00-9c62-9439874a03d6queued¤logsrunning¦outputbody"

EPFL resources

If you are an EPFL student, you can find the following course resources:

persist_js_state¤mimetext/htmllast_run_timestampAG|has_pluto_hook_features¬rootassigneecell_id$854d367b-1609-4c00-9c62-9439874a03d6depends_on_disabled_cells§runtime9õpublished_object_keysdepends_on_skipped_cells§errored©shortpathindex.jllast_save_timeAGin_temp_dir¨metadata