gpt4 book ai didi

APL - 为什么这会产生一个乘法表?

转载 作者:行者123 更新时间:2023-12-04 15:29:53 26 4
gpt4 key购买 nike

我(不小心)在 APL 中编写了以下函数:

{⍳⍵ ⍵}

令我惊讶的是,当我调用这个函数时 (verify it) , 它产生一个有效的乘法表:

      {⍳⍵ ⍵} 3
┌───┬───┬───┐
│1 1│1 2│1 3│
├───┼───┼───┤
│2 1│2 2│2 3│
├───┼───┼───┤
│3 1│3 2│3 3│
└───┴───┴───┘

利用我目前在 APL 方面的知识,我不能确切地理解它是如何产生一个有效的乘法表的,因为我没有在这里正确地写一个内积。

最佳答案

Monadic Index Generator .它采用数组 s 的形状作为其唯一参数。它生成一个形状为 s 的数组,其中每个元素都是该元素的索引:

      ⍳5  ⍝ vector
1 2 3 4 5
⍳2 3 ⍝ matrix
┌───┬───┬───┐
│1 1│1 2│1 3│
├───┼───┼───┤
│2 1│2 2│2 3│
└───┴───┴───┘
⍳2 3 4 ⍝ block of 2 layers, each with 3 rows and 4 columns
┌─────┬─────┬─────┬─────┐
│1 1 1│1 1 2│1 1 3│1 1 4│
├─────┼─────┼─────┼─────┤
│1 2 1│1 2 2│1 2 3│1 2 4│
├─────┼─────┼─────┼─────┤
│1 3 1│1 3 2│1 3 3│1 3 4│
└─────┴─────┴─────┴─────┘
┌─────┬─────┬─────┬─────┐
│2 1 1│2 1 2│2 1 3│2 1 4│
├─────┼─────┼─────┼─────┤
│2 2 1│2 2 2│2 2 3│2 2 4│
├─────┼─────┼─────┼─────┤
│2 3 1│2 3 2│2 3 3│2 3 4│
└─────┴─────┴─────┴─────┘

虽然您将结果称为乘法表,但并没有进行乘法运算,只是索引沿每个轴并列排列。但是,您是对的,这类似于具有连接函数 (∘.,) 的外部(不是内部)积:

      (⍳2)∘.,(⍳3)
┌───┬───┬───┐
│1 1│1 2│1 3│
├───┼───┼───┤
│2 1│2 2│2 3│
└───┴───┴───┘

关于APL - 为什么这会产生一个乘法表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61436303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com