# 汉字 BPL：让记号参与思考


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

Kenneth E. Iverson
把记号看作思考的工具。好的数学记号帮助我们看出共同结构，也让一个问题的解法提示另一个问题的解法。BPL
继承了 APL 的这个目标，用少量可组合的运算表达许多计算。

汉字为这种记号提供了熟悉的含义和紧凑的写法。我们读惯了连续的汉字，能够从中辨认有意义的组合。BPL
的汉字拼写沿用这个习惯。例如，平均数的定义可以一气写成
`mean是加总除数`。

本页讨论这些字怎样帮助表达数学思想。BPL
的语法和基本概念见[快速入门](getting-started.html)。

先启用本次会话的汉字拼写，再运行下面的例子：

``` hpl
•prefs ["hanzi_aliases":$t]
```

``` hpl
mean是加总除数
mean 2 4 9
```

    5

“mean
是加总除数”写出了平均数的关系：总和除以项数。`是`、`加总`、`除`、`数`
连在一起，各自的含义仍然可见。这个定义无需空格断开汉字。其他地方仍沿用
BPL 的空格规则。

这里探索的是有明确规则的数学记号。它借助熟悉的字义，并不要求每个表达式都符合日常汉语的语序。

## 从运算到运算方式

`加`、`乘`、`除`
的含义已经熟悉。用这些字写计算，读者可以直接从意义入手。

``` hpl
2加3
10加 1 2 3
```

    5

    11 12 13

在运算后面接上 `总`，表达“用它合成一个总结果”。`加总` 求和，`乘总`
求积。两者共有的计算方式由同一个字表达。

``` hpl
加总 2 3 4
乘总 2 3 4
```

    9

    24

`累` 则保留累积的过程。`加累` 是逐步累加，`乘累`
是逐步累乘。改变前面的运算，仍然保留同一种累积方式。

``` hpl
加累 2 3 4
乘累 2 3 4
```

    2 5 9

    2 6 24

把取较大值的 `上` 与 `累`
组合，便得到历史最大值。无须为它另记一个专用名称。

``` hpl
上累 3 1 4 2
```

    3 3 4 4

## 遍：把同一件事做遍各组

各组都数一遍，写成 `数遍`，分别统计每组的项数。各组都求一次总和，写成
`加总遍`。同一个 `遍` 可以跟在 `数` 后面，也可以跟在已有的组合 `加总`
后面。

``` hpl
groups是[[1 2] [3 4 5]]
数遍 groups
加总遍 groups
```

    [2 3]ₓ

    3 12

`总` 合并成一个结果，`累` 保留逐步累积的结果，`遍`
分别处理每一项。掌握这几个组织计算的方式，就能与不同运算组合。`加总遍`
中的每个部分都能在别处复用。

## 让数学关系留在表达式中

`己` 提示“自身”。`乘己` 是自身相乘，也就是平方。平方和因而写成
`加总乘己`。

``` hpl
乘己 1 2 3
加总乘己 1 2 3
```

    1 4 9

    14

通常的数学记号写作
∑<sub>*i*</sub>*x*<sub>*i*</sub><sup>2</sup>。汉字写法保留了求和与平方这两层关系，所用的
`总`、`己` 又能和别的运算组合。

开头的 `mean是加总除数` 同样保留了 mean (*x*) = sum (*x*)/count (*x*)
的关系。总和与项数来自同一组数据，两者的比值就是平均数。读者能在表达式中辨认这几个部分，比较公式时也能直接看出哪些部分相同、哪些不同。

## 同一个乘，几种配对方式

逐项相乘、乘法表和内积都用到了乘法。把乘法保留在记号中，差别就集中在怎样配对、怎样合并。先看对应项相乘，再把乘积相加。

``` hpl
a是1 2 3
b是4 5 6
a乘b
加总 a乘b
a 加内乘 b
```

    4 10 18

    32

    32

`加内乘` 直接说明内积的组成。`乘` 计算对应项的乘积，`加`
合并这些乘积。两个运算都写在式子里。

`表` 改用所有左右项两两配对。下面每行固定 `a` 中的一项，每列固定 `b`
中的一项。

``` hpl
a 乘表 b
```

     4  5  6
     8 10 12
    12 15 18

再用 `己` 让两边都是从 1 到 9
的数，就得到熟悉的九九乘法表。`乘`、`表`、`己` 各自保留原来的含义。

``` hpl
乘表己至9
```

    1  2  3  4  5  6  7  8  9
    2  4  6  8 10 12 14 16 18
    3  6  9 12 15 18 21 24 27
    4  8 12 16 20 24 28 32 36
    5 10 15 20 25 30 35 40 45
    6 12 18 24 30 36 42 48 54
    7 14 21 28 35 42 49 56 63
    8 16 24 32 40 48 56 64 72
    9 18 27 36 45 54 63 72 81

## 熟悉的含义，统一的组合

汉字通常以一个字对应一个完整的 BPL
符号。字义提示数学概念，组合规则确定计算。尽量让同一个字覆盖同一个符号的不同用法，可以减少需要记忆的词汇。含义相距太远时才另提供一个拼写。

汉字、原有符号以及适用的简繁体拼写可以混用。下面写的是同一次求和。

``` hpl
+/ 2 3 4
加总 2 3 4
加/ 2 3 4
```

    9

    9

    9

`mean是加总除数` 可以作为一句紧凑的数学陈述来读。`加总遍`
把求和与分别处理放在同一个短式中。读者可以辨认组成部分，替换其中一个运算，再考察新的关系。这正是
Iverson
所追求的记号用途。汉字的熟悉含义与连续书写，为这样的思考提供了很合适的材料。
