Mathematica 第一版以后不兼容的修改
介绍 | 第7版和第8版之间 |
After Version 14 | 第6版与第7版之间 |
第 13 版和第 14 版之间 | 第5版与第6版之间 |
第 12 版和第 13 版之间 | 第4版与第5版之间 |
第11版和第12版之间 | 第3版与第4版之间 |
第10版和第11版之间 | 第2版与第3版之间 |
第9版和第10版之间 | 第1版与第2版之间 |
第8版和第9版之间 |
Wolfram 语言每一期新版本都包含许多新增功能. 但是,从一开始就进行的精心设计使所有版本之间几乎完全兼容. 例如,几乎所有为 Wolfram 语言第 1 版编写的代码都应该能够在第 13 版中无需改变直接运行,尽管它的运行速度往往会大大加快.
但是,一个不可避免的问题是,如果代码使用的名称以大写字母开头,则可能是由于首次编写该程序的版本开始,名称与之冲突的内置函数可能已被添加到 Wolfram 语言中,或者是函数的语法或选项规范可能已更改,从而影响其使用.
14.0 to 14.1
- 从 14.1 开始,Mathematica、Wolfram|One 和 Wolfram|Alpha Notebook Edition 等多个产品现在都成为统一的 Wolfram 应用程序的一部分. 此应用程序具有不同的 $InstallationDirectory、$BaseDirectory 和 $UserBaseDirectory 值. 这将在教程《从 Mathematica 升级到 Wolfram》中进一步解释.
- 用于自定义 Wolfram 语言所用位置的环境变量已更改. MATHINIT 现在是 WOLFRAMNB_INIT,MATHEMATICA_BASE 是 WOLFRAM_BASE,并且 MATHEMATICA_USERBASE 是 WOLFRAM_USERBASE.
- 在 Windows 上,如果内核通过前端或开始菜单启动,其当前工作目录现在是用户的配置文件目录,而不是他们的文档文件夹.
- Options["symbol"] 现在检查名称为"symbol" 的符号选项(如果存在的话). Wolfram 语言的未来版本将不支持通过以字符串形式给出名称来指定流.
- 默认情况下,Alpha 通道现在会通过 Colorize 保留.
- WebImageSearch 不再接受 FixedOrder 模式对象作为输入.
- 神经网络运算的第二个参数的解释已被修改. 现在 net[data, "string"] 将始终将 "string" 解释为网络属性. 端口必须指定为 NetPort["string"].
- 默认情况下,在其数据范围之外采样的 TimeSeries 和 TemporalData 对象不再给出关于使用外推法的警告.
- 在 14.0 及更早版本中,CreateCompilerEnvironment[ TargetSystem Automatic] 会为当前平台生成编译器环境. 在 14.1 中,CreateCompilerEnvironment[ TargetSystem Automatic] 为一系列流行平台生成编译器环境. 可以通过 CreateCompilerEnvironment[ TargetSystem Inherited](这是默认设置)重现之前的行为.
13.3 至 14.0
- 在数据并行计算(例如 ParallelMap)中生成中止时,中止将传播到主内核,并且整个计算将中止. 现在,其行为与顺序计算中的行为相同; 之前,并行计算会继续运行.
- ValueQ[LocalSymbol[…]] 现在检查本地符号是否存在,而不是总是给出 True.
- FindExternalEvaluators 不再返回属性 "Version".
- ExternalEvaluate[{system,"Version"…},…] 用法已被弃用.
- VerificationTest、TestEvaluate 和 TestReport 将不再返回结果 "Error",而是返回 "Failure". 添加了新属性 "FailureType",其中包含不同类型的故障模式,例如 "UncaughtThrowFailure" 或 "SameTestUnevaluated".
- 格式化工具栏已在 13.2 中被废弃,在 14.0 中被删除.
- 偏好设置菜单中的 "启动并行计算监控工具" 不再导致 "Parallel`Debug`" 被添加到 $ContextPath.
- RLink 不再支持附带的捆绑 R 安装. 相反,它现在会自动发现并使用现有的外部 R 安装(有关更多详细信息,请参阅 InstallR 文档页面).
- ChatEvaluate 和 LLMSynthesize 的 MaxItems 选项已被弃用. 可以使用 LLMConfiguration 中的属性 "MaxTokens" 来替代.
- 当未指定显式 VertexTextureCoordinates 值时,Texture[] 现在将使用由新的 TextureMapping 选项指定的投影,该选项默认为 Automatic. 要恢复之前的行为,请对希望排除在投影之外的个别基元应用设置 TextureMappingNone.
- 由 URLBuild 命令生成的具有指定 "Domain" 但没有指定 "Path" 组件的 URL 不再具有尾随斜杠.
- 在运算过程中由 TestReport 发出的事件 "ReportFinished" 已更名为 "ReportCompleted".
- TestReport 的 HandlerFunctions 键 "Event" 已更名为 "EventName".
13.2 至 13.3
- 未明确说明变量依赖关系时,偏微分方程项函数(如 DiffusionPDETerm)现在会更积极地自动简化其输出.
- 包含的 Java SSH 客户端已被弃用且已删除. 自定义远程内核配置现在依赖于本地 SSH 命令.
- TestResultObject 已被弃用,取而代之的是新的 TestObject.
- SolidMechanicsPDEComponent 中的参数 "ModelForm" 已被重新命名为 "SolidMechanicsModelForm". "ModelForm" 参数现在专门用于区分所有 PDE 分量中的保守对流和非保守对流.
- SolidMechanicsPDEComponent 中的参数 "MaterialModel" 已被重新命名为 "SolidMechanicsMaterialModel".
- 目前,默认的并行内核列表是 $DefaultParallelKernels,取代了 $DefaultKernels. 首次启动版本 13.3 时,旧 $DefaultKernels 的任何已有持久设置都会被迁移. 此后,$DefaultParallelKernels 将保有自己的持久设置.
- 当格式化输出用作输入时,默认情况下不再删除 Highlighted 封装. 可使用新的选项 StripOnInput→True 恢复以前的行为.
- 通过遵守 Association 的 HoldAllComplete 属性,Replace 现与 ReplaceAll、ReplaceAt 和 ReplaceRepeated 保持一致. 在插入到关联中之前不再自动进行转换. 如果您需要插入应执行的转换,请使用标准语法 lhs:>With[{new=rhs},new/;True],而不是 lhs :> rhs.
- PGN 和 FEN 格式已过时. 它们被包含在 Wolfram Paclet 存储库的 Wolfram/Chess 程序包中.
- 默认情况下,ImageSaliencyFilter 现使用 "U2Net" 法. 以前默认的方法是 "ImageSignature".
- 现在,对于较大的矩阵,IdentityMatrix、DiagonalMatrix、ToeplitzMatrix、HankelMatrix 和 FourierMatrix 默认返回结构化数组对象,而不是显式列表. 通过添加选项 TargetStructure "Dense" 可重建以前的行为.
- ChatTools 程序包已被弃用,并且不再包含在 Wolfram 产品中.
- ByteArray[{}] 和 ByteArray[""] 现在返回 ByteArray 对象,而不是空列表.
13.1 至 13.2
- 符号定义的编译函数规范现在使用 DownValuesFunction.
- Julia 数据类型转换已发生改变. 需对 Julia 配置进行更新才可使用 ExternalEvaluate["Julia",...]. 可在为 ExternalEvaluate 配置 Julia 工作流程内找到更新后的配置.
- Quantity 运算现在系统地将温度(拥有如 "DegreesCelsius" 这样的单位)和温差区分开来(拥有如 "DegreesCelsiusDifference" 这样的单位). 以前不太明确的运算现在将发出一条消息,警告结果可能发生变化.
- 成功计算由 FindEquationalProof 构建的证明函数现在给出的结果为 Success 而不是 True.
- ExpressionTree 和 TreeExpression 的第二个参数中的 "JSON" 结构已被更新,以便消除歧义. 表示孩子的键的值为列表时,现在被表示为中间未标记节点 (intermediate unlabeled node) 的孩子.
- 超出全局限制的表达式,如 $IterationLimit 和 $RecursionLimit 现在返回一个 TerminatedEvaluation 表达式,而不是试图返回封装在 Hold 中的原始表达式.
- FieldSize is no longer an option for ActionMenu.
13.0 至 13.1
- f@@@x 现被解释为 MapApply[f,x] 而不是 Apply[f,x,{1}]. 如果代码处理的是未计算表达式,或导出以供旧版本使用,则需要考虑这种差异.
- 聚类系列(FindClusters, ClusterClassify, ClusteringComponents)现将语法 f[data,n] 视作表示数据必须精确地划分为 n 个聚类. 要恢复将 n 视为上限的旧行为,可以使用 f[data,UpTo[n]].
- ExpressionTree 和 TreeExpression 的第二个参数中的结构已重新组织,包括添加了一个 Heads 选项来替换先前的一些情形. 对于 "Subexpressions" 和 "Atoms" 的旧行为,使用 Heads True. 保持结构现在也将子表达式封装在 HoldComplete 而不是 HoldForm 中.
- 在同一个层提取多个子树的规范,例如 TreeExtract[tree, {All, 1}],现在保留该层的数据以与 Extract 保持一致.
- TreeFold[f,tree] 现给出 TreeFold[ {f,#&},tree]. 使用 TreeFold[{f,f[#,{}]&},tree] 得到旧的行为.
- 在 x 和 x[] 的区别之后,现在有几个树操作函数可以区分 Tree[data,None] 和 Tree[data,{}].
- 路径巡视规范语法已被 TourVideo 的采样函数所取代.
- ConcaveHullMesh 现在选择维数为 d 的单元,其中 d 是点的嵌入维数.
- CellDingbat 不再将标志相对于内容放置,而是将其相对于 CellFrame 的左边缘放置. 移动标志的位置应使用新的 CellDingbatMargin 选项(包括将其值设置为负值以使其更接近或位于框架内),而不再间接依赖 CellFrameMargins 选项.
- 以下格式的 "ColorSpace" 导入元素在 13.1 中已更改: GeoTIFF GrayLevel -> Grayscale GIF RGBColor -> RGB HEIF RGBColor -> RGB JPEG RGBColor -> RGB OpenEXR RGBColor -> RGB PNG RGBColor -> RGB TIFF RGBColor -> RGB WebP RGBColor -> RGB
12.3 到 13.0
- 如果笔记本使用 12.2 之前的版本在前端打开,则之前在 13.0 版本内核中计算和保存的默认颜色排版将无法正确显示.
- 笔记本和首选项文件现在使用 < > 语法而非 Association 语法保存关联关系. 10.0 版本之前的笔记本前端会报语法错误. 这会使在与 13.0 相同的系统上运行此类前端变得困难,因为默认情况下,新旧 FE 将共享 $UserBaseDirectory/FrontEnd/init.m 中相同的自动管理的首选项文件. 如果您遇到了此类问题,您可以通过以下计算来强制使用版本化首选项文件:CurrentValue[$FrontEnd, VersionedPreferences]=True.
- GeoGraphics[] 现在生成世界地图而非本地地图. 以前的行为可以通过 GeoGraphics[Here] 获得.
- TreeSelect 的 "TraversalOrder" 选项已替换为新的 "TreeTraversalOrder" 选项,该选项支持以前的值. 默认值已从 "PostOrder" 更改为 Automatic,这两个值的效果等价.
- TreeMap[f, tree, levelspec "Tree"] 已经弃用. TreeMap[f, tree, {0, Infinity} "Tree"] 的先前行为可用作 TreeMap[f, tree, {0, Infinity} "OriginalSubtree"].
- TreeData 和 TreeChildren 不再采用可选的第二个参数. 对 TreeData 的旧行为使用 TreeExtract[tree, pos, TreeData]. 对于 TreeChildren 也是如此.
- SparseArray 的内部结构已更改. 出于模式匹配的目的,将其视为原始对象.
- 重载实现 AbsoluteOptions 使计算更精确,现在为特定选项返回的表单可能会有所不同.
- GenerateSymmetricKey 方法子选项 "InitializationVector" 和 "BlockMode" 已被弃用,取而代之的是 Encrypt 方法的等效子选项.
- 试用 FrameFitting 选项已重命名为 ConformationMethod. 该选项适用于以下函数:VideoTranscode,VideoJoin,VideoInsert 和 VideoReplace.
- CloudExpression 不再支持 Association 的线性索引.
- 已停止 Linux 系统上的 RLink 中对捆绑包 R 安装的支持.
- 某些粒度下 DateObject 的 FullForm 不再明确包含日历或时区的默认值.
12.2 到 12.3
- RemoteKernelObject 有新的不同方式来定义内核对象.
- Windows 不再支持元文件和增强型元文件.
- PIDData 已被 SystemsModelControllerData 取代.
- EstimatorRegulator 和 LQGRegulator 现在返回一个控制器,其输入由所有确定性输入组成,并测量受控系统的输出. 通过指定 "EstimatorRegulatorFeedbackModel" 作为方法恢复旧的行为.
- NotebookObject 和 CellObject 现在使用 UUID 字符串,而不是指定的 FrontEndObject 值. 使用这些对象的任何代码不受影响.
- 具有循环规范的 Dataset 的标头选项 (HeaderSize, HeaderStyle, 等) 现在从第一个标记列开始. 之前,未标记的角标头是第一个索引.
- Import[file.stx,"LabeledData"] 现在返回包含 NumericArray 对象的关联. 通过在导入时指定元素为 "LabeledDataLegacy" 访问之前的行为.
- Manipulate、FullDefinition 和相关的函数不再从 System 上下文和其他内置上下文中自动提取定义. 使用 ExcludedContexts 和 IncludedContexts 自定义要保存的上下文.
- ExternalEvaluate 指令失败时现在返回带有额外信息的 Failure 对象,而不是 $Failed.
- GenerateSymmetricKey 现在使用和 Encrypt 一样的 Method 子选项. Method 子选项 "InitializeVector" 和 "BlockMode" 已被弃用.
- OverwriteTarget→True 现在可以和 RenameDirectory 一起使用,改变 (Windows) 已存在文件的目录名称或改变 (Unix)目录名称为已存在的空目录. 之前,这些会报错.
- Molecule 属性 "InChI" 和 "InChIKey" 现在返回 ExternalIdentifier 对象,而不是字符串. 通过使用 ExternalIdentifier 中的 "ExternalID" 属性检索字符串恢复之前的行为.
- Export 现在产生版本 5.0 或 7.3 "MAT" 文件,而不是 4.
- 导入大多数 "OpenEXR" 元素,除了 "Image" 或 "ImageSize",现在返回一个关联. 之前,它们返回一个列表.
- AnimationDirection 已经从 AnimatedImage 和动画格式中移除.
- FindPeaks 现在使用 Padding→"Reflected",而不是 Padding→"Reversed". 这是为了避免在输入域之外的峰值.
- Dataset 选项可以接受函数 f 作为值,例如,HeaderDisplayFunction 和 ItemDisplayFunction,现在需要函数的格式为 f[elem,position,data]. 之前,第三个参数需要有问题的数据集,而不是其包含的数据.
- 在 AttachCell[obj,expr,post,dist] 中作为 dist 使用的 Offset 变成与函数 Offset 通用的使用更一致. 也就是说,Offset[{dx,dy}d] 中的 dx,dy 被诠释为绝对位移.
- Dashing 和 AbsoluteDashing 的默认规格现在使用 CapForm["Butt"],除非另外指定.
12.1 到 12.2
- ValueQ 已重新设计,不管定义是否被使用,测试定义是否存在. 通过在方法中指定 "Legacy" 恢复旧的行为.
- 下标的键盘快捷键现在是 + + , . 旧的快捷键 ( + + 4) 现在属于 TEX 助手.
- Jacobian 的 NDSolve 稀疏规范已被改变. 详情请参见 有限元编程.
- macOS 不再支持使用 CUDA 的 GPU 计算.
- Import[file,"PDF"] 的默认元素已经从 Graphics 改为 Image. 以前的行为可以在导入时通过指定 "PageGraphics" 来访问.
- Import[file,"MP4"] 和 Import[file,"Ogg"] 现在使用 Audio 或 Video 元素,具体取决于是否存在视频轨道.
- Import[file,"3DS"] 的默认元素已经从 Graphics3D 变成 MeshRegion. 之前的行为可以在导入时指定 "Graphics3D" 进行访问.
- VideoTrim 现在剪裁所有轨道. VideoTracks、AudioTracks、SubtitleTracks 等选项已被弃用.
- VideoMapTimeSeries 已被试验性函数 VideoTimeSeries 替代.
- VideoFrameList 和 VideoExtractFrames 现在从第一轨道提取. VideoTracks 选项已被弃用.
- SpeechSynthesize 现在使用 GeneratedAssetLocation 设置存储位置,而不是 Method.
- Molecule 对象的 AtomQ 现在返回 True.
- AtomList、AtomCount、BondList、BondCount 和 MoleculeValue 现在使用 All 作为选项 IncludeHydrogens 的默认值. 可以通过指定 "ExplicitOnly" 作为选项值恢复旧的行为.
- 如果一个 Graphics 对象有不是 1 的 ImageSizeMultipliers 值,如果水平调整笔记本视窗,ImageSize→Automatic 不会自动调整对象.
- DatabaseLink` 中不再包含文件 commons-collections-3.1.jar 的副本.
12.0 到 12.1
- QuantityArray 和 SymmetrizedArray 不再返回 StructuredArray 对象.
- Graphics3D 和派生函数现在使用 False 作为 ControllerLinking 的默认值.
- ControllerMethod 作为 Graphics3D 和派生函数的选项被删除,而 Manipulate 和派生函数使用 ControllerMethod→None 作为默认规范.
- VectorScale 作为 VectorPlot 的选项已被弃用,以支持选项 VectorScaling、VectorAspectRatio 和 VectorSizes.
- 自定义 Graph 属性的 Properties 选项已被弃用,以支持 AnnotationRules,并且已弃用 PropertyValue,以支持 AnnotationValue.
- URL 取代了 GraphStore`IRI.
- CurryApplied 和 OperatorApplied 取代了实验函数 Curry.
- "PacletManager`" 上下文中的大部分函数现在都位于 "System`" 上下文中,并且被完整记录,并且 "PacletManager`" 上下文不再位于 $ContextPath.
- "Ogg" 现在是视频格式,并且以前注册的音频格式已重命名为 "OggVorbis".
- "QuickTime" 和 "AVI" 文件现在作为 Video 对象而不是帧索引列表导入.
- ImageFileApply 和 ImageFileFilter 现在默认将其结果存储在 $WolframDocumentsDirectory/Image 中,而不是存储在当前工作目录中.
- AudioCapture、AudioRecord 和 SpeechSynthesize 现在默认将其结果存储在 $WolframDocumentsDirectory/Audio 中,而不是存储在 $UserDocumentsDirectory 中.
- 符号 Splice 有一个新的定义;可以使用 FileTemplate访问其先前的功能.
- Graphics3D 中 SphericalRegion 的默认值现在是 Automatic 而不是 False.
- 由 "SMILES" 字符串构建的 Molecule 对象仅显式包含那些显式包含在输入中的氢原子.
- Graph3D 现在设置 Method 子选项 "ShrinkWrap" 为 True 而不是 False.
11.3 到 12.0
- FinancialData 现在默认返回 Quantity 和 TimeSeries 对象. 通过指定 "Legacy" 作为方法可以恢复旧的行为.
- Tetrahedron[] 不再自动求值,现在给出规则的四面体.
- 具有 "Faces" 属性的 PolyhedronData 现在返回面的 GraphicsComplex 表示,适应于使用 Graphics3D 进行可视化.
- GraphPlot、GraphPlot3D、LayeredGraphPlot 和 TreePlot 具有新的默认绘图主题.
- < - > 的运算符优先级已更改为与 (\[ TwoWayRule]) 的优先级匹配.
- 默认情况下,"CSV" 和 "TSV" 现在导出一个完整的数组. 通过将选项 "FillRows" 指定为 False,可以恢复旧的行为.
- 对于单数据集文件和多数据集文件,导入 "FITS" 文件类型现在默认返回 Association.
- Image 从 "Real64" 切换至 "Real32" 作为默认类型.
- Total 不再适用于具有任意 Head 的表达式.
- SkinStyle 已重命名为 AnatomySkinStyle,而 AnatomyForm 已重命名为 AnatomyStyling.
- "MXNet" 已弃用以下导入选项:"RawArrayAssociation","RawArrayList".
- 语法更改为 GraphPlot、GraphPlot3D、LayeredGraphPlot 和 TreePlot. 用旧的语法指定的选项已被弃用.
- GraphPlot 的选项 EdgeLabeling、EdgeRenderingFunction、Method、PackingMethod、VertexCoordinateRules、VertexLabeling 和 VertexRenderingFunction 已被弃用.
- CompanyData 已弃用属性 "TotalFunding",并将属性 "Revenue" 重命名为 "TotalRevenue".
11.2 到 11.3
- 在发生下溢的情况下,具有机器精度数字的数值计算不再自动切换为任意精度数字. 已删除 "CatchMachineUnderflow" 系统选项.
- FindFaces 的输入条件和语法已更改,现在返回 Rectangle 对象.
11.1 到 11.2
- Rasterize 现在默认返回 Image.
- 对于除 Graph 以外的其他符号,TwoWayRule () 现在解析为 \[ TwoWayRule],而不是UndirectedEdge.
- TaskObject 已取代 ScheduledTaskObject,而 SessionSubmit 已取代 CreateScheduledTask.
11.0 到 11.1
- 关于基元的位置规范深度,Graphics 基元更加严格.
- 增加了 550 个新函数.
- MovingMap 的语法已更改.
- 输入和输出单元的默认字体已更改,在 Mac 上为 Source Code Pro,在 Windows 上为 Consolas,在 Linux 上为 Bitstream Vera Sans Mono.
- Splice 已被 FileTemplate 取代.
- 添加了700个新函数.
- #x 和 #"x" 现在解析为 Slot["x"],而不是分别解析为 #1*x 和 #1*"x".
- Dispatch 对象现在成为原子式.
- DateDifference 现在返回 Quantity 表达式而不是 Real.
- GeoDistance 和 GeoDirection 现在返回 Quantity 表达式.
- WeatherData 返回 Quantity 表达式.
- 删除了对克林贡语字符的支持.
- NSolve 多次返回相同的解以指示其重复度.
- 大多数 Wolfram 系统内置了 Combinatorica 功能包.
- 默认 Plot 样式已更新为新颜色.
- Image 对象现在成为原子式.
- Solve 现在可以返回 ConditionalExpression 对象,而不只是逆的一个特定分支.
- Legend 功能已经全面改进.
- Permute 的顺序已更改为遵循标准约定.
- 添加了500个新函数.
- 计算字符串的哈希值时,Hash 不再包含引号.
- 添加了超过400个的全新内置对象,其中一些名称可能与已经使用的名称冲突.
- 对于光栅图像格式,现在 Import[file] 返回 Image[…] 而不是 Graphics[Raster[…]],以便利用新的图像处理功能. 使用Import[file,"Graphics"] 来将文件 file 以 Graphics 表达式形式导出.
- 对于更精确的表达式结构,Import[file,"XML"] 和 Export[file,"XML"] 现在总是只导入和导出符号式 XML 表达式. Import["file.xml"] 仍将像在 Mathematica 6 中一样自动确定 XML 格式.
- 为了允许更多不同的交互式控制,选项 ActionDelay 已改名为 TooltipDelay,用法不变.
- 添加了超过800个的全新内置对象,其中一些名称可能与已经使用的名称冲突.
- 图形功能已显著改变. 为了兼容的目的,使用 <<Version5`Graphics` 恢复 Mathematica 5 的图形功能. 使用 <<Version6`Graphics` 恢复 Mathematica 6 的图形功能.
- Graphics 或 Graphics3D 对象的输出形式现在是生成的图形而不是形如 ⁃Graphics⁃ 的一个输出.
- $DisplayFunction 现在的设置为 Identity,因此当评估一个图形时,默认时无附加效果产生. 为了产生类似于第5版的输出中的附加效果,可以使用 Print 函数来输出图形.
- 图形的默认字体由 Courier 变为 Times.
- GraphicsArray 已被 GraphicsGrid 和 Grid 取代.
- 在 Graphics 和 ParametricPlot 中的 AspectRatio 的默认设置现在是 Automatic.
- Plot 的 PlotDivision 选项已被 MaxRecursion 取代.
- ListPlot 的 PlotJoined 选项已被 ListLinePlot 取代.
- Plot3D[{f,s},{x,xmin,xmax},{y,ymin,ymax}]:阴影设定 s 被 MeshShading 取代.
- 选项 HiddenSurface->False 已被 PlotStyle ->FaceForm[ ] 取代.
- ContourGraphics 已被 ListContourPlot 和 GraphicsComplex 取代.
- DensityGraphics 已被 ListDensityPlot 和 GraphicsComplex 取代.
- Plot3D 和其它三维绘图函数现在发射 GraphicsComplex 而不是 Polygon 基元的一个原列表.
- ListPlot 现在将一列点集合到一个单一的 Point 基元.
- MeshRange 选项已被 DataRange 取代.
- DensityPlot 和 ListDensityPlot 现在默认进行网格的绘制.
- ListPlot3D[array,shades] 已被 MeshShading 取代.
- 三维图形中的 SurfaceColor 现在被显式颜色和指令Specularity 和 Glow 所取代.
- Lighting 现在支持一种用于指定包括聚光灯,点光源,定向照明及照明环境等不同种类光源的新的语法.
- 不再支持图形基元 PostScript.
- 不再支持选项 RenderAll 和 PolygonIntersections.
- Rectangle[{xmin,ymin},{xmax,ymax},graphics] 已被 Inset 取代.
- StyleForm 和 StylePrint 已被 Style 取代.
- TextStyle 已被一般的机制 BaseStyle 取代.
- SequenceForm 已被 Row 取代.
- 添加了44个全新的内置对象,其中一些名称可能与已经使用的名称冲突.
- Precision 和 Accuracy 现在以数值形式返回精确的不确定性的度量,而不仅仅是整数位的估计.
- Precision 现在对机器数值返回符号 MachinePrecision,而不是数字值 $MachinePrecision.
- N[expr,MachinePrecision] 现在用于机器数值的数值计算;N[expr,$MachinePrecision] 生成任意精度数值.
- ConstrainedMin 和 ConstrainedMax 已被 Minimize、Maximize、NMinimize 和 NMaximize 取代.
- SingularValues 已被 SingularValueList 和 SingularValueDecomposition 所取代. SingularValueDecomposition 使用一个不同的更完整的定义.
- LUBackSubstitution 已被更一般的 LinearSolveFunction 的用法取代.
- FindRoot[f,{x,{x0,x1}}] 现在用于指定 x 的一个开始向量值,而不是一对数值. FindMinimum 也同样如此.
- DSolveConstants 已被更一般的选项 GeneratedParameters 所取代.
- TensorRank 已被 ArrayDepth 所取代.
- $TopDirectory 已被 $InstallationDirectory 和 $BaseDirectory 所取代.
- 当与不同的计算机系统连接时,Wolfram Symbolic Transfer Protocol (WSTP) LinkProtocol 选项的默认设置现在是 "TCPIP" 而不是 "TCP".
- 添加了61个新的内置对象,其中一些名称可能与已经使用的名称冲突.
- N[0] 现在产生机器精度零而不是精确零.
- FullOptions 已被 AbsoluteOptions 取代,生成的结果的形式与 Options 相同.
- Element[x,y] 或者 x∈y 现有内置计算规则.
- 符号 I 和 E 的 StandardForm 输出分别为 (\[ImaginaryI]) 和 (\[ExponentialE]).
- CompiledFunction 中添加了一个新的第二参数,以便更容易操作和编译函数的组成.
- 添加了 259 个新的内置对象,其中一些名称可能与已经使用的名称冲突.
- 现在 N[expr,n] 总是尽可能给出 n 位精度,而不是简单的从 n 位精度开始计算.
- 所有只包含数值函数和数值常量的表达式,只要它们包含任何近似数字,就转换为近似数字形式.
- 涉及不用求值的精确数字的任何表达式现在都进行求值计算. 例如:Floor[(7/3)^20].
- 现在 Plus 和 Times 在应用用户自定义的规则前应用内置规则,因此进行类似 2+2=5 的定义不再可能.
- . 和 ** 的运算符优先级已被变至低于 ^. 因而,以前在 InputForm 中如 a.b^n 的表达式现在必须写成 (a.b)^n. V2Get[file] 将使用旧的运算符优先级读取一个文件.
- ∖^ 现在是一个用于生成上标的运算符. 对于控制字符的输入,必须使用原八进制代码而不是 ∖^A.
- 在 Mathematica 笔记本中,一些内置 Mathematica 函数现在默认使用特殊字符输出. 例如:在 StandardForm 中,x->y 的输出是 xy.
- 如果不使用选项设置 GenerateConditions->False,更复杂的定积分现在生成显式的 If 结构.
- HeldPart[expr,i,j,…] 已被 Extract[expr,{i,j,…},Hold] 取代.
- Literal[pattern] 已被 HoldPattern[pattern] 替代. Verbatim[pattern] 被引入. 如 DownValues 等的函数将其返回结果包装在 HoldPattern 中,而不是 Literal.
- ReplaceHeldPart[expr,new,pos] 已被 ReplacePart[expr,Hold[new],pos,1] 取代.
- ToHeldExpression[expr] 已被 ToExpression[expr,form,Hold] 取代.
- Trig 作为代数运算函数的一个选项,已被显式函数 TrigExpand、TrigFactor 和 TrigReduce 取代.
- AlgebraicRules 已被 PolynomialReduce 取代.
- 选项 LegendreType 已被 LegendreP 和 LegendreQ 的一个另外的可选自变量取代.
- WeierstrassP[u,{g2,g3}] 现在在一个列表中取 g2 和 g3.
- $Letters 和 $StringOrder 现在仅有内置数值,但这些数值可以处理所有可能的 Mathematica 字符.
- StringByteCount 不再被支持.
- 任意精度近似实数现默认在 InputForm 中以 digits`prec 形式给出. 这个行为由 $NumberMarks 控制.
- 大的近似实数现默认在 InputForm 中以 digits*^exponent 形式给出.
- HomeDirectory[ ] 已被 $HomeDirectory 替代.
- Dump 已被 DumpSave 取代.
- $PipeSupported 和 $LinkSupported 现已弃用,因为所有计算机系统的支持管道和链接.
- LinkOpen 已被 LinkCreate、LinkConnect 和 LinkLaunch 所取代.
- Subscripted 已被 RowBox、SubscriptBox 等取代.
- Subscript 和 Superscript 现在代表的是完整的带有下标和上标的量,而不仅仅是下标和上标.
- FontForm 和 DefaultFont 已被 StyleForm 和 TextStyle 所取代.
- 添加了 260 个新的内置对象,其中一些名称可能与已经使用的名称冲突.
- Accumulate 已被 FoldList 取代;添加了 Fold.
- Condition (/;) 现在可以用于单个模式以及完全规则中,并且不在默认设置时进行计算.
- Release 的功能被拆分为 Evaluate 和 ReleaseHold.
- Compose 已被 Composition 取代.
- Debug 已被 Trace 及其相关函数取代.
- Power 不在自动进行诸如 Sqrt[x^2]x 等的变换.
- 如果 Limit 遇到一个未知函数,它在默认设置时保持不被计算.
- Mod 现在只处理数字;PolynomialMod 处理多项式.
- CellArray 已被 Raster 和 RasterArray 取代.
- FontForm 取一种略有不同的字体设定形式.
- Framed 已被 Frame 及其相关选项取代.
- ContourLevels 和 ContourSpacing 已被 Contours 取代.
- Plot3Matrix 已被 ViewCenter 和 ViewVertical 取代.
- FromASCII 和 ToASCII 已分别被 FromCharacterCode 和 ToCharacterCode 取代.
- Alias 已被 $PreRead 取代.
- ResetMedium 已被纳入 SetOptions;$$Media 已被 Streams 取代.
- StartProcess 已被 Install 和 WSTP 取代.