Home
last modified time | relevance | path

Searched refs:idiag (Results 1 – 9 of 9) sorted by relevance

/petsc/src/mat/impls/baij/seq/
H A Dbaij.c111 if (values) *values = a->idiag; in MatInvertBlockDiagonal_SeqBAIJ()
115 if (!a->idiag) PetscCall(PetscMalloc1(bs2 * mbs, &a->idiag)); in MatInvertBlockDiagonal_SeqBAIJ()
116 diag = a->idiag; in MatInvertBlockDiagonal_SeqBAIJ()
117 if (values) *values = a->idiag; in MatInvertBlockDiagonal_SeqBAIJ()
221 const MatScalar *v, *aa = a->a, *idiag; in MatSOR_SeqBAIJ() local
239 idiag = a->idiag; in MatSOR_SeqBAIJ()
255 PetscKernel_v_gets_A_times_w_1(x, idiag, b); in MatSOR_SeqBAIJ()
258 idiag += 1; in MatSOR_SeqBAIJ()
269 PetscKernel_v_gets_A_times_w_1(xw, idiag, s); in MatSOR_SeqBAIJ()
271 idiag += 1; in MatSOR_SeqBAIJ()
[all …]
H A Dbaij.h29 MatScalar *idiag; /* inverse of block diagonal */ \
/petsc/src/mat/impls/kaij/
H A Dkaij.c861 const PetscScalar *b, *xb, *idiag; in MatSOR_SeqKAIJ() local
878 idiag = kaij->ibdiag; in MatSOR_SeqKAIJ()
896 PetscKernel_w_gets_Ar_times_v(bs, bs, b, idiag, x); /* x[0:bs] <- D^{-1} b[0:bs] */ in MatSOR_SeqKAIJ()
899 idiag += bs2; in MatSOR_SeqKAIJ()
921 PetscKernel_w_gets_Ar_times_v(bs, bs, t + i2, idiag, y); in MatSOR_SeqKAIJ()
924 idiag += bs2; in MatSOR_SeqKAIJ()
932 idiag = kaij->ibdiag + bs2 * (m - 1); in MatSOR_SeqKAIJ()
935 PetscKernel_w_gets_Ar_times_v(bs, bs, w, idiag, x + i2); in MatSOR_SeqKAIJ()
937 idiag -= bs2; in MatSOR_SeqKAIJ()
965 PetscKernel_w_gets_Ar_times_v(bs, bs, w, idiag, y); /* RHS incorrect for omega != 1.0 */ in MatSOR_SeqKAIJ()
[all …]
/petsc/src/mat/impls/sbaij/seq/
H A Drelax.h154 if (!a->idiag) PetscCall(PetscMalloc1(m, &a->idiag)); in MatSOR_SeqSBAIJ_ushort()
155 for (i = 0; i < a->mbs; i++) a->idiag[i] = 1.0 / a->a[a->i[i]]; in MatSOR_SeqSBAIJ_ushort()
162 aidiag = a->idiag; in MatSOR_SeqSBAIJ_ushort()
H A Dsbaij.c145 PetscCall(PetscFree(a->idiag)); in MatDestroy_SeqSBAIJ()
/petsc/src/mat/impls/sell/seq/
H A Dsell.c836 PetscScalar *idiag, *mdiag; in MatInvertDiagonalForSOR_SeqSELL() local
845 if (!a->idiag) { in MatInvertDiagonalForSOR_SeqSELL()
846 PetscCall(PetscMalloc3(m, &a->idiag, m, &a->mdiag, m, &a->ssor_work)); in MatInvertDiagonalForSOR_SeqSELL()
850 idiag = a->idiag; in MatInvertDiagonalForSOR_SeqSELL()
862 idiag[i] = 1.0 / val[diag[i]]; in MatInvertDiagonalForSOR_SeqSELL()
868 idiag[i] = omega / (fshift + val[diag[i]]); in MatInvertDiagonalForSOR_SeqSELL()
899 PetscCall(PetscFree3(a->idiag, a->mdiag, a->ssor_work)); in MatDestroy_SeqSELL()
1691 const MatScalar *idiag = NULL, *mdiag; in MatSOR_SeqSELL() local
1702 idiag = a->idiag; in MatSOR_SeqSELL()
1720 x[i] = sum * idiag[i]; in MatSOR_SeqSELL()
[all …]
H A Dsell.h67 PetscScalar *mdiag, *idiag; /* diagonal values, inverse of diagonal entries */ member
/petsc/src/mat/impls/aij/seq/
H A Daij.c1217 PetscCall(PetscFree3(a->idiag, a->mdiag, a->ssor_work)); in MatReset_SeqAIJ()
1814 PetscScalar *idiag, *mdiag; in MatInvertDiagonalForSOR_SeqAIJ() local
1822 if (!a->idiag) PetscCall(PetscMalloc3(m, &a->idiag, m, &a->mdiag, m, &a->ssor_work)); in MatInvertDiagonalForSOR_SeqAIJ()
1825 idiag = a->idiag; in MatInvertDiagonalForSOR_SeqAIJ()
1837 idiag[i] = 1.0 / v[diag[i]]; in MatInvertDiagonalForSOR_SeqAIJ()
1843 idiag[i] = omega / (fshift + v[diag[i]]); in MatInvertDiagonalForSOR_SeqAIJ()
1858 const MatScalar *v, *idiag = NULL, *mdiag, *aa; in MatSOR_SeqAIJ() local
1872 idiag = a->idiag; in MatSOR_SeqAIJ()
1916 x[i] = sum * idiag[i]; in MatSOR_SeqAIJ()
1932 t[i] = sum * idiag[i]; in MatSOR_SeqAIJ()
[all …]
H A Daij.h156 PetscScalar *mdiag, *idiag; /* diagonal values, inverse of diagonal entries */ member