Lines Matching refs:B
49 Mat P = product->B, AP = product->Dwork; in MatProductNumeric_PtAP_Unsafe()
64 Mat A = product->A, P = product->B, AP; in MatProductSymbolic_PtAP_Unsafe()
68 … %s, P %s is used\n", ((PetscObject)product->A)->type_name, ((PetscObject)product->B)->type_name)); in MatProductSymbolic_PtAP_Unsafe()
81 product->B = AP; in MatProductSymbolic_PtAP_Unsafe()
88 product->B = P; in MatProductSymbolic_PtAP_Unsafe()
98 Mat R = product->B, RA = product->Dwork; in MatProductNumeric_RARt_Unsafe()
113 Mat A = product->A, R = product->B, RA; in MatProductSymbolic_RARt_Unsafe()
117 … %s, R %s is used\n", ((PetscObject)product->A)->type_name, ((PetscObject)product->B)->type_name)); in MatProductSymbolic_RARt_Unsafe()
159 Mat B = product->B, C = product->C, BC; in MatProductSymbolic_ABC_Unsafe() local
163 …%s is used\n", ((PetscObject)product->A)->type_name, ((PetscObject)product->B)->type_name, ((Petsc… in MatProductSymbolic_ABC_Unsafe()
165 PetscCall(MatProductCreate(B, C, NULL, &BC)); in MatProductSymbolic_ABC_Unsafe()
175 product->B = BC; in MatProductSymbolic_ABC_Unsafe()
182 product->B = B; in MatProductSymbolic_ABC_Unsafe()
229 PetscErrorCode MatProductReplaceMats(Mat A, Mat B, Mat C, Mat D) in MatProductReplaceMats() argument
250 if (B) { in MatProductReplaceMats()
251 PetscValidHeaderSpecific(B, MAT_CLASSID, 2); in MatProductReplaceMats()
252 PetscCall(PetscObjectReference((PetscObject)B)); in MatProductReplaceMats()
253 PetscCall(PetscObjectTypeCompare((PetscObject)product->B, ((PetscObject)B)->type_name, &flgB)); in MatProductReplaceMats()
254 PetscCall(MatIsSymmetricKnown(B, &isset, &issym)); in MatProductReplaceMats()
259 PetscCall(MatDestroy(&product->B)); in MatProductReplaceMats()
260 product->B = B; in MatProductReplaceMats()
290 Mat A = product->A, B = product->B; in MatProductNumeric_X_Dense() local
291 PetscInt k, K = B->cmap->N; in MatProductNumeric_X_Dense()
303 …trices", MatProductTypes[product->type], ((PetscObject)A)->type_name, ((PetscObject)B)->type_name); in MatProductNumeric_X_Dense()
313 PetscCall(PetscStrallocpy(((PetscObject)B)->type_name, &Btype)); in MatProductNumeric_X_Dense()
315 PetscCall(MatConvert(B, MATDENSECUDA, MAT_INPLACE_MATRIX, &B)); in MatProductNumeric_X_Dense()
323 Bcpu = B->boundtocpu; in MatProductNumeric_X_Dense()
326 PetscCall(MatBindToCPU(B, PETSC_TRUE)); in MatProductNumeric_X_Dense()
333 PetscCall(MatDenseGetColumnVecRead(B, k, &x)); in MatProductNumeric_X_Dense()
340 PetscCall(MatDenseRestoreColumnVecRead(B, k, &x)); in MatProductNumeric_X_Dense()
348 PetscCall(MatConvert(B, Btype, MAT_INPLACE_MATRIX, &B)); in MatProductNumeric_X_Dense()
351 PetscCall(MatBindToCPU(B, Bcpu)); in MatProductNumeric_X_Dense()
363 Mat A = product->A, B = product->B; in MatProductSymbolic_X_Dense() local
369 PetscCall(MatSetSizes(C, A->rmap->n, B->cmap->n, A->rmap->N, B->cmap->N)); in MatProductSymbolic_X_Dense()
372 PetscCall(MatSetSizes(C, A->cmap->n, B->cmap->n, A->cmap->N, B->cmap->N)); in MatProductSymbolic_X_Dense()
375 …trices", MatProductTypes[product->type], ((PetscObject)A)->type_name, ((PetscObject)B)->type_name); in MatProductSymbolic_X_Dense()
379 PetscCall(MatSetType(C, ((PetscObject)B)->type_name)); in MatProductSymbolic_X_Dense()
393 Mat A = product->A, B = product->B, C = product->C; in MatProductSetFromOptions_Private() local
406 PetscCheck(B, PetscObjectComm((PetscObject)mat), PETSC_ERR_PLIB, "Missing B mat"); in MatProductSetFromOptions_Private()
416 Bm = B->rmap->N; in MatProductSetFromOptions_Private()
417 Bn = B->cmap->N; in MatProductSetFromOptions_Private()
428 MatProductTypes[product->type], A->rmap->N, A->cmap->N, bname, B->rmap->N, B->cmap->N); in MatProductSetFromOptions_Private()
430 MatProductTypes[product->type], B->rmap->N, B->cmap->N, Cm, Cn); in MatProductSetFromOptions_Private()
433 fB = B->ops->productsetfromoptions; in MatProductSetFromOptions_Private()
436 …ductTypes[product->type], ((PetscObject)A)->type_name, bname, ((PetscObject)B)->type_name, ((Petsc… in MatProductSetFromOptions_Private()
438 … MatProductTypes[product->type], ((PetscObject)A)->type_name, bname, ((PetscObject)B)->type_name)); in MatProductSetFromOptions_Private()
450 PetscCall(PetscStrlcat(mtypes, ((PetscObject)B)->type_name, sizeof(mtypes))); in MatProductSetFromOptions_Private()
464 PetscCall(PetscObjectQueryFunction((PetscObject)B, mtypes, &f)); in MatProductSetFromOptions_Private()
480 PetscCall(PetscObjectQueryFunction((PetscObject)B, mtypes, &f)); in MatProductSetFromOptions_Private()
497 … PetscCall(PetscObjectBaseTypeCompareAny((PetscObject)B, &isdense, MATSEQDENSE, MATMPIDENSE, "")); in MatProductSetFromOptions_Private()
587 Mat A = product->A, B = product->B; in MatProductNumeric_AB() local
590 PetscCall((*mat->ops->matmultnumeric)(A, B, mat)); in MatProductNumeric_AB()
597 Mat A = product->A, B = product->B; in MatProductNumeric_AtB() local
600 PetscCall((*mat->ops->transposematmultnumeric)(A, B, mat)); in MatProductNumeric_AtB()
607 Mat A = product->A, B = product->B; in MatProductNumeric_ABt() local
610 PetscCall((*mat->ops->mattransposemultnumeric)(A, B, mat)); in MatProductNumeric_ABt()
617 Mat A = product->A, B = product->B; in MatProductNumeric_PtAP() local
620 PetscCall((*mat->ops->ptapnumeric)(A, B, mat)); in MatProductNumeric_PtAP()
627 Mat A = product->A, B = product->B; in MatProductNumeric_RARt() local
630 PetscCall((*mat->ops->rartnumeric)(A, B, mat)); in MatProductNumeric_RARt()
637 Mat A = product->A, B = product->B, C = product->C; in MatProductNumeric_ABC() local
640 PetscCall((*mat->ops->matmatmultnumeric)(A, B, C, mat)); in MatProductNumeric_ABC()
697 …pe], ((PetscObject)mat->product->A)->type_name, ((PetscObject)mat->product->B)->type_name, ((Petsc… in MatProductNumeric()
699 …uct->type], ((PetscObject)mat->product->A)->type_name, ((PetscObject)mat->product->B)->type_name)); in MatProductNumeric()
715 Mat A = product->A, B = product->B; in MatProductSymbolic_AB() local
718 PetscCall((*mat->ops->matmultsymbolic)(A, B, product->fill, mat)); in MatProductSymbolic_AB()
726 Mat A = product->A, B = product->B; in MatProductSymbolic_AtB() local
729 PetscCall((*mat->ops->transposematmultsymbolic)(A, B, product->fill, mat)); in MatProductSymbolic_AtB()
737 Mat A = product->A, B = product->B; in MatProductSymbolic_ABt() local
740 PetscCall((*mat->ops->mattransposemultsymbolic)(A, B, product->fill, mat)); in MatProductSymbolic_ABt()
748 Mat A = product->A, B = product->B, C = product->C; in MatProductSymbolic_ABC() local
751 PetscCall((*mat->ops->matmatmultsymbolic)(A, B, C, product->fill, mat)); in MatProductSymbolic_ABC()
778 Mat B = product->B; in MatProductSymbolic() local
817 …pe], ((PetscObject)mat->product->A)->type_name, ((PetscObject)mat->product->B)->type_name, ((Petsc… in MatProductSymbolic()
819 …uct->type], ((PetscObject)mat->product->A)->type_name, ((PetscObject)mat->product->B)->type_name)); in MatProductSymbolic()
827 …bindingpropagates = (PetscBool)((A->boundtocpu && A->bindingpropagates) || (B->boundtocpu && B->bi… in MatProductSymbolic()
837 if (B->cmap->bs > 1) PetscCall(MatSetBlockSizes(mat, B->cmap->bs, B->cmap->bs)); in MatProductSymbolic()
840 if (B->rmap->bs > 1) PetscCall(MatSetBlockSizes(mat, B->rmap->bs, B->rmap->bs)); in MatProductSymbolic()
846 PetscCall(MatSetBlockSizesFromMats(mat, A, B)); in MatProductSymbolic()
849 …if (A->cmap->bs > 1 || B->cmap->bs > 1) PetscCall(MatSetBlockSizes(mat, A->cmap->bs, B->cmap->bs)); in MatProductSymbolic()
852 …if (A->rmap->bs > 1 || B->rmap->bs > 1) PetscCall(MatSetBlockSizes(mat, A->rmap->bs, B->rmap->bs)); in MatProductSymbolic()
1006 PetscCall(MatDestroy(&product->B)); in MatProductClear()
1019 PetscErrorCode MatProductCreate_Private(Mat A, Mat B, Mat C, Mat D) in MatProductCreate_Private() argument
1028 product->B = B; in MatProductCreate_Private()
1042 PetscCall(PetscObjectReference((PetscObject)B)); in MatProductCreate_Private()
1070 PetscErrorCode MatProductCreateWithMat(Mat A, Mat B, Mat C, Mat D) in MatProductCreateWithMat() argument
1079 PetscValidHeaderSpecific(B, MAT_CLASSID, 2); in MatProductCreateWithMat()
1080 PetscValidType(B, 2); in MatProductCreateWithMat()
1081 MatCheckPreallocated(B, 2); in MatProductCreateWithMat()
1082 …PetscCheck(B->assembled, PetscObjectComm((PetscObject)B), PETSC_ERR_ARG_WRONGSTATE, "Not for unass… in MatProductCreateWithMat()
1083 …PetscCheck(!B->factortype, PetscObjectComm((PetscObject)B), PETSC_ERR_ARG_WRONGSTATE, "Not for fac… in MatProductCreateWithMat()
1101 PetscCall(MatProductCreate_Private(A, B, C, D)); in MatProductCreateWithMat()
1153 PetscErrorCode MatProductCreate(Mat A, Mat B, Mat C, Mat *D) in MatProductCreate() argument
1158 PetscValidHeaderSpecific(B, MAT_CLASSID, 2); in MatProductCreate()
1159 PetscValidType(B, 2); in MatProductCreate()
1161 …PetscCheck(!B->factortype, PetscObjectComm((PetscObject)B), PETSC_ERR_ARG_WRONGSTATE, "Not for fac… in MatProductCreate()
1172 PetscCall(MatProductCreate_Private(A, B, C, *D)); in MatProductCreate()
1223 Mat A, B, C; in MatProductSymbolic_ABC_Basic() local
1239 A = product->B; in MatProductSymbolic_ABC_Basic()
1240 B = product->A; in MatProductSymbolic_ABC_Basic()
1241 C = product->B; in MatProductSymbolic_ABC_Basic()
1247 A = product->B; in MatProductSymbolic_ABC_Basic()
1248 B = product->A; in MatProductSymbolic_ABC_Basic()
1249 C = product->B; in MatProductSymbolic_ABC_Basic()
1256 B = product->B; in MatProductSymbolic_ABC_Basic()
1263 PetscCall(MatProductCreate(B, C, NULL, &mmabc->BC)); in MatProductSymbolic_ABC_Basic()
1271 …ctType %s not supported with %s and %s", MatProductTypes[p1], ((PetscObject)B)->type_name, ((Petsc… in MatProductSymbolic_ABC_Basic()
1338 PetscErrorCode MatProductGetMats(Mat mat, Mat *A, Mat *B, Mat *C) in MatProductGetMats() argument
1343 if (B) *B = mat->product ? mat->product->B : NULL; in MatProductGetMats()