Lines Matching refs:wnsmat

20   Mat      wnsmat[4];  member
125 PetscCall(MatDestroy(&pch2opus->wnsmat[0])); in PCDestroy_H2OPUS()
126 PetscCall(MatDestroy(&pch2opus->wnsmat[1])); in PCDestroy_H2OPUS()
127 PetscCall(MatDestroy(&pch2opus->wnsmat[2])); in PCDestroy_H2OPUS()
128 PetscCall(MatDestroy(&pch2opus->wnsmat[3])); in PCDestroy_H2OPUS()
371 if (pch2opus->wnsmat[0] && pch2opus->wnsmat[0]->cmap->N != X->cmap->N) { in MatMatMultKernel_Hyper()
372 PetscCall(MatDestroy(&pch2opus->wnsmat[0])); in MatMatMultKernel_Hyper()
373 PetscCall(MatDestroy(&pch2opus->wnsmat[1])); in MatMatMultKernel_Hyper()
375 if (!pch2opus->wnsmat[0]) { in MatMatMultKernel_Hyper()
376 PetscCall(MatDuplicate(X, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[0])); in MatMatMultKernel_Hyper()
377 PetscCall(MatDuplicate(Y, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[1])); in MatMatMultKernel_Hyper()
379 if (pch2opus->wnsmat[2] && pch2opus->wnsmat[2]->cmap->N != X->cmap->N) { in MatMatMultKernel_Hyper()
380 PetscCall(MatDestroy(&pch2opus->wnsmat[2])); in MatMatMultKernel_Hyper()
381 PetscCall(MatDestroy(&pch2opus->wnsmat[3])); in MatMatMultKernel_Hyper()
383 if (!pch2opus->wnsmat[2]) { in MatMatMultKernel_Hyper()
384 PetscCall(MatDuplicate(X, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[2])); in MatMatMultKernel_Hyper()
385 PetscCall(MatDuplicate(Y, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[3])); in MatMatMultKernel_Hyper()
387 PetscCall(MatCopy(X, pch2opus->wnsmat[0], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
388 PetscCall(MatCopy(X, pch2opus->wnsmat[3], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
391 …PetscCall(MatTransposeMatMult(A, pch2opus->wnsmat[0], MAT_REUSE_MATRIX, PETSC_CURRENT, &pch2opus-> in MatMatMultKernel_Hyper()
392 PetscCall(PCApplyTransposeMat_H2OPUS(pc, pch2opus->wnsmat[1], pch2opus->wnsmat[2])); in MatMatMultKernel_Hyper()
393 PetscCall(MatAXPY(pch2opus->wnsmat[0], -1., pch2opus->wnsmat[2], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
394 PetscCall(MatAXPY(pch2opus->wnsmat[3], 1., pch2opus->wnsmat[0], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
396 PetscCall(PCApplyTransposeMat_H2OPUS(pc, pch2opus->wnsmat[3], Y)); in MatMatMultKernel_Hyper()
399 PetscCall(PCApplyMat_H2OPUS(pc, pch2opus->wnsmat[0], pch2opus->wnsmat[1])); in MatMatMultKernel_Hyper()
400 …PetscCall(MatMatMult(A, pch2opus->wnsmat[1], MAT_REUSE_MATRIX, PETSC_CURRENT, &pch2opus->wnsmat[2]… in MatMatMultKernel_Hyper()
401 PetscCall(MatAXPY(pch2opus->wnsmat[0], -1., pch2opus->wnsmat[2], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
402 PetscCall(MatAXPY(pch2opus->wnsmat[3], 1., pch2opus->wnsmat[0], SAME_NONZERO_PATTERN)); in MatMatMultKernel_Hyper()
404 PetscCall(PCApplyMat_H2OPUS(pc, pch2opus->wnsmat[3], Y)); in MatMatMultKernel_Hyper()
469 if (pch2opus->wnsmat[0] && pch2opus->wnsmat[0]->cmap->N != X->cmap->N) { in MatMatMultKernel_NS()
470 PetscCall(MatDestroy(&pch2opus->wnsmat[0])); in MatMatMultKernel_NS()
471 PetscCall(MatDestroy(&pch2opus->wnsmat[1])); in MatMatMultKernel_NS()
473 if (!pch2opus->wnsmat[0]) { in MatMatMultKernel_NS()
474 PetscCall(MatDuplicate(X, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[0])); in MatMatMultKernel_NS()
475 PetscCall(MatDuplicate(Y, MAT_SHARE_NONZERO_PATTERN, &pch2opus->wnsmat[1])); in MatMatMultKernel_NS()
479 PetscCall(MatTransposeMatMult(A, Y, MAT_REUSE_MATRIX, PETSC_CURRENT, &pch2opus->wnsmat[1])); in MatMatMultKernel_NS()
480 PetscCall(PCApplyTransposeMat_H2OPUS(pc, pch2opus->wnsmat[1], pch2opus->wnsmat[0])); in MatMatMultKernel_NS()
482 PetscCall(MatAXPY(Y, -1., pch2opus->wnsmat[0], SAME_NONZERO_PATTERN)); in MatMatMultKernel_NS()
485 PetscCall(MatMatMult(A, Y, MAT_REUSE_MATRIX, PETSC_CURRENT, &pch2opus->wnsmat[0])); in MatMatMultKernel_NS()
486 PetscCall(PCApplyMat_H2OPUS(pc, pch2opus->wnsmat[0], pch2opus->wnsmat[1])); in MatMatMultKernel_NS()
488 PetscCall(MatAXPY(Y, -1., pch2opus->wnsmat[1], SAME_NONZERO_PATTERN)); in MatMatMultKernel_NS()
646 PetscCall(MatDestroy(&pch2opus->wnsmat[0])); in PCSetUp_H2OPUS()
647 PetscCall(MatDestroy(&pch2opus->wnsmat[1])); in PCSetUp_H2OPUS()
648 PetscCall(MatDestroy(&pch2opus->wnsmat[2])); in PCSetUp_H2OPUS()
649 PetscCall(MatDestroy(&pch2opus->wnsmat[3])); in PCSetUp_H2OPUS()