Þ ¥bonds€¬cell_results�Ù$fefc5308-7caf-465a-afc0-b1a6f2e68ba2Цqueued¤logs�§running¦output†¤bodyÚ¤
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ0Pþ7°persist_js_state·has_pluto_hook_features§cell_idÙ$fefc5308-7caf-465a-afc0-b1a6f2e68ba2¹depends_on_disabled_cells§runtimeÍwµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$786a2620-1962-4ee2-950c-b47e28d66e99Цqueued¤logs�§running¦output†¤bodyÚØEPFL resources
If you are an EPFL student you find the internal course resources following these links:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,Í÷°persist_js_state·has_pluto_hook_features§cell_idÙ$786a2620-1962-4ee2-950c-b47e28d66e99¹depends_on_disabled_cells§runtimeÎ ŽMµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$d448115a-6857-4082-893b-37549fe83b8bЦqueued¤logs�§running¦output†¤bodyÚ¯Accompanying Excercise sheets
Improving these notes
If you spot an error feel free to make a pull request to the github repository generating this website.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,Ÿ²°persist_js_state·has_pluto_hook_features§cell_idÙ$d448115a-6857-4082-893b-37549fe83b8b¹depends_on_disabled_cells§runtimeÎ
³¦µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3Цqueued¤logs�§running¦output†¤bodyÚP¾
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ0 ñs°persist_js_state·has_pluto_hook_features§cell_idÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3¹depends_on_disabled_cells§runtimeÍ{(µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$7e571edb-6206-4138-863e-5a9d804e07ecЦqueued¤logs�§running¦output†¤bodyÚÅContent
The topics covered include:
Properties and issues with numerical computation
Finding roots and fixed points
Interpolation and curve regression
Solving linear and non-linear equations
Solving eigenproblems
Numerical integration and differentiation
Basic numerical techniques for solving differential equations
Algorithm demonstrations and implementations will be based on the Julia programming language and interactive Pluto notebooks.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,(g°persist_js_state·has_pluto_hook_features§cell_idÙ$7e571edb-6206-4138-863e-5a9d804e07ec¹depends_on_disabled_cells§runtimeÎ
5µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9261420d-3754-4820-a4f0-c5bda988157aЦqueued¤logs�§running¦output†¤bodyÙzMATH-251(b): Numerical analysis
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,,°persist_js_state·has_pluto_hook_features§cell_idÙ$9261420d-3754-4820-a4f0-c5bda988157a¹depends_on_disabled_cells§runtimeÎ Ö\µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3baЦqueued¤logs�§running¦output†¤bodyÚ�Prerequisites
The course is designed with an audience of applied scientists (physics, biology, materials science) or engineers in mind. With a basic first-year mathematics background and prior exposure to some programming the material should be accessible.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,NH°persist_js_state·has_pluto_hook_features§cell_idÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba¹depends_on_disabled_cells§runtimeÎ ¡Òµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033Цqueued¤logs�§running¦output†¤bodyÚÞLiterature and further reading
The outline of the course as well as many examples are taken from the excellent lecture notes "Numerical analysis" by Prof. Fabio Nobile. A copy of these notes in French as well as English is available on moodle.
For further reading and plenty of Julia code examples related to our subjects, take a look at the book Fundamentals of Numerical Computation by Tobin A. Driscoll and Richard J. Braun published by SIAM. An online version is further available at https://tobydriscoll.net/fnc-julia/. I will also link to this text in the lecture notes from time to time.
A slightly different emphasis in topics, but otherwise a good summary provide the lecture notes First Semester Numerical analysis by Giray Ökten. At places the text is more mathematical than our treatment. In the initial sections it has a good summary of basic Julia commands an concepts. An online PDF is available.
For an in-depth treatment with mathematical details and proofs for the results where we skip these details for brevity can be found in Numerical Mathematics by A. Quarteroni, R. Sacco, F. Saleri. A PDF can be downloaded from Springer by EPFL students.
Finally, if you are curious about Julia, I can highly recommend MIT's computational thinking class, which introduces Julia as well as its way of solving scientific problems in a hands-on and fun way.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,“!°persist_js_state·has_pluto_hook_features§cell_idÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033¹depends_on_disabled_cells§runtimeΠϵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$09579796-7e0e-4990-b727-b20f63242bcbЦqueued¤logs�§running¦output†¤bodyÙÞ¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,Ov°persist_js_state·has_pluto_hook_features§cell_idÙ$09579796-7e0e-4990-b727-b20f63242bcb¹depends_on_disabled_cells§runtimeÎ ³mµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fЦqueued¤logs�§running¦output†¤bodyÚ¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ0+9°persist_js_state·has_pluto_hook_features§cell_idÙ$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f¹depends_on_disabled_cells§runtimeÎAÇxµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$ebf43572-95f2-401e-aa2e-d7748d3bf639Цqueued¤logs�§running¦output†¤bodyÙúSummary
The students will learn key numerical techniques for solving standard mathematical problems in science and engineering. The underlying mathematical theory and properties are discussed.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,ê°persist_js_state·has_pluto_hook_features§cell_idÙ$ebf43572-95f2-401e-aa2e-d7748d3bf639¹depends_on_disabled_cells§runtimeÎ £¨µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14Цqueued¤logs�§running¦output†¤bodyÙHCourse outline
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚƒ,hñ°persist_js_state·has_pluto_hook_features§cell_idÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14¹depends_on_disabled_cells§runtimeÎ À™µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a9d71171-dd24-472a-be5f-12619295c4bfЦqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚƒ/K�°persist_js_state·has_pluto_hook_features§cell_idÙ$a9d71171-dd24-472a-be5f-12619295c4bf¹depends_on_disabled_cells§runtimeÎ)mVµpublished_object_keys�¸depends_on_skipped_cells§errored±cell_dependencies�Ù$fefc5308-7caf-465a-afc0-b1a6f2e68ba2„´precedence_heuristic §cell_idÙ$fefc5308-7caf-465a-afc0-b1a6f2e68ba2´downstream_cells_map€²upstream_cells_map�£toc‘Ù$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fÙ$786a2620-1962-4ee2-950c-b47e28d66e99„´precedence_heuristic §cell_idÙ$786a2620-1962-4ee2-950c-b47e28d66e99´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$d448115a-6857-4082-893b-37549fe83b8b„´precedence_heuristic §cell_idÙ$d448115a-6857-4082-893b-37549fe83b8b´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3„´precedence_heuristic §cell_idÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3´downstream_cells_map€²upstream_cells_map�¯TableOfContents�Ù$7e571edb-6206-4138-863e-5a9d804e07ec„´precedence_heuristic §cell_idÙ$7e571edb-6206-4138-863e-5a9d804e07ec´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$9261420d-3754-4820-a4f0-c5bda988157a„´precedence_heuristic §cell_idÙ$9261420d-3754-4820-a4f0-c5bda988157a´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba„´precedence_heuristic §cell_idÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$b1c510c9-4130-4f5e-8d15-3bfaf0a61033„´precedence_heuristic §cell_idÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$09579796-7e0e-4990-b727-b20f63242bcb„´precedence_heuristic §cell_idÙ$09579796-7e0e-4990-b727-b20f63242bcb´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f„´precedence_heuristic §cell_idÙ$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f´downstream_cells_map‚§Sidebar�£toc‘Ù$fefc5308-7caf-465a-afc0-b1a6f2e68ba2²upstream_cells_map‹³RobustLocalResource�·HypertextLiteral.Bypass�¸HypertextLiteral.content�¦String�¤@htl�®Markdown.parse�Ù HypertextLiteral.attribute_value�·HypertextLiteral.Result�°HypertextLiteral‘Ù$a9d71171-dd24-472a-be5f-12619295c4bf¨Markdown�¤read�Ù$ebf43572-95f2-401e-aa2e-d7748d3bf639„´precedence_heuristic §cell_idÙ$ebf43572-95f2-401e-aa2e-d7748d3bf639´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$c0da4104-9a5a-4553-8df0-fdadd0194c14„´precedence_heuristic §cell_idÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$a9d71171-dd24-472a-be5f-12619295c4bf„´precedence_heuristic§cell_idÙ$a9d71171-dd24-472a-be5f-12619295c4bf´downstream_cells_mapƒ§PlutoUI�°HypertextLiteral‘Ù$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f²PlutoTeachingTools�²upstream_cells_map€´cell_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Ù$786a2620-1962-4ee2-950c-b47e28d66e99Ù$ebf43572-95f2-401e-aa2e-d7748d3bf639Ù$7e571edb-6206-4138-863e-5a9d804e07ecÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3baÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033Ù$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3Ù$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2fÙ$fefc5308-7caf-465a-afc0-b1a6f2e68ba2´last_hot_reload_timeË ©shortpath¨index.jl®process_status¥ready¤pathÙD/home/runner/work/numerical-analysis/numerical-analysis/src/index.jlpluto_version¨v0.20.27®last_save_timeËAÚƒ,m¤ªcell_order�Ù$9261420d-3754-4820-a4f0-c5bda988157aÙ$09579796-7e0e-4990-b727-b20f63242bcbÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14Ù$fefc5308-7caf-465a-afc0-b1a6f2e68ba2Ù$d448115a-6857-4082-893b-37549fe83b8bÙ$786a2620-1962-4ee2-950c-b47e28d66e99Ù$ebf43572-95f2-401e-aa2e-d7748d3bf639Ù$7e571edb-6206-4138-863e-5a9d804e07ecÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3baÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033Ù$a9d71171-dd24-472a-be5f-12619295c4bfÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3Ù$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f±published_objects€¥nbpkgНinstall_time_nsÏ �øV¬instantiatedòinstalled_versions…§PlutoUI¦0.7.80Ù!__internal_julia_manifest_version¦1.12.4°HypertextLiteral¥1.0.0¸__internal_julia_version¦1.12.4²PlutoTeachingTools¥0.4.7°terminal_outputs„ªnbpkg_syncÚÔ
[0m[1mResolving...[22m
[90m===[39m
[36m[1m Project[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[36m[1m Manifest[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mAdding packages...[22m
[90m===[39m
[32m[1m Resolving[22m[39m package versions...
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[90m[6e696c72] [39m[92m+ AbstractPlutoDingetjes v1.4.0[39m
[90m[3da002f7] [39m[92m+ ColorTypes v0.12.1[39m
[90m[53c48c17] [39m[92m+ FixedPointNumbers v0.8.5[39m
[90m[1fa38f19] [39m[92m+ Format v1.3.7[39m
[90m[47d2ed2b] [39m[92m+ Hyperscript v0.0.5[39m
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[b5f81e59] [39m[92m+ IOCapture v1.0.0[39m
[90m[692b3bcd] [39m[92m+ JLLWrappers v1.8.0[39m
[90m[b964fa9f] [39m[92m+ LaTeXStrings v1.4.0[39m
[90m[23fbe1c1] [39m[92m+ Latexify v0.16.10[39m
[90m[6c6e2e6c] [39m[92m+ MIMEs v1.1.0[39m
[90m[1914dd2f] [39m[92m+ MacroTools v0.5.16[39m
[90m[bac558e1] [39m[92m+ OrderedCollections v1.8.1[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[90m[21216c6a] [39m[92m+ Preferences v1.5.2[39m
[90m[189a3867] [39m[92m+ Reexport v1.2.2[39m
[90m[ae029012] [39m[92m+ Requires v1.3.1[39m
[90m[10745b16] [39m[92m+ Statistics v1.11.1[39m
[90m[410a4b4d] [39m[92m+ Tricks v0.1.13[39m
[90m[5c2747f8] [39m[92m+ URIs v1.6.1[39m
[90m[61579ee1] [39m[92m+ Ghostscript_jll v9.55.1+0[39m
[90m[aacddb02] [39m[92m+ JpegTurbo_jll v3.1.5+0[39m
[90m[0dad84c5] [39m[92m+ ArgTools v1.1.2[39m
[90m[56f22d72] [39m[92m+ Artifacts v1.11.0[39m
[90m[2a0f44e3] [39m[92m+ Base64 v1.11.0[39m
[90m[ade2ca70] [39m[92m+ Dates v1.11.0[39m
[90m[f43a241f] [39m[92m+ Downloads v1.7.0[39m
[90m[7b1f6079] [39m[92m+ FileWatching v1.11.0[39m
[90m[b77e0a4c] [39m[92m+ InteractiveUtils v1.11.0[39m
[90m[ac6e5ff7] [39m[92m+ JuliaSyntaxHighlighting v1.12.0[39m
[90m[b27032c2] [39m[92m+ LibCURL v0.6.4[39m
[90m[8f399da3] [39m[92m+ Libdl v1.11.0[39m
[90m[37e2e46d] [39m[92m+ LinearAlgebra v1.12.0[39m
[90m[56ddb016] [39m[92m+ Logging v1.11.0[39m
[90m[d6f4376e] [39m[92m+ Markdown v1.11.0[39m
[90m[ca575930] [39m[92m+ NetworkOptions v1.3.0[39m
[90m[de0858da] [39m[92m+ Printf v1.11.0[39m
[90m[9a3f8284] [39m[92m+ Random v1.11.0[39m
[90m[ea8e919c] [39m[92m+ SHA v0.7.0[39m
[90m[9e88b42a] [39m[92m+ Serialization v1.11.0[39m
[90m[f489334b] [39m[92m+ StyledStrings v1.11.0[39m
[90m[fa267f1f] [39m[92m+ TOML v1.0.3[39m
[90m[8dfed614] [39m[92m+ Test v1.11.0[39m
[90m[cf7118a7] [39m[92m+ UUIDs v1.11.0[39m
[90m[4ec0a83e] [39m[92m+ Unicode v1.11.0[39m
[90m[e66e0078] [39m[92m+ CompilerSupportLibraries_jll v1.3.0+1[39m
[90m[deac9b47] [39m[92m+ LibCURL_jll v8.15.0+0[39m
[90m[29816b5a] [39m[92m+ LibSSH2_jll v1.11.3+1[39m
[90m[14a3606d] [39m[92m+ MozillaCACerts_jll v2025.11.4[39m
[90m[4536629a] [39m[92m+ OpenBLAS_jll v0.3.29+0[39m
[90m[458c3c95] [39m[92m+ OpenSSL_jll v3.5.4+0[39m
[90m[83775a58] [39m[92m+ Zlib_jll v1.3.1+2[39m
[90m[8e850b90] [39m[92m+ libblastrampoline_jll v5.15.0+0[39m
[90m[8e850ede] [39m[92m+ nghttp2_jll v1.64.0+1[39m
[36m[1m Info[22m[39m Packages marked with [32m⌃[39m have new versions available and may be upgradable.
[32m[1mLoading[22m[39m packages...
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
Waiting for notebook process to start... Done. Starting precompilation...
§PlutoUIÚÔ
[0m[1mResolving...[22m
[90m===[39m
[36m[1m Project[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[36m[1m Manifest[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mAdding packages...[22m
[90m===[39m
[32m[1m Resolving[22m[39m package versions...
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[90m[6e696c72] [39m[92m+ AbstractPlutoDingetjes v1.4.0[39m
[90m[3da002f7] [39m[92m+ ColorTypes v0.12.1[39m
[90m[53c48c17] [39m[92m+ FixedPointNumbers v0.8.5[39m
[90m[1fa38f19] [39m[92m+ Format v1.3.7[39m
[90m[47d2ed2b] [39m[92m+ Hyperscript v0.0.5[39m
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[b5f81e59] [39m[92m+ IOCapture v1.0.0[39m
[90m[692b3bcd] [39m[92m+ JLLWrappers v1.8.0[39m
[90m[b964fa9f] [39m[92m+ LaTeXStrings v1.4.0[39m
[90m[23fbe1c1] [39m[92m+ Latexify v0.16.10[39m
[90m[6c6e2e6c] [39m[92m+ MIMEs v1.1.0[39m
[90m[1914dd2f] [39m[92m+ MacroTools v0.5.16[39m
[90m[bac558e1] [39m[92m+ OrderedCollections v1.8.1[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[90m[21216c6a] [39m[92m+ Preferences v1.5.2[39m
[90m[189a3867] [39m[92m+ Reexport v1.2.2[39m
[90m[ae029012] [39m[92m+ Requires v1.3.1[39m
[90m[10745b16] [39m[92m+ Statistics v1.11.1[39m
[90m[410a4b4d] [39m[92m+ Tricks v0.1.13[39m
[90m[5c2747f8] [39m[92m+ URIs v1.6.1[39m
[90m[61579ee1] [39m[92m+ Ghostscript_jll v9.55.1+0[39m
[90m[aacddb02] [39m[92m+ JpegTurbo_jll v3.1.5+0[39m
[90m[0dad84c5] [39m[92m+ ArgTools v1.1.2[39m
[90m[56f22d72] [39m[92m+ Artifacts v1.11.0[39m
[90m[2a0f44e3] [39m[92m+ Base64 v1.11.0[39m
[90m[ade2ca70] [39m[92m+ Dates v1.11.0[39m
[90m[f43a241f] [39m[92m+ Downloads v1.7.0[39m
[90m[7b1f6079] [39m[92m+ FileWatching v1.11.0[39m
[90m[b77e0a4c] [39m[92m+ InteractiveUtils v1.11.0[39m
[90m[ac6e5ff7] [39m[92m+ JuliaSyntaxHighlighting v1.12.0[39m
[90m[b27032c2] [39m[92m+ LibCURL v0.6.4[39m
[90m[8f399da3] [39m[92m+ Libdl v1.11.0[39m
[90m[37e2e46d] [39m[92m+ LinearAlgebra v1.12.0[39m
[90m[56ddb016] [39m[92m+ Logging v1.11.0[39m
[90m[d6f4376e] [39m[92m+ Markdown v1.11.0[39m
[90m[ca575930] [39m[92m+ NetworkOptions v1.3.0[39m
[90m[de0858da] [39m[92m+ Printf v1.11.0[39m
[90m[9a3f8284] [39m[92m+ Random v1.11.0[39m
[90m[ea8e919c] [39m[92m+ SHA v0.7.0[39m
[90m[9e88b42a] [39m[92m+ Serialization v1.11.0[39m
[90m[f489334b] [39m[92m+ StyledStrings v1.11.0[39m
[90m[fa267f1f] [39m[92m+ TOML v1.0.3[39m
[90m[8dfed614] [39m[92m+ Test v1.11.0[39m
[90m[cf7118a7] [39m[92m+ UUIDs v1.11.0[39m
[90m[4ec0a83e] [39m[92m+ Unicode v1.11.0[39m
[90m[e66e0078] [39m[92m+ CompilerSupportLibraries_jll v1.3.0+1[39m
[90m[deac9b47] [39m[92m+ LibCURL_jll v8.15.0+0[39m
[90m[29816b5a] [39m[92m+ LibSSH2_jll v1.11.3+1[39m
[90m[14a3606d] [39m[92m+ MozillaCACerts_jll v2025.11.4[39m
[90m[4536629a] [39m[92m+ OpenBLAS_jll v0.3.29+0[39m
[90m[458c3c95] [39m[92m+ OpenSSL_jll v3.5.4+0[39m
[90m[83775a58] [39m[92m+ Zlib_jll v1.3.1+2[39m
[90m[8e850b90] [39m[92m+ libblastrampoline_jll v5.15.0+0[39m
[90m[8e850ede] [39m[92m+ nghttp2_jll v1.64.0+1[39m
[36m[1m Info[22m[39m Packages marked with [32m⌃[39m have new versions available and may be upgradable.
[32m[1mLoading[22m[39m packages...
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
Waiting for notebook process to start... Done. Starting precompilation...
°HypertextLiteralÚÔ
[0m[1mResolving...[22m
[90m===[39m
[36m[1m Project[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[36m[1m Manifest[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mAdding packages...[22m
[90m===[39m
[32m[1m Resolving[22m[39m package versions...
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[90m[6e696c72] [39m[92m+ AbstractPlutoDingetjes v1.4.0[39m
[90m[3da002f7] [39m[92m+ ColorTypes v0.12.1[39m
[90m[53c48c17] [39m[92m+ FixedPointNumbers v0.8.5[39m
[90m[1fa38f19] [39m[92m+ Format v1.3.7[39m
[90m[47d2ed2b] [39m[92m+ Hyperscript v0.0.5[39m
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[b5f81e59] [39m[92m+ IOCapture v1.0.0[39m
[90m[692b3bcd] [39m[92m+ JLLWrappers v1.8.0[39m
[90m[b964fa9f] [39m[92m+ LaTeXStrings v1.4.0[39m
[90m[23fbe1c1] [39m[92m+ Latexify v0.16.10[39m
[90m[6c6e2e6c] [39m[92m+ MIMEs v1.1.0[39m
[90m[1914dd2f] [39m[92m+ MacroTools v0.5.16[39m
[90m[bac558e1] [39m[92m+ OrderedCollections v1.8.1[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[90m[21216c6a] [39m[92m+ Preferences v1.5.2[39m
[90m[189a3867] [39m[92m+ Reexport v1.2.2[39m
[90m[ae029012] [39m[92m+ Requires v1.3.1[39m
[90m[10745b16] [39m[92m+ Statistics v1.11.1[39m
[90m[410a4b4d] [39m[92m+ Tricks v0.1.13[39m
[90m[5c2747f8] [39m[92m+ URIs v1.6.1[39m
[90m[61579ee1] [39m[92m+ Ghostscript_jll v9.55.1+0[39m
[90m[aacddb02] [39m[92m+ JpegTurbo_jll v3.1.5+0[39m
[90m[0dad84c5] [39m[92m+ ArgTools v1.1.2[39m
[90m[56f22d72] [39m[92m+ Artifacts v1.11.0[39m
[90m[2a0f44e3] [39m[92m+ Base64 v1.11.0[39m
[90m[ade2ca70] [39m[92m+ Dates v1.11.0[39m
[90m[f43a241f] [39m[92m+ Downloads v1.7.0[39m
[90m[7b1f6079] [39m[92m+ FileWatching v1.11.0[39m
[90m[b77e0a4c] [39m[92m+ InteractiveUtils v1.11.0[39m
[90m[ac6e5ff7] [39m[92m+ JuliaSyntaxHighlighting v1.12.0[39m
[90m[b27032c2] [39m[92m+ LibCURL v0.6.4[39m
[90m[8f399da3] [39m[92m+ Libdl v1.11.0[39m
[90m[37e2e46d] [39m[92m+ LinearAlgebra v1.12.0[39m
[90m[56ddb016] [39m[92m+ Logging v1.11.0[39m
[90m[d6f4376e] [39m[92m+ Markdown v1.11.0[39m
[90m[ca575930] [39m[92m+ NetworkOptions v1.3.0[39m
[90m[de0858da] [39m[92m+ Printf v1.11.0[39m
[90m[9a3f8284] [39m[92m+ Random v1.11.0[39m
[90m[ea8e919c] [39m[92m+ SHA v0.7.0[39m
[90m[9e88b42a] [39m[92m+ Serialization v1.11.0[39m
[90m[f489334b] [39m[92m+ StyledStrings v1.11.0[39m
[90m[fa267f1f] [39m[92m+ TOML v1.0.3[39m
[90m[8dfed614] [39m[92m+ Test v1.11.0[39m
[90m[cf7118a7] [39m[92m+ UUIDs v1.11.0[39m
[90m[4ec0a83e] [39m[92m+ Unicode v1.11.0[39m
[90m[e66e0078] [39m[92m+ CompilerSupportLibraries_jll v1.3.0+1[39m
[90m[deac9b47] [39m[92m+ LibCURL_jll v8.15.0+0[39m
[90m[29816b5a] [39m[92m+ LibSSH2_jll v1.11.3+1[39m
[90m[14a3606d] [39m[92m+ MozillaCACerts_jll v2025.11.4[39m
[90m[4536629a] [39m[92m+ OpenBLAS_jll v0.3.29+0[39m
[90m[458c3c95] [39m[92m+ OpenSSL_jll v3.5.4+0[39m
[90m[83775a58] [39m[92m+ Zlib_jll v1.3.1+2[39m
[90m[8e850b90] [39m[92m+ libblastrampoline_jll v5.15.0+0[39m
[90m[8e850ede] [39m[92m+ nghttp2_jll v1.64.0+1[39m
[36m[1m Info[22m[39m Packages marked with [32m⌃[39m have new versions available and may be upgradable.
[32m[1mLoading[22m[39m packages...
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
Waiting for notebook process to start... Done. Starting precompilation...
²PlutoTeachingToolsÚÔ
[0m[1mResolving...[22m
[90m===[39m
[36m[1m Project[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[36m[1m Manifest[22m[39m No packages added to or removed from `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mAdding packages...[22m
[90m===[39m
[32m[1m Resolving[22m[39m package versions...
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Project.toml`
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[32m[1m Updating[22m[39m `~/.julia/scratchspaces/c3e4b0f8-55cb-11ea-2926-15256bba5781/pkg_envs/env_avvsoidijj/Manifest.toml`
[90m[6e696c72] [39m[92m+ AbstractPlutoDingetjes v1.4.0[39m
[90m[3da002f7] [39m[92m+ ColorTypes v0.12.1[39m
[90m[53c48c17] [39m[92m+ FixedPointNumbers v0.8.5[39m
[90m[1fa38f19] [39m[92m+ Format v1.3.7[39m
[90m[47d2ed2b] [39m[92m+ Hyperscript v0.0.5[39m
[90m[ac1192a8] [39m[92m+ HypertextLiteral v1.0.0[39m
[90m[b5f81e59] [39m[92m+ IOCapture v1.0.0[39m
[90m[692b3bcd] [39m[92m+ JLLWrappers v1.8.0[39m
[90m[b964fa9f] [39m[92m+ LaTeXStrings v1.4.0[39m
[90m[23fbe1c1] [39m[92m+ Latexify v0.16.10[39m
[90m[6c6e2e6c] [39m[92m+ MIMEs v1.1.0[39m
[90m[1914dd2f] [39m[92m+ MacroTools v0.5.16[39m
[90m[bac558e1] [39m[92m+ OrderedCollections v1.8.1[39m
[90m[661c6b06] [39m[92m+ PlutoTeachingTools v0.4.7[39m
[32m⌃[39m [90m[7f904dfe] [39m[92m+ PlutoUI v0.7.80[39m
[90m[21216c6a] [39m[92m+ Preferences v1.5.2[39m
[90m[189a3867] [39m[92m+ Reexport v1.2.2[39m
[90m[ae029012] [39m[92m+ Requires v1.3.1[39m
[90m[10745b16] [39m[92m+ Statistics v1.11.1[39m
[90m[410a4b4d] [39m[92m+ Tricks v0.1.13[39m
[90m[5c2747f8] [39m[92m+ URIs v1.6.1[39m
[90m[61579ee1] [39m[92m+ Ghostscript_jll v9.55.1+0[39m
[90m[aacddb02] [39m[92m+ JpegTurbo_jll v3.1.5+0[39m
[90m[0dad84c5] [39m[92m+ ArgTools v1.1.2[39m
[90m[56f22d72] [39m[92m+ Artifacts v1.11.0[39m
[90m[2a0f44e3] [39m[92m+ Base64 v1.11.0[39m
[90m[ade2ca70] [39m[92m+ Dates v1.11.0[39m
[90m[f43a241f] [39m[92m+ Downloads v1.7.0[39m
[90m[7b1f6079] [39m[92m+ FileWatching v1.11.0[39m
[90m[b77e0a4c] [39m[92m+ InteractiveUtils v1.11.0[39m
[90m[ac6e5ff7] [39m[92m+ JuliaSyntaxHighlighting v1.12.0[39m
[90m[b27032c2] [39m[92m+ LibCURL v0.6.4[39m
[90m[8f399da3] [39m[92m+ Libdl v1.11.0[39m
[90m[37e2e46d] [39m[92m+ LinearAlgebra v1.12.0[39m
[90m[56ddb016] [39m[92m+ Logging v1.11.0[39m
[90m[d6f4376e] [39m[92m+ Markdown v1.11.0[39m
[90m[ca575930] [39m[92m+ NetworkOptions v1.3.0[39m
[90m[de0858da] [39m[92m+ Printf v1.11.0[39m
[90m[9a3f8284] [39m[92m+ Random v1.11.0[39m
[90m[ea8e919c] [39m[92m+ SHA v0.7.0[39m
[90m[9e88b42a] [39m[92m+ Serialization v1.11.0[39m
[90m[f489334b] [39m[92m+ StyledStrings v1.11.0[39m
[90m[fa267f1f] [39m[92m+ TOML v1.0.3[39m
[90m[8dfed614] [39m[92m+ Test v1.11.0[39m
[90m[cf7118a7] [39m[92m+ UUIDs v1.11.0[39m
[90m[4ec0a83e] [39m[92m+ Unicode v1.11.0[39m
[90m[e66e0078] [39m[92m+ CompilerSupportLibraries_jll v1.3.0+1[39m
[90m[deac9b47] [39m[92m+ LibCURL_jll v8.15.0+0[39m
[90m[29816b5a] [39m[92m+ LibSSH2_jll v1.11.3+1[39m
[90m[14a3606d] [39m[92m+ MozillaCACerts_jll v2025.11.4[39m
[90m[4536629a] [39m[92m+ OpenBLAS_jll v0.3.29+0[39m
[90m[458c3c95] [39m[92m+ OpenSSL_jll v3.5.4+0[39m
[90m[83775a58] [39m[92m+ Zlib_jll v1.3.1+2[39m
[90m[8e850b90] [39m[92m+ libblastrampoline_jll v5.15.0+0[39m
[90m[8e850ede] [39m[92m+ nghttp2_jll v1.64.0+1[39m
[36m[1m Info[22m[39m Packages marked with [32m⌃[39m have new versions available and may be upgradable.
[32m[1mLoading[22m[39m packages...
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
Waiting for notebook process to start... Done. Starting precompilation...
§enabled÷restart_recommended_msgÀ´restart_required_msgÀbusy_packages�¶waiting_for_permissionÂÙ,waiting_for_permission_but_probably_disabled«cell_inputs�Ù$fefc5308-7caf-465a-afc0-b1a6f2e68ba2„§cell_idÙ$fefc5308-7caf-465a-afc0-b1a6f2e68ba2¤code£toc¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$786a2620-1962-4ee2-950c-b47e28d66e99„§cell_idÙ$786a2620-1962-4ee2-950c-b47e28d66e99¤codeÚ&md"""
## EPFL resources
If you are an EPFL student you find the internal course resources following these links:
- **Moodle link:**
- **Lecture recordings:** [https://mediaspace.epfl.ch](https://mediaspace.epfl.ch/channel/numerical-analysis/110626)
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$d448115a-6857-4082-893b-37549fe83b8b„§cell_idÙ$d448115a-6857-4082-893b-37549fe83b8b¤codeÚÿmd"""
**Accompanying Excercise sheets**
- [Sheet 0: Getting Started with Julia](https://teaching.matmat.org/numerical-analysis/exercises/ex0_introduction_julia_pluto_statement.html)
- [Sheet 0: Basic Plotting in Julia](https://teaching.matmat.org/numerical-analysis/exercises/ex0_introduction_plots_statement.html)
### Improving these notes
If you **spot an error** feel free to make a pull request to the
[**github repository**](https://github.com/epfl-matmat/numerical-analysis)
generating this website.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3„§cell_idÙ$4e1fa8a0-ad16-417f-ba58-5cb0ccff45a3¤code±TableOfContents()¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$7e571edb-6206-4138-863e-5a9d804e07ec„§cell_idÙ$7e571edb-6206-4138-863e-5a9d804e07ec¤codeÚmd"""
## Content
The topics covered include:
* Properties and issues with numerical computation
* Finding roots and fixed points
* Interpolation and curve regression
* Solving linear and non-linear equations
* Solving eigenproblems
* Numerical integration and differentiation
* Basic numerical techniques for solving differential equations
Algorithm demonstrations and implementations will be based on
the [Julia programming language](https://julialang.org/)
and interactive [Pluto](https://plutojl.org/) notebooks.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$9261420d-3754-4820-a4f0-c5bda988157a„§cell_idÙ$9261420d-3754-4820-a4f0-c5bda988157a¤codeÙ+md"""
# MATH-251(b): Numerical analysis
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba„§cell_idÙ$0ccf77bd-0c5d-4c3c-82b5-b25c4adbc3ba¤codeÚ*md"""
## Prerequisites
* Analysis
* Linear algebra
The course is designed with an audience of applied scientists (physics, biology, materials science) or engineers in mind. With a basic first-year mathematics background and prior exposure to some programming the material should be accessible.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033„§cell_idÙ$b1c510c9-4130-4f5e-8d15-3bfaf0a61033¤codeÚÐmd"""
## Literature and further reading
The outline of the course as well as many examples are taken from the excellent lecture notes **"Numerical analysis" by Prof. Fabio Nobile**. A copy of these notes in French as well as English is available [on moodle](https://go.epfl.ch/numerical-analysis).
For further reading and plenty of Julia code examples related to our subjects,
take a look at the book
**Fundamentals of Numerical Computation by Tobin A. Driscoll and Richard J. Braun**
published by SIAM. An online version is further available at [https://tobydriscoll.net/fnc-julia/](https://tobydriscoll.net/fnc-julia/).
I will also link to this text in the lecture notes from time to time.
A slightly different emphasis in topics, but otherwise a good summary provide the lecture notes [**First Semester Numerical analysis**](https://diginole.lib.fsu.edu/islandora/object/fsu%3A657877/datastream/PDF/view) **by Giray Ökten**. At places the text is more mathematical than our treatment. In the initial sections it has a good summary of basic Julia commands an concepts. [An online PDF](https://diginole.lib.fsu.edu/islandora/object/fsu%3A657877/datastream/PDF/view) is available.
For an in-depth treatment with mathematical details and proofs for the results where we skip these details for brevity
can be found in [**Numerical Mathematics**](https://link.springer.com/book/10.1007/b98885) **by A. Quarteroni, R. Sacco, F. Saleri**.
A PDF can be downloaded from Springer by EPFL students.
Finally, if you are curious about Julia, I can highly recommend [**MIT's computational thinking class**](https://computationalthinking.mit.edu), which introduces Julia as well as its way of solving scientific problems in a hands-on and fun way.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$09579796-7e0e-4990-b727-b20f63242bcb„§cell_idÙ$09579796-7e0e-4990-b727-b20f63242bcb¤codeÙ±md"""
This repository contains the teaching material of the course
[MATH-251(b) Numerical analysis](https://edu.epfl.ch/coursebook/en/numerical-analysis-MATH-251-B) at EPFL.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f„§cell_idÙ$8d38c66a-9582-4ef0-96f7-73e0b2ae2e2f¤codeÚFbegin
RobustLocalResource("https://teaching.matmat.org/error-control/sidebar.md", "sidebar.md")
toc = Markdown.parse(read("sidebar.md", String))
Sidebar(toc, ypos) = @htl("""""")
Sidebar(toc, 335)
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$ebf43572-95f2-401e-aa2e-d7748d3bf639„§cell_idÙ$ebf43572-95f2-401e-aa2e-d7748d3bf639¤codeÙÍmd"""
## Summary
The students will learn key numerical techniques for solving standard mathematical problems in science and engineering. The underlying mathematical theory and properties are discussed.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14„§cell_idÙ$c0da4104-9a5a-4553-8df0-fdadd0194c14¤code»md"""
## Course outline
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$a9d71171-dd24-472a-be5f-12619295c4bf„§cell_idÙ$a9d71171-dd24-472a-be5f-12619295c4bf¤codeÙJbegin
using HypertextLiteral
using PlutoUI
using PlutoTeachingTools
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedënotebook_idÙ$ae6e9ae0-538f-11f1-871f-653b7a2946d9«in_temp_dir¨metadata€