{"id":16455789,"url":"https://github.com/roger-luo/tutorial-julialang","last_synced_at":"2025-02-27T01:18:53.877Z","repository":{"id":96839817,"uuid":"128093501","full_name":"Roger-luo/tutorial-julialang","owner":"Roger-luo","description":"A Tutorial to Julia Language","archived":false,"fork":false,"pushed_at":"2018-05-09T11:01:15.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T23:51:32.747Z","etag":null,"topics":["julia","scientific-computing","tutorial"],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Roger-luo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-04T16:59:54.000Z","updated_at":"2018-05-09T11:01:17.000Z","dependencies_parsed_at":"2023-05-02T03:10:29.600Z","dependency_job_id":null,"html_url":"https://github.com/Roger-luo/tutorial-julialang","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"7a9d48c71ab868663558ec37258809524276b400"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Roger-luo%2Ftutorial-julialang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Roger-luo%2Ftutorial-julialang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Roger-luo%2Ftutorial-julialang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Roger-luo%2Ftutorial-julialang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Roger-luo","download_url":"https://codeload.github.com/Roger-luo/tutorial-julialang/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240959408,"owners_count":19884955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia","scientific-computing","tutorial"],"created_at":"2024-10-11T10:23:42.734Z","updated_at":"2025-02-27T01:18:53.843Z","avatar_url":"https://github.com/Roger-luo.png","language":"Julia","readme":"# A Tutorial to the Julia Language\n\nYou can access the presentation here: [Julia: A Fresh New Approach to Numerical Computing Some Selected Features](http://104.224.129.42/slides/the-julia-language/)\n\n## Contents\n\n- [Setup Your Julia Environment]()\n- [Tutorial Contents](/tutorial.md)\n- [Tool Chain for Physicists](/tool-chain-for-physicists.md)\n- [Useful Blog Posts](/posts.md)\n- [Notebooks](/notebooks/README.md)\n- [Demos](/codes/README.md)\n\n## Tutorial\n### Basics\n\n- [x] Type system\n- [x] Function\n- [x] Multiple Dispatch\n- [x] Meta Programming\n- [ ] Parallel Computing\n- [ ] Plot\n\n### Advance\n\n- [ ] Package Development\n- [ ] Performance Tips\n- [x] Using GPU through native Julia language\n- [ ] Quantum Many-body Toolbox\n\n## Tool Chain for Physicists\n\n- Builtin BLAS and Linear Algebra Algorithm (move to `stdlib/LinearAlgebra` in v1.0)\n- Builtin SparseArray (move to `stdlib/SparseArrays` in v1.0)\n- Native GPGPU, GPU BLAS and GPU algorithm with [CUDAnative.jl](https://github.com/JuliaGPU/CUDAnative.jl)\n- [JuMP](https://github.com/JuliaOpt/JuMP.jl)\n- Virtual Environment by [Pkg3.jl](https://github.com/JuliaLang/Pkg3.jl)\n- Compatibility accorss versions through [Compat.jl](https://github.com/JuliaLang/Compat.jl)\n- Serialization by HDF5 with [JLD2.jl](https://github.com/simonster/JLD2.jl)\n- Symbolic Computation with [Symata](https://github.com/jlapeyre/Symata.jl)\n- Use Tensorflow with [Tensorflow.jl](https://github.com/malmaud/TensorFlow.jl)\n- Pattern Matching with [Match.jl](https://github.com/kmsquire/Match.jl)\n- Source Code transformation based autodiff with [AutoDiffSource.jl](https://github.com/gaika/AutoDiffSource.jl)\n- REPL enhancements with [OhMyREPL.jl](https://github.com/KristofferC/OhMyREPL.jl)\n- binding numpy, julia array, C++ array and enable lazy evaluation with [xtensor](https://github.com/QuantStack/xtensor)\n- General Lazy evaluation and functional programming utilities with [Lazy.jl](https://github.com/MikeInnes/Lazy.jl)\n- Deep Learning with MXNet official binding [MXNet.jl](https://github.com/dmlc/MXNet.jl)\n- C++ Foreign Function Interface (FFI) and REPL with [Cxx.jl](https://github.com/Keno/Cxx.jl)\n- MCMC for Bayesian analysis with [Mamba.jl](https://github.com/brian-j-smith/Mamba.jl)\n- Quantum optics and open quantum systems with [QuantumOptics.jl](https://github.com/qojulia/QuantumOptics.jl)\n\n## Preparations\n\n### Download Demos\n\nFirst, clone this repository:\n\n```shell\nshell\u003e git clone git@github.com:Roger-luo/tutorial-julialang.git\n```\n\ndownload this zip file [master.zip](https://github.com/Roger-luo/tutorial-julialang/archive/master.zip) to your laptop.\n\n### Install Julia\n\nYou have to install [Julia language](https://julialang.org/) on your laptop:\n\n#### Windows\n\nclick here to download the installer:\n\n- [32-bit](https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6.2-win32.exe)\n- [64-bit](https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6.2-win64.exe)\n\n#### Mac OS\n\nuse `homebrew`:\n\n```sh\nbrew cask install julia\n```\n\nor click here to download the installer:\n\n- [10.8+ 64-bit](https://julialang-s3.julialang.org/bin/mac/x64/0.6/julia-0.6.2-mac64.dmg)\n\n#### Linux\n\nDo not use `apt-get install` for Ubuntu/Debian, the julia compiler in Ubuntu repository is too old. Use this binary:\n\n- [32-bit](https://julialang-s3.julialang.org/bin/linux/x64/0.6/julia-0.6.2-linux-x86_64.tar.gz)\n- [64-bit](https://julialang-s3.julialang.org/bin/linux/x64/0.6/julia-0.6.2-linux-x86_64.tar.gz)\n\n#### Other Linux\n\nHelp yourself or use this [tarball](https://github.com/JuliaLang/julia/releases/download/v0.6.2/julia-0.6.2-full.tar.gz)\n\n#### Build from Source\n\ncheck this [README.md](https://github.com/JuliaLang/julia)\n\n### Optional Package\n\nopen julia by click it or from command line:\n\n```shell\nshell\u003e julia\n```\n\nthen add a package by the following commands\n\n```julia-repl\njulia\u003e Pkg.add(\"PackageName\")\n```\n\nList of Recommended Packages:\n\n- **IJulia**: Interactive Julia\n- **Plots**: Plotting frontend\n\n**GPU Programming** (GPU device required, NVIDIA card is recommended)\n\n*need to build the compiler from source with llvm 3.9*\n\n- **CuArrays**: A Curious Cumulation of CUDA Cuisine\n- **CUDAnative**:  Julia support for native CUDA programming\n\n## Author\n\nRoger Luo [rogerluo.me](http://rogerluo.me/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froger-luo%2Ftutorial-julialang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froger-luo%2Ftutorial-julialang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froger-luo%2Ftutorial-julialang/lists"}