# numerical_analysis **Repository Path**: zhoumaoying/numerical_analysis ## Basic Information - **Project Name**: numerical_analysis - **Description**: No description available - **Primary Language**: Julia - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-07-07 - **Last Updated**: 2022-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Numerical Analysis using Julia ## Why this project is started My research is closely related to the applicaiton of numerical differential equations into mechanical problems. Also I have taken the teaching of **numerical analysis** for several years. Always I am frustrated by the ability of students to use mathematical/numerical tools to solve some seemingly complex engineering problems. It has been a trend in the research that **all the problems reduce to a finite difference/finite element/finite volume problem and are fed into commercially or non-commercially available packages/softwares.** Indeed in my opinion, numerical tools provide us a fantastic way to explore the extremely complex engineering world, if properly employed. This is one of the reason why I start this project. Numerical methods are highly dependent upon programing languages. But the reality is frustrating again. We have a handful of languages capable of completing numerical tasks, including **Fortran, C/C++, matlab, python**, to name just a few. There have been many discussions about the pros and cons of each language. Each language has its supporters and developers. It has been a general task for researchers to read codes from different languages though not all the codes can be reimplemented. The sought for speed, brevity, and representativity has been the goal of applciation scientists. **Julia** has come into being for a while and has not yet come into a mature version. But its features make it promising to be a great successor in numerical computation. The most exciting feature for me is that it provide capability of using unicode to designate variable name. This will be a great tool for my teaching in numerical analysis for undergraduates and graduates. ## What will I cover in the project First, I’d like to say that I want to be exclusive, though impossible. Second, my original idea is to collect some examples from my researh and reading, especially the specific problems encountered and solved during my daily work. This inevitably adds bias to the selection of topic in the project. However, I intend to try my best to include those important parts of numerical analysis. Third, the topic of numerical analysis spans a lot of subjects in engineering and mathematics. So I have to consider the knowledge background of myself and the possible reader. As a result, I decide at this moment (2021.01.05, 22:38:16) to include the following topics (up to future update): 1. Fundamentals of computation (**floating point arithmetics**) 2. Nonlinear equations: solving and exploring (**Implicit function theorem**) 3. Linear equations: direct method related to **matrix operation** 4. Linear equations: iterative method related to **matrix analysis** 5. Interpolation 6. Fitting 7. Integration and Differentiation (**More a background knowledge of discretization**) 8. Ordinary differential equations 9. Partial differential equations: parabolic 10. Partial differential equations: elliptical 11. Partial differential equations: hyperbolic 12. Stochastic problems ? I have to admit that I may not have so much time to finish all these parts in a short time. Maybe this project will last for years. Who knows. At least at this moment, I’d like to start it. ## About the language Julia Indeed, Julia is not a new language at all. It has been there for a while. The installation and introductory using of Julia is the main purpose of this part. ### Installation of Julia 1. Go to the official website of Julia (**https://julialang.org/**) and download the appropriate versions of Julia. At this moment of project initiation, I recommend the verion 1.5.3, which is the version I used. As Julia is under intense development, the version is periodically changed. Unless necessary, I found that version 1.5.3 is pretty usable. ![image-20210105225245959](/Users/zhoumaoying/Library/Application Support/typora-user-images/image-20210105225245959.png) 2. Double click the downloaded installer of Julia and find an appropriate folder to intall it in. Do as the installer tells till the end and you should be able to use it now. 3. Open the Windows command prompt (**cmd** in Win7 system) and type **julia** to open the Julia **REPL** (Reactive Evaluation Printing Loop). You can now type what you want Julia to do there. 4. The command line mode is not recommended to use. So similar to Python, you can use Jupiter notebook to edit and compile Julia command. The detailed process to install and configure **Jupyter Notebook** with respect to Julia can be found in a different file. Also you can use **Pluto** in Julia, which is covered elsewhere. 5. #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)