LASwift
LASwift 提供了实现机器学习算法所需的许多向量矩阵线性代数操作。库的语法灵感来源于 Matlab 矩阵操作和 Haskell 线性代数库 'hmatrix'。LASwift 使用 Apple Accelerate 框架通过 LAPACK、BLAS 和 vDSP 的高性能计算。
目前支持
以下操作在矢量和矩阵上都完全支持
- 算术运算(加法、减法、乘法、除法、绝对值)
- 指数函数(指数、对数)
- 三角函数(正弦、余弦、正切)
- 统计函数(最大值、最小值、平均值、标准差)
矩阵上的线性代数操作
- 逆
- 转置
- 矩阵幂(整数值)
- 特征向量和特征值
- 奇异值分解
以下矩阵操作也得到支持
- 连接
- 切片
要求
- iOS 12.0+ / Mac OS X 10.13+ / tvOS 12.0+ / watchOS 2.0+
- Xcode 12.0+
- Swift 5.0+
基准测试
请参考linalg-benchmarks项目,它对比了LASwift最新版本与其他最受欢迎的线性代数库(Haskell hmatrix、Python NumPy、Octave、Go gonum-matrix)的基本基准测试。
安装
CocoaPods
如果尚未安装,请先安装CocoaPods
$ [sudo] gem install cocoapods
$ pod setup
前往您的Xcode项目目录,创建并编辑您的Podfile文件,并添加LASwift
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'LASwift', '~> 0.3.2'
将LASwift安装到您的项目中
$ pod install
通过.xcworkspace文件在Xcode中打开您的项目(而不是常规的项目文件)
$ open MyProject.xcworkspace
您现在可以在文件中导入LASwift框架。
Carthage
Carthage 是一个去中心化的依赖管理器,它可以自动化将框架添加到您的Cocoa应用程序的过程。
您可以使用以下命令通过Homebrew安装Carthage
$ brew update
$ brew install carthage
要使用Carthage将LASwift
集成到您的Xcode项目中,请在您的Cartfile
文件中指定它
github "alexandertar/LASwift" >= 0.3.2
Swift Package Manager
您可以通过在Package.swift
文件中添加适当的描述来使用Swift Package Manager安装LASwift
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.Package(url: "https://github.com/alexandertar/LASwift", versions: "0.3.2" ..< Version.max)
]
)
注意,Swift Package Manager仍处于早期设计和开发阶段,有关更多信息,请查阅其GitHub 页面
贡献
当前实现的功能已足够用于实现机器学习算法(因为这是最初的目的)。然而,如果您发现某些功能缺失或希望添加额外功能,请随时提交pull请求或创建带有建议的问题。
作者
Alexander Taraymovich, [email&protected]
许可证
LASwift遵循BSD-3-Clause许可证。有关更多信息,请参阅LICENSE文件。