GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-7413740dd8
n_les.c File Reference
#include <stdlib.h>
#include <grass/N_pde.h>
#include <grass/gmath.h>
Include dependency graph for n_les.c:

Go to the source code of this file.

Functions

N_lesN_alloc_nquad_les (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_nquad_les_Ax (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A and vector x. More...
 
N_lesN_alloc_nquad_les_A (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A. More...
 
N_lesN_alloc_nquad_les_Ax_b (int cols, int rows, int type)
 Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_les (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_les_Ax (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A and vector x. More...
 
N_lesN_alloc_les_A (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A. More...
 
N_lesN_alloc_les_Ax_b (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b. More...
 
N_lesN_alloc_les_param (int cols, int rows, int type, int parts)
 Allocate memory for a quadratic or not quadratic linear equation system. More...
 
void N_print_les (N_les *les)
 prints the linear equation system to stdout More...
 
void N_free_les (N_les *les)
 Release the memory of the linear equation system. More...
 

Function Documentation

◆ N_alloc_les()

N_les* N_alloc_les ( int  rows,
int  type 
)

Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b.

This function calls N_alloc_les_param

Parameters
rowsint
typeint
Returns
N_les *

Definition at line 101 of file n_les.c.

◆ N_alloc_les_A()

N_les* N_alloc_les_A ( int  rows,
int  type 
)

Allocate memory for a quadratic linear equation system which includes the Matrix A.

This function calls N_alloc_les_param

Parameters
rowsint
typeint
Returns
N_les *

Definition at line 133 of file n_les.c.

◆ N_alloc_les_Ax()

N_les* N_alloc_les_Ax ( int  rows,
int  type 
)

Allocate memory for a quadratic linear equation system which includes the Matrix A and vector x.

This function calls N_alloc_les_param

Parameters
rowsint
typeint
Returns
N_les *

Definition at line 117 of file n_les.c.

◆ N_alloc_les_Ax_b()

N_les* N_alloc_les_Ax_b ( int  rows,
int  type 
)

Allocate memory for a quadratic linear equation system which includes the Matrix A, vector x and vector b.

This function calls N_alloc_les_param

Parameters
rowsint
typeint
Returns
N_les *

Definition at line 149 of file n_les.c.

◆ N_alloc_les_param()

N_les* N_alloc_les_param ( int  cols,
int  rows,
int  type,
int  parts 
)

Allocate memory for a quadratic or not quadratic linear equation system.

The type of the linear equation system must be N_NORMAL_LES for a regular quadratic matrix or N_SPARSE_LES for a sparse matrix

In case of N_NORMAL_LES

A quadratic matrix of size rows*rows*sizeof(double) will allocated

In case of N_SPARSE_LES

a vector of size row will be allocated, ready to hold additional allocated sparse vectors. each sparse vector may have a different size.

Parameter parts defines which parts of the les should be allocated. The number of columns and rows defines if the matrix is quadratic.

Parameters
colsint
rowsint
typeint
partsint – 2 = A, x and b; 1 = A and x; 0 = A allocated
Returns
N_les *

Definition at line 182 of file n_les.c.

◆ N_alloc_nquad_les()

N_les* N_alloc_nquad_les ( int  cols,
int  rows,
int  type 
)

Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b.

This function calls N_alloc_les_param

Parameters
colsint
rowsint
typeint
Returns
N_les *

Definition at line 34 of file n_les.c.

◆ N_alloc_nquad_les_A()

N_les* N_alloc_nquad_les_A ( int  cols,
int  rows,
int  type 
)

Allocate memory for a (not) quadratic linear equation system which includes the Matrix A.

This function calls N_alloc_les_param

Parameters
colsint
rowsint
typeint
Returns
N_les *

Definition at line 68 of file n_les.c.

◆ N_alloc_nquad_les_Ax()

N_les* N_alloc_nquad_les_Ax ( int  cols,
int  rows,
int  type 
)

Allocate memory for a (not) quadratic linear equation system which includes the Matrix A and vector x.

This function calls N_alloc_les_param

Parameters
colsint
rowsint
typeint
Returns
N_les *

Definition at line 51 of file n_les.c.

◆ N_alloc_nquad_les_Ax_b()

N_les* N_alloc_nquad_les_Ax_b ( int  cols,
int  rows,
int  type 
)

Allocate memory for a (not) quadratic linear equation system which includes the Matrix A, vector x and vector b.

This function calls N_alloc_les_param

Parameters
colsint
rowsint
typeint
Returns
N_les *

Definition at line 85 of file n_les.c.

◆ N_free_les()

void N_free_les ( N_les les)

Release the memory of the linear equation system.

Parameters
lesN_les *
Returns
void

Definition at line 307 of file n_les.c.

References N_les::A, N_les::Asp, N_les::b, free(), G_debug(), G_free(), G_free_matrix(), G_math_free_spmatrix(), N_SPARSE_LES, N_les::rows, N_les::type, and N_les::x.

◆ N_print_les()

void N_print_les ( N_les les)

prints the linear equation system to stdout

Format: A*x = b

Example

2 1 1 1 * 2 = 0.1
1 2 0 0 * 3 = 0.2
1 0 2 0 * 3 = 0.2
1 0 0 2 * 2 = 0.1
Parameters
lesN_les *
Returns
void

Definition at line 257 of file n_les.c.

References N_les::A, N_les::Asp, N_les::b, N_les::cols, G_math_spvector::index, N_SPARSE_LES, N_les::rows, N_les::type, G_math_spvector::values, and N_les::x.