GRASS GIS 7 Programmer's Manual  7.5.svn(2018)-r72846
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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_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 100 of file n_les.c.

References N_alloc_les_param().

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 130 of file n_les.c.

References N_alloc_les_param().

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 115 of file n_les.c.

References N_alloc_les_param().

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 145 of file n_les.c.

References N_alloc_les_param().

Referenced by N_assemble_les_2d_param(), and N_assemble_les_3d_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 178 of file n_les.c.

References N_les::A, N_les::Asp, N_les::b, N_les::cols, Cell_head::cols, G_alloc_matrix(), G_debug(), G_math_alloc_spmatrix(), N_NORMAL_LES, N_SPARSE_LES, NULL, N_les::quad, N_les::rows, Cell_head::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_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 35 of file n_les.c.

References N_alloc_les_param().

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 67 of file n_les.c.

References N_alloc_les_param().

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_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 83 of file n_les.c.

References N_alloc_les_param().

void N_free_les ( N_les les)

Release the memory of the linear equation system.

Parameters
lesN_les *
Returns
void

Definition at line 304 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.

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 252 of file n_les.c.

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