#有限域 #矩阵 # #代数 #arkworks

field-matrix-utils

有限域上矩阵操作库

2个版本

0.1.1 2023年3月4日
0.1.0 2023年3月4日

#887 in 数学

MIT/Apache

32KB
687

crates.io Tests

field-matrix-utils

Rust的简单矩阵库。用于有限域。

不适用于生产使用。它仅用于教育目的。

示例

// Arkworks has a macro to generate the modulus and generator for a finite field.
// Type F is field element for use in our matrix.
// You should be able to use any. This is just an example.
use ark_ff::{Fp64, MontBackend};
#[derive(ark_ff::MontConfig)]
#[modulus = "127"]
#[generator = "6"]
pub struct F127Config;
type F = Fp64<MontBackend<F127Config, 1>>;

// The good stuff starts here.
let a: Matrix<F> = Matrix::new(vec![
    vec![F::from(1), F::from(2)],
    vec![F::from(3), F::from(4)],
]);
let b: Matrix<F> = a.transpose();
let c: Matrix<F> = a + b;
let d: Matrix<F> = a * b;
let det: F = a.determinant();
...

功能

  • 加法
  • 减法
  • 乘法
  • 转置
  • 行列式
  • 逆矩阵
  • 是否是方阵
  • 伴随矩阵
  • LU分解
  • 标量乘法
  • 向量乘法
  • 求和
  • 获取索引处的元素
  • 设置索引处的元素
  • 是否为单位矩阵
  • 相等
  • 显示
  • 线性方程Ax = b的x解

依赖项

~3.5MB
~79K SLoC