AlgebraEvaluator 0.2.6

AlgebraEvaluator 0.2.6

维护者:Ingun Jon.



  • 作者
  • ingun37

AlgebraEvaluator

CI Status Version License Platform

这个库将代数表达式评估为更简单的形式。

其他功能包括:

  • 导出为 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 渲染。