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.1 to 14.2
- Nested table constructs (such as Table, Do, Sum, Product) are now parallelized at the innermost level. To parallelize only the first level, as was always done in earlier versions, use Method"CoarsestGrained". The end result should be the same, but this could change how operations are distributed to subkernels.
- Unary functions in Groupings will be applied no more than once to every node of the expression tree formed by using the non-unary functions.
- In Presenter Notebooks, the Magnification setting is now used for scaling the notebook content area with the window width instead of dynamic FontSize, CellMargins and CellFrameMargins.
- Starting in 14.2, CellFrame True is now equivalent to CellFrame 0.5. Previously, the documentation had specified that CellFrame True was equivalent to CellFrame 1; however, the actual behavior was that it was equivalent to CellFrame 0.25. Documentation and the notebook front end have been changed to display the updated behavior.
- The "CIF" import format will now return a nested Association rather than a list of rules for the "Data" import element, to better reflect the format specification.
- The "PDB" and "MMCIF" import formats were extensively updated for 14.2. The default element has changed from "Graphics3D" to "BioMolecule" and the coordinates are now returned in angstroms rather than picometers.
- Importing and exporting of "CSV" and "TSV" have some minor backward incompatibilities in favor of feature and performance improvements. Specifically, automatic comment and header line detection may cause different results to be returned compared to previous versions.
- SecuredAuthenticationKey with "OAuthVersion" "2.0" no longer accepts "TwoLegged" or "ThreeLegged" as valid "OAuthTypes". These are now called "AuthorizationCode" and "ClientCredentials", respectively, as per the OAuth 2.0 RFC.
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 取代.