MatrixOperations

Trait MatrixOperations 

Source
pub trait MatrixOperations {
Show 13 methods // Required methods fn matrix_add(&self, other: &Expression) -> Expression; fn matrix_subtract(&self, other: &Expression) -> Expression; fn matrix_multiply(&self, other: &Expression) -> Expression; fn matrix_scalar_multiply(&self, scalar: &Expression) -> Expression; fn matrix_determinant(&self) -> Expression; fn matrix_transpose(&self) -> Expression; fn matrix_inverse(&self) -> Expression; fn matrix_trace(&self) -> Expression; fn matrix_power(&self, exponent: &Expression) -> Expression; fn is_identity_matrix(&self) -> bool; fn is_zero_matrix(&self) -> bool; fn is_diagonal(&self) -> bool; fn simplify_matrix(&self) -> Expression;
}
Expand description

High-level matrix operations trait for Expression

Provides mathematical operations for matrices including addition, multiplication, transpose, inverse, and other linear algebra operations.

Required Methods§

Source

fn matrix_add(&self, other: &Expression) -> Expression

Add two matrices

§Examples
use mathhook_core::Expression;
use mathhook_core::matrices::operations::MatrixOperations;

let a = Expression::matrix(vec![
    vec![Expression::integer(1), Expression::integer(2)],
    vec![Expression::integer(3), Expression::integer(4)]
]);
let b = Expression::matrix(vec![
    vec![Expression::integer(5), Expression::integer(6)],
    vec![Expression::integer(7), Expression::integer(8)]
]);
let result = a.matrix_add(&b);
// Result: [[6, 8], [10, 12]]
Source

fn matrix_subtract(&self, other: &Expression) -> Expression

Subtract two matrices

Source

fn matrix_multiply(&self, other: &Expression) -> Expression

Multiply two matrices

Source

fn matrix_scalar_multiply(&self, scalar: &Expression) -> Expression

Multiply matrix by scalar

Source

fn matrix_determinant(&self) -> Expression

Get matrix determinant

Source

fn matrix_transpose(&self) -> Expression

Get matrix transpose

Source

fn matrix_inverse(&self) -> Expression

Get matrix inverse

Source

fn matrix_trace(&self) -> Expression

Get matrix trace (sum of diagonal elements)

Source

fn matrix_power(&self, exponent: &Expression) -> Expression

Raise matrix to a power

Source

fn is_identity_matrix(&self) -> bool

Check if matrix is identity matrix

Source

fn is_zero_matrix(&self) -> bool

Check if matrix is zero matrix

Source

fn is_diagonal(&self) -> bool

Check if matrix is diagonal

Source

fn simplify_matrix(&self) -> Expression

Simplify matrix expression

Implementors§