抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

C# 9 引入了仅初始化的属性设置器,这使我们可以定义一个只能在构造函数或者初始化设定项中进行设置的属性:

众所周知,LaTeX 便于实现专业级的排版效果,而且内容与样式分离的设计也使文档格式易于调整修改;同时,其源文件作为一种纯文本格式的文件,对于 git 这类版本控制系统也更为友好,利于开发过程中的协作工作。因此,LaTeX 相比 Word 更适合用于制作软件的用户手册。

近期试着做了一些 Julia 的程序包,并注册到了官方的 General Registry 上。不得不说,Julia 程序包功能完善,而开发的流程也不复杂。这里简单记录一下,以飨后人。

本文以倒苦水为主。

最近微博好像把 github.io 下的域名屏蔽了,导致博客完全无法分享,就考虑通过短链接跳转绕开这一限制。考虑到 Mathematica 有现成的函数 URLShorten,直接使用即可。不过闲着无聊,就顺便部署了一个简单的缩略 URL 的表单: https://www.wolframcloud.com/obj/miroox/url-shorten

苦于 Wolfram LibraryLink 原本的接口使用起来过于繁琐,又受 wll-interface 的启发,近期开了一个新坑,尝试为 Wolfram LibraryLink 封装一套 Rust 的接口 wll-rs

阅读本文需要一定 Rust 以及 Wolfram LibraryLink 的基础。

我们知道,赋值等过程中使用 MatrixForm 往往会导致后续的计算失效。比如:

我们知道,Wolfram|Alpha 有一个名为 Step-by-Step Solutions 的功能,可以显示一些数学问题求解的过程。又比如,著名的 Rubi 可以在求解积分的同时显示积分的求解步骤。实际上,这些系统背后大抵都是基于模式匹配和规则变换而实现的,因而原则上来说自己也可以实现一个。当然,就实践而言这些系统都过于复杂了,例如 Rubi 包含了超过六千条规则,其背后的原理远非三言两语可以阐明的。不过,相比于积分,微分的运算规则要简明得多,而且对规则的应用总是简单机械的,并不像积分那样可能会运用到各种技巧。因此,本文将利用 Mathematica 的模式匹配和规则实现一个带步骤符号求导器。

最近在做 ComputationalOptics包 的时候为了把 LightField 实现为一个比较典型的Wolfram语言风格的对象,使用了很多undocumented方法,这里主要是做一下记录。

需要注意的是,这里的“对象”不是指“面向对象”里所说的对象(虽然也有点关系),而是类似于 Entity 或者 TemporalData 这类的对象。

这篇文章主要是记录一下在回答贴吧上这个问题时所发现的关于Mathematica求导的一些坑。

原问题虽然没有明说,但我推测问题背景应该是波特图之类的问题,具体问题如下: