Lines Matching refs:mbs

10   PetscInt      mbs = fact->mbs, bs = F->rmap->bs, i, nneg_tmp, npos_tmp, *fi = fact->diag;  in MatGetInertia_SeqSBAIJ()  local
18 for (i = 0; i < mbs; i++) { in MatGetInertia_SeqSBAIJ()
24 for (i = 0; i < mbs; i++) { in MatGetInertia_SeqSBAIJ()
31 if (nzero) *nzero = mbs - nneg_tmp - npos_tmp; in MatGetInertia_SeqSBAIJ()
43 PetscInt i, mbs = a->mbs, *jutmp, bs = A->rmap->bs, bs2 = a->bs2; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR() local
69 PetscCall(PetscShmgetAllocateArray(mbs + 1, sizeof(PetscInt), (void **)&iu)); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
70 umax = (PetscInt)(f * ai[mbs] + 1); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
71 umax += mbs + 1; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
73 iu[0] = mbs + 1; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
74 juidx = mbs + 1; /* index for ju */ in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
76 PetscCall(PetscMalloc2(mbs, &jl, mbs, &q)); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
77 for (i = 0; i < mbs; i++) { in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
78 jl[i] = mbs; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
83 for (k = 0; k < mbs; k++) { in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
84 for (i = 0; i < mbs; i++) q[i] = 0; /* to be removed! */ in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
86 q[k] = mbs; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
145 if (maxadd < nzk) maxadd = (mbs - k) * (nzk + 1) / 2; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
165 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
166 PetscReal af = ((PetscReal)iu[mbs]) / ((PetscReal)ai[mbs]); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
184 PetscCall(PetscShmgetAllocateArray((iu[mbs] + 1) * bs2, sizeof(PetscScalar), (void **)&b->a)); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
199 PetscCall(PetscMalloc1(bs * mbs + bs, &b->solve_work)); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
202 b->maxnz = b->nz = iu[mbs]; in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
206 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
207 F->info.fill_ratio_needed = ((PetscReal)iu[mbs]) / ((PetscReal)ai[mbs]); in MatCholeskyFactorSymbolic_SeqSBAIJ_MSR()
227 PetscInt i, mbs = a->mbs, bs = A->rmap->bs, reallocs = 0, prow; in MatCholeskyFactorSymbolic_SeqSBAIJ() local
250 PetscCall(PetscShmgetAllocateArray(mbs + 1, sizeof(PetscInt), (void **)&ui)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
251 PetscCall(PetscMalloc1(mbs + 1, &udiag)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
256 PetscCall(PetscMalloc4(mbs, &ui_ptr, mbs, &il, mbs, &jl, mbs, &cols)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
257 for (i = 0; i < mbs; i++) { in MatCholeskyFactorSymbolic_SeqSBAIJ()
258 jl[i] = mbs; in MatCholeskyFactorSymbolic_SeqSBAIJ()
263 nlnk = mbs + 1; in MatCholeskyFactorSymbolic_SeqSBAIJ()
264 PetscCall(PetscLLCreate(mbs, mbs, nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
267 PetscCall(PetscFreeSpaceGet(PetscRealIntMultTruncate(fill, ai[mbs] + 1), &free_space)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
270 for (k = 0; k < mbs; k++) { /* for each active row k */ in MatCholeskyFactorSymbolic_SeqSBAIJ()
279 PetscCall(PetscLLAdd(ncols, cols, mbs, &nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
292 PetscCall(PetscLLAddSorted(ncols, uj_ptr, mbs, &nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
307 i = mbs - k + 1; /* num of unfactored rows */ in MatCholeskyFactorSymbolic_SeqSBAIJ()
314 PetscCall(PetscLLClean(mbs, mbs, nzk, lnk, current_space->array, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
336 PetscCall(PetscShmgetAllocateArray(ui[mbs], sizeof(PetscInt), (void **)&uj)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
337 …PetscCall(PetscFreeSpaceContiguous_Cholesky(&free_space, uj, mbs, ui, udiag)); /* store matrix fac… in MatCholeskyFactorSymbolic_SeqSBAIJ()
345 PetscCall(PetscShmgetAllocateArray(ui[mbs], sizeof(PetscScalar), (void **)&b->a)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
360 PetscCall(PetscMalloc1(mbs + 1, &b->solve_work)); in MatCholeskyFactorSymbolic_SeqSBAIJ()
362 b->maxnz = b->nz = ui[mbs]; in MatCholeskyFactorSymbolic_SeqSBAIJ()
366 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ()
367 fact->info.fill_ratio_needed = ((PetscReal)ui[mbs]) / ai[mbs]; in MatCholeskyFactorSymbolic_SeqSBAIJ()
372 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ()
392 PetscInt i, mbs = a->mbs, bs = A->rmap->bs, reallocs = 0, prow; in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace() local
426 PetscCall(PetscShmgetAllocateArray(mbs + 1, sizeof(PetscInt), (void **)&ui)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
431 PetscCall(PetscMalloc4(mbs, &ui_ptr, mbs, &il, mbs, &jl, mbs, &cols)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
432 for (i = 0; i < mbs; i++) { in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
433 jl[i] = mbs; in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
438 nlnk = mbs + 1; in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
439 PetscCall(PetscLLCreate(mbs, mbs, nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
442 PetscCall(PetscFreeSpaceGet(PetscRealIntMultTruncate(fill, ai[mbs] + 1), &free_space)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
445 for (k = 0; k < mbs; k++) { /* for each active row k */ in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
453 PetscCall(PetscLLAdd(ncols, cols, mbs, &nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
466 PetscCall(PetscLLAddSorted(ncols, uj_ptr, mbs, &nlnk, lnk, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
482 …i = mbs - k + 1; /* num of unfactored r… in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
489 PetscCall(PetscLLClean(mbs, mbs, nzk, lnk, current_space->array, lnkbt)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
511 PetscCall(PetscShmgetAllocateArray(ui[mbs] + 1, sizeof(PetscInt), (void **)&uj)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
519 PetscCall(PetscShmgetAllocateArray(ui[mbs] + 1, sizeof(PetscScalar), (void **)&b->a)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
534 PetscCall(PetscMalloc1(mbs + 1, &b->solve_work)); in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
535 b->maxnz = b->nz = ui[mbs]; in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
539 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
540 fact->info.fill_ratio_needed = ((PetscReal)ui[mbs]) / ai[mbs]; in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
545 if (ai[mbs] != 0) { in MatCholeskyFactorSymbolic_SeqSBAIJ_inplace()
562 const PetscInt *ai, *aj, *perm_ptr, mbs = a->mbs, *bi = b->i, *bj = b->j; in MatCholeskyFactorNumeric_SeqSBAIJ_N() local
574 PetscCall(PetscCalloc1(bs2 * mbs, &rtmp)); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
575 PetscCall(PetscMalloc2(mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
579 for (i = 0; i < mbs; i++) jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_N()
594 PetscCall(PetscMalloc1(bs2 * ai[mbs], &aa)); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
595 PetscCall(PetscArraycpy(aa, a->a, bs2 * ai[mbs])); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
596 PetscCall(PetscMalloc1(ai[mbs], &a2anew)); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
597 PetscCall(PetscArraycpy(a2anew, a->a2anew, ai[mbs])); in MatCholeskyFactorNumeric_SeqSBAIJ_N()
599 for (i = 0; i < mbs; i++) { in MatCholeskyFactorNumeric_SeqSBAIJ_N()
627 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_N()
729 PetscCall(PetscLogFlops(1.3333 * bs * bs2 * b->mbs)); /* from inverting diagonal blocks */ in MatCholeskyFactorNumeric_SeqSBAIJ_N()
736 PetscInt i, j, mbs = a->mbs, *bi = b->i, *bj = b->j; in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering() local
746 PetscCall(PetscCalloc1(bs2 * mbs, &rtmp)); in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering()
747 PetscCall(PetscMalloc2(mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering()
749 for (i = 0; i < mbs; i++) jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering()
760 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering()
857 PetscCall(PetscLogFlops(1.3333 * bs * bs2 * b->mbs)); /* from inverting diagonal blocks */ in MatCholeskyFactorNumeric_SeqSBAIJ_N_NaturalOrdering()
870 PetscInt i, j, mbs = a->mbs, *bi = b->i, *bj = b->j; in MatCholeskyFactorNumeric_SeqSBAIJ_2() local
889 PetscCall(PetscCalloc1(4 * mbs, &rtmp)); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
890 PetscCall(PetscMalloc2(mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
892 for (i = 0; i < mbs; i++) jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_2()
904 PetscCall(PetscMalloc1(4 * ai[mbs], &aa)); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
905 PetscCall(PetscArraycpy(aa, a->a, 4 * ai[mbs])); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
906 PetscCall(PetscMalloc1(ai[mbs], &a2anew)); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
907 PetscCall(PetscArraycpy(a2anew, a->a2anew, ai[mbs])); in MatCholeskyFactorNumeric_SeqSBAIJ_2()
909 for (i = 0; i < mbs; i++) { in MatCholeskyFactorNumeric_SeqSBAIJ_2()
936 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_2()
1039 PetscCall(PetscLogFlops(1.3333 * 8 * b->mbs)); /* from inverting diagonal blocks */ in MatCholeskyFactorNumeric_SeqSBAIJ_2()
1049 PetscInt i, j, mbs = a->mbs, *bi = b->i, *bj = b->j; in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering() local
1068 PetscCall(PetscCalloc1(4 * mbs, &rtmp)); in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering()
1069 PetscCall(PetscMalloc2(mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering()
1071 for (i = 0; i < mbs; i++) jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering()
1078 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering()
1181 PetscCall(PetscLogFlops(1.3333 * 8 * b->mbs)); /* from inverting diagonal blocks */ in MatCholeskyFactorNumeric_SeqSBAIJ_2_NaturalOrdering()
1194 PetscInt *a2anew, i, j, mbs = a->mbs, *bi = b->i, *bj = b->j, *bcol; in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace() local
1212 nz = ai[mbs]; in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace()
1228 PetscCall(PetscMalloc3(mbs, &rtmp, mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace()
1233 for (i = 0; i < mbs; i++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace()
1235 jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace()
1238 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_inplace()
1350 PetscInt i, j, mbs = A->rmap->n, *bi = b->i, *bj = b->j, *bdiag = b->diag, *bjtmp; in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering() local
1361 PetscCall(PetscMalloc3(mbs, &rtmp, mbs, &il, mbs, &c2r)); in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1369 PetscCall(PetscArrayzero(rtmp, mbs)); in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1371 for (i = 0; i < mbs; i++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1397 for (i = 0; i < mbs; i++) c2r[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1398 if (mbs) il[0] = 0; in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1400 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering()
1502 PetscInt i, j, mbs = a->mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace() local
1522 PetscCall(PetscMalloc1(mbs, &rtmp)); in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace()
1523 PetscCall(PetscMalloc2(mbs, &il, mbs, &jl)); in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace()
1528 for (i = 0; i < mbs; i++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace()
1530 jl[i] = mbs; in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace()
1533 for (k = 0; k < mbs; k++) { in MatCholeskyFactorNumeric_SeqSBAIJ_1_NaturalOrdering_inplace()