| /petsc/src/mat/impls/baij/seq/ |
| H A D | baij.c | 111 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 D | baij.h | 29 MatScalar *idiag; /* inverse of block diagonal */ \
|
| /petsc/src/mat/impls/kaij/ |
| H A D | kaij.c | 861 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 D | relax.h | 154 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 D | sbaij.c | 145 PetscCall(PetscFree(a->idiag)); in MatDestroy_SeqSBAIJ()
|
| /petsc/src/mat/impls/sell/seq/ |
| H A D | sell.c | 836 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 D | sell.h | 67 PetscScalar *mdiag, *idiag; /* diagonal values, inverse of diagonal entries */ member
|
| /petsc/src/mat/impls/aij/seq/ |
| H A D | aij.c | 1217 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 D | aij.h | 156 PetscScalar *mdiag, *idiag; /* diagonal values, inverse of diagonal entries */ member
|