diff --git a/.nojekyll b/.nojekyll index 344037f..eb40da6 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -dcf36312 \ No newline at end of file +76223fcb \ No newline at end of file diff --git a/material/1_mon/envs/envs_handout.html b/material/1_mon/envs/envs_handout.html index 303bed1..815c550 100644 --- a/material/1_mon/envs/envs_handout.html +++ b/material/1_mon/envs/envs_handout.html @@ -753,7 +753,7 @@

Adding dependencies
1
-let’s directly add a compat entry for ProgressMeter +let’s directly add a compat entry for ProgressMeter
@@ -786,23 +786,23 @@

Compat entries

1
-[1.0.0-2) +[1.0.0-2)
2
-[1.5.0-2) +[1.5.0-2)
3
-[1.5.3-2) +[1.5.3-2)
4
-[1.5.6] +[1.5.6]
5
-[0.2.3 - 0.3) +[0.2.3 - 0.3)

As you can see, develop version (version < 1) are treated a bit special in Julia, and different to semver. Read more here

@@ -834,7 +834,7 @@

Internals of a pack
1
-We use GLMakie as a simple example as you need it on Wednesday again anyway - it does take a while to install though! +We use GLMakie as a simple example as you need it on Wednesday again anyway - it does take a while to install though!

Now we are ready to use the package from a different environment

diff --git a/material/1_mon/firststeps/firststeps_handout.html b/material/1_mon/firststeps/firststeps_handout.html index 8d0ed81..a897584 100644 --- a/material/1_mon/firststeps/firststeps_handout.html +++ b/material/1_mon/firststeps/firststeps_handout.html @@ -507,23 +507,23 @@

Control Structures

