Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
Loading...
Searching...
No Matches
ItrSmootherCSR.c File Reference

Smoothers for dCSRmat matrices. More...

#include <math.h>
#include "fasp.h"
#include "fasp_functs.h"

Go to the source code of this file.

Functions

void fasp_smoother_dcsr_jacobi_ff (dvector *x, dCSRmat *A, dvector *b, const INT nsweeps, INT *ordering, const REAL relax)
 Weighted Jacobi method as a smoother only for the fine points. More...
 
void fasp_smoother_dcsr_jacobi (dvector *u, const INT i_1, const INT i_n, const INT s, dCSRmat *A, dvector *b, INT L, const REAL w)
 Weighted Jacobi method as a smoother. More...
 
void fasp_smoother_dcsr_gs (dvector *u, const INT i_1, const INT i_n, const INT s, dCSRmat *A, dvector *b, INT L)
 Gauss-Seidel method as a smoother. More...
 
void fasp_smoother_dcsr_gs_cf (dvector *u, dCSRmat *A, dvector *b, INT L, INT *mark, const INT order)
 Gauss-Seidel smoother with C/F ordering for Au=b. More...
 
void fasp_smoother_dcsr_gs_ff (dvector *u, dCSRmat *A, dvector *b, INT L, INT *mark)
 Gauss-Seidel smoother with on F-points only for Au=b. More...
 
void fasp_smoother_dcsr_sgs (dvector *u, dCSRmat *A, dvector *b, INT L)
 Symmetric Gauss-Seidel method as a smoother. More...
 
void fasp_smoother_dcsr_sor (dvector *u, const INT i_1, const INT i_n, const INT s, dCSRmat *A, dvector *b, INT L, const REAL w)
 SOR method as a smoother. More...
 
void fasp_smoother_dcsr_sor_cf (dvector *u, dCSRmat *A, dvector *b, INT L, const REAL w, INT *mark, const INT order)
 SOR smoother with C/F ordering for Au=b. More...
 
void fasp_smoother_dcsr_ilu (dCSRmat *A, dvector *b, dvector *x, void *data)
 ILU method as a smoother. More...
 
void fasp_smoother_dcsr_kaczmarz (dvector *u, const INT i_1, const INT i_n, const INT s, dCSRmat *A, dvector *b, INT L, const REAL w)
 Kaczmarz method as a smoother. More...
 
void fasp_smoother_dcsr_L1diag (dvector *u, const INT i_1, const INT i_n, const INT s, dCSRmat *A, dvector *b, INT L)
 Diagonal scaling (using L1 norm) as a smoother. More...
 

Detailed Description

Smoothers for dCSRmat matrices.

Note
This file contains Level-2 (Itr) functions. It requires: AuxArray.c, AuxMemory.c, AuxMessage.c, AuxThreads.c, BlaArray.c, and BlaSpmvCSR.c

Copyright (C) 2009–Present by the FASP team. All rights reserved.

Released under the terms of the GNU Lesser General Public License 3.0 or later.

Definition in file ItrSmootherCSR.c.

Function Documentation

◆ fasp_smoother_dcsr_gs()

void fasp_smoother_dcsr_gs ( dvector u,
const INT  i_1,
const INT  i_n,
const INT  s,
dCSRmat A,
dvector b,
INT  L 
)

Gauss-Seidel method as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
i_1Starting index
i_nEnding index
sIncreasing step
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
Author
Xuehai Huang, Chensong Zhang
Date
09/26/2009

Modified by Chunsheng Feng, Zheng Li on 09/01/2012

Definition at line 250 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_gs_cf()

void fasp_smoother_dcsr_gs_cf ( dvector u,
dCSRmat A,
dvector b,
INT  L,
INT mark,
const INT  order 
)

Gauss-Seidel smoother with C/F ordering for Au=b.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
markC/F marker array
orderC/F ordering: -1: F-first; 1: C-first
Author
Zhiyang Zhou
Date
11/12/2010

Modified by Chunsheng Feng, Xiaoqiang Yue on 05/24/2012

Definition at line 431 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_gs_ff()

void fasp_smoother_dcsr_gs_ff ( dvector u,
dCSRmat A,
dvector b,
INT  L,
INT mark 
)

