numerics
Loading...
Searching...
No Matches
matrix.hpp File Reference

Matrix operations. More...

#include "core/vector.hpp"
#include "core/policy.hpp"
#include "core/small_matrix.hpp"

Go to the source code of this file.

Classes

class  num::Matrix
 Dense row-major matrix with optional GPU storage. More...
 

Namespaces

namespace  num
 

Functions

void num::matvec (const Matrix &A, const Vector &x, Vector &y, Backend b=default_backend)
 y = A * x
 
void num::matmul (const Matrix &A, const Matrix &B, Matrix &C, Backend b=default_backend)
 C = A * B.
 
void num::matadd (real alpha, const Matrix &A, real beta, const Matrix &B, Matrix &C, Backend b=default_backend)
 C = alpha*A + beta*B.
 
void num::matmul_blocked (const Matrix &A, const Matrix &B, Matrix &C, idx block_size=64)
 C = A * B (cache-blocked)
 
void num::matmul_register_blocked (const Matrix &A, const Matrix &B, Matrix &C, idx block_size=64, idx reg_size=4)
 C = A * B (register-blocked)
 
void num::matmul_simd (const Matrix &A, const Matrix &B, Matrix &C, idx block_size=64)
 C = A * B (SIMD-accelerated)
 
void num::matvec_simd (const Matrix &A, const Vector &x, Vector &y)
 y = A * x (SIMD-accelerated)
 

Detailed Description

Matrix operations.

Definition in file matrix.hpp.