{"id":23693462,"url":"https://github.com/tangxiangong/numericalanalysis.jl","last_synced_at":"2025-10-29T14:34:06.794Z","repository":{"id":198982877,"uuid":"701939643","full_name":"tangxiangong/NumericalAnalysis.jl","owner":"tangxiangong","description":"数值算法的 Julia 实现","archived":false,"fork":false,"pushed_at":"2024-05-28T03:18:37.000Z","size":158,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T03:52:32.401Z","etag":null,"topics":["julia","numerical-methods"],"latest_commit_sha":null,"homepage":"https://tangxiangong.github.io/NumericalAnalysis.jl/dev","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangxiangong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-10-08T02:43:44.000Z","updated_at":"2024-05-28T03:18:40.000Z","dependencies_parsed_at":"2023-10-29T04:22:21.977Z","dependency_job_id":null,"html_url":"https://github.com/tangxiangong/NumericalAnalysis.jl","commit_stats":null,"previous_names":["tangxiangong/numericalanalysis.jl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangxiangong%2FNumericalAnalysis.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangxiangong%2FNumericalAnalysis.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangxiangong%2FNumericalAnalysis.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangxiangong%2FNumericalAnalysis.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangxiangong","download_url":"https://codeload.github.com/tangxiangong/NumericalAnalysis.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239758893,"owners_count":19692041,"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","numerical-methods"],"created_at":"2024-12-30T03:52:34.936Z","updated_at":"2025-10-29T14:34:06.680Z","avatar_url":"https://github.com/tangxiangong.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NumericalAnalysis.jl\n\u003e 教材 [Numerical Analysis (3rd Edition, by Timothy Sauer)](https://www.pearson.com/en-us/subject-catalog/p/numerical-analysis/P200000006340?view=educator\u0026tab=title-overview) 中数值算法的 Julia 实现. \n\n[![codecov](https://codecov.io/gh/tangxiangong/NumericalAnalysis.jl/graph/badge.svg?token=58LNBU2BVF)](https://codecov.io/gh/tangxiangong/NumericalAnalysis.jl)\n[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://tangxiangong.github.io/NumericalAnalysis.jl/dev)\n\n\n## Chapter 0. Fundamentals\n[Evaluating a Polynomial](./src/Fundamentals/Polynomial.jl)\n多项式相关计算, 更专业全面的实现可见 [Polynomials.jl](https://github.com/JuliaMath/Polynomials.jl).\n### 进展\n- [x] 实多项式类型 `Polynomial{\u003c:Real}(::Vector{\u003c:Real})`\n- [x] 多项式次数 `degree(::Polynomial)`, `Base.getproperty(::Polynomial, :degree)` \n- [x] 自定义纯文本输出 `Base.show(::Polynomial)`\n- [ ] 在 Jupyter/Pluto/... 中实现 $\\LaTeX$ 输出 (利用 [Latexify.jl](https://github.com/korsbo/Latexify.jl))\n- [x] 加法逆元 `Base.:-(::Polynomial)`\n- [x] 秦九韶算法求值 `evaluate(::Polynomial)`, `(::Polynomial)(::Real)`\n- [x] 加/减法和求导运算 `Base.:+(::Polynomial, ::Polynomial)`, `Base.:-(::Polynomial, ::Polynomial)`, `∂(::Polynomial)`\n- [x] 标量乘法 `Base.:*(::Real, ::Polynomial)` 和多项式乘法 `Base.:*(::Polynomial, ::Polynomial)` (利用 [FFTW.jl](https://github.com/JuliaMath/FFTW.jl) 计算乘积的系数)\n- [x] 由根向量生成多项式 `from_roots(::Vector{\u003c:Real}, ::Real = 1) :: Polynomial`\n### 代码示例\n```julia\nusing NumericalAnalysis.Fundamentals\np = Polynomial([1, 2, 0, 1])  # 输出为 Polynomial(t^3+2t^2+1)\nq = Polynomial([1, 2, 1]) \n-q    # Polynomial(-x^2-2x-1)\neval_poly(p, 1)  # 3\np(1) == evaluate(p, 1)  # true\n∂(p)   # Polynomial(3x^2+4x)\np + q; p-q; p*q\n```\n\n## Chapter 1. Solving Equations\n[求解非线性方程组](./src/NonLinearSolve/NonLinearSolve.jl)\n### 进展\n- [x] 二分法 `bisection(::Function, ::Tuple{\u003c:Real, \u003c:Real}, ::Float64=1e-8)`\n- [x] 不动点迭代法 `fixedpoint(::Function, ::Real; ::Union{Function, Nothing}=nothing, ::Float64=1e-8, ::Int=10_000)`\n- [x] 牛顿迭代法 `newton(::Function, ::Real; ::Union{Nothing, Function}=nothing, ::Float64=1e-8, ::Integer=10_000)`\n\n## Chapter Numerical Integrals\n[数值积分](./src/Quadratures/)\n\n### 进展\n- [x] Gauss 积分公式\n\n### 例子\n```julia\nusing NumericalAnalysis.Quadrature \ndomain = (0, 1)           # 积分区间\norder = 10                # 节点个数, 即所使用的正交多项式的次数, 对应 2`order`-1阶代数精度\ndx = discretization(domain, order; method=:Legendre)    #  计算区间 `domain`, `order` 次 Legendre 正交多项式所对应的节点和权重\nf(x) = x^9                # 被积函数\n∫(f)*dx                   # 数值积分\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangxiangong%2Fnumericalanalysis.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangxiangong%2Fnumericalanalysis.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangxiangong%2Fnumericalanalysis.jl/lists"}