Module matmul

Module matmul 

Source
Expand description

Contains matmul::MatmulAlgorithm, an abstraction for algorithms for computing matrix multiplication, together with various implementations.

Modules§

strassen
Contains strassen::strassen(), an implementation of Strassen’s algorithm for matrix multiplication.

Structs§

StrassenAlgorithmunstable-enable
Availability

Constants§

STANDARD_MATMULunstable-enable
Availability

Traits§

ComputeInnerProductunstable-enable
Trait to allow rings to provide specialized implementations for inner products, i.e. the sums sum_i a[i] * b[i].
MatmulAlgorithmunstable-enable
Trait for objects that can compute a matrix multiplications over some ring.
StrassenHintunstable-enable
Trait to allow rings to customize the parameters with which StrassenAlgorithm will compute matrix multiplications.

Functions§

naive_matmulunstable-enable
Computes dst = lhs * rhs if ADD_ASSIGN = false and dst += lhs * rhs if ADD_ASSIGN = true, using the standard cubic formula for matrix multiplication.