Home
last modified time | relevance | path

Searched refs:ibdiag (Results 1 – 8 of 8) sorted by relevance

/petsc/src/mat/impls/aij/seq/
H A Dinode.c2423 MatScalar *ibdiag, *bdiag, work[25]; in MatInvertDiagonalForSOR_SeqAIJ_Inode() local
2434 if (!a->inode.ibdiag) { in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2441 …PetscCall(PetscMalloc3(cnt, &a->inode.ibdiag, cnt, &a->inode.bdiag, A->rmap->n, &a->inode.ssor_wor… in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2445 ibdiag = a->inode.ibdiag; in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2453 PetscCall(PetscArraycpy(ibdiag + cnt, bdiag + cnt, nodesz * nodesz)); in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2458 if (PetscAbsScalar(ibdiag[cnt]) < zeropivot) { in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2461 A->factorerror_zeropivot_value = PetscAbsScalar(ibdiag[cnt]); in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2465 ibdiag[cnt] = 1.0 / ibdiag[cnt]; in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2468 …PetscCall(PetscKernel_A_gets_inverse_A_2(ibdiag + cnt, shift, allowzeropivot, &zeropivotdetected)); in MatInvertDiagonalForSOR_SeqAIJ_Inode()
2472 …PetscCall(PetscKernel_A_gets_inverse_A_3(ibdiag + cnt, shift, allowzeropivot, &zeropivotdetected)); in MatInvertDiagonalForSOR_SeqAIJ_Inode()
[all …]
H A Dinode2.c40 PetscCall(PetscFree3(a->inode.ibdiag, a->inode.bdiag, a->inode.ssor_work)); in MatDestroy_SeqAIJ_Inode()
64 b->inode.ibdiag = NULL; in MatCreate_SeqAIJ_Inode()
H A Daij.h126 MatScalar *bdiag, *ibdiag, *ssor_work; /* diagonal blocks of matrices */ member
161 PetscScalar *ibdiag; /* inverses of block diagonals */ member
H A Daij.c1213 PetscCall(PetscFree(a->ibdiag)); in MatReset_SeqAIJ()
3231 if (values) *values = a->ibdiag; in MatInvertBlockDiagonal_SeqAIJ()
3234 if (!a->ibdiag) PetscCall(PetscMalloc1(bs2 * mbs, &a->ibdiag)); in MatInvertBlockDiagonal_SeqAIJ()
3235 diag = a->ibdiag; in MatInvertBlockDiagonal_SeqAIJ()
3236 if (values) *values = a->ibdiag; in MatInvertBlockDiagonal_SeqAIJ()
/petsc/src/mat/impls/kaij/
H A Dkaij.h10 PetscScalar *ibdiag; \
H A Dkaij.c466 PetscCall(PetscFree(b->ibdiag)); in MatDestroy_SeqKAIJ()
644 PetscCall(PetscFree(b->ibdiag)); in MatDestroy_MPIKAIJ()
749 if (values) *values = b->ibdiag; in MatInvertBlockDiagonal_SeqKAIJ()
752 if (!b->ibdiag) PetscCall(PetscMalloc1(dof2 * m, &b->ibdiag)); in MatInvertBlockDiagonal_SeqKAIJ()
753 if (values) *values = b->ibdiag; in MatInvertBlockDiagonal_SeqKAIJ()
754 diag = b->ibdiag; in MatInvertBlockDiagonal_SeqKAIJ()
878 idiag = kaij->ibdiag; in MatSOR_SeqKAIJ()
932 idiag = kaij->ibdiag + bs2 * (m - 1); in MatSOR_SeqKAIJ()
978 idiag = kaij->ibdiag; in MatSOR_SeqKAIJ()
1042 idiag = kaij->ibdiag + bs2 * (m - 1); in MatSOR_SeqKAIJ()
/petsc/src/binding/petsc4py/test/
H A Dtest_mat_aij.py262 ibdiag = self.A.invertBlockDiagonal()
265 self.assertEqual(ibdiag.shape, (m // bs, bs, bs))
273 self.assertTrue(N.allclose(ibdiag, tmp))
/petsc/src/binding/petsc4py/src/petsc4py/PETSc/
H A DMat.pyx3746 cdef ndarray ibdiag = array_s(m*bs, cibdiag)
3747 ibdiag.shape = (toInt(m//bs), toInt(bs), toInt(bs))
3748 return ibdiag.transpose(0, 2, 1)