Numerix

Numerix 是一个开源 Swift 软件包,为在 Apple 设备上执行线性代数和其他数值计算提供 Complex、Vector、Matrix 和 ShapedArray 结构。它使用 Accelerate 框架来执行高性能和节能的计算。更多信息可在 Swift Package Index文档网站 上找到。

警告

Numerix 正在积极开发中。许多功能尚未完成,并且可能会发生破坏性更改。

安装

如果使用 Xcode,请选择文件菜单,然后选择添加包依赖项...,然后输入 Numerix GitHub 仓库的 URL,即 https://github.com/wigging/numerix

如果编辑 Package.swift 清单文件,请添加 Numerix 作为依赖项,例如

dependencies: [
    .package(url: "https://github.com/wigging/numerix", branch: "main")
]

targets: [
    .target(name: "MyLibrary", dependencies: ["Numerix"])
]

最后一步是在 Swift 文件中使用 import Numerix 导入软件包。

用法

下面的示例使用 Numerix 软件包执行两个 3x3 矩阵的矩阵乘法。打印结果显示在注释中。

import Numerix

let a: Matrix = [[1, 2, 3],
                 [4, 5, 6.0],
                 [2, 3, 4]]

let b: Matrix = [[1, 2, 3.5],
                 [4, 5, 6],
                 [4, 5, 9.1]]

let c = a * b

print(c)
// ⎛ 21.0  27.0  42.8 ⎞
// ⎜ 48.0  63.0  98.6 ⎟
// ⎝ 30.0  39.0  61.4 ⎠

debugPrint(c)
// 3x3 Matrix<Double>
// ⎛ 21.0  27.0  42.8 ⎞
// ⎜ 48.0  63.0  98.6 ⎟
// ⎝ 30.0  39.0  61.4 ⎠

文档

Numerix 软件包的文档可以在这里查看。也可以通过在 Xcode 菜单中选择Product,然后选择构建文档在 Xcode 中构建和查看文档。

贡献

如果您想为 Numerix 软件包做出贡献,请阅读贡献指南。该指南讨论了用于此软件包开发的测试、文档、代码风格和其他实践。