Lines Matching refs:matis

62   Mat_IS        *matis = (Mat_IS *)A->data;  in MatPtAPNumeric_IS_XAIJ()  local
88 …if (matis->storel2l) PetscCall(PetscObjectCompose((PetscObject)A, "_MatIS_PtAP_l2l", (PetscObject)… in MatPtAPNumeric_IS_XAIJ()
92 …if (matis->storel2l) PetscCall(PetscObjectCompose((PetscObject)C, "_MatIS_PtAP_l2l", (PetscObject)… in MatPtAPNumeric_IS_XAIJ()
370 Mat_IS *matis = (Mat_IS *)A->data; in MatISScaleDisassembling_Private() local
378 PetscCall(MatGetRowIJ(matis->A, 0, PETSC_FALSE, PETSC_FALSE, &m, &ii, &jj, &flg)); in MatISScaleDisassembling_Private()
380 PetscCall(ISLocalToGlobalMappingGetNodeInfo(matis->rmapping, &n, &ecount, &eneighs)); in MatISScaleDisassembling_Private()
382 PetscCall(MatSeqAIJGetArray(matis->A, &aa)); in MatISScaleDisassembling_Private()
403 PetscCall(ISLocalToGlobalMappingRestoreNodeInfo(matis->rmapping, &n, &ecount, &eneighs)); in MatISScaleDisassembling_Private()
404 PetscCall(MatSeqAIJRestoreArray(matis->A, &aa)); in MatISScaleDisassembling_Private()
405 PetscCall(MatRestoreRowIJ(matis->A, 0, PETSC_FALSE, PETSC_FALSE, &m, &ii, &jj, &flg)); in MatISScaleDisassembling_Private()
978 Mat_IS *matis; in MatConvert_Nest_IS() local
995 matis = (Mat_IS *)usedmat->data; in MatConvert_Nest_IS()
998 PetscCall(PetscSFBcastBegin(matis->csf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
999 PetscCall(PetscSFBcastEnd(matis->csf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1001 PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1002 PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1014 Mat_IS *matis; in MatConvert_Nest_IS() local
1030 matis = (Mat_IS *)usedmat->data; in MatConvert_Nest_IS()
1033 PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1034 PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1036 PetscCall(PetscSFBcastBegin(matis->csf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1037 PetscCall(PetscSFBcastEnd(matis->csf, MPIU_INT, idxs, l2gidxs + stl, MPI_REPLACE)); in MatConvert_Nest_IS()
1053 Mat_IS *matis = (Mat_IS *)B->data; in MatConvert_Nest_IS() local
1054 matis->islocalref = B; in MatConvert_Nest_IS()
1067 Mat_IS *matis = (Mat_IS *)B->data; in MatConvert_Nest_IS() local
1069 matis->islocalref = NULL; in MatConvert_Nest_IS()
1155 Mat_IS *matis = (Mat_IS *)A->data; in MatDiagonalScale_IS() local
1162 ll = matis->y; in MatDiagonalScale_IS()
1165 PetscCall(PetscSFBcastBegin(matis->sf, MPIU_SCALAR, Y, y, MPI_REPLACE)); in MatDiagonalScale_IS()
1170 rr = matis->x; in MatDiagonalScale_IS()
1173 PetscCall(PetscSFBcastBegin(matis->csf, MPIU_SCALAR, X, x, MPI_REPLACE)); in MatDiagonalScale_IS()
1178 PetscCall(PetscSFBcastEnd(matis->sf, MPIU_SCALAR, Y, y, MPI_REPLACE)); in MatDiagonalScale_IS()
1183 PetscCall(PetscSFBcastEnd(matis->csf, MPIU_SCALAR, X, x, MPI_REPLACE)); in MatDiagonalScale_IS()
1187 PetscCall(MatDiagonalScale(matis->A, ll, rr)); in MatDiagonalScale_IS()
1193 Mat_IS *matis = (Mat_IS *)A->data; in MatGetInfo_IS() local
1200 if (matis->A->ops->getinfo) { in MatGetInfo_IS()
1201 PetscCall(MatGetInfo(matis->A, MAT_LOCAL, &info)); in MatGetInfo_IS()
1214 isend[5] = matis->A->num_ass; in MatGetInfo_IS()
1416 Mat_IS *matis = (Mat_IS *)mat->data; in MatCreateSubMatrix_IS() local
1434 PetscCall(MatISSetAllowRepeated(*newmat, matis->allow_repeated)); in MatCreateSubMatrix_IS()
1441 PetscCall(PetscArrayzero(matis->sf_rootdata, matis->sf->nroots)); in MatCreateSubMatrix_IS()
1442 for (i = 0; i < ll; i++) matis->sf_rootdata[lidxs[i]] = lgidxs[i] + 1; in MatCreateSubMatrix_IS()
1445 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in MatCreateSubMatrix_IS()
1446 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in MatCreateSubMatrix_IS()
1447 for (i = 0, newloc = 0; i < matis->sf->nleaves; i++) in MatCreateSubMatrix_IS()
1448 if (matis->sf_leafdata[i]) newloc++; in MatCreateSubMatrix_IS()
1451 for (i = 0, newloc = 0; i < matis->sf->nleaves; i++) in MatCreateSubMatrix_IS()
1452 if (matis->sf_leafdata[i]) { in MatCreateSubMatrix_IS()
1454 newgidxs[newloc++] = matis->sf_leafdata[i] - 1; in MatCreateSubMatrix_IS()
1464 if (cong && irow == icol && matis->csf == matis->sf) { in MatCreateSubMatrix_IS()
1475 PetscCall(PetscArrayzero(matis->csf_rootdata, matis->csf->nroots)); in MatCreateSubMatrix_IS()
1476 for (i = 0; i < ll; i++) matis->csf_rootdata[lidxs[i]] = lgidxs[i] + 1; in MatCreateSubMatrix_IS()
1479 …PetscCall(PetscSFBcastBegin(matis->csf, MPIU_INT, matis->csf_rootdata, matis->csf_leafdata, MPI_RE… in MatCreateSubMatrix_IS()
1480 …PetscCall(PetscSFBcastEnd(matis->csf, MPIU_INT, matis->csf_rootdata, matis->csf_leafdata, MPI_REPL… in MatCreateSubMatrix_IS()
1481 for (i = 0, newloc = 0; i < matis->csf->nleaves; i++) in MatCreateSubMatrix_IS()
1482 if (matis->csf_leafdata[i]) newloc++; in MatCreateSubMatrix_IS()
1485 for (i = 0, newloc = 0; i < matis->csf->nleaves; i++) in MatCreateSubMatrix_IS()
1486 if (matis->csf_leafdata[i]) { in MatCreateSubMatrix_IS()
1488 newgidxs[newloc++] = matis->csf_leafdata[i] - 1; in MatCreateSubMatrix_IS()
1531 Mat_IS *matis = (Mat_IS *)B->data; in MatISSetUpSF_IS() local
1536 if (matis->sf) PetscFunctionReturn(PETSC_SUCCESS); in MatISSetUpSF_IS()
1537 PetscCall(PetscSFCreate(PetscObjectComm((PetscObject)B), &matis->sf)); in MatISSetUpSF_IS()
1538 PetscCall(ISLocalToGlobalMappingGetIndices(matis->rmapping, &gidxs)); in MatISSetUpSF_IS()
1539 PetscCall(ISLocalToGlobalMappingGetSize(matis->rmapping, &nleaves)); in MatISSetUpSF_IS()
1540 PetscCall(PetscSFSetGraphLayout(matis->sf, B->rmap, nleaves, NULL, PETSC_OWN_POINTER, gidxs)); in MatISSetUpSF_IS()
1541 PetscCall(ISLocalToGlobalMappingRestoreIndices(matis->rmapping, &gidxs)); in MatISSetUpSF_IS()
1542 …PetscCall(PetscMalloc2(matis->sf->nroots, &matis->sf_rootdata, matis->sf->nleaves, &matis->sf_leaf… in MatISSetUpSF_IS()
1543 if (matis->rmapping != matis->cmapping) { /* setup SF for columns */ in MatISSetUpSF_IS()
1544 PetscCall(ISLocalToGlobalMappingGetSize(matis->cmapping, &nleaves)); in MatISSetUpSF_IS()
1545 PetscCall(PetscSFCreate(PetscObjectComm((PetscObject)B), &matis->csf)); in MatISSetUpSF_IS()
1546 PetscCall(ISLocalToGlobalMappingGetIndices(matis->cmapping, &gidxs)); in MatISSetUpSF_IS()
1547 PetscCall(PetscSFSetGraphLayout(matis->csf, B->cmap, nleaves, NULL, PETSC_OWN_POINTER, gidxs)); in MatISSetUpSF_IS()
1548 PetscCall(ISLocalToGlobalMappingRestoreIndices(matis->cmapping, &gidxs)); in MatISSetUpSF_IS()
1549 …PetscCall(PetscMalloc2(matis->csf->nroots, &matis->csf_rootdata, matis->csf->nleaves, &matis->csf_… in MatISSetUpSF_IS()
1551 matis->csf = matis->sf; in MatISSetUpSF_IS()
1552 matis->csf_leafdata = matis->sf_leafdata; in MatISSetUpSF_IS()
1553 matis->csf_rootdata = matis->sf_rootdata; in MatISSetUpSF_IS()
1618 Mat_IS *matis = (Mat_IS *)A->data; in MatISSetAllowRepeated_IS() local
1623 if (flg == matis->allow_repeated) PetscFunctionReturn(PETSC_SUCCESS); in MatISSetAllowRepeated_IS()
1624 if (!matis->A) { /* matrix has not been preallocated yet */ in MatISSetAllowRepeated_IS()
1625 matis->allow_repeated = flg; in MatISSetAllowRepeated_IS()
1628 …PetscCheck(!matis->islocalref, PetscObjectComm((PetscObject)A), PETSC_ERR_SUP, "Not implemented fo… in MatISSetAllowRepeated_IS()
1629 if (matis->allow_repeated) { /* we will assemble the old local matrix if needed */ in MatISSetAllowRepeated_IS()
1630 lA = matis->A; in MatISSetAllowRepeated_IS()
1634 matis->allow_repeated = flg; in MatISSetAllowRepeated_IS()
1637 Mat nA = matis->A; in MatISSetAllowRepeated_IS()
1669 PetscCall(MatConvert(nA, matis->lmattype, MAT_INPLACE_MATRIX, &nA)); in MatISSetAllowRepeated_IS()
1705 Mat_IS *matis = (Mat_IS *)A->data; in MatISStoreL2L_IS() local
1708 matis->storel2l = store; in MatISStoreL2L_IS()
1741 Mat_IS *matis = (Mat_IS *)A->data; in MatISFixLocalEmpty_IS() local
1744 matis->locempty = fix; in MatISFixLocalEmpty_IS()
1793 Mat_IS *matis = (Mat_IS *)B->data; in MatISSetPreallocation_IS() local
1799 for (i = 0; i < matis->sf->nroots; i++) matis->sf_rootdata[i] = d_nz; in MatISSetPreallocation_IS()
1801 for (i = 0; i < matis->sf->nroots; i++) matis->sf_rootdata[i] = d_nnz[i]; in MatISSetPreallocation_IS()
1804 for (i = 0; i < matis->sf->nroots; i++) matis->sf_rootdata[i] += o_nz; in MatISSetPreallocation_IS()
1806 for (i = 0; i < matis->sf->nroots; i++) matis->sf_rootdata[i] += o_nnz[i]; in MatISSetPreallocation_IS()
1808 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in MatISSetPreallocation_IS()
1809 PetscCall(MatGetSize(matis->A, NULL, &nlocalcols)); in MatISSetPreallocation_IS()
1810 PetscCall(MatGetBlockSize(matis->A, &bs)); in MatISSetPreallocation_IS()
1811 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in MatISSetPreallocation_IS()
1813 …for (i = 0; i < matis->sf->nleaves; i++) matis->sf_leafdata[i] = PetscMin(matis->sf_leafdata[i], n… in MatISSetPreallocation_IS()
1814 PetscCall(MatSeqAIJSetPreallocation(matis->A, 0, matis->sf_leafdata)); in MatISSetPreallocation_IS()
1816 PetscCall(MatHYPRESetPreallocation(matis->A, 0, matis->sf_leafdata, 0, NULL)); in MatISSetPreallocation_IS()
1819 for (i = 0; i < matis->sf->nleaves / bs; i++) { in MatISSetPreallocation_IS()
1822 matis->sf_leafdata[i] = matis->sf_leafdata[i * bs] / bs; in MatISSetPreallocation_IS()
1823 …for (b = 1; b < bs; b++) matis->sf_leafdata[i] = PetscMax(matis->sf_leafdata[i], matis->sf_leafdat… in MatISSetPreallocation_IS()
1825 PetscCall(MatSeqBAIJSetPreallocation(matis->A, bs, 0, matis->sf_leafdata)); in MatISSetPreallocation_IS()
1828 …for (i = 0; i < matis->sf->nleaves / bs; i++) matis->sf_leafdata[i] = PetscMin(matis->sf_leafdata[… in MatISSetPreallocation_IS()
1829 PetscCall(MatSeqSBAIJSetPreallocation(matis->A, bs, 0, matis->sf_leafdata)); in MatISSetPreallocation_IS()
1832 PetscCall(MatSetUp(matis->A)); in MatISSetPreallocation_IS()
1838 Mat_IS *matis = (Mat_IS *)mat->data; in MatConvert_IS_XAIJ() local
1848 …if (size == 1 && mat->rmap->N == matis->A->rmap->N && mat->cmap->N == matis->A->cmap->N && !matis-… in MatConvert_IS_XAIJ()
1853 PetscCall(ISLocalToGlobalMappingGetBlockSize(matis->rmapping, &rbs)); in MatConvert_IS_XAIJ()
1854 PetscCall(ISLocalToGlobalMappingGetBlockSize(matis->cmapping, &cbs)); in MatConvert_IS_XAIJ()
1861 PetscCall(ISLocalToGlobalMappingGetBlockIndices(matis->rmapping, &ridxs)); in MatConvert_IS_XAIJ()
1862 PetscCall(ISLocalToGlobalMappingGetSize(matis->rmapping, &nw)); in MatConvert_IS_XAIJ()
1874 PetscCall(ISLocalToGlobalMappingRestoreBlockIndices(matis->rmapping, &ridxs)); in MatConvert_IS_XAIJ()
1876 if (irows && matis->rmapping != matis->cmapping) { in MatConvert_IS_XAIJ()
1877 PetscCall(ISLocalToGlobalMappingGetBlockIndices(matis->cmapping, &cidxs)); in MatConvert_IS_XAIJ()
1878 PetscCall(ISLocalToGlobalMappingGetSize(matis->cmapping, &nw)); in MatConvert_IS_XAIJ()
1890 PetscCall(ISLocalToGlobalMappingRestoreBlockIndices(matis->cmapping, &cidxs)); in MatConvert_IS_XAIJ()
1907 PetscCall(MatConvert(matis->A, mtype, MAT_INITIAL_MATRIX, &B)); in MatConvert_IS_XAIJ()
1925 PetscCall(ISLocalToGlobalMappingGetBlockSize(matis->rmapping, &rbs)); in MatConvert_IS_XAIJ()
1926 PetscCall(ISLocalToGlobalMappingGetBlockSize(matis->cmapping, &cbs)); in MatConvert_IS_XAIJ()
1928 PetscCall(MatGetSize(matis->A, &local_rows, &local_cols)); in MatConvert_IS_XAIJ()
1929 PetscCall(PetscObjectBaseTypeCompare((PetscObject)matis->A, MATSEQDENSE, &isseqdense)); in MatConvert_IS_XAIJ()
1930 PetscCall(PetscObjectBaseTypeCompare((PetscObject)matis->A, MATSEQAIJ, &isseqaij)); in MatConvert_IS_XAIJ()
1931 PetscCall(PetscObjectBaseTypeCompare((PetscObject)matis->A, MATSEQBAIJ, &isseqbaij)); in MatConvert_IS_XAIJ()
1932 PetscCall(PetscObjectBaseTypeCompare((PetscObject)matis->A, MATSEQSBAIJ, &isseqsbaij)); in MatConvert_IS_XAIJ()
1933 …aij, PETSC_COMM_SELF, PETSC_ERR_SUP, "Not for matrix type %s", ((PetscObject)matis->A)->type_name); in MatConvert_IS_XAIJ()
1954 PetscCall(MatConvert(matis->A, MATSEQAIJ, MAT_INITIAL_MATRIX, &local_mat)); in MatConvert_IS_XAIJ()
1956 PetscCall(PetscObjectReference((PetscObject)matis->A)); in MatConvert_IS_XAIJ()
1957 local_mat = matis->A; in MatConvert_IS_XAIJ()
1959 PetscCall(MatSetLocalToGlobalMapping(MT, matis->rmapping, matis->cmapping)); in MatConvert_IS_XAIJ()
2006 PetscCall(MatConvert(matis->A, MATSEQAIJ, MAT_INITIAL_MATRIX, &local_mat)); in MatConvert_IS_XAIJ()
2008 PetscCall(PetscObjectReference((PetscObject)matis->A)); in MatConvert_IS_XAIJ()
2009 local_mat = matis->A; in MatConvert_IS_XAIJ()
2036 Mat_IS *matis = (Mat_IS *)mat->data; in MatDuplicate_IS() local
2049 PetscCall(MatISSetLocalMatType(B, matis->lmattype)); in MatDuplicate_IS()
2050 PetscCall(MatISSetAllowRepeated(B, matis->allow_repeated)); in MatDuplicate_IS()
2052 PetscCall(MatDuplicate(matis->A, op, &localmat)); in MatDuplicate_IS()
2053 PetscCall(MatSetLocalToGlobalMapping(localmat, matis->A->rmap->mapping, matis->A->cmap->mapping)); in MatDuplicate_IS()
2064 Mat_IS *matis = (Mat_IS *)A->data; in MatIsHermitian_IS() local
2068 PetscCall(MatIsHermitian(matis->A, tol, &local_sym)); in MatIsHermitian_IS()
2075 Mat_IS *matis = (Mat_IS *)A->data; in MatIsSymmetric_IS() local
2079 if (matis->rmapping != matis->cmapping) { in MatIsSymmetric_IS()
2083 PetscCall(MatIsSymmetric(matis->A, tol, &local_sym)); in MatIsSymmetric_IS()
2090 Mat_IS *matis = (Mat_IS *)A->data; in MatIsStructurallySymmetric_IS() local
2094 if (matis->rmapping != matis->cmapping) { in MatIsStructurallySymmetric_IS()
2098 PetscCall(MatIsStructurallySymmetric(matis->A, &local_sym)); in MatIsStructurallySymmetric_IS()
2609 Mat_IS *matis = (Mat_IS *)A->data; in MatISFilterL2GMap() local
2630 if (!matis->allow_repeated) PetscCall(PetscHSetIQueryAdd(ht, idxs[i], &missing)); in MatISFilterL2GMap()
2884 Mat_IS *matis = (Mat_IS *)A->data; in MatZeroRowsColumns_Private_IS() local
2893 cong = (PetscBool)(cong && matis->sf == matis->csf); in MatZeroRowsColumns_Private_IS()
2898 PetscCall(MatGetSize(matis->A, &nl, NULL)); in MatZeroRowsColumns_Private_IS()
2913 PetscCall(PetscArrayzero(matis->sf_leafdata, nl)); in MatZeroRowsColumns_Private_IS()
2914 PetscCall(PetscArrayzero(matis->sf_rootdata, A->rmap->n)); in MatZeroRowsColumns_Private_IS()
2915 for (PetscInt i = 0; i < len; i++) matis->sf_rootdata[lrows[i]] = 1; in MatZeroRowsColumns_Private_IS()
2917 …PetscCall(PetscSFBcastBegin(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLA… in MatZeroRowsColumns_Private_IS()
2918 …PetscCall(PetscSFBcastEnd(matis->sf, MPIU_INT, matis->sf_rootdata, matis->sf_leafdata, MPI_REPLACE… in MatZeroRowsColumns_Private_IS()
2922 if (matis->sf_leafdata[i]) lrows[nr++] = i; in MatZeroRowsColumns_Private_IS()
3245 Mat_IS *matis = (Mat_IS *)A->data; in MatGetLocalSubMatrix_IS() local
3274 …if (col != row || matis->rmapping != matis->cmapping || matis->A->rmap->mapping != matis->A->cmap-… in MatGetLocalSubMatrix_IS()
3307 matis = (Mat_IS *)((*submat)->data); in MatGetLocalSubMatrix_IS()
3308 matis->islocalref = A; in MatGetLocalSubMatrix_IS()