diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000000..d71b625023d Binary files /dev/null and b/.DS_Store differ diff --git a/Computational Science/.DS_Store b/Computational Science/.DS_Store new file mode 100644 index 00000000000..288c781edd9 Binary files /dev/null and b/Computational Science/.DS_Store differ diff --git a/Computational Science/graduate/.DS_Store b/Computational Science/graduate/.DS_Store new file mode 100644 index 00000000000..2a10e1571fb Binary files /dev/null and b/Computational Science/graduate/.DS_Store differ diff --git a/Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store b/Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store new file mode 100644 index 00000000000..6587ca13703 Binary files /dev/null and b/Computational Science/graduate/Compressed Sensing and Sparse Optimization/.DS_Store differ diff --git a/Computational Science/graduate/Compressed Sensing and Sparse Optimization/Core Topics/Convex Optimization Algorithms for Sparsity/Convergence Analysis and Rates of Ista/Hardcore/zh-CN/MainContent.md b/Computational Science/graduate/Compressed Sensing and Sparse Optimization/Core Topics/Convex Optimization Algorithms for Sparsity/Convergence Analysis and Rates of Ista/Hardcore/zh-CN/MainContent.md index 00f79e4bacd..5fddef0181c 100644 --- a/Computational Science/graduate/Compressed Sensing and Sparse Optimization/Core Topics/Convex Optimization Algorithms for Sparsity/Convergence Analysis and Rates of Ista/Hardcore/zh-CN/MainContent.md +++ b/Computational Science/graduate/Compressed Sensing and Sparse Optimization/Core Topics/Convex Optimization Algorithms for Sparsity/Convergence Analysis and Rates of Ista/Hardcore/zh-CN/MainContent.md @@ -3,6 +3,8 @@ 本文旨在填补从知晓ISTA“做什么”到理解其“如何工作得快”之间的知识鸿沟。我们将系统性地剖析ISTA的[收敛理论](@entry_id:176137),从其稳健但缓慢的[全局收敛](@entry_id:635436)保证,到在特定条件下令人惊喜的快速局部收敛现象。通过本文的学习,您将不仅掌握[收敛性分析](@entry_id:151547)的数学工具,更能领会这些理论如何转化为算法设计的智慧和实践应用的洞察。 +[click me](shttps://www.bohrium.com) + 文章将分为三个核心部分。首先,在“原理与机制”一章中,我们将奠定理论基础,从ISTA的基本迭代步骤出发,严谨推导其 $O(1/k)$ 的[次线性收敛速率](@entry_id:755607),并深入探讨实现[局部线性收敛](@entry_id:751402)所需的关键条件及其背后的机制。接着,在“ISTA[收敛性分析](@entry_id:151547)的应用与跨学科联系”一章中,我们将展示这些理论分析的强大应用价值,探讨如何利用它来[增强算法](@entry_id:635795)性能、理解与其他[优化方法](@entry_id:164468)的深刻联系,以及如何将优化理论与[统计学习](@entry_id:269475)的需求相结合。最后,“动手实践”部分将提供一系列精心设计的计算练习,帮助您将抽象的理论概念转化为具体的计算技能和直观理解。 让我们从第一章开始,深入探索驱动ISTA收敛的核心原理。 @@ -155,4 +157,4 @@ FISTA (Fast ISTA) 是 ISTA 的一个著名加速版本,它通过引入一个 - 如果强[凸性](@entry_id:138568)来源于**光滑项 $f(x)$**,那么 FISTA 的动量机制能够有效利用这种曲率信息,实现比 ISTA 更优的[线性收敛](@entry_id:163614)速率(因子近似为 $1 - \sqrt{\mu/L}$,而 ISTA 为 $1 - \mu/L$)。 - 然而,如果强凸性仅来源于**非光滑项 $g(x)$**(例如,通过在 $\ell_1$-范数上增加一个 $\ell_2^2$ 项,即所谓的[弹性网络正则化](@entry_id:748859)),情况则大不相同。此时,梯度步 $x \mapsto x - \alpha \nabla f(x)$ 仅仅是非扩张的,而不是收缩的。算法的收敛性主要由[近端算子](@entry_id:635396) $\operatorname{prox}_{\alpha g}$ 提供的收缩保证。在这种结构下,FISTA 的动量项无法在渐近意义上提供额外的加速。因此,ISTA 和带重启策略的 FISTA 最终会以相同的[线性收敛](@entry_id:163614)速率收敛,该速率由[近端算子](@entry_id:635396)的[收缩性](@entry_id:162795)质决定,约为 $1/(1+\alpha\gamma)$。 -综上所述,ISTA 的收敛行为呈现出丰富的多阶段特性。它从一个稳健但缓慢的全局次[线性收敛](@entry_id:163614)开始,在满足特定局部结构条件时,能够平滑过渡到一个快速的[局部线性收敛](@entry_id:751402)阶段。理解这一过程的原理与机制,对于在实践中诊断算法性能、调整参数以及选择合适的算法变体至关重要。 \ No newline at end of file +综上所述,ISTA 的收敛行为呈现出丰富的多阶段特性。它从一个稳健但缓慢的全局次[线性收敛](@entry_id:163614)开始,在满足特定局部结构条件时,能够平滑过渡到一个快速的[局部线性收敛](@entry_id:751402)阶段。理解这一过程的原理与机制,对于在实践中诊断算法性能、调整参数以及选择合适的算法变体至关重要。 diff --git a/keyword/.DS_Store b/keyword/.DS_Store new file mode 100644 index 00000000000..38a165b4a14 Binary files /dev/null and b/keyword/.DS_Store differ diff --git a/keyword/2deg/.DS_Store b/keyword/2deg/.DS_Store new file mode 100644 index 00000000000..a98b4e623e6 Binary files /dev/null and b/keyword/2deg/.DS_Store differ diff --git a/keyword/2deg/Feynman/.DS_Store b/keyword/2deg/Feynman/.DS_Store new file mode 100644 index 00000000000..350cd27a069 Binary files /dev/null and b/keyword/2deg/Feynman/.DS_Store differ diff --git a/keyword/2deg/Feynman/zh-CN/MainContent.md b/keyword/2deg/Feynman/zh-CN/MainContent.md index a17cad6c19d..bd5e167772c 100644 --- a/keyword/2deg/Feynman/zh-CN/MainContent.md +++ b/keyword/2deg/Feynman/zh-CN/MainContent.md @@ -1,6 +1,8 @@ ## 引言 在广阔的材料世界中,存在一个引人入胜的特例,其中电子被迫生活在一个“二维世界”——一个仅有纳米厚度的平面中。这就是二维电子气(2DEG)的世界,一个重写了量子力学规则的系统,从而产生了奇异的性质和革命性的技术。但这种限制为何如此特殊?当电子被剥夺第三个维度时,它们的行为如何?这种约束又会产生哪些独特的现象?本文将全面概述二维电子气,将基础理论与现实世界的影响联系起来。第一章“**原理与机制**”深入探讨其核心物理学,从恒定的态密度到[磁场](@article_id:313708)中[朗道能级](@article_id:304674)的形成,解释了这套量子规则如何支配系统的电学和磁学特性。随后的“**应用与跨学科联系**”一章将展示这些原理如何被利用,探讨二维电子气在诺贝尔奖级别的量子霍尔效应中的作用、其在先进材料中的工程实现,以及其在从[计量学](@article_id:309728)到自旋电子学等领域中的关键功能。 +[meow](https://www.google.com.hk) + ## 原理与机制 想象一个物理规则微妙而又深刻地不同的宇宙。这不是科幻小说,而是**[二维电子气 (2DEG)](@article_id:306100)** 的世界。在介绍了什么是二维电子气——被困在量子薄层中的电子片——之后,我们现在可以开始一段旅程,去理解其奇异而美妙的内部运作。就像埃德温·阿伯特的《平面国》中的居民一样,这些电子被禁止向上或向下移动;它们的整个存在都在一个平面上展开。这单一的限制极大地改写了它们的规则手册,导致了一系列独特的行为,这些行为不仅是科学上的奇观,更是前沿技术背后的引擎。 @@ -43,4 +45,4 @@ 我们的旅程一直由一个简化的、纯粹的无相互作用电[子模](@article_id:309341)型引导。这是一个极其强大的模型,揭示了本质的物理学。但在现实世界中,电子作为带电粒子,会相互排斥。这些相互作用增加了另一层复杂性和丰富性。 -最直接的后果是**[交换能](@article_id:297520)**,这是一种纯粹的量子力学效应,源于相同的电子必须相互避开。这种相互作用实际上降低了系统的总能量。当我们考虑它时,计算添加一个电子的“成本”——即化学势——的公式中增加了一个新的负项。这提醒我们,我们的简单模型仅仅是模型而已:它们是理解一个总是比我们最初想象的更复杂、更迷人的宇宙的绝佳起点。然而,我们所揭示的原理仍然是建立所有进一步理解的基石。 \ No newline at end of file +最直接的后果是**[交换能](@article_id:297520)**,这是一种纯粹的量子力学效应,源于相同的电子必须相互避开。这种相互作用实际上降低了系统的总能量。当我们考虑它时,计算添加一个电子的“成本”——即化学势——的公式中增加了一个新的负项。这提醒我们,我们的简单模型仅仅是模型而已:它们是理解一个总是比我们最初想象的更复杂、更迷人的宇宙的绝佳起点。然而,我们所揭示的原理仍然是建立所有进一步理解的基石。 diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/.DS_Store" new file mode 100644 index 00000000000..e658ee5635f Binary files /dev/null and "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/.DS_Store" differ diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" new file mode 100644 index 00000000000..7ca57829c94 Binary files /dev/null and "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/.DS_Store" differ diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" new file mode 100644 index 00000000000..591d3855e5c Binary files /dev/null and "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/.DS_Store" differ diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" new file mode 100644 index 00000000000..d375e08a76e Binary files /dev/null and "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/.DS_Store" differ diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" new file mode 100644 index 00000000000..21a3dd91972 Binary files /dev/null and "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/.DS_Store" differ diff --git "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" index 93a13f25a9b..d7fa51eb422 100644 --- "a/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" +++ "b/\350\256\241\347\256\227\347\247\221\345\255\246@@619980/\346\234\254\347\247\221@@619981/\347\274\226\350\257\221\345\216\237\347\220\206@@621904/\351\253\230\347\272\247\344\270\273\351\242\230@@621955/\344\273\243\347\240\201\347\224\237\346\210\220\344\270\216\344\274\230\345\214\226\345\237\272\347\241\200@@621956/\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250\347\232\204\350\201\214\350\264\243@@621957/MainContent.md" @@ -1,4 +1,7 @@ ## 引言 + +喵了个咪的 + 软件的性能与效率,在很大程度上取决于一个默默无闻却至关重要的角色——编译器的[代码生成器](@entry_id:747435)。它负责将程序员编写的[抽象逻辑](@entry_id:635488),转化为特定处理器能够执行的具体指令,是连接高级语言与底层硬件的最后一道桥梁。然而,这个转化过程并非简单的“翻译”,而是一系列充满智慧与权衡的复杂决策。从选择哪条机器指令最快,到如何管理稀缺的寄存器资源,再到如何编排指令以发挥硬件的最大潜能,这些决策共同决定了程序的最终速度和安全性。 本文将系统地揭示[代码生成器](@entry_id:747435)的各项核心职责。在“原理与机制”一章中,我们将深入探讨其工作的基本法则和核心技术,如[指令选择](@entry_id:750687)、[寄存器分配](@entry_id:754199)和[指令调度](@entry_id:750686)。接着,在“应用与跨学科联系”一章中,我们将展示这些技术如何在机器学习、[密码学](@entry_id:139166)乃至软件安全等前沿领域发挥关键作用。最后,“动手实践”部分将提供具体的编码挑战,让你亲身体验[代码生成](@entry_id:747434)的精妙之处。 @@ -58,4 +61,4 @@ 最后,所有这一切都发生在一个由[代码生成器](@entry_id:747435)亲手搭建的“舞台”上——函数的**栈帧**(stack frame)。它负责在栈上为局部变量、保存的寄存器以及[溢出](@entry_id:172355)的值分配空间。这里还有一个至关重要的细节:**对齐**(alignment)。某些高级指令(如用于[并行计算](@entry_id:139241)的 SIMD 指令)非常“挑剔”,它们要求其操作的数据必须存放在 $16$ 字节对齐的内存地址上。如果数据没有对齐,它们要么直接罢工,要么执行效率大打[折扣](@entry_id:139170)。为此,[代码生成器](@entry_id:747435)必须一丝不苟地计算栈上每个元素的大小,并在必要时插入一些看似无用的**填充字节**(padding),以确保所有数据都完美地落在它们期望的地址边界上。这是一种为了满足硬件苛刻要求而进行的精密工程 [@problem_id:3628169]。 -总而言之,[代码生成器](@entry_id:747435)的各项职责并非孤立的任务,而是一张相互关联、充满权衡的决策网络。指令的选择会影响寄存器的需求,而寄存器的压力又反过来约束指令的调度。一个看似简单的 C 语言语句,在[代码生成器](@entry_id:747435)手中,会绽放为一段精心编排的机器指令之舞,其目的不仅是为了正确,更是为了从底层的硅晶片中榨取出每一滴性能。这便是[代码生成器](@entry_id:747435)隐藏的魅力:一个不知疲倦的智能代理,将我们的抽象思维,转化为触手可及、快如闪电的现实。 \ No newline at end of file +总而言之,[代码生成器](@entry_id:747435)的各项职责并非孤立的任务,而是一张相互关联、充满权衡的决策网络。指令的选择会影响寄存器的需求,而寄存器的压力又反过来约束指令的调度。一个看似简单的 C 语言语句,在[代码生成器](@entry_id:747435)手中,会绽放为一段精心编排的机器指令之舞,其目的不仅是为了正确,更是为了从底层的硅晶片中榨取出每一滴性能。这便是[代码生成器](@entry_id:747435)隐藏的魅力:一个不知疲倦的智能代理,将我们的抽象思维,转化为触手可及、快如闪电的现实。