{ "cells": [ { "cell_type": "markdown", "id": "2f9f2285", "metadata": {}, "source": [ "### Arrays\n", "\n", "Basically lists of things" ] }, { "cell_type": "code", "execution_count": 1, "id": "c0866010", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4-element Vector{Any}:\n", " 0\n", " 1\n", " 3\n", " \"asd\"" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list1 = [0 ,1, 3, \"asd\"]" ] }, { "cell_type": "markdown", "id": "50cedb19", "metadata": {}, "source": [ "Access to it is done using square brackets - rememeber julia has 1 indexing instead of 0 indexing unlike python/c/..." ] }, { "cell_type": "code", "execution_count": 2, "id": "80ddd652", "metadata": {}, "outputs": [ { "ename": "LoadError", "evalue": "BoundsError: attempt to access 4-element Vector{Any} at index [0]", "output_type": "error", "traceback": [ "BoundsError: attempt to access 4-element Vector{Any} at index [0]", "", "Stacktrace:", " [1] getindex(A::Vector{Any}, i1::Int64)", " @ Base ./array.jl:801", " [2] top-level scope", " @ In[2]:1", " [3] eval", " @ ./boot.jl:360 [inlined]", " [4] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)", " @ Base ./loading.jl:1116" ] } ], "source": [ "list1[0]" ] }, { "cell_type": "code", "execution_count": 3, "id": "7fec11f9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list1[1]" ] }, { "cell_type": "markdown", "id": "91f887e4", "metadata": {}, "source": [ "You can also access elements at the end" ] }, { "cell_type": "code", "execution_count": 4, "id": "eecd4ddc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"asd\"" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list1[end]" ] }, { "cell_type": "code", "execution_count": 5, "id": "f5100045", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list1[end-1]" ] }, { "cell_type": "markdown", "id": "1f142692", "metadata": {}, "source": [ "The type of a list is the most common ancestor of all the types of things in the list" ] }, { "cell_type": "code", "execution_count": 6, "id": "ac2cde3d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Vector{Int64}:\n", " 0\n", " 1\n", " 2\n", " 3\n", " 4" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "intList = [0,1,2,3,4]" ] }, { "cell_type": "code", "execution_count": 7, "id": "b8e890f8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Float64}:\n", " 0.0\n", " 1.1\n", " 2341.12" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "floatList = [0,1.1,2341.12]" ] }, { "cell_type": "code", "execution_count": 8, "id": "c2f8074d", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "3-element Vector{ComplexF64}:\n", " 0.0 + 0.0im\n", " 1.0 + 1.0im\n", " 0.1 + 0.0im" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "complexList = [0, 1+im, 0.1]" ] }, { "cell_type": "code", "execution_count": 9, "id": "76d1bd6d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Any}:\n", " 0\n", " 1\n", " \"string\"" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "anyList = [0, 1, \"string\"]" ] }, { "cell_type": "markdown", "id": "0640b3d1", "metadata": {}, "source": [ "Although this doesn't matter as much as in C as it is dynamically typed, meaning you can just insert a string into an int list for example without impunity in Julia, this will actually make your code run slower. This is because Julia is just-in-time compiled (if you want more details I can expand in office hours) so keeping a list to a specific type will speed things up." ] }, { "cell_type": "markdown", "id": "04b86189", "metadata": {}, "source": [ "### Vectors and Matrices\n", "\n", "For this class an in general for mathematical computing, we mainly care about 1D/2D arrays of numbers (vectors/matrices). The package in Julia for a lot of the operations you will be using (e.g. inverse, determinants, ...) is called LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 10, "id": "2d40443e", "metadata": {}, "outputs": [], "source": [ "using LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 11, "id": "7bca48aa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Int64}:\n", " 1\n", " 0\n", " 0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vec = [1, 0, 0]" ] }, { "cell_type": "code", "execution_count": 12, "id": "b36da390", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3×3 Matrix{Int64}:\n", " 1 0 0\n", " 0 1 2\n", " 0 1 3" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = [ [1,0,0] [0,1,1] [0,2,3] ]" ] }, { "cell_type": "markdown", "id": "7f4645d6", "metadata": {}, "source": [ "Indexing is done as follows, not for a matrix you need two index numbers as it is a 2D array. The index is [row,column]" ] }, { "cell_type": "code", "execution_count": 13, "id": "acd27b64", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vec[1]" ] }, { "cell_type": "code", "execution_count": 14, "id": "4fd9a4ed", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[1,2]" ] }, { "cell_type": "markdown", "id": "2b3d8fa3", "metadata": {}, "source": [ "You can do the expected operations, such as matrix multiply, addition subtraction of vectors and matrices:" ] }, { "cell_type": "code", "execution_count": 15, "id": "c12647ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Int64}:\n", " 1\n", " 0\n", " 0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A*vec" ] }, { "cell_type": "code", "execution_count": 16, "id": "aa789c27", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Int64}:\n", " 2\n", " 3\n", " 1" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vec2 = [2,3,1]" ] }, { "cell_type": "code", "execution_count": 17, "id": "3956d510", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Int64}:\n", " 3\n", " 3\n", " 1" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vec+vec2" ] }, { "cell_type": "markdown", "id": "10c0bba1", "metadata": {}, "source": [ "One of the most common commands is to solve the equation Ax = b (i.e. calculate $A^{-1}b)$, you could do this explicitly" ] }, { "cell_type": "code", "execution_count": 18, "id": "60633283", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Float64}:\n", " 1.0\n", " 0.0\n", " 0.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "invA = inv(A)\n", "invA * vec" ] }, { "cell_type": "markdown", "id": "e1189f1e", "metadata": {}, "source": [ "Or there is special syntax for this that does not explicitly compute the inverse of A:" ] }, { "cell_type": "code", "execution_count": 19, "id": "0216087a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3-element Vector{Float64}:\n", " 1.0\n", " 0.0\n", " 0.0" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A \\ vec" ] }, { "cell_type": "markdown", "id": "0c4dbb1e", "metadata": {}, "source": [ "It turns out computing the inverse explicitly is a really bad idea! Let's see why with a randomly generated matrix of size 5000:" ] }, { "cell_type": "code", "execution_count": 20, "id": "8ebf6cc5", "metadata": {}, "outputs": [], "source": [ "Arand = rand( 5000, 5000 );\n", "brand = rand( 5000, 1 );" ] }, { "cell_type": "code", "execution_count": 21, "id": "d8aca59e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.055235 seconds (436.01 k allocations: 215.919 MiB, 0.61% gc time, 8.77% compilation time)\n" ] } ], "source": [ "@time Arand \\ brand;" ] }, { "cell_type": "code", "execution_count": 22, "id": "887e30f1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 5.123473 seconds (2.22 M allocations: 310.770 MiB, 0.95% gc time, 11.81% compilation time)\n" ] } ], "source": [ "@time inv(Arand) * brand;" ] }, { "cell_type": "markdown", "id": "da272c59", "metadata": {}, "source": [ "So it looks like backslash is 2-3 times faster! In fact for a lot of matrices backslash can be even faster than that compared to direct inversion (this is because \\ has some very fancy algorithms behind it QR, Cholesky, PLU, ..., ask me if you want to know more)!" ] }, { "cell_type": "markdown", "id": "c8b1a13c", "metadata": {}, "source": [ "### Plotting\n", "\n", "I believe for this course we will mainly be using the PyPlot package. There do exist others in Julia (e.g. Plots, GR, Makie, ...) but we will stick with PyPlot for ease of use." ] }, { "cell_type": "code", "execution_count": 23, "id": "4fba0a00", "metadata": {}, "outputs": [], "source": [ "using PyPlot" ] }, { "cell_type": "markdown", "id": "84b13612", "metadata": {}, "source": [ "To generate a simple line plot, we need an array of x and y values:" ] }, { "cell_type": "code", "execution_count": 24, "id": "4883f332", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "20-element LinRange{Float64}:\n", " 0.0,0.0526316,0.105263,0.157895,0.210526,…,0.842105,0.894737,0.947368,1.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xvals = LinRange(0,1,20)" ] }, { "cell_type": "markdown", "id": "0ccb6e11", "metadata": {}, "source": [ "The above code generates 20 points equidistant from 0 to 1. Now to get some y values, let's say of the $\\sin(\\pi x)$ function:" ] }, { "cell_type": "code", "execution_count": 25, "id": "865e1a81", "metadata": {}, "outputs": [], "source": [ "sinvals = [ sin(pi*x) for x in xvals ];" ] }, { "cell_type": "markdown", "id": "c8700ce6", "metadata": {}, "source": [ "I used something here called a list comprehension, it is basically a shortcut for a for loop in that it applies the specified function (here sin) to all x in xvals. To plot it:" ] }, { "cell_type": "code", "execution_count": 26, "id": "3edeb610", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1-element Vector{PyCall.PyObject}:\n", " PyObject " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot( xvals, sinvals )" ] }, { "cell_type": "markdown", "id": "c8739754", "metadata": {}, "source": [ "It looks a bit rough so can increase number of sample points:" ] }, { "cell_type": "code", "execution_count": 27, "id": "ada3b35c", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1-element Vector{PyCall.PyObject}:\n", " PyObject " ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xvals = LinRange(0,1,40);\n", "sinvals = [ sin(pi*x) for x in xvals ];\n", "plot( xvals, sinvals )" ] }, { "cell_type": "markdown", "id": "ced9751b", "metadata": {}, "source": [ "And that looks better! To label the axes:" ] }, { "cell_type": "code", "execution_count": 28, "id": "bfeffee0", "metadata": {}, "outputs": [ { "data": { "image/png": "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CAkJER2pznymzw3VjaIo9iveR48ezcKGiIhq5fHHH4darUZRURE+/PBD0XHqXQPRAejyZFmGxWJBZmYmsrOzERYWZr+9j4iI6HJCQkLwwgsvYNq0aVi0aBFatWqFoqIiqNVq6PV6qFQq0RHdiqelvJzZbEZycjIKCgrsy6655hq89957MBgMApMREZEvOX78OFq1aoWKigqH5RqNBmlpaV5/TOFpKT9hNpthNBodChvgwpQTRqMRZrNZUDIiIvI1FoulWmEDAIWFhX53TOHIjZeSZRk6na5aYVNFkiRoNBrk5OT43XAiERG5lz8cUzhy4wcsFovLP0LgwsXF+fn5sFgsHkxFRES+KNCOKSxuvNTFvX3csR0REQWuQDumsLjxUmq12q3bERFR4Aq0YwqLGy+l1+uh0WhcrpckCVqtFnq93oOpiIjIF1UdUyRJcrre344pLG68FUaRoQAAFBlJREFUlEqlcjnJWdUfZ2pqqtde+EVERN7j4mOKqwLHn44pLG682K233up0uUajgclk8vqeBERE5D0MBgNMJhNiYmIcljds2NDvjinsUOzF3nrrLQBAz5498fLLL8NqtfptN0kiIqp/BoMBffr0gcViwXfffYeJEyfi3LlzuP3220VHcyv2ufFSJSUliImJQUlJCf79738jISFBdCQiIvIzDz30ELZv344JEyZg4cKFouPUiH1u/MC7776LkpISxMbG4sEHHxQdh4iI/NCYMWMAAKtWrcLp06cFp3EfFjdeqLKyEkuWLAEAvPjiiy4v/iIiIroaPXv2RNu2bWGz2fD++++LjuM2LG680L///W8cPHgQkZGRGDp0qOg4RETkp4KCgvDiiy8CABYvXgx/uVKFxY0XWrx4MQDg6aefRkREhOA0RETkz4YPH46IiAj88ssv+Pzzz0XHcQsWN17mwIED+OyzzyBJEkaNGiU6DhER+bmoqCgMHz4cwN8frn0dixsvs3TpUgBAr1690LZtW8FpiIgoEFSdmvrkk09w6NAhwWmuHosbL2Kz2bB27VoAf1/BTkREVN/atWuHnj17QlEU+4dsX8bixousXbsWp0+fRlxcHLp37y46DhERBZCqD9Vr1qxBSUmJ4DRXh8WNl7j49u8xY8bw9m8iIvKohIQEtGvXDsXFxXjvvfdEx7kqLG68xLZt23Do0CE0btwYSUlJouMQEVGA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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject Text(0.5, 1, '$\\\\sin(\\\\pi x)$')" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot( xvals, sinvals, \"ko-\" ) #The \"k\" means its a black curve, o turns dots on, - turns line on\n", "xlabel(\"x\")\n", "ylabel(\"y\")\n", "title(L\"\\sin(\\pi x)\")" ] }, { "cell_type": "markdown", "id": "1c47f3be", "metadata": {}, "source": [ "The `L` in front of the string tells PyPlot that it is LaTeX notation." ] }, { "cell_type": "markdown", "id": "8c8bac65", "metadata": {}, "source": [ "There are lots of other possible commands to customise your plots - google them!" ] }, { "cell_type": "code", "execution_count": null, "id": "a7ad9072", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.6.5", "language": "julia", "name": "julia-1.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.6.2" } }, "nbformat": 4, "nbformat_minor": 5 }