#稠密矩阵 #矩阵 #稀疏矩阵 #解析器 #mm #文本格式 #mtx

matrix-market-rs

一个简单的库,用于将矩阵市场文件读取到标准的Rust类型。

4个版本

0.1.3 2023年6月6日
0.1.2 2023年4月27日
0.1.1 2023年3月4日
0.1.0 2023年3月4日

#1512 in 解析器实现

每月 25 次下载
用于 2 crates

自定义许可证

11KB
204

matrix-market-rs

一个简单的Matrix Market (.mtx)文件读取器/解析器,用于在文本格式中表示稀疏或稠密矩阵。

如何使用它?

将其添加到Cargo.toml中的依赖项。

matrix-market-rs = "0.1"

然后在程序中使用它。

use matrix_market_rs::{MtxData, SymInfo, MtxError};
use std::fs::File;
use std::io::Write;

fn main() -> Result<(), MtxError> {
    let mtx_content = r#"
    %%MatrixMarket matrix coordinate integer symmetric
    2 2 2
    1 1 3
    2 2 4
    "#;

    let mut f = File::create("sparse2x2.mtx")?;
    f.write_all(mtx_content.trim().as_bytes());
    let shape = [2,2];
    let indices = vec![[0,0], [1,1]];
    let nonzeros = vec![3,4];
    let sym = SymInfo::Symmetric;

    let sparse:MtxData<i32> = MtxData::from_file("sparse2x2.mtx")?;
    assert_eq!(sparse, MtxData::Sparse(shape, indices, nonzeros, sym));
    Ok(())
}

依赖项

~155KB