Gauss-Seidel smoother with on F-points only for Au=b.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
markC/F marker array
Author
Chensong Zhang
Date
10/11/2022

Definition at line 712 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_ilu()

void fasp_smoother_dcsr_ilu ( dCSRmat A,
dvector b,
dvector x,
void *  data 
)

ILU method as a smoother.

Parameters
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
xPointer to dvector: the unknowns (IN: initial, OUT: approximation)
dataPointer to user defined data
Author
Shiquan Zhang, Xiaozhe Hu
Date
2010/11/12

form residual zr = b - A x

Definition at line 1279 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_jacobi()

void fasp_smoother_dcsr_jacobi ( dvector u,
const INT  i_1,
const INT  i_n,
const INT  s,
dCSRmat A,
dvector b,
INT  L,
const REAL  w 
)

Weighted Jacobi method as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
i_1Starting index
i_nEnding index
sIncreasing step
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
wOver-relaxation weight
Author
Xuehai Huang, Chensong Zhang
Date
09/26/2009

Modified by Chunsheng Feng, Zheng Li on 08/29/2012 Modified by Chensong Zhang on 08/24/2017: Pass weight w as a parameter

Definition at line 97 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_jacobi_ff()

void fasp_smoother_dcsr_jacobi_ff ( dvector x,
dCSRmat A,
dvector b,
const INT  nsweeps,
INT ordering,
const REAL  relax 
)

Weighted Jacobi method as a smoother only for the fine points.

Author
Xie Yan
Date
2022/12/12

Definition at line 34 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_kaczmarz()

void fasp_smoother_dcsr_kaczmarz ( dvector u,
const INT  i_1,
const INT  i_n,
const INT  s,
dCSRmat A,
dvector b,
INT  L,
const REAL  w 
)

Kaczmarz method as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
i_1Starting index
i_nEnding index
sIncreasing step
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
wOver-relaxation weight
Author
Xiaozhe Hu
Date
2010/11/12

Modified by Chunsheng Feng, Zheng Li on 2012/09/01

Definition at line 1362 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_L1diag()

void fasp_smoother_dcsr_L1diag ( dvector u,
const INT  i_1,
const INT  i_n,
const INT  s,
dCSRmat A,
dvector b,
INT  L 
)

Diagonal scaling (using L1 norm) as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
i_1Starting index
i_nEnding index
sIncreasing step
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
Author
Xiaozhe Hu, James Brannick
Date
01/26/2011

Modified by Chunsheng Feng, Zheng Li on 09/01/2012

Definition at line 1508 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_sgs()

void fasp_smoother_dcsr_sgs ( dvector u,
dCSRmat A,
dvector b,
INT  L 
)

Symmetric Gauss-Seidel method as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
Author
Xiaozhe Hu
Date
10/26/2010

Modified by Chunsheng Feng, Zheng Li on 09/01/2012

Definition at line 807 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_sor()

void fasp_smoother_dcsr_sor ( dvector u,
const INT  i_1,
const INT  i_n,
const INT  s,
dCSRmat A,
dvector b,
INT  L,
const REAL  w 
)

SOR method as a smoother.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
i_1Starting index
i_nEnding index
sIncreasing step
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
wOver-relaxation weight
Author
Xiaozhe Hu
Date
10/26/2010

Modified by Chunsheng Feng, Zheng Li on 09/01/2012

Definition at line 931 of file ItrSmootherCSR.c.

◆ fasp_smoother_dcsr_sor_cf()

void fasp_smoother_dcsr_sor_cf ( dvector u,
dCSRmat A,
dvector b,
INT  L,
const REAL  w,
INT mark,
const INT  order 
)

SOR smoother with C/F ordering for Au=b.

Parameters
uPointer to dvector: the unknowns (IN: initial, OUT: approximation)
APointer to dBSRmat: the coefficient matrix
bPointer to dvector: the right hand side
LNumber of iterations
wOver-relaxation weight
markC/F marker array
orderC/F ordering: -1: F-first; 1: C-first
Author
Zhiyang Zhou
Date
2010/11/12

Modified by Chunsheng Feng, Zheng Li on 08/29/2012

Definition at line 1061 of file ItrSmootherCSR.c.