Loading...
Searching...
No Matches
solvers_direct_cholesky_band.c File Reference
`#include <stdlib.h>`
`#include <stdio.h>`
`#include <math.h>`
`#include <grass/gis.h>`
`#include <grass/gmath.h>`
`#include <grass/glocale.h>`
Include dependency graph for solvers_direct_cholesky_band.c:

Go to the source code of this file.

## Functions

void | G_math_cholesky_sband_decomposition (double **A, double **T, int rows, int bandwidth)
| Cholesky decomposition of a symmetric band matrix.
void | G_math_solver_cholesky_sband (double **A, double *x, double *b, int rows, int bandwidth)
| Cholesky symmetric band matrix solver for linear equation systems of type Ax = b.
void | G_math_cholesky_sband_substitution (double **T, double *x, double *b, int rows, int bandwidth)
| Forward and backward substitution of a lower tringular symmetric band matrix of A from system Ax = b.
void | G_math_cholesky_sband_invert (double **A, double *invAdiag, int rows, int bandwidth)
void | G_math_solver_cholesky_sband_invert (double **A, double *x, double *b, double *invAdiag, int rows, int bandwidth)

## Function Documentation

## G_math_cholesky_sband_decomposition()

void G_math_cholesky_sband_decomposition | ( | double ** | A,
|  | double ** | T,
|  | int | rows,
|  | int | bandwidth )

Cholesky decomposition of a symmetric band matrix.

Parameters

  A | (double**) the input symmetric band matrix
  T | (double**) the resulting lower tringular symmetric band matrix
  rows | (int) number of rows
  bandwidth | (int) the bandwidth of the symmetric band matrix

Definition at line 18 of file solvers_direct_cholesky_band.c.

References G_debug(), G_fatal_error(), and G_percent().

Referenced by G_math_cholesky_sband_invert(), G_math_solver_cholesky_sband(), and G_math_solver_cholesky_sband_invert().

## G_math_cholesky_sband_invert()

void G_math_cholesky_sband_invert | ( | double ** | A,
|  | double * | invAdiag,
|  | int | rows,
|  | int | bandwidth )

Definition at line 129 of file solvers_direct_cholesky_band.c.

References G_alloc_matrix(), G_alloc_vector(), G_free_matrix(), G_free_vector(), G_math_cholesky_sband_decomposition(), and NULL.

## G_math_cholesky_sband_substitution()

void G_math_cholesky_sband_substitution | ( | double ** | T,
|  | double * | x,
|  | double * | b,
|  | int | rows,
|  | int | bandwidth )

Forward and backward substitution of a lower tringular symmetric band matrix of A from system Ax = b.

Parameters

  T | (double**) the lower triangle symmetric band matrix
  x | (double*) the resulting vector
  b | (double*) the right hand side of Ax = b
  rows | (int) number of rows
  bandwidth | (int) the bandwidth of the symmetric band matrix

Definition at line 94 of file solvers_direct_cholesky_band.c.

References b, and x.

Referenced by G_math_solver_cholesky_sband(), and G_math_solver_cholesky_sband_invert().

## G_math_solver_cholesky_sband()

void G_math_solver_cholesky_sband | ( | double ** | A,
|  | double * | x,
|  | double * | b,
|  | int | rows,
|  | int | bandwidth )

Cholesky symmetric band matrix solver for linear equation systems of type Ax = b.

Parameters

  A | (double**) the input symmetric band matrix
  x | (double*) the resulting vector, result is written in here
  b | (double*) the right hand side of Ax = b
  rows | (int) number of rows
  bandwidth | (int) the bandwidth of the symmetric band matrix

Definition at line 65 of file solvers_direct_cholesky_band.c.

References b, G_alloc_matrix(), G_free_matrix(), G_math_cholesky_sband_decomposition(), G_math_cholesky_sband_substitution(), and x.

## G_math_solver_cholesky_sband_invert()

void G_math_solver_cholesky_sband_invert | ( | double ** | A,
|  | double * | x,
|  | double * | b,
|  | double * | invAdiag,
|  | int | rows,
|  | int | bandwidth )

Definition at line 174 of file solvers_direct_cholesky_band.c.

References b, G_alloc_matrix(), G_alloc_vector(), G_free_matrix(), G_free_vector(), G_math_cholesky_sband_decomposition(), G_math_cholesky_sband_substitution(), NULL, and x.