Lines Matching refs:V
7 Mat U, V; /* dense tall-skinny matrices */ member
17 Mat U, V; in MatMult_LRC_kernel() local
20 U = transpose ? Na->V : Na->U; in MatMult_LRC_kernel()
21 V = transpose ? Na->U : Na->V; in MatMult_LRC_kernel()
24 PetscCall(MatMultHermitianTranspose(V, x, Na->work1)); in MatMult_LRC_kernel()
47 PetscCall(MatDenseGetLocalMatrix(V, &Vloc)); in MatMult_LRC_kernel()
107 PetscCall(MatDestroy(&Na->V)); in MatDestroy_LRC()
119 static PetscErrorCode MatLRCGetMats_LRC(Mat N, Mat *A, Mat *U, Vec *c, Mat *V) in MatLRCGetMats_LRC() argument
127 if (V) *V = Na->V; in MatLRCGetMats_LRC()
131 static PetscErrorCode MatLRCSetMats_LRC(Mat N, Mat A, Mat U, Vec c, Mat V) in MatLRCSetMats_LRC() argument
138 PetscCall(PetscObjectReference((PetscObject)V)); in MatLRCSetMats_LRC()
142 PetscCall(MatDestroy(&Na->V)); in MatLRCSetMats_LRC()
147 Na->V = V; in MatLRCSetMats_LRC()
174 PetscErrorCode MatLRCGetMats(Mat N, Mat *A, Mat *U, Vec *c, Mat *V) in MatLRCGetMats() argument
177 PetscUseMethod(N, "MatLRCGetMats_C", (Mat, Mat *, Mat *, Vec *, Mat *), (N, A, U, c, V)); in MatLRCGetMats()
200 PetscErrorCode MatLRCSetMats(Mat N, Mat A, Mat U, Vec c, Mat V) in MatLRCSetMats() argument
209 if (V) { in MatLRCSetMats()
210 PetscValidHeaderSpecific(V, MAT_CLASSID, 5); in MatLRCSetMats()
211 PetscCheckSameComm(U, 3, V, 5); in MatLRCSetMats()
214 if (!V) V = U; in MatLRCSetMats()
217 PetscCall(PetscObjectBaseTypeCompareAny((PetscObject)V, &match, MATSEQDENSE, MATMPIDENSE, "")); in MatLRCSetMats()
218 …Object)U), PETSC_ERR_SUP, "Matrix V must be of type dense, found %s", ((PetscObject)V)->type_name); in MatLRCSetMats()
219 PetscCall(PetscStrcmp(U->defaultvectype, V->defaultvectype, &match)); in MatLRCSetMats()
220 …WRONG, "Matrix U and V must have the same VecType %s != %s", U->defaultvectype, V->defaultvectype); in MatLRCSetMats()
226 PetscCall(MatGetSize(V, NULL, &k1)); in MatLRCSetMats()
229 PetscCall(MatGetLocalSize(V, &n, NULL)); in MatLRCSetMats()
246 PetscUseMethod(N, "MatLRCSetMats_C", (Mat, Mat, Mat, Vec, Mat), (N, A, U, c, V)); in MatLRCSetMats()
255 Mat V = Na->V; in MatSetUp_LRC() local
259 PetscBool sym = (PetscBool)(U == V), dummy; in MatSetUp_LRC()
284 PetscCall(MatDenseGetLocalMatrix(Na->V, &Vloc)); in MatSetUp_LRC()
373 PetscErrorCode MatCreateLRC(Mat A, Mat U, Vec c, Mat V, Mat *N) in MatCreateLRC() argument
378 PetscCall(MatLRCSetMats(*N, A, U, c, V)); in MatCreateLRC()