/hhlab

Provide API for hhlab.dev

工作日志

五月

5.5

完成 mean 即平均值函数和相关测试。

检查到 Jason 的 sum 函数忘记对不规则矩阵情况的考虑。

但无论是 Jason 的 sum 还是我的 mean 函数都无法对 Tensor 结构进行操作,很奇怪。补充:事实上现阶段函数不考虑兼容 Tensor 结构,这是以后的事。

以后可以考虑添加功能,如果输入的第一个参数是矩阵,则可以增加第二个参数,作为 axis 参数,可以参考 numpy 或者 matlab。

写了一个 median 即中位数函数的草稿,本来想用 JS 自带的排序函数,但总觉得不对劲,它默认这个数组是排序好的:[3, 34, 5],就离谱。

5.6

代码要求发生了变化,这次可能会长期固定了,修改所有代码。

完成 median 和 mean 函数的最终版本.

解决掉 Tensor 结构的不兼容问题。

5.9

写 log 函数,初稿完成,默认的是自然对数,但结果竟然是多维的。而且问题在于不能重载,不知道为什么,先起个 private_log 函数名凑合用。

log函数无限期暂停,重载和矩阵/向量除法设计有问题,需要修正。

完成 multinomial 函数,就是一些数字和的阶乘,除以每个数字的阶乘。剩下的函数恐怕就没有简单到一天搞定的了。

5.10

修改 multinomial 函数,这次有了新要求。

写 reshape 函数。

打算修改所有 math 库函数的报错信息,以适应最新要求,这个可能工程量有点大。

5.11

重构 math 函数

5.12

重构 math 函数

5.13

重构 math 函数,上次弄丢了不少东西,因为版本问题,重新写了一遍

5.16

重构 math 函数

5.17

终于重构完了所有 math 函数,明天写新的函数

5.18

完成 bounds 函数,求上下界,可以根据行和列

5.19

完成 iqr 函数,找到数据集的四等分点 Q1 Q2 Q3 再计算 Q3 - Q1 为返回值

完成 qunatile 函数,返回前百分之多少的数据

5.20

完成 percentile 函数

完成 rms 函数

5.23

完成 correcoef 函数

完成 cov 函数

这俩函数未来需要支持对特定维度计算,但现在工具恐怕不够,暂不支持

5.24

完成 quadratic_equation 函数

在写 cubic_equation 函数,三次方程有点不太好解,今天肯定写不完

5.25

完成 cubic_equation 函数,研究四次方程解,天珩公式看起来有用

5.26

弄清楚了原理,开始写 quartic_equation 函数

5.27

完成 quartic_equation 函数

5.30

完成 resize 函数,跟 reshape 挺像的

完成 vander 函数,就是生成一个 vander 矩阵,每一行都是零次方到 N 次方

5.31

完成 normalize 函数,把数据放在 0-1 之间

打算重构 max 和 min 函数让它们支持 tensor

六月

6.1

完成 is_local_min 和 is_local_max 函数,跟 matlab 一样,复制数组改 0 1

函数不用重构了,除了 is_number 的小瑕疵,别的没问题,我低估自己的代码质量了

6.2

完成 smooth 函数,取最近五个平均值的那个,另外 smooth_data 函数过于复杂,可能要滤波

完成 any_missing 函数,判断是否有缺失数据,这个简单,这几天写 matlab 的数据处理函数吧

6.3

发现 any_missing 函数有错误,修正。

完成 is_missing 函数,这个是用 1 和 0 表示是否缺失对应位置元素的函数。

6.6

解决了 usolve 函数的 bug,其实是 istriu 函数出了问题,解线性方程组的哪个。

检查了数学库的所有函数参数以及注释。

6.7

完成 rmmissing 函数,删除前所有缺失值

6.8

完成 fillmissing 函数,填补缺失值

6.9

完成 missing 函数,添加行/列为空值

完成 hankel 函数,生成 hankel 矩阵

6.10

完成 missing_standard 函数,按照指定方式填补空值

6.13

开始研究怎么写文档,可能接下来几天都没有好的进展