Lines Matching refs:M

41   matrix *M;  /* the approximate inverse in SPAI format */  member
90 …PetscCallExternal(bspai, ispai->B, &ispai->M, stdout, ispai->epsilon, ispai->nbsteps, ispai->max, … in PCSetUp_SPAI()
92 PetscCall(ConvertMatrixToMat(PetscObjectComm((PetscObject)pc), ispai->M, &ispai->PM)); in PCSetUp_SPAI()
96 sp_free_matrix(ispai->M); in PCSetUp_SPAI()
529 matrix *M; in ConvertMatToMatrix() local
551 M = new_matrix((SPAI_Comm)comm); in ConvertMatToMatrix()
553 M->n = n; in ConvertMatToMatrix()
554 M->bs = 1; in ConvertMatToMatrix()
555 M->max_block_size = 1; in ConvertMatToMatrix()
557 M->mnls = (int *)malloc(sizeof(int) * size); in ConvertMatToMatrix()
558 M->start_indices = (int *)malloc(sizeof(int) * size); in ConvertMatToMatrix()
559 M->pe = (int *)malloc(sizeof(int) * n); in ConvertMatToMatrix()
560 M->block_sizes = (int *)malloc(sizeof(int) * n); in ConvertMatToMatrix()
561 for (i = 0; i < n; i++) M->block_sizes[i] = 1; in ConvertMatToMatrix()
563 PetscCallMPI(MPI_Allgather(&mnl, 1, MPI_INT, M->mnls, 1, MPI_INT, comm)); in ConvertMatToMatrix()
565 M->start_indices[0] = 0; in ConvertMatToMatrix()
566 for (i = 1; i < size; i++) M->start_indices[i] = M->start_indices[i - 1] + M->mnls[i - 1]; in ConvertMatToMatrix()
568 M->mnl = M->mnls[M->myid]; in ConvertMatToMatrix()
569 M->my_start_index = M->start_indices[M->myid]; in ConvertMatToMatrix()
572 start_indx = M->start_indices[i]; in ConvertMatToMatrix()
573 for (j = 0; j < M->mnls[i]; j++) M->pe[start_indx + j] = i; in ConvertMatToMatrix()
577 M->lines = new_compressed_lines(M->mnls[rank], 1); in ConvertMatToMatrix()
579 M->lines = new_compressed_lines(M->mnls[rank], 0); in ConvertMatToMatrix()
582 rows = M->lines; in ConvertMatToMatrix()
585 PetscCall(PetscMalloc1(M->n, &mapping)); in ConvertMatToMatrix()
588 for (i = 0; i < M->n; i++) { in ConvertMatToMatrix()
589 if (local_indx >= M->mnls[pe]) { in ConvertMatToMatrix()
593 mapping[i] = local_indx + M->start_indices[pe]; in ConvertMatToMatrix()
640 order_pointers(M); in ConvertMatToMatrix()
641 M->maxnz = calc_maxnz(M); in ConvertMatToMatrix()
642 *B = M; in ConvertMatToMatrix()
654 int m, n, M, N; in ConvertMatrixToMat() local
681 M = N = B->n; in ConvertMatrixToMat()
684 PetscCall(MatSetSizes(*PB, m, n, M, N)); in ConvertMatrixToMat()