matrix4cj:基础线性代数包,支持真实密集矩阵构造操作与多种矩阵分解

线性代数库,用于构造和操作密集矩阵

分支4Tags5

矩阵4CJ

简介

这是一个基础的线性代数库,用于构建和处理实数密集矩阵。

特点

  • 🚀 支持实数密集矩阵的构建与操作
  • 💪 提供QR分解、LU分解、乔里斯基分解、特征值分解和奇异值分解等功能

软件架构

源代码目录结构

.
├── doc
├── src
└── test
│   ├── DOC
│   ├── HLT
│   └── LLT
├── CHANGELOG.md
├── LICENSE.txt
├── cjpm.toml
├── README.md
└── README.OpenSource
  • doc 文档目录,存放API接口文档
  • src 库源码目录
  • test 包含HLT测试用例、LLT自测用例、FUZZ测试用例及文档示例用例

接口说明

主要类与函数接口的详细说明,请参阅API文档。

使用指南

编译指南(适用于Windows/Linux系统)

cjpm build

功能示例

构建与处理真实密集矩阵

以下为示例代码:

import matrix4cj.*

main(): Int64 {
    let tester = Test_ReadMe01()
    let test = tester.asTestSuite().runTests()
    test.failedCount + test.errorCount
}

@Test
public class Test_ReadMe01 {
    @TestCase
    func Matrix_rank(): Unit {
        var A: Matrix
        var array: Array<Array<Float64>>
        array = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 10.0]]
        A = Matrix(array)
        var B = A.rank()
        @Assert(B, 3)
    }
}

执行结果呈现如下:

[ PASSED ] CASE: Matrix_rank

约束与限制

以下版本经过验证:

仓颉版本:1.0.0

开源许可

本项目遵循 Apache License 2.0 ,欢迎自由使用并参与开源。

参与贡献

我们诚挚欢迎您提交PR,提交Issue,或以任何形式参与项目的贡献。

项目介绍

线性代数库,用于构造和操作密集矩阵

定制我的领域