十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Virgilio 数据科学工具箱:WolframAlpha 计算知识引擎数学实战指南

Virgilio 数据科学工具箱:WolframAlpha 计算知识引擎数学实战指南 Virgilio 数据科学工具箱WolframAlpha 计算知识引擎数学实战指南【免费下载链接】VirgilioYour new Mentor for Data Science E-Learning.项目地址: https://gitcode.com/gh_mirrors/vi/VirgilioWolframAlphaWA是一个计算知识引擎它不只是搜索引擎而是一个能够直接回答数学问题、执行符号计算并返回结果的平台。本指南以 Virgilio 开源学习仓库中的 Tools/WolframAlpha.md 为骨架系统覆盖从基础运算、函数绘图、方程与不等式求解到矩阵代数、级数、微积分与极限的全部核心查询语法并补充仓库内可验证的实操细节。读完本文你将掌握 WA 的自然语言与 Mathematica 风格两套查询范式能够把 WolframAlpha 变成学习微积分、线性代数与数据科学数学基础时随身携带的解题伙伴。目录WolframAlpha 是什么从能回答问题到能算数学访问途径在线网页与本地 Mathematica上手三件事可分享的查询链接、宽松语法与分步解答基础计算把 WA 当成一个高级计算器函数绘图从plot x^2到Plot3D解方程符号计算、参数方程与方程组解不等式用Reduce[]求解不等式组矩阵代数行列式、特征值、逆矩阵与 Jordan 标准形级数与求和Sum[]与Product[]求导一元、高阶、偏导与向量微积分计算积分定积分、不定积分与数值积分求极限单侧极限与一个 π/2 的证明杂项素数判定与第 n 个素数把 WolframAlpha 嵌入 Virgilio 的数据科学学习路径WolframAlpha 是什么从能回答问题到能算数学WolframAlpha通常缩写为 WA是一个计算知识引擎computational knowledge engine。说得直白一点它是一个可以直接回答你的问题的平台——它最著名的能力集中在数学领域是一台非常强大的计算辅助工具。在 Virgilio 的学习体系中这篇指南被收录在进阶区Inferno的Tools工具专区对应仓库文件 content/inferno/tools/wolfram-alpha.md与 GeoGebra、LaTeX 等工具指南并列见 content/inferno/welcome-to-inferno/welcome-to-inferno.md 中关于 Inferno 结构Tools工具或库专项指南的说明。它面向的典型场景是当你学习 content/purgatorio/fundamentals/math-fundamentals.md 中列出的微积分、线性代数与矩阵代数时需要一个能随时验证计算结果的工具——WolframAlpha 恰好填补这个位置。访问途径在线网页与本地 MathematicaWolframAlpha 的知识引擎有两种主要访问方式在线网页直接通过 wolframalpha.com 访问免费、无需安装输入查询即得结果适合日常快速计算。本地桌面端 Mathematica如果你所在的高校、研究中心或公司提供了许可证可以安装 Wolfram Mathematica。官方将其描述为一个覆盖技术计算大多数领域的现代技术计算系统——包括神经网络、机器学习、图像处理、几何、数据科学、可视化等。两种方式共享同一套查询语法且 WolframAlpha 支持 Mathematica 语言的一个子集因此下面绝大多数示例在两者中均可直接使用。上手三件事可分享的查询链接、宽松语法与分步解答在正式学习各类计算之前先掌握三个影响使用体验的关键事实第一每一次查询都会生成一个可分享的链接。你在 WA 中输入的任何内容都会对应一个查询 URL你可以把这个链接发给别人对方打开就能看到你问了什么 WA 回答了什么。原文档举了一个例子查询美国现任总统是谁即可通过链接分享。同理查询What is the 345th decimal place of piπ 的第 345 位小数也会生成对应链接答案是5。仓库佐证该数值可以在仓库内 Tools/regex-bin/pi.txt 提供的 π 小数位数据中实际验证——这份文件以纯文本形式存放了数十万位 π 的小数展开是仓库中配合正则表达式工具使用的真实数据样本。按该文件第 345 位小数核对结果正是 5与原文档一致。第二查询语法很宽松。你不需要遵循严格的语法就能向 WA 提问用自然语言直接描述即可当然语法越规范、越贴近 WA 的解析习惯结果越稳定。第三前缀开启分步解答需要 Mathematica。如果你拥有 Mathematica 环境在命令前加上就可以获得极限、积分、导数等问题仅举几例的逐步求解过程——这是用 WA 辅助学习微积分时最实用的功能之一。另外需要特别记住的语法规则是Mathematica 语言用方括号[]表示函数调用而非其他语言的圆括号()且所有函数名首字母大写。例如平方根写作Sqrt[n]而许多编程语言中通常写作sqrt(n)。基础计算把 WA 当成一个高级计算器WolframAlpha 首先是一个功能强大的计算器。输入2^100立即得到精确的大整数结果2^100 1267650600228229401496703205376常用运算符与函数速查表如下均为 WA 直接支持的语法运算写法等价 Mathematica 写法加 / 减 / 乘 / 除/-/*//同左幂运算x^yPower[x, y]取余模运算x mod mMod[x, y]平方根 / n 次方根Sqrt[x]/Root[x, n]同左阶乘n!Factorial[n]对数 / 指数函数Log[x]/Exp[x]同左三角函数Tan[x]、Sin[x]、ArcCos[x]等同左几个值得注意的细节n 次方根8 的立方根输入Root[8, 3]即可得到 2。三角函数命名名称与数学惯例一致但首字母大写正切、正弦、反余弦分别写作Tan[x]、Sin[x]、ArcCos[x]。函数绘图从plot x^2到Plot3DWA 支持多种绘图方式。最基本的是一元实函数图像输入plot x^2或plot Power[x, 2]即可绘制抛物线。自定义自变量范围当你不想要 WA 默认的绘图区间时追加范围说明即可plot x^2 from -5 to 1这会把绘图区间从默认改为 [-5, 1]。从自然语言过渡到 Mathematica 语法简单绘图用自然语言足够但复杂绘图更适合 Mathematica 语法。上面的查询等价于Plot[x^2, {x, -5, 1}]其中Plot[]表示要绘图第一个参数x^2是要绘制的函数第二个参数{x, -5, 1}是一个列表Mathematica 中用{}表示列表依次为变量名、左端点、右端点。一次绘制多个函数把函数放进一个列表作为第一个参数Plot[ {x^2, x^3, x^4}, {x, 1, 5} ]这会在区间 [1, 5] 上一次绘制三个多项式。二元函数的三维曲面使用Plot3D为每个变量各给一个范围Plot3D[x^2 y^2 x*y, {x, -2, 2}, {y, -2, 0}]即绘制函数x^2 y^2 xy其中 x 在 -2 到 2 之间、y 在 -2 到 0 之间变化。解方程符号计算、参数方程与方程组解方程是 WA 最省心的功能之一。自然语言直接输入solve x^2 x - 1 0 for x等价于 Mathematica 写法Solve[x^2 x - 1 0, x]注意等号要写成双等号表示数学上的相等关系单等号是赋值。符号计算与参数方程WA 与 Mathematica 的招牌能力是符号计算——方程中可以带有参数或其他未知量WA 会给出用参数表达的答案。例如求一元四次多项式方程的通解公式Solve[x^4 b*x^3 c*x^2 d*x e 0, x]会返回一套相当狰狞的公式。非多项式方程同样支持方程不必是多项式例如Solve[Log[x] Exp[x] 1, x]会给出满足Log[x] Exp[x] 1的 x 的值。求解方程组与Plot[]传函数列表类似Solve[]接受方程列表作为第一个参数。例如求解Log[x] y 1与Log[x] Log[y] 2组成的方程组Solve[ {Log[x] y 1, Log[y] Log[x] 2}, {x,y} ]这里有两个极易踩坑的要点答案中可能出现陌生函数。WA 的结果里包含函数W大多数人没见过WA 会在结果右侧用小字标注每个成分的含义——此处会注明W(z) 是乘积对数函数product log function据此再去搜索学习即可。这也是 WA 辅助自学的典型模式它给出的提示本身就是学习的起点。第二个参数必须列出全部变量。上面的查询第二个参数写的是{x,y}而不是x如果只写xWA 求解的将是另一个完全不同的问题Solve[ {Log[x] y 1, Log[y] Log[x] 2}, x ]结果会因为未知数个数与方程个数不匹配而偏离预期。解不等式用Reduce[]求解不等式组求解不等式的方式与方程类似只是改用函数Reduce[]。例如求解由x y 3与x y 0组成的不等式组Reduce[{x y 0, x y 3}, {x,y}]Reduce[]与Solve[]的差别在于Solve倾向于给出解集的具体表达式而Reduce会给出保持等价关系的、通常更完整的条件描述适合处理不等式与逻辑条件。矩阵代数行列式、特征值、逆矩阵与 Jordan 标准形矩阵计算是大学课程与数据科学中的高频需求验证行列式、求特征值与特征向量、求逆矩阵。WA 对此有完整支持。矩阵的表示方式在 WA 中矩阵是列表的列表——外层列表收集所有行内层列表是每一行的元素。例如 2 阶单位矩阵写作{ {1, 0}, {0, 1} }只输入矩阵本身WA 就会自动返回关于该矩阵的大量信息行列式、迹、秩、特征值、逆矩阵等。行列式与迹Det[{ {a, b}, {c, d} }] 一般 2×2 矩阵的行列式 Trace[{ {a, b}, {c, d} }] 该矩阵的迹逆矩阵Inverse[{ {a, b}, {c, d} }]特征值与特征向量Eigenvalues[{ {a, b}, {c, d} }] Eigenvectors[{ {a, b}, {c, d} }]通常求其中一个WA 也会顺便给出另一个。数值矩阵同样适用。上面的例子用符号参数 a、b、c、d 展示了符号计算能力换成具体数字完全没问题。例如计算一个 5×5 矩阵的特征值Eigenvalues[{ {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25} }]结果是0, 0, 0, -3.642, 68.64前三个特征值为 0后两个为近似值。矩阵对角化与 Jordan 标准形对大学课程更有用的是 WA 的矩阵分解能力JordanDecomposition[{ {1, 2}, {0, 3} }]它会同时给出相似变换矩阵与原矩阵的对角/Jordan 标准形。级数与求和Sum[]与Product[]求和与级数是 WA 的强项无论上限是具体数还是符号。一个经典例子记不住几何级数前 n 项和公式时直接输入sum x^i with i from 0 to nWA 会给出那个总是记不住的公式。等价地用 Mathematica 语法函数Sum[]第一个参数是求和表达式第二个参数是哑变量的范围Sum[x^i, {i, 0, n}]有限和例如前 20 个阶乘之和Sum[Factorial[n], {n, 1, 20}]结果是2561327494111820313。无穷级数把哑变量上限换成infty即表示无穷级数。例如Sum[1/n, {n, 1, infty}]WA 会告诉你经典的结论——调和级数发散。而Sum[1/n^2, {n, 1, infty}]给出著名结果pi^2/6巴塞尔问题。有限/无穷乘积乘积与求和用法一致只是改用函数Product[]。一个与 π 相关的经典乘积是 Wallis 型公式取前 100 项已经非常接近 π/2Product[(4i^2)/((2i-1)*(2i1)), {i, 1, 100}]该结果逼近Pi/2这一例子的深入验证见下文求极限一节。求导一元、高阶、偏导与向量微积分求导可以很繁琐WA 让这件事几乎零成本。自然语言写法differentiate cos(sin(x)) wrt x等价的 Mathematica 写法用函数D[]D 代表 differentiate/derivativeD[Cos[Sin[x]], x]第一个参数是要微分的函数第二个参数是求导的变量。高阶导数指定变量与阶数即可。例如求x^5的 5 阶导数D[x^5, {x, 5}]多元函数偏导WA 与 Mathematica 会把除指定变量外的一切都当作常数处理。例如D[x^2 y^2, x]立即得到2x。混合偏导把函数放在第一个参数然后按顺序列出所有求导变量D[f[a,b,c], a, b, c]即对 f 依次关于 a、b、c 求混合偏导。注意这里 WA 返回的是符号表达式f 是泛函数——这意味着我们还能让 WA 演示微分法则。例如对乘积f(x)g(x)求导D[f[x] * g[x], x]得到乘积法则(fg) fg fg。向量微积分以三元函数f(x, y, z)为例变量个数可随意增减运算WA 自然语言Mathematica 写法梯度gradient f[x,y,z]D[f[x,y,z], { {x,y,z} }]散度对向量函数 (f1, f2, f3)divergence {f1[x,y,z], f2[x,y,z], f3[x,y,z]}Div[{f1[x, y, z], f2[x, y, z], f3[x, y, z]}, {x, y, z}]旋度把divergence换成curl用Curl[]代替Div[]拉普拉斯算子laplacian f[x,y,z]Laplacian[f[x, y, z], {x, y, z}]应用提示梯度、散度、旋度与拉普拉斯算子正是机器学习优化理论如梯度下降与数据科学数学基础见 content/purgatorio/fundamentals/math-fundamentals.md 中微积分与优化章节中的核心概念WA 可作为随堂验算工具。计算积分定积分、不定积分与数值积分原文档在这里开了一个小玩笑很不幸用 WolframAlpha 算积分非常困难……当然不是——积分在 WA 里和别的一切一样简单直接输入即可。例如integrate exp(-x^2) with x from 0 to infinityMathematica 写法Integrate[ Exp[-x^2], {x, 0, infty}]积分变量可以是任意字母上下限可以自由修改也可以包含正负无穷。不定积分原函数省略变量的上下限即可。例如求cos(sin(x))tan(x)的一个原函数Integrate[Cos[Sin[x]]Tan[x], x]会得到一个很长的答案。有时 WA 找不到原函数它会明确告诉你这一点。数值积分如果只需要精确的数值结果、不需要精确表达式WA 会尽可能给出精确答案可以显式使用NIntegrate[]替代Integrate[]NIntegrate[Cos[1/x Pi/2]^5, {x,1,infty}]关于对答案的最后提醒如果用 WA/Mathematica 核对你的不定积分结果请记住一个函数可能不止一个原函数。如果你求函数 h 的原函数得到 f而 WA 得到的是另一个函数 g这并不一定意味着你算错了——把你的 f 求导验证一下如果导数确实是 h那就是对的。求极限单侧极限与一个 π/2 的证明求极限同样自然。自然语言limit of 1/x as x goes to -inftyMathematica 函数Limit[]与其他函数结构一致第一个参数是表达式第二个参数是变量唯一需要注意的是告诉 WA变量趋近于哪里的写法Limit[1/x, x - -infty]单侧极限经常需要指定变量从哪一侧趋近。例如1/x在 x → 0 时的极限会因趋近方向不同而变化可以实际验证Limit[1/x, x - 0^] 从右侧趋近 0结果为 ∞ Limit[1/x, x - 0^-] 从左侧趋近 0结果为 -∞这里的上标记号0^与0^-正是用来指定趋近方向的。用一个完整案例串起级数与极限在级数与求和一节提到的 Wallis 型乘积取其无穷形式Product[(4i^2)/((2i-1)*(2i1)), {i, 1, infty}]WA 其实给不出它的精确值而是退而求其次给出取前 5 项的数值并给出前 n 项的闭式Product[(4i^2)/((2i-1)*(2i1)), {i, 1, n}]于是可以把闭式放进Limit[]让 n 趋于无穷来证明该乘积确实收敛到 π/2Limit[(Pi Gamma[1 n]^2)/(2 Gamma[1/2 n] Gamma[3/2 n]), n - infty]结果正是pi/2。这个例子展示了 WA 典型的工作流先让引擎给出闭式再用极限工具验证猜想——这也是做数学研究时的标准姿势。杂项素数判定与第 n 个素数素数判定用PrimeQ[]PrimeQ[4234523457]结论4234523457 不是素数因为4234523457 3×53×97×463×593WA 会直接给出这个分解。第 n 个素数用Prime[]Prime[4234523457]WA 告诉你第 4234523457 个素数是102951556637。把 WolframAlpha 嵌入 Virgilio 的数据科学学习路径在 Virgilio 的仓库结构中这篇指南属于进阶区 Inferno 的 Tools 专区content/inferno/tools/wolfram-alpha.md其定位是工具或库专项指南见 content/inferno/welcome-to-inferno/welcome-to-inferno.md。它可以与仓库中以下资源形成完整的学习闭环数学基础学习路径content/purgatorio/fundamentals/math-fundamentals.md及早期版本 Topics/math-fundamentals.md规划了微积分、线性代数与矩阵代数、优化三条主线——本文覆盖的求导、积分、极限、矩阵特征值、行列式、梯度等内容正是这些主线中最需要反复练习与验算的部分。同区工具指南Tools 专区还收录了 GeoGebraTools/GeoGebra.md、content/inferno/tools/geo-gebra.md与 LaTeXTools/Latex.md、content/inferno/tools/latex.md。GeoGebra 适合动态可视化的几何探索WolframAlpha 适合符号计算与快速验算两者互补。仓库内可验证的数据样本本文开头验证的 π 第 345 位小数可直接用 Tools/regex-bin/pi.txt 中的数据复核Tools/regex-bin/regexPrinter.py 则展示了如何在 Python 中程序化处理这类文本数据。进阶应用示例仓库的计算机视觉 Notebook如 content/inferno/computer-vision/Object_detection_based_on_Deep_Learning.ipynb中反复出现的矩阵运算与优化思想都可以先用 WA 验证局部数学结论再落地为代码。总结WolframAlpha 的本质是一个能回答数学问题的计算知识引擎。掌握它需要记住三件事函数用方括号、函数名首字母大写、等号写双等号Mathematica 语法子集自然语言与 Mathematica 语法两套表达方式按复杂度取舍遇到不认识的答案成分如乘积对数函数 W、Gamma 函数时WA 的注解本身就是学习线索。从2^100这样的基础运算到Plot3D的三维绘图、Solve/Reduce的符号方程与不等式、Det/Eigenvalues/JordanDecomposition的矩阵代数、Sum/Product的级数、D/Integrate/Limit的微积分再到PrimeQ/Prime的数论杂项——这份速查涵盖了数据科学数学基础中绝大多数需要动手算一遍的场景。把它作为 Virgilio 学习路径上的随身影子导师既能快速验证手算结果也能在符号计算中反向理解公式的结构。本文整理自 Virgilio 开源学习仓库中的 Tools/WolframAlpha.md及其网络版 content/inferno/tools/wolfram-alpha.md原文档由 Mathspp 博客编辑 RojerGS 撰写Virgilio 团队整理收录。【免费下载链接】VirgilioYour new Mentor for Data Science E-Learning.项目地址: https://gitcode.com/gh_mirrors/vi/Virgilio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表