1
-initialize a vector (check with typeof(myArray)) +initialize a vector (check with typeof(myArray))
2
-Control-Structure for-loop. 1-index! +Control-Structure for-loop. 1-index!
3
-MatLab: Notice the [ brackets to index Arrays! +MatLab: Notice the [ brackets to index Arrays!
4
-Python/R: . always means elementwise +Python/R: . always means elementwise
5
-Python/R: end after each control sequence +Python/R: end after each control sequence
@@ -545,11 +545,11 @@

Functions

1
-everything before the ; => positional, after => kwargs +everything before the ; => positional, after => kwargs
2
-List all methods with that function name - returns two functions, due to the b=123 optional positional argument +List all methods with that function name - returns two functions, due to the b=123 optional positional argument
@@ -587,7 +587,7 @@

Excourse: spla
1
-equivalent to +(1,2,3) +equivalent to +(1,2,3)
@@ -600,11 +600,11 @@

elementw
1
-Error - there is no method defined for the sqrt of a Vector +Error - there is no method defined for the sqrt of a Vector
2
-the small . applies the function to all elements of the container a - this works as “expected” +the small . applies the function to all elements of the container a - this works as “expected”
@@ -639,7 +639,7 @@

elementw
1
-Function to initialize an undef array with the same size as a +Function to initialize an undef array with the same size as a

The temp memory we need at each iteration is simply c[k]. And a nice sideeffect: By doing this, we get rid of any specialized “serialized” function, e.g. to do sum, or + or whatever. Those are typically the inbuilt C functions in Python/Matlab/R, that really speed up things. In Julia we do not need inbuilt functions for speed.

@@ -656,11 +656,11 @@

Linear Algebra

1
-Requires to write LinearAlgebra.QR(...) to access a function +Requires to write LinearAlgebra.QR(...) to access a function
2
-LinearAlgebra is a Base package, and always available +LinearAlgebra is a Base package, and always available
@@ -682,11 +682,11 @@

Linear Algebra

1
-equivalent to Array, as Matrix is a convenience type-alias for Array with 2 dimensions. Same thing for Vector. +equivalent to Array, as Matrix is a convenience type-alias for Array with 2 dimensions. Same thing for Vector.
2
-the 2 of {Float64,2} is not mandatory +the 2 of {Float64,2} is not mandatory

Much more on Wednesday in the lecture LinearAlgebra!

@@ -733,7 +733,7 @@

Strings

1
-returns c +returns c
@@ -744,15 +744,15 @@

characters

1
-a StepRange between characters +a StepRange between characters
2
-a Array{Chars} +a Array{Chars}
3
-a String +a String
@@ -764,7 +764,7 @@

concatenation

1
-Indeed, * and not + - as plus implies from algebra that a+b == b+a which obviously is not true for string concatenation. But a*b !== b*a - at least for matrices. +Indeed, * and not + - as plus implies from algebra that a+b == b+a which obviously is not true for string concatenation. But a*b !== b*a - at least for matrices.
@@ -783,11 +783,11 @@

regexp

1
-Returns true. Note the small r before the r"regular expression" - nifty! +Returns true. Note the small r before the r"regular expression" - nifty!
2
-Returns a ::RegexMatch - access via m.match & m.offset (index) - or m.captures / m.offsets if you defined capture-groups +Returns a ::RegexMatch - access via m.match & m.offset (index) - or m.captures / m.offsets if you defined capture-groups
@@ -807,7 +807,7 @@

Scopes

1
-a = 0! - in a script; but a = 1 in the REPL! +a = 0! - in a script; but a = 1 in the REPL!

Variables are in global scope in the REPL for debugging convenience

@@ -834,7 +834,7 @@

Scopes

1
-returns 1 now in both REPL and include(“myscript.jl”) +returns 1 now in both REPL and include(“myscript.jl”)
@@ -855,11 +855,11 @@

explicit global / lo
1
-a = 0 +a = 0
2
-b = 1 +b = 1
@@ -874,7 +874,7 @@

Mod
1
-This works “correctly” in the REPL as well as in a script, because we modify the content of a, not a itself +This works “correctly” in the REPL as well as in a script, because we modify the content of a, not a itself
@@ -951,7 +951,7 @@

composite types

1
-in case not all fields are directly defined, we can provide an outer constructor (there are also inner constructors, but we will not discuss them here) +in case not all fields are directly defined, we can provide an outer constructor (there are also inner constructors, but we will not discuss them here)
@@ -988,7 +988,7 @@

Modules

1
-This makes the SimulationResults type immediately available after running using MyStatsPackage. To use the other “internal” functions, one would use MyStatsPackage.rse_sum. +This makes the SimulationResults type immediately available after running using MyStatsPackage. To use the other “internal” functions, one would use MyStatsPackage.rse_sum.
    import MyStatsPackage
diff --git a/material/1_mon/firststeps/tasks.html b/material/1_mon/firststeps/tasks.html
index daf7c0d..e84cf6d 100644
--- a/material/1_mon/firststeps/tasks.html
+++ b/material/1_mon/firststeps/tasks.html
@@ -428,8 +428,8 @@ 

The exercise

  1. Open a new script statistic_functions.jl in VSCode in a folder of your choice.

  2. -
  3. implement a function called rse_sum1. This function should return true if provided with the following test: res_sum(1:36) == 666. You should further make use of a for-loop.

  4. -
  5. implement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using res_mean(-15:17) == 1

  6. +
  7. implement a function called rse_sum1. This function should return true if provided with the following test: rse_sum(1:36) == 666. You should further make use of a for-loop.

  8. +
  9. implement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using rse_mean(-15:17) == 1

  10. Next implement a standard deviation function rse_std: \(\sqrt{\frac{\sum((x-mean(x))^2)}{n-1}}\), this time you should use elementwise/broadcasting operators. Test it with rse_std(1:3) == 1

  11. Finally, we will implement rse_tstat, returning the t-value with length(x)-1 DF, that the provided Array actually has a mean of 0. The formula is \(\frac{mean(x)}{std(x) / (sqrt(x))}\) Test it with rse_tstat(2:3) == 5. Add the keyword argument σ that allows the user to optionally provide a pre-calculated standard deviation.

diff --git a/material/3_wed/linalg/slides.html b/material/3_wed/linalg/slides.html index a361f8e..2b36586 100644 --- a/material/3_wed/linalg/slides.html +++ b/material/3_wed/linalg/slides.html @@ -385,7 +385,7 @@

Slides

Exercise

-

The exercise is rendered as html here but can also be downloaded as html here but can also be downloaded Exercise

a.download = 'file.ipynb'; a.click(); window.URL.revokeObjectURL(downloadURL); document.body.removeChild(a); - });">

+ });">

diff --git a/material/3_wed/vis/handout.html b/material/3_wed/vis/handout.html index cfa1946..cd6aee0 100644 --- a/material/3_wed/vis/handout.html +++ b/material/3_wed/vis/handout.html @@ -568,7 +568,7 @@

Bonus: Makie Int
1
-@lift does the heavy lifting (hrhr) here. It adds a listener to obs_ix, whenever that value is changed, the value of the output of @lift is changed as well ## Task 2: Interactivity Click here for the next task +@lift does the heavy lifting (hrhr) here. It adds a listener to obs_ix, whenever that value is changed, the value of the output of @lift is changed as well ## Task 2: Interactivity Click here for the next task
diff --git a/material/3_wed/vis/tasks.html b/material/3_wed/vis/tasks.html index c8c6445..19387bf 100644 --- a/material/3_wed/vis/tasks.html +++ b/material/3_wed/vis/tasks.html @@ -707,7 +707,7 @@

Rotate the labels

1
-Note the ; before xlims, this enforces that a NamedTuple is created +Note the ; before xlims, this enforces that a NamedTuple is created
diff --git a/material/4_thu/parallel/slides.html b/material/4_thu/parallel/slides.html index cec59e2..7ade63f 100644 --- a/material/4_thu/parallel/slides.html +++ b/material/4_thu/parallel/slides.html @@ -383,7 +383,7 @@

Slides

Exercise

-

The exercise is rendered as html here but can also be downloaded as html here but can also be downloaded Exercise a.download = 'file.ipynb'; a.click(); window.URL.revokeObjectURL(downloadURL); document.body.removeChild(a); - });">

+ });">

