Numoon 是一个开源的 MoonBit 数组库,它提供对多维数组对象的支持以及用于高效操作这些数组的函数。
以下是 Numoon 的一些关键特性:
-
多维数组对象:Numoon 提供了一个强大的 N 维数组 NMArray,这是科学计算的基础。
-
派生对象(如掩码数组和矩阵):Numoon 允许用户创建特殊数组,例如掩码数组,用于处理缺失或无效的数据。
-
广泛的数学函数库:Numoon 拥有大量的数学函数,包括线性代数、傅里叶变换和随机数生成。
Numoon 是 MoonBit 中科学计算和数据分析的不可或缺的工具,在物理学、生物学、工程学等领域广泛使用。
要开始使用 Numoon,你只需使用以下命令安装即可:
moon install oboard/numoon
这将安装最新版本的 Numoon 及其依赖项。
要在你的 MoonBit 程序中使用 Numoon,只需使用以下代码导入库:
你可以使用以下代码创建一个 NMArray 对象:
a = @nm.int_array([1, 2, 3])
b = @nm.int_array([1, 2, 3])
println(a + b)
// 输出:[2, 4, 6]
这创建了一个一维整数数组并执行了向量加法。
a = @nm.double_array([1.0, 2.0, 3.0])
let list1 = @nm.rand(2, 3)
println(list1)
// 输出:[[0.2893123275883688, 0.33959090191249325, 0.1521095035725017],
// [0.9314055834969763, 0.8561914513327412, 0.7919828439328577]]
let list1 = @nm.int_matrix([[1, 2, 3], [4, 5, 6]])
let m2 = @nm.int_matrix([[1, 2, 3], [4, 5, 6]])
let m1 = @nm.int_matrix([[7, 8], [9, 10], [11, 12]])
let result = @nm.dot(m1, m2)
println(result)
// 输出:[[121.0 136.0 151.0]
// [153.0 172.0 191.0]
// [185.0 208.0 231.0]]
欢迎参与贡献,共建美好 MoonBit 社区! 贡献指南
- @oboard
- @Yorkin
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE.md 文件。