Entity
从符号代数库中方便地派生该类:
看起来比python中的要酷。这很容易做,很有趣。我请您切切!
关于朱皮特
有点像用于创建交互式笔记本的IDE。您不必在熟悉的环境中一次运行所有代码,而是在其中逐块运行它,以保存变量的状态。对于研究和简单的脚本“计算某事”而言,这非常方便。
关于点网/互动
该项目仅允许您将Dotnet嵌入Jupiter。也就是说,您可以立即编写
并获得代码结果。
有些芯片开箱即用
关于安古里数学
它是用于.NET的相对较小的符号代数库,用于处理数学表达式。当然,您可以在一行中处理数学表达式,但这并不总是方便/美观的。
所有数学表达式都以某种方式从
Entity
具有Latexise
返回字符串的方法的类继承。因此,剩下的就是渲染它。
包埋乳胶
我们可以为类型注册自己的推断,这就是我要做的:
let magic() =
let register (value : ILatexiseable) = $@"
<script src='https://polyfill.io/v3/polyfill.min.js?features=es6'></script>
<script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script>
\[{value.Latexise()}\]
"
Formatter.Register<ILatexiseable>(register, "text/html")
(由于某种原因,Habr不支持F#)。
就是说,我们简单地注册该类型
ILatexiseable
应以html格式显示,并且代码本身将由我们的函数生成。对于渲染,我选择了MathJax,尽管缓存js脚本可能很有意义,但这是为了将来的更新。
好了,仅此而已,现在将从此接口继承的所有表达式都可以精美呈现。这就是在C#中的样子:
这到底是怎么回事?
1. extension-
2.
3.
ToEntity()
,
2.
3.
由于Jupiter适用于不需要遵循任何设计要求的一小段代码,因此F#更适合于此。因此,从本文开头的屏幕快照可以明显看出,它也受支持。例如,学校方程的解决方案如下所示:
未来的计划
我非常喜欢.NET,但我也非常喜欢Jupyter。因此,Interactive让我感到非常高兴,并且我赶紧为AngouriMath提供Interactive支持,以在LaTeX中显示表达式。但进一步-更有趣。我正在考虑做一些
Entity.Plot()
可以立即显示函数图的类型。我认为,对于简单的用例,确实需要一块。
如果您想尝试不安装任何必要的东西,可以在这里戳一下:(警报:由于某些原因,加载时间很长,您将不得不等待)
谢谢您的关注!这是一个简短的说明。
链接
1. Jupyter -为交互式编程方便的浏览器环境
2. .NET互动非常精彩的事多亏您可以使用在木星DOTNET -
3 AngouriMath -为此我写了一个数学库包装为latech
4. MyBinder -懒惰的演示