diff --git a/search.json b/search.json index 1b199c4..0c51b27 100644 --- a/search.json +++ b/search.json @@ -480,7 +480,7 @@ "href": "material/1_mon/firststeps/tasks.html", "title": "Task 1", "section": "", - "text": "Typically, you work in a Julia script ending in scriptname.jl\nYou concurrently have a REPL open, to not reload all packages etc. everytime. Further you typically have Revise.jl running in the background to automatically update your custom Packages / Modules (more to that later).\nYou can mark some code and execute it using ctrl + enter - you can also generate code-blocks using #--- and run a whole code-block using alt+enter\n\n\n\n\nOpen a new script statistic_functions.jl in VSCode in a folder of your choice.\nimplement a function called rse_sum1. This function should return true if provided with the following test: res_sum(1:36) == 666. You should further make use of a for-loop.\nimplement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using res_mean(-15:17) == 1\nNext implement a standard deviation function rse_std: \\(\\sqrt{\\frac{\\sum((x-mean(x))^2)}{n-1}}\\), this time you should use elementwise/broadcasting operators. Test it with rse_std(1:3) == 1\nFinally, we will implement rse_tstat, returning the t-value with length(x)-1 DF, that the provided Array actually has a mean of 0. The formula is \\(\\frac{mean(x)}{std(x) / (sqrt(x))}\\) Test it with rse_tstat(2:3) == 5. Add the keyword argument σ that allows the user to optionally provide a pre-calculated standard deviation.\n\nWell done! You now have all functions defined with which we will continue our journey.\n\n\n\n\n\n\nBonus Task ProgressMeter\n\n\n\nfor very large sums we might want to add a progressmeter. To do so:\n]add ProgressMeter\nusing ProgressMeter\n...\n@showprogress for ...\n\n\nAnd that’s it! You should have a nice progress bar now" + "text": "Typically, you work in a Julia script ending in scriptname.jl\nYou concurrently have a REPL open, to not reload all packages etc. everytime. Further you typically have Revise.jl running in the background to automatically update your custom Packages / Modules (more to that later).\nYou can mark some code and execute it using ctrl + enter - you can also generate code-blocks using #--- and run a whole code-block using alt+enter\n\n\n\n\nOpen a new script statistic_functions.jl in VSCode in a folder of your choice.\nimplement a function called rse_sum1. This function should return true if provided with the following test: rse_sum(1:36) == 666. You should further make use of a for-loop.\nimplement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using rse_mean(-15:17) == 1\nNext implement a standard deviation function rse_std: \\(\\sqrt{\\frac{\\sum((x-mean(x))^2)}{n-1}}\\), this time you should use elementwise/broadcasting operators. Test it with rse_std(1:3) == 1\nFinally, we will implement rse_tstat, returning the t-value with length(x)-1 DF, that the provided Array actually has a mean of 0. The formula is \\(\\frac{mean(x)}{std(x) / (sqrt(x))}\\) Test it with rse_tstat(2:3) == 5. Add the keyword argument σ that allows the user to optionally provide a pre-calculated standard deviation.\n\nWell done! You now have all functions defined with which we will continue our journey.\n\n\n\n\n\n\nBonus Task ProgressMeter\n\n\n\nfor very large sums we might want to add a progressmeter. To do so:\n]add ProgressMeter\nusing ProgressMeter\n...\n@showprogress for ...\n\n\nAnd that’s it! You should have a nice progress bar now" }, { "objectID": "material/1_mon/firststeps/tasks.html#wait---how-do-i-even-run-things-in-juliavscode", @@ -494,7 +494,7 @@ "href": "material/1_mon/firststeps/tasks.html#the-exercise", "title": "Task 1", "section": "", - "text": "Open a new script statistic_functions.jl in VSCode in a folder of your choice.\nimplement a function called rse_sum1. This function should return true if provided with the following test: res_sum(1:36) == 666. You should further make use of a for-loop.\nimplement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using res_mean(-15:17) == 1\nNext implement a standard deviation function rse_std: \\(\\sqrt{\\frac{\\sum((x-mean(x))^2)}{n-1}}\\), this time you should use elementwise/broadcasting operators. Test it with rse_std(1:3) == 1\nFinally, we will implement rse_tstat, returning the t-value with length(x)-1 DF, that the provided Array actually has a mean of 0. The formula is \\(\\frac{mean(x)}{std(x) / (sqrt(x))}\\) Test it with rse_tstat(2:3) == 5. Add the keyword argument σ that allows the user to optionally provide a pre-calculated standard deviation.\n\nWell done! You now have all functions defined with which we will continue our journey.\n\n\n\n\n\n\nBonus Task ProgressMeter\n\n\n\nfor very large sums we might want to add a progressmeter. To do so:\n]add ProgressMeter\nusing ProgressMeter\n...\n@showprogress for ...\n\n\nAnd that’s it! You should have a nice progress bar now" + "text": "Open a new script statistic_functions.jl in VSCode in a folder of your choice.\nimplement a function called rse_sum1. This function should return true if provided with the following test: rse_sum(1:36) == 666. You should further make use of a for-loop.\nimplement a second function called rse_mean, which calculates the mean of the provided vector. Make sure to use the rse_sum function! Test it using rse_mean(-15:17) == 1\nNext implement a standard deviation function rse_std: \\(\\sqrt{\\frac{\\sum((x-mean(x))^2)}{n-1}}\\), this time you should use elementwise/broadcasting operators. Test it with rse_std(1:3) == 1\nFinally, we will implement rse_tstat, returning the t-value with length(x)-1 DF, that the provided Array actually has a mean of 0. The formula is \\(\\frac{mean(x)}{std(x) / (sqrt(x))}\\) Test it with rse_tstat(2:3) == 5. Add the keyword argument σ that allows the user to optionally provide a pre-calculated standard deviation.\n\nWell done! You now have all functions defined with which we will continue our journey.\n\n\n\n\n\n\nBonus Task ProgressMeter\n\n\n\nfor very large sums we might want to add a progressmeter. To do so:\n]add ProgressMeter\nusing ProgressMeter\n...\n@showprogress for ...\n\n\nAnd that’s it! You should have a nice progress bar now" }, { "objectID": "material/1_mon/firststeps/tasks.html#footnotes", diff --git a/sitemap.xml b/sitemap.xml index a51f558..cac7a47 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,142 +2,142 @@ https://www.simtech-summerschool.de/installation/vscode.html - 2023-10-09T12:42:41.361Z + 2023-10-09T12:44:17.090Z https://www.simtech-summerschool.de/teaching.html - 2023-10-09T12:42:40.513Z + 2023-10-09T12:44:16.142Z https://www.simtech-summerschool.de/schedule.html - 2023-10-09T12:42:39.705Z + 2023-10-09T12:44:15.178Z https://www.simtech-summerschool.de/projectwork.html - 2023-10-09T12:42:38.785Z + 2023-10-09T12:44:14.126Z https://www.simtech-summerschool.de/cheatsheets/githubactions.html - 2023-10-09T12:42:37.877Z + 2023-10-09T12:44:13.142Z https://www.simtech-summerschool.de/cheatsheets/julia.html - 2023-10-09T12:42:37.065Z + 2023-10-09T12:44:12.250Z https://www.simtech-summerschool.de/material/3_wed/docs/slides.html - 2023-10-09T12:42:36.225Z + 2023-10-09T12:44:11.313Z https://www.simtech-summerschool.de/material/3_wed/docs/handout.html - 2023-10-09T12:42:32.737Z + 2023-10-09T12:44:07.597Z https://www.simtech-summerschool.de/material/3_wed/linalg/Julia_Matrices_Optimization_JuMP_Stuttgart2023.html - 2023-10-09T12:42:31.513Z + 2023-10-09T12:44:06.225Z https://www.simtech-summerschool.de/material/3_wed/vis/tasks.html - 2023-10-09T12:42:24.765Z + 2023-10-09T12:43:58.733Z https://www.simtech-summerschool.de/material/1_mon/rse/rse_basics_slides_revealjs.html - 2023-10-09T12:42:23.249Z + 2023-10-09T12:43:57.005Z https://www.simtech-summerschool.de/material/1_mon/rse/rse_basics_slides.html - 2023-10-09T12:42:23.237Z + 2023-10-09T12:43:56.981Z https://www.simtech-summerschool.de/material/1_mon/envs/envs_handout.html - 2023-10-09T12:42:21.849Z + 2023-10-09T12:43:55.433Z https://www.simtech-summerschool.de/material/1_mon/firststeps/tasks.html - 2023-10-09T12:42:20.657Z + 2023-10-09T12:43:54.053Z https://www.simtech-summerschool.de/material/4_thu/parallel/slides.html - 2023-10-09T12:42:19.077Z + 2023-10-09T12:43:52.221Z https://www.simtech-summerschool.de/material/4_thu/sim/slides.html - 2023-10-09T12:42:17.465Z + 2023-10-09T12:43:50.293Z https://www.simtech-summerschool.de/material/2_tue/testing/slides.html - 2023-10-09T12:42:16.005Z + 2023-10-09T12:43:48.601Z https://www.simtech-summerschool.de/material/2_tue/git/tasks.html - 2023-10-09T12:42:09.465Z + 2023-10-09T12:43:40.789Z https://www.simtech-summerschool.de/material/2_tue/git/slides.html - 2023-10-09T12:42:08.681Z + 2023-10-09T12:43:39.889Z https://www.simtech-summerschool.de/material/2_tue/codereview/slides.html - 2023-10-09T12:42:14.865Z + 2023-10-09T12:43:47.329Z https://www.simtech-summerschool.de/material/2_tue/ci/slides.html - 2023-10-09T12:42:17.041Z + 2023-10-09T12:43:49.801Z https://www.simtech-summerschool.de/material/4_thu/parallel/Julia_Parallel_Distributed_2023_Stuttgart.html - 2023-10-09T12:42:18.681Z + 2023-10-09T12:43:51.773Z https://www.simtech-summerschool.de/material/1_mon/firststeps/firststeps_handout.html - 2023-10-09T12:42:20.133Z + 2023-10-09T12:43:53.453Z https://www.simtech-summerschool.de/material/1_mon/envs/tasks.html - 2023-10-09T12:42:21.097Z + 2023-10-09T12:43:54.593Z https://www.simtech-summerschool.de/material/1_mon/why_julia/page.html - 2023-10-09T12:42:22.221Z + 2023-10-09T12:43:55.845Z https://www.simtech-summerschool.de/material/3_wed/vis/handout.html - 2023-10-09T12:42:24.029Z + 2023-10-09T12:43:57.921Z https://www.simtech-summerschool.de/material/3_wed/regression/MultipleRegressionBasics.html - 2023-10-09T12:42:27.997Z + 2023-10-09T12:44:02.089Z https://www.simtech-summerschool.de/material/3_wed/linalg/slides.html - 2023-10-09T12:42:32.001Z + 2023-10-09T12:44:06.777Z https://www.simtech-summerschool.de/material/3_wed/docs/tasks.html - 2023-10-09T12:42:35.825Z + 2023-10-09T12:44:10.889Z https://www.simtech-summerschool.de/cheatsheets/git.html - 2023-10-09T12:42:36.609Z + 2023-10-09T12:44:11.709Z https://www.simtech-summerschool.de/cheatsheets/ggplotAOG.html - 2023-10-09T12:42:37.461Z + 2023-10-09T12:44:12.710Z https://www.simtech-summerschool.de/social.html - 2023-10-09T12:42:38.401Z + 2023-10-09T12:44:13.690Z https://www.simtech-summerschool.de/missing.html - 2023-10-09T12:42:39.161Z + 2023-10-09T12:44:14.546Z https://www.simtech-summerschool.de/index.html - 2023-10-09T12:42:40.125Z + 2023-10-09T12:44:15.646Z https://www.simtech-summerschool.de/installation/julia.html - 2023-10-09T12:42:40.957Z + 2023-10-09T12:44:16.630Z