#matrix-operations #macro #basic #scalar

rustrix

支持矩阵的宏和基本操作

4 个版本

0.2.0 2024 年 8 月 7 日
0.1.2 2024 年 3 月 27 日
0.1.1 2024 年 3 月 22 日
0.1.0 2024 年 1 月 21 日

588Rust 模式

Download history 18/week @ 2024-07-29 117/week @ 2024-08-05

每月 135 次下载

MIT 许可证

13KB
274

Rustrix

支持矩阵的宏和基本操作。

初始化

use rustrix::*;

let m = mx![
    1, 2, 3;
    4, 5, 6;
];

let (rows, cols, init) = (2, 3, 1);
let m1 = mx!(rows, cols; init);
let m2 = mx![
    1, 1, 1;
    1, 1, 1;
];

assert_eq!(m1, m2)

添加

use rustrix::*;

let m = mx!(2, 3; 2) + mx!(2, 3; 3);

减法

use rustrix::*;

let m = mx!(2, 3; 4) - mx!(2, 3; 1);

点积

use rustrix::*;

let m1 = mx![
    1, 1;
    2, 2;
];

let m2 = mx![
    1, 1, 1, 1;
    2, 2, 2, 2;
];

let m = m1 * m2;

转置

use rustrix::*;

let m1 = mx![
    1, 2;
    3, 4;
    5, 6;
];

let m2 = m1.tp();
let m3 = m1.transpose();

标量乘法

use rustrix::*;

let m1 = mx![
    1, 2, 3;
    4, 5, 6;
];

let m2 = m1.mul_scalar(2);

lib.rs:

支持矩阵的宏和基本操作。

初始化

use rustrix::*;

let m = mx![
    1, 2, 3;
    4, 5, 6;
];

let (rows, cols, init) = (2, 3, 1);
let m1 = mx!(rows, cols; init);
let m2 = mx![
    1, 1, 1;
    1, 1, 1;
];

assert_eq!(m1, m2)

添加

use rustrix::*;

let m = mx!(2, 3; 2) + mx!(2, 3; 3);

减法

use rustrix::*;

let m = mx!(2, 3; 4) - mx!(2, 3; 1);

点积

use rustrix::*;

let m1 = mx![
    1, 1;
    2, 2;
];

let m2 = mx![
    1, 1, 1, 1;
    2, 2, 2, 2;
];

let m = m1 * m2;

转置

use rustrix::*;

let m1 = mx![
    1, 2;
    3, 4;
    5, 6;
];

let m2 = m1.tp();
let m3 = m1.transpose();

标量乘法

use rustrix::*;

let m1 = mx![
    1, 2, 3;
    4, 5, 6;
];

let m2 = m1.mul_scalar(2);

无运行时依赖