GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
Loading...
Searching...
No Matches
blas_level_2.c File Reference
#include <math.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <grass/gmath.h>
#include <grass/gis.h>
Include dependency graph for blas_level_2.c:

Go to the source code of this file.

Macros

#define EPSILON   0.00000000000000001
 

Functions

void G_math_d_Ax (double **A, double *x, double *y, int rows, int cols)
 Compute the matrix - vector product of matrix A and vector x.
 
void G_math_f_Ax (float **A, float *x, float *y, int rows, int cols)
 Compute the matrix - vector product of matrix A and vector x.
 
void G_math_d_x_dyad_y (double *x, double *y, double **A, int rows, int cols)
 Compute the dyadic product of two vectors. The result is stored in the matrix A.
 
void G_math_f_x_dyad_y (float *x, float *y, float **A, int rows, int cols)
 Compute the dyadic product of two vectors. The result is stored in the matrix A.
 
void G_math_d_aAx_by (double **A, double *x, double *y, double a, double b, double *z, int rows, int cols)
 Compute the scaled matrix - vector product of matrix double **A and vector x and y.
 
void G_math_f_aAx_by (float **A, float *x, float *y, float a, float b, float *z, int rows, int cols)
 Compute the scaled matrix - vector product of matrix A and vectors x and y.
 
int G_math_d_A_T (double **A, int rows)
 Compute the transposition of matrix A. Matrix A will be overwritten.
 
int G_math_f_A_T (float **A, int rows)
 Compute the transposition of matrix A. Matrix A will be overwritten.
 

Macro Definition Documentation

◆ EPSILON

#define EPSILON   0.00000000000000001

Function Documentation

◆ G_math_d_A_T()

int G_math_d_A_T ( double ** A,
int rows )

Compute the transposition of matrix A. Matrix A will be overwritten.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

Returns 0.

Parameters
A(double **)
rows(int)
Returns
int

Definition at line 342 of file blas_level_2.c.

◆ G_math_d_aAx_by()

void G_math_d_aAx_by ( double ** A,
double * x,
double * y,
double a,
double b,
double * z,
int rows,
int cols )

Compute the scaled matrix - vector product of matrix double **A and vector x and y.

z = a * A * x + b * y

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

Parameters
A(double **)
x(double *)
y(double *)
a(double)
b(double)
z(double *)
rows(int)
cols(int)
Returns
(void)

Definition at line 182 of file blas_level_2.c.

References b, and x.

◆ G_math_d_Ax()

void G_math_d_Ax ( double ** A,
double * x,
double * y,
int rows,
int cols )

Compute the matrix - vector product of matrix A and vector x.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

y = A * x

Parameters
A(double ** )
x(double *)
y(double *)
rows(int)
cols(int)
Returns
(void)

Definition at line 46 of file blas_level_2.c.

References x.

Referenced by N_les_integrate_dirichlet_2d(), and N_les_integrate_dirichlet_3d().

◆ G_math_d_x_dyad_y()

void G_math_d_x_dyad_y ( double * x,
double * y,
double ** A,
int rows,
int cols )

Compute the dyadic product of two vectors. The result is stored in the matrix A.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

A = x * y^T

Parameters
x(double *)
y(double *)
A(float **) – matrix of size rows*cols
rows(int) – length of vector x
cols(int) – length of vector y
Returns
(void)

Definition at line 116 of file blas_level_2.c.

References x.

◆ G_math_f_A_T()

int G_math_f_A_T ( float ** A,
int rows )

Compute the transposition of matrix A. Matrix A will be overwritten.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

Returns 0.

Parameters
A(float **)
rows(int)
Returns
int

Definition at line 376 of file blas_level_2.c.

◆ G_math_f_aAx_by()

void G_math_f_aAx_by ( float ** A,
float * x,
float * y,
float a,
float b,
float * z,
int rows,
int cols )

Compute the scaled matrix - vector product of matrix A and vectors x and y.

z = a * A * x + b * y

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

Parameters
A(float **)
x(float *)
y(float *)
a(float)
b(float)
z(float *)
rows(int)
cols(int)
Returns
(void)

Definition at line 265 of file blas_level_2.c.

References b, and x.

◆ G_math_f_Ax()

void G_math_f_Ax ( float ** A,
float * x,
float * y,
int rows,
int cols )

Compute the matrix - vector product of matrix A and vector x.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

y = A * x

Parameters
A(float ** )
x(float *)
y(float *)
rows(int)
cols(int)
Returns
(void)

Definition at line 81 of file blas_level_2.c.

References x.

◆ G_math_f_x_dyad_y()

void G_math_f_x_dyad_y ( float * x,
float * y,
float ** A,
int rows,
int cols )

Compute the dyadic product of two vectors. The result is stored in the matrix A.

This function is multi-threaded with OpenMP and can be called within a parallel OpenMP region.

A = x * y^T

Parameters
x(float *)
y(float *)
A(float **= – matrix of size rows*cols
rows(int) – length of vector x
cols(int) – length of vector y
Returns
(void)

Definition at line 147 of file blas_level_2.c.

References x.