问题标签 [apl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apl - 谁能解释一下 apl 将如何在数学研究或金融行业中实施?
谁能解释一下 APL 将如何在数学研究或金融行业中实施?
我看到很多关于require APL的工作帖子,我已经开始学习它,但不知道他们为什么需要这个程序。有人可以给我一些简单的例子吗?
function - GNU APL 中的大括号
我GNU APL 1.1 (svn 4460)
在 Linux 上使用2.6.32
,但函数定义存在一些问题。
此代码段按预期工作:
但是当我尝试这个
或这个
我收到语法错误。相同的片段在这里运行良好。
我是 APL 的完全初学者。谁能解释一下导致这个语法错误的原因?
function - 在 APL 中将函数作为参数传递
如何将函数作为参数传递?
基本思想是这样的(这是行不通的):
是否有类似\fun
erlang 或 C 中的函数指针的东西?
variable-assignment - 省略分配时出现错误“无错误”
我正在玩 APL 做这个问题。
我定义了以下功能:
现在,当我执行以下操作时,我得到了预期的结果(232792560):
但是,当我省略分配给facs
它时,它会严重失败:
我正在使用 GNU APL,所以我没有花哨的 dfun。
我实际上看不出这两种说法之间的区别。
这个错误从何而来?
product - 将函数应用于矩阵的每一行
我有一个函数可以v
将长度为 9 的向量以offset
3 个为一组旋转:
它似乎工作:
然后是一个以 3 个为一组m
水平旋转 9x9 矩阵的函数:offset
这似乎也有效:
现在我想构建一个包含给定矩阵旋转 1、2 和 3 的向量(这是恒等式,但没关系):
所以我尝试了这个(思考:“制作两个向量的外积,第一个包含 1、2 和 3;第二个包含 a”):
不幸的是,这样做的结果是:
有人可以解释一下我的推理在哪里出错了吗?
apl - APL 中的 +.x 为何同时适用于矩阵和向量?
我确实理解,它基本上是通过加法减少乘法,但是有什么魔力,使它既适用于向量又适用于矩阵。
对于向量,我们可以做类似+/ A x B
的事情,但结果相同。但这不适用于矩阵,x
就像制作一个2 2
矩阵一样,减少它会产生2
向量。
并且按本书进行矩阵乘法,减少每个相应的 pow 和列乘法,在2 2
对向量执行相同操作时会产生矩阵。
那么它是如何工作的呢?
apl - 可以将 GNU APL 输出发送到命令行绘图程序(例如 gnuplot)吗?
我想使用接受命令行输入的开源绘图软件(例如,gnuplot)绘制 GNU APL 计算的输出,但我不知道如何使用可用的系统命令和功能。)HOST 命令允许运行系统命令,但我不明白如何将输出或变量从终端显示重定向到命令行。
不太理想,但仍然可以将输出或变量保存到绘图软件可以读取的文件中。但是,我看到的唯一文件保存选项与工作区有关。
我不寻求的两个解决方案是:1)ASCII 字符图 2)将 GNU APL 作为将输出发送到标准输出但不是交互式 APL 的脚本运行。
感谢您的建议!
arrays - APL中的3+维真值表
我想枚举满足给定条件的 3 个或更多有限值变量的所有组合(值的元组)。在数学符号中:
例如(受Project Euler 问题 9启发):
一次两个变量的真值表很简单:
经过一番摸索,我设法将它们结合起来,通过计算前者的每个 4 值行的 ∧ 和后者的每个 4 值列,并在正确的轴上显示 (⊃),介于 1 和 2 之间:
然后我可以使用它的 ravel 过滤所有可能的值元组:
这是解决 APL 中这类特定问题的最佳方法吗?
此示例或一般情况是否有更简单或更快的公式?
更一般地说,将我上面的(天真的?)数组方法与传统的标量语言进行比较,我可以看到我正在将每个循环转换为一个额外的维度:3 个嵌套循环成为一个 3 秩真值表:
但是在标量语言中,可以在此过程中进行优化,例如尽快中断循环,或动态选择循环边界。在这种情况下,我什至不需要测试 a ≤ b ≤ c,因为它隐含在循环边界中。
在此示例中,两种方法都具有 O(N³) 复杂度,因此它们的运行时间只会相差一个因素。但我想知道:如果需要,如何以更优化的方式编写数组解决方案?
是否有任何解决 APL 算法问题或最佳实践的好书或在线资源?
math - 比较传统数学符号与 APL/J 符号的示例
我正在阅读一篇将Mathematica 与 APL/J进行比较的评论。文章中提出的一个问题对我来说似乎很有趣:
Mathematica 真的是表达我们创造性思想的方式吗?即回到 17 世纪为羊皮纸设计的符号,而不是向前到 20 世纪为计算机设计的符号?
可以分享艾弗森符号与传统数学符号的例子来展示 APL/J 在表达和解决数学问题方面的优势吗?这对新来的人会有很大帮助。
functional-programming - J引入fork的动机是什么
从 APL 到 J 的进化,引入 fork 的动机是什么?我想(+/ % #)
计算平均值很好,但它也使阅读更长的动词训练变得更加困难。面对这种权衡,APL 的发明者是否有任何令人信服的理由在 J 中选择这种风格?