Lines Matching refs:aij

18   Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data;  in MatReset_MPIAIJ()  local
23 PetscCall(VecDestroy(&aij->diag)); in MatReset_MPIAIJ()
24 PetscCall(MatDestroy(&aij->A)); in MatReset_MPIAIJ()
25 PetscCall(MatDestroy(&aij->B)); in MatReset_MPIAIJ()
27 PetscCall(PetscHMapIDestroy(&aij->colmap)); in MatReset_MPIAIJ()
29 PetscCall(PetscFree(aij->colmap)); in MatReset_MPIAIJ()
31 PetscCall(PetscFree(aij->garray)); in MatReset_MPIAIJ()
32 PetscCall(VecDestroy(&aij->lvec)); in MatReset_MPIAIJ()
33 PetscCall(VecScatterDestroy(&aij->Mvctx)); in MatReset_MPIAIJ()
34 PetscCall(PetscFree2(aij->rowvalues, aij->rowindices)); in MatReset_MPIAIJ()
35 PetscCall(PetscFree(aij->ld)); in MatReset_MPIAIJ()
41 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatResetHash_MPIAIJ() local
44 PetscObjectState Astate = aij->A->nonzerostate, Bstate = aij->B->nonzerostate; in MatResetHash_MPIAIJ()
49 aij->A->nonzerostate = ++Astate, aij->B->nonzerostate = ++Bstate; in MatResetHash_MPIAIJ()
274 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)Y->data; in MatDiagonalSet_MPIAIJ() local
280 PetscCall(MatDiagonalSet(aij->A, D, is)); in MatDiagonalSet_MPIAIJ()
289 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)M->data; in MatFindZeroDiagonals_MPIAIJ() local
294 PetscCall(MatFindZeroDiagonals_SeqAIJ_Private(aij->A, &nrows, &rows)); in MatFindZeroDiagonals_MPIAIJ()
303 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)A->data; in MatGetColumnReductions_MPIAIJ() local
304 PetscInt i, m, n, *garray = aij->garray; in MatGetColumnReductions_MPIAIJ()
305 Mat_SeqAIJ *a_aij = (Mat_SeqAIJ *)aij->A->data; in MatGetColumnReductions_MPIAIJ()
306 Mat_SeqAIJ *b_aij = (Mat_SeqAIJ *)aij->B->data; in MatGetColumnReductions_MPIAIJ()
313 PetscCall(MatSeqAIJGetArrayRead(aij->A, &dummy)); in MatGetColumnReductions_MPIAIJ()
314 PetscCall(MatSeqAIJRestoreArrayRead(aij->A, &dummy)); in MatGetColumnReductions_MPIAIJ()
315 PetscCall(MatSeqAIJGetArrayRead(aij->B, &dummy)); in MatGetColumnReductions_MPIAIJ()
316 PetscCall(MatSeqAIJRestoreArrayRead(aij->B, &dummy)); in MatGetColumnReductions_MPIAIJ()
318 …for (i = 0; i < a_aij->i[aij->A->rmap->n]; i++) work[A->cmap->rstart + a_aij->j[i]] += PetscAbsSca… in MatGetColumnReductions_MPIAIJ()
319 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscAbsScalar(b_aij-… in MatGetColumnReductions_MPIAIJ()
321 …for (i = 0; i < a_aij->i[aij->A->rmap->n]; i++) work[A->cmap->rstart + a_aij->j[i]] += PetscAbsSca… in MatGetColumnReductions_MPIAIJ()
322 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscAbsScalar(b_aij-… in MatGetColumnReductions_MPIAIJ()
324 …for (i = 0; i < a_aij->i[aij->A->rmap->n]; i++) work[A->cmap->rstart + a_aij->j[i]] = PetscMax(Pet… in MatGetColumnReductions_MPIAIJ()
325 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] = PetscMax(PetscAbsScala… in MatGetColumnReductions_MPIAIJ()
327 …for (i = 0; i < a_aij->i[aij->A->rmap->n]; i++) work[A->cmap->rstart + a_aij->j[i]] += PetscRealPa… in MatGetColumnReductions_MPIAIJ()
328 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscRealPart(b_aij->… in MatGetColumnReductions_MPIAIJ()
330 …for (i = 0; i < a_aij->i[aij->A->rmap->n]; i++) work[A->cmap->rstart + a_aij->j[i]] += PetscImagin… in MatGetColumnReductions_MPIAIJ()
331 …for (i = 0; i < b_aij->i[aij->B->rmap->n]; i++) work[garray[b_aij->j[i]]] += PetscImaginaryPart(b_… in MatGetColumnReductions_MPIAIJ()
387 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatCreateColmap_MPIAIJ_Private() local
388 PetscInt n = aij->B->cmap->n, i; in MatCreateColmap_MPIAIJ_Private()
391 …PetscCheck(!n || aij->garray, PETSC_COMM_SELF, PETSC_ERR_PLIB, "MPIAIJ Matrix was assembled but is… in MatCreateColmap_MPIAIJ_Private()
393 PetscCall(PetscHMapICreateWithSize(n, &aij->colmap)); in MatCreateColmap_MPIAIJ_Private()
394 for (i = 0; i < n; i++) PetscCall(PetscHMapISet(aij->colmap, aij->garray[i] + 1, i + 1)); in MatCreateColmap_MPIAIJ_Private()
396 PetscCall(PetscCalloc1(mat->cmap->N + 1, &aij->colmap)); in MatCreateColmap_MPIAIJ_Private()
397 for (i = 0; i < n; i++) aij->colmap[aij->garray[i]] = i + 1; in MatCreateColmap_MPIAIJ_Private()
531 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatSetValues_MPIAIJ() local
535 PetscBool roworiented = aij->roworiented; in MatSetValues_MPIAIJ()
538 Mat A = aij->A; in MatSetValues_MPIAIJ()
542 Mat B = aij->B; in MatSetValues_MPIAIJ()
544 …bimax = b->imax, *bi = b->i, *bilen = b->ilen, *bj = b->j, bm = aij->B->rmap->n, am = aij->A->rmap… in MatSetValues_MPIAIJ()
585 if (!aij->colmap) PetscCall(MatCreateColmap_MPIAIJ_Private(mat)); in MatSetValues_MPIAIJ()
587 …PetscCall(PetscHMapIGetWithDefault(aij->colmap, in[j] + 1, 0, &col)); /* map global col ids to loc… in MatSetValues_MPIAIJ()
590 col = aij->colmap[in[j]] - 1; in MatSetValues_MPIAIJ()
592 …if (col < 0 && !((Mat_SeqAIJ *)aij->B->data)->nonew) { /* col < 0 means in[j] is a new col for B */ in MatSetValues_MPIAIJ()
596 B = aij->B; in MatSetValues_MPIAIJ()
609 bm = aij->B->rmap->n; in MatSetValues_MPIAIJ()
612 …PetscCheck(1 == ((Mat_SeqAIJ *)aij->B->data)->nonew, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "I… in MatSetValues_MPIAIJ()
622 if (!aij->donotstash) { in MatSetValues_MPIAIJ()
644 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatSetValues_MPIAIJ_CopyFromCSRFormat_Symbolic() local
645 Mat A = aij->A; /* diagonal part of the matrix */ in MatSetValues_MPIAIJ_CopyFromCSRFormat_Symbolic()
646 Mat B = aij->B; /* off-diagonal part of the matrix */ in MatSetValues_MPIAIJ_CopyFromCSRFormat_Symbolic()
652 PetscInt am = aij->A->rmap->n, j; in MatSetValues_MPIAIJ_CopyFromCSRFormat_Symbolic()
686 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatSetValues_MPIAIJ_CopyFromCSRFormat() local
687 Mat A = aij->A; /* diagonal part of the matrix */ in MatSetValues_MPIAIJ_CopyFromCSRFormat()
688 Mat B = aij->B; /* off-diagonal part of the matrix */ in MatSetValues_MPIAIJ_CopyFromCSRFormat()
689 Mat_SeqAIJ *aijd = (Mat_SeqAIJ *)aij->A->data, *aijo = (Mat_SeqAIJ *)aij->B->data; in MatSetValues_MPIAIJ_CopyFromCSRFormat()
695 PetscInt am = aij->A->rmap->n, j; in MatSetValues_MPIAIJ_CopyFromCSRFormat()
727 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatGetValues_MPIAIJ() local
742 PetscCall(MatGetValues(aij->A, 1, &row, 1, &col, v + i * n + j)); in MatGetValues_MPIAIJ()
744 if (!aij->colmap) PetscCall(MatCreateColmap_MPIAIJ_Private(mat)); in MatGetValues_MPIAIJ()
746 PetscCall(PetscHMapIGetWithDefault(aij->colmap, idxn[j] + 1, 0, &col)); in MatGetValues_MPIAIJ()
749 col = aij->colmap[idxn[j]] - 1; in MatGetValues_MPIAIJ()
751 if ((col < 0) || (aij->garray[col] != idxn[j])) *(v + i * n + j) = 0.0; in MatGetValues_MPIAIJ()
752 else PetscCall(MatGetValues(aij->B, 1, &row, 1, &col, v + i * n + j)); in MatGetValues_MPIAIJ()
761 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatAssemblyBegin_MPIAIJ() local
765 if (aij->donotstash || mat->nooffprocentries) PetscFunctionReturn(PETSC_SUCCESS); in MatAssemblyBegin_MPIAIJ()
775 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatAssemblyEnd_MPIAIJ() local
785 if (!aij->donotstash && !mat->nooffprocentries) { in MatAssemblyEnd_MPIAIJ()
805 if (mat->offloadmask == PETSC_OFFLOAD_CPU) aij->A->offloadmask = PETSC_OFFLOAD_CPU; in MatAssemblyEnd_MPIAIJ()
808 PetscCall(MatBindToCPU(aij->A, PETSC_TRUE)); in MatAssemblyEnd_MPIAIJ()
809 PetscCall(MatBindToCPU(aij->B, PETSC_TRUE)); in MatAssemblyEnd_MPIAIJ()
812 PetscCall(MatAssemblyBegin(aij->A, mode)); in MatAssemblyEnd_MPIAIJ()
813 PetscCall(MatAssemblyEnd(aij->A, mode)); in MatAssemblyEnd_MPIAIJ()
821 if (!((Mat_SeqAIJ *)aij->B->data)->nonew) { in MatAssemblyEnd_MPIAIJ()
828 PetscCall(MatSetOption(aij->B, MAT_USE_INODES, PETSC_FALSE)); in MatAssemblyEnd_MPIAIJ()
830 …if (mat->offloadmask == PETSC_OFFLOAD_CPU && aij->B->offloadmask != PETSC_OFFLOAD_UNALLOCATED) aij in MatAssemblyEnd_MPIAIJ()
832 PetscCall(MatAssemblyBegin(aij->B, mode)); in MatAssemblyEnd_MPIAIJ()
833 PetscCall(MatAssemblyEnd(aij->B, mode)); in MatAssemblyEnd_MPIAIJ()
835 PetscCall(PetscFree2(aij->rowvalues, aij->rowindices)); in MatAssemblyEnd_MPIAIJ()
837 aij->rowvalues = NULL; in MatAssemblyEnd_MPIAIJ()
839 PetscCall(VecDestroy(&aij->diag)); in MatAssemblyEnd_MPIAIJ()
842 if ((!mat->was_assembled && mode == MAT_FINAL_ASSEMBLY) || !((Mat_SeqAIJ *)aij->A->data)->nonew) { in MatAssemblyEnd_MPIAIJ()
843 PetscObjectState state = aij->A->nonzerostate + aij->B->nonzerostate; in MatAssemblyEnd_MPIAIJ()
945 Mat_SeqAIJ *aij = (Mat_SeqAIJ *)l->B->data; in MatZeroRowsColumns_MPIAIJ() local
996 ii = aij->i; in MatZeroRowsColumns_MPIAIJ()
999 if (aij->compressedrow.use) { in MatZeroRowsColumns_MPIAIJ()
1000 m = aij->compressedrow.nrows; in MatZeroRowsColumns_MPIAIJ()
1001 ii = aij->compressedrow.i; in MatZeroRowsColumns_MPIAIJ()
1002 ridx = aij->compressedrow.rindex; in MatZeroRowsColumns_MPIAIJ()
1005 aj = aij->j + ii[i]; in MatZeroRowsColumns_MPIAIJ()
1022 aj = aij->j + ii[i]; in MatZeroRowsColumns_MPIAIJ()
1186 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatView_MPIAIJ_Binary() local
1187 Mat_SeqAIJ *A = (Mat_SeqAIJ *)aij->A->data; in MatView_MPIAIJ_Binary()
1188 Mat_SeqAIJ *B = (Mat_SeqAIJ *)aij->B->data; in MatView_MPIAIJ_Binary()
1189 const PetscInt *garray = aij->garray; in MatView_MPIAIJ_Binary()
1238 PetscCall(MatSeqAIJGetArrayRead(aij->A, &aa)); in MatView_MPIAIJ_Binary()
1239 PetscCall(MatSeqAIJGetArrayRead(aij->B, &ba)); in MatView_MPIAIJ_Binary()
1249 PetscCall(MatSeqAIJRestoreArrayRead(aij->A, &aa)); in MatView_MPIAIJ_Binary()
1250 PetscCall(MatSeqAIJRestoreArrayRead(aij->B, &ba)); in MatView_MPIAIJ_Binary()
1263 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatView_MPIAIJ_ASCIIorDraworSocket() local
1264 PetscMPIInt rank = aij->rank, size = aij->size; in MatView_MPIAIJ_ASCIIorDraworSocket()
1276 …= PETSC_INT_MAX, navg = 0, *nz, nzlocal = ((Mat_SeqAIJ *)aij->A->data)->nz + ((Mat_SeqAIJ *)aij->B… in MatView_MPIAIJ_ASCIIorDraworSocket()
1296 PetscCall(MatInodeGetInodeSizes(aij->A, NULL, &inodes, NULL)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1305 PetscCall(MatGetInfo(aij->A, MAT_LOCAL, &info)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1307 PetscCall(MatGetInfo(aij->B, MAT_LOCAL, &info)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1312 PetscCall(VecScatterView(aij->Mvctx, viewer)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1316 PetscCall(MatInodeGetInodeSizes(aij->A, &inodecount, &inodes, &inodelimit)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1328 PetscCall(PetscObjectSetName((PetscObject)aij->A, ((PetscObject)mat)->name)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1329 PetscCall(MatView(aij->A, viewer)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1335 PetscCall(PetscObjectSetName((PetscObject)aij->A, ((PetscObject)mat)->name)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1336 PetscCall(MatView(aij->A, viewer)); in MatView_MPIAIJ_ASCIIorDraworSocket()
1604 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatGetGhosts_MPIAIJ() local
1607 PetscCall(MatGetSize(aij->B, NULL, nghosts)); in MatGetGhosts_MPIAIJ()
1608 if (ghosts) *ghosts = aij->garray; in MatGetGhosts_MPIAIJ()
1798 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatRestoreRow_MPIAIJ() local
1801 …PetscCheck(aij->getrowactive, PETSC_COMM_SELF, PETSC_ERR_ARG_WRONGSTATE, "MatGetRow() must be call… in MatRestoreRow_MPIAIJ()
1802 aij->getrowactive = PETSC_FALSE; in MatRestoreRow_MPIAIJ()
1808 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatNorm_MPIAIJ() local
1809 Mat_SeqAIJ *amat = (Mat_SeqAIJ *)aij->A->data, *bmat = (Mat_SeqAIJ *)aij->B->data; in MatNorm_MPIAIJ()
1815 if (aij->size == 1) { in MatNorm_MPIAIJ()
1816 PetscCall(MatNorm(aij->A, type, norm)); in MatNorm_MPIAIJ()
1818 PetscCall(MatSeqAIJGetArrayRead(aij->A, &amata)); in MatNorm_MPIAIJ()
1819 PetscCall(MatSeqAIJGetArrayRead(aij->B, &bmata)); in MatNorm_MPIAIJ()
1837 PetscInt *jj, *garray = aij->garray; in MatNorm_MPIAIJ()
1846 PetscCall(MatCreateVecs(aij->B, &bcol, NULL)); in MatNorm_MPIAIJ()
1852 PetscCall(VecSetValues(col, aij->B->cmap->n, garray, array, ADD_VALUES)); in MatNorm_MPIAIJ()
1861 for (j = 0; j < aij->A->rmap->n; j++) { in MatNorm_MPIAIJ()
1878 PetscCall(MatSeqAIJRestoreArrayRead(aij->A, &amata)); in MatNorm_MPIAIJ()
1879 PetscCall(MatSeqAIJRestoreArrayRead(aij->B, &bmata)); in MatNorm_MPIAIJ()
1980 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatDiagonalScale_MPIAIJ() local
1981 Mat a = aij->A, b = aij->B; in MatDiagonalScale_MPIAIJ()
1990 PetscCall(VecScatterBegin(aij->Mvctx, rr, aij->lvec, INSERT_VALUES, SCATTER_FORWARD)); in MatDiagonalScale_MPIAIJ()
2002 PetscCall(VecScatterEnd(aij->Mvctx, rr, aij->lvec, INSERT_VALUES, SCATTER_FORWARD)); in MatDiagonalScale_MPIAIJ()
2003 PetscUseTypeMethod(b, diagonalscale, NULL, aij->lvec); in MatDiagonalScale_MPIAIJ()
2129 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatConjugate_MPIAIJ() local
2132 PetscCall(MatConjugate_SeqAIJ(aij->A)); in MatConjugate_MPIAIJ()
2133 PetscCall(MatConjugate_SeqAIJ(aij->B)); in MatConjugate_MPIAIJ()
2588 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)x->data; in MatSetRandom_MPIAIJ() local
2592 PetscCall(MatSetRandom(aij->A, rctx)); in MatSetRandom_MPIAIJ()
2594 PetscCall(MatSetRandom(aij->B, rctx)); in MatSetRandom_MPIAIJ()
2596 …PetscCall(MatSetRandomSkipColumnRange_SeqAIJ_Private(aij->B, x->cmap->rstart, x->cmap->rend, rctx)… in MatSetRandom_MPIAIJ()
2675 Mat_SeqAIJ *aij = (Mat_SeqAIJ *)maij->A->data; in MatShift_MPIAIJ() local
2680 …} else if (!aij->nz) { /* It does not matter if diagonals of Y only partially lie in maij->A. We j… in MatShift_MPIAIJ()
2681 PetscInt nonew = aij->nonew; in MatShift_MPIAIJ()
2683 aij->nonew = nonew; in MatShift_MPIAIJ()
2855 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatStoreValues_MPIAIJ() local
2858 PetscCall(MatStoreValues(aij->A)); in MatStoreValues_MPIAIJ()
2859 PetscCall(MatStoreValues(aij->B)); in MatStoreValues_MPIAIJ()
2865 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in MatRetrieveValues_MPIAIJ() local
2868 PetscCall(MatRetrieveValues(aij->A)); in MatRetrieveValues_MPIAIJ()
2869 PetscCall(MatRetrieveValues(aij->B)); in MatRetrieveValues_MPIAIJ()
3529 Mat_SeqAIJ *aij; in MatCreateSubMatrix_MPIAIJ_SameRowDist() local
3610 aij = (Mat_SeqAIJ *)Msub->data; in MatCreateSubMatrix_MPIAIJ_SameRowDist()
3611 ii = aij->i; in MatCreateSubMatrix_MPIAIJ_SameRowDist()
3651 jj = aij->j; in MatCreateSubMatrix_MPIAIJ_SameRowDist()
3694 jj = aij->j; in MatCreateSubMatrix_MPIAIJ_SameRowDist()
3747 Mat_SeqAIJ *aij; in MatCreateSubMatrix_MPIAIJ_nonscalable() local
3777 aij = (Mat_SeqAIJ *)Mreuse->data; in MatCreateSubMatrix_MPIAIJ_nonscalable()
3778 ii = aij->i; in MatCreateSubMatrix_MPIAIJ_nonscalable()
3779 jj = aij->j; in MatCreateSubMatrix_MPIAIJ_nonscalable()
3837 aij = (Mat_SeqAIJ *)Mreuse->data; in MatCreateSubMatrix_MPIAIJ_nonscalable()
3838 ii = aij->i; in MatCreateSubMatrix_MPIAIJ_nonscalable()
3839 jj = aij->j; in MatCreateSubMatrix_MPIAIJ_nonscalable()
7844 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)Amat->data; in MatCreateGraph_Simple_AIJ() local
7846 const PetscInt *cols, *garray = aij->garray; in MatCreateGraph_Simple_AIJ()
8062 Mat_MPIAIJ *aij = (Mat_MPIAIJ *)mat->data; in matsetvaluesmpiaij_() local
8071 PetscBool roworiented = aij->roworiented; in matsetvaluesmpiaij_()
8074 Mat A = aij->A; in matsetvaluesmpiaij_()
8079 Mat B = aij->B; in matsetvaluesmpiaij_()
8081 …bimax = b->imax, *bi = b->i, *bilen = b->ilen, *bj = b->j, bm = aij->B->rmap->n, am = aij->A->rmap… in matsetvaluesmpiaij_()
8126 if (!aij->colmap) PetscCall(MatCreateColmap_MPIAIJ_Private(mat)); in matsetvaluesmpiaij_()
8128 PetscCall(PetscHMapIGetWithDefault(aij->colmap, in[j] + 1, 0, &col)); in matsetvaluesmpiaij_()
8131 col = aij->colmap[in[j]] - 1; in matsetvaluesmpiaij_()
8133 if (col < 0 && !((Mat_SeqAIJ *)aij->A->data)->nonew) { in matsetvaluesmpiaij_()
8137 B = aij->B; in matsetvaluesmpiaij_()
8149 bm = aij->B->rmap->n; in matsetvaluesmpiaij_()
8157 } else if (!aij->donotstash) { in matsetvaluesmpiaij_()