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 @@
As you can see, develop version (version < 1
) are treated a bit special in Julia, and different to semver
. Read more here
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 @@typeof(myArray)
)
+initialize a vector (check with typeof(myArray)
)
[
brackets to index Arrays!
+MatLab: Notice the [
brackets to index Arrays!
.
always means elementwise
+Python/R: .
always means elementwise
end
after each control sequence
+Python/R: end
after each control sequence
;
=> positional, after => kwargs
+everything before the ;
=> positional, after => kwargs
b=123
optional positional argument
+List all methods with that function name - returns two functions, due to the b=123
optional positional argument
+(1,2,3)
+equivalent to +(1,2,3)
sqrt
of a Vector
+Error - there is no method defined for the sqrt
of a Vector
.
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”
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.
LinearAlgebra.QR(...)
to access a function
+Requires to write LinearAlgebra.QR(...)
to access a function
LinearAlgebra
is a Base
package, and always available
+LinearAlgebra
is a Base
package, and always available
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
of {Float64,2}
is not mandatory
+the 2
of {Float64,2}
is not mandatory
Much more on Wednesday in the lecture LinearAlgebra
!
c
+returns c
StepRange
between characters
+a StepRange
between characters
Array{Chars}
+a Array{Chars}
String
+a String
*
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.
true
. Note the small r
before the r"regular expression"
- nifty!
+Returns true
. Note the small r
before the r"regular expression"
- nifty!
::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
Variables are in global scope in the REPL for debugging convenience
@@ -834,7 +834,7 @@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
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
Open a new script statistic_functions.jl
in VSCode in a folder of your choice.
-implement a function called rse_sum
1. 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.
-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
+implement a function called rse_sum
1. 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.
+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
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
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