GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
Loading...
Searching...
No Matches
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
N_lesN_alloc_les_A (int rows, int type)
 Allocate memory for a quadratic linear equation system which includes the Matrix A.
 
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.
 
N_lesN_alloc_les_param (int cols, int rows, int type, int parts)
 Allocate memory for a quadratic or not quadratic linear equation system.
 
void N_print_les (N_les *les)
 prints the linear equation system to stdout
 
void N_free_les (N_les *les)
 Release the memory of the linear equation system.
 

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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

Referenced by N_assemble_les_2d_param(), and N_assemble_les_3d_param().

◆ 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.

References N_les::A, N_les::Asp, N_les::b, N_les::cols, G_alloc_matrix(), G_debug(), G_math_alloc_spmatrix(), N_NORMAL_LES, N_SPARSE_LES, NULL, N_les::quad, N_les::rows, N_les::type, and N_les::x.

Referenced by N_alloc_les(), N_alloc_les_A(), N_alloc_les_Ax(), N_alloc_les_Ax_b(), N_alloc_nquad_les(), N_alloc_nquad_les_A(), N_alloc_nquad_les_Ax(), and N_alloc_nquad_les_Ax_b().

◆ 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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

◆ 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.

References N_alloc_les_param().

◆ 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, 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, N_SPARSE_LES, N_les::rows, N_les::type, and N_les::x.