AlgebraEvaluator
这个库将代数表达式评估为更简单的形式。
其他功能包括:
- 导出为 Latex 格式。
- 在评估不可能时提供有教育意义的异常。
用法
目前支持以下操作:
- 加
- 乘
- 矩阵
- 未分配
- 数表达式
- 指数
- 行阶梯形
- 高斯消元
- 转置
- 行列式
- 分数
- 逆矩阵
- 秩
- 零空间的维数
- 点积
- 范数
您可以组合操作如下:
let expression = Add(Mul(NumExp(3), A), Mul(NumExp(-1), B))
调用 eval()
进行化简。捕获任何评估错误并检查出错的所在。
do {
let simplified = try expression.eval()
} catch {
if let e = error as? evalErr {
switch e {
case let .operandIsNotMatrix(e):
case let .matrixSizeNotMatch(a, b):
case let .multiplyNotSupported(a, b):
case let .invalidExponent(a, b):
...
}
}
}
调用 latex()
以 Latex 格式导出。
let latexString:String = simplified.latex()
示例
要运行示例项目,请先克隆仓库,然后从 Example 目录中运行 pod install
。
需求
安装
AlgebraEvaluator 可通过 CocoaPods 获取。要安装它,只需将以下行添加到 Podfile 中
pod 'AlgebraEvaluator'
作者
ingun37,[email&protected]
许可
AlgebraEvaluator 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。
致谢
该库依赖于 @objecthub/swift-numberkit 以支持有理数。我不得不将源代码直接包含在我的项目中,因为它们 neither 在 Cocoapods 上注册 nor 在 Carthage 上。
示例应用程序依赖于 @kostub/iosMath 进行 Latex 渲染。