Sir, I already dump the matrix into binary file and attached in the mail, and 
please have a look.
Thanks for your time.


The follow code can be used to reproduce problem.
---------------------------------------------------------------
std::string path = "......";
PetscViewer viewer;
PetscViewerBinaryOpen(comm, path.c_str(), FILE_MODE_READ, &viewer);
Mat A;
MatCreate(comm,&A);
MatSetType(A,MATMPIAIJ);
MatLoad(A,viewer);
PetscViewerDestroy(&viewer);

MatView(A, PETSC_VIEWER_STDOUT_(MPI_COMM_WORLD));
Mat J;
MatConvert(A, MATIS, MAT_INITIAL_MATRIX, &J);

---------------------------------------------------------------
The result shown as follows:
---------------------------------------------------------------
Mat Object: 4 MPI processes
  type: mpiaij
row 0: (0, 168.75)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 
0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 1: (0, 0.)  (1, 168.75)  (2, 0.)  (3, 0.)  (4, 
0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 2: (0, 0.)  (1, 0.)  (2, 168.75)  (3, 0.)  (6, 
0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 
0.) 
row 3: (0, 0.)  (1, 0.)  (2, 0.)  (3, 168.75)  (6, 
0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 
0.) 
row 4: (0, 0.)  (1, 0.)  (4, 150.)  (5, -25.)  (6, 
-100.)  (7, 25.)  (16, -25.)  (17, 25.)  (18, 0.)  
(19, -25.) 
row 5: (0, 0.)  (1, 0.)  (4, -25.)  (5, 150.)  (6, 
25.)  (7, -50.)  (16, 0.)  (17, -50.)  (18, -25.)  
(19, 0.) 
row 6: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, -100.)  
(5, 25.)  (6, 300.)  (7, -50.)  (12, -100.)  (13, 
25.)  (18, -50.)  (19, 25.)  (24, 0.)  (25, -25.) 
row 7: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 25.)  
(5, -50.)  (6, -50.)  (7, 300.)  (12, 25.)  (13, 
-50.)  (18, 25.)  (19, -100.)  (24, -25.)  (25, 0.) 
row 8: (2, 0.)  (3, 0.)  (8, 150.)  (9, 0.)  (10, 0.)  
(11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 9: (2, 0.)  (3, 0.)  (8, 0.)  (9, 150.)  (10, 0.)  
(11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 10: (8, 0.)  (9, 0.)  (10, 150.)  (11, 0.)  (14, 
0.)  (15, 0.) 
row 11: (8, 0.)  (9, 0.)  (10, 0.)  (11, 150.)  (14, 
0.)  (15, 0.) 
row 12: (2, 0.)  (3, 0.)  (6, -100.)  (7, 25.)  (8, 
0.)  (9, 0.)  (12, 300.)  (13, -50.)  (14, -100.)  
(15, 25.)  (24, -50.)  (25, 25.)  (26, 0.)  (27, -25.) 
row 13: (2, 0.)  (3, 0.)  (6, 25.)  (7, -50.)  (8, 
0.)  (9, 0.)  (12, -50.)  (13, 300.)  (14, 25.)  (15, 
-50.)  (24, 25.)  (25, -100.)  (26, -25.)  (27, 0.) 
row 14: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 
-100.)  (13, 25.)  (14, 150.)  (15, -25.)  (26, -25.)  
(27, 0.) 
row 15: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 
25.)  (13, -50.)  (14, -25.)  (15, 150.)  (26, 25.)  
(27, -50.) 
row 16: (4, -25.)  (5, 0.)  (16, 150.)  (17, -25.)  (18, 
-100.)  (19, 25.)  (20, -25.)  (21, 25.)  (22, 0.)  
(23, -25.) 
row 17: (4, 25.)  (5, -50.)  (16, -25.)  (17, 150.)  (18, 
25.)  (19, -50.)  (20, 0.)  (21, -50.)  (22, -25.)  
(23, 0.) 
row 18: (4, 0.)  (5, -25.)  (6, -50.)  (7, 25.)  (16, 
-100.)  (17, 25.)  (18, 300.)  (19, -50.)  (22, -50.)  
(23, 25.)  (24, -100.)  (25, 25.)  (28, 0.)  (29, 
-25.) 
row 19: (4, -25.)  (5, 0.)  (6, 25.)  (7, -100.)  (16, 
25.)  (17, -50.)  (18, -50.)  (19, 300.)  (22, 25.)  
(23, -100.)  (24, 25.)  (25, -50.)  (28, -25.)  (29, 
0.) 
row 20: (16, -25.)  (17, 0.)  (20, 75.)  (21, -25.)  (22, 
-50.)  (23, 25.) 
row 21: (16, 25.)  (17, -50.)  (20, -25.)  (21, 75.)  (22, 
0.)  (23, -25.) 
row 22: (16, 0.)  (17, -25.)  (18, -50.)  (19, 25.)  (20, 
-50.)  (21, 0.)  (22, 150.)  (23, -25.)  (28, -50.)  
(29, 25.) 
row 23: (16, -25.)  (17, 0.)  (18, 25.)  (19, -100.)  (20, 
25.)  (21, -25.)  (22, -25.)  (23, 150.)  (28, 0.)  
(29, -25.) 
row 24: (6, 0.)  (7, -25.)  (12, -50.)  (13, 25.)  (18, 
-100.)  (19, 25.)  (24, 300.)  (25, -50.)  (26, 
-100.)  (27, 25.)  (28, -50.)  (29, 25.)  (30, 0.)  
(31, -25.) 
row 25: (6, -25.)  (7, 0.)  (12, 25.)  (13, -100.)  (18, 
25.)  (19, -50.)  (24, -50.)  (25, 300.)  (26, 25.)  
(27, -50.)  (28, 25.)  (29, -100.)  (30, -25.)  (31, 
0.) 
row 26: (12, 0.)  (13, -25.)  (14, -25.)  (15, 25.)  (24, 
-100.)  (25, 25.)  (26, 150.)  (27, -25.)  (30, -25.)  
(31, 0.) 
row 27: (12, -25.)  (13, 0.)  (14, 0.)  (15, -50.)  (24, 
25.)  (25, -50.)  (26, -25.)  (27, 150.)  (30, 25.)  
(31, -50.) 
row 28: (18, 0.)  (19, -25.)  (22, -50.)  (23, 0.)  (24, 
-50.)  (25, 25.)  (28, 150.)  (29, -25.)  (30, -50.)  
(31, 25.) 
row 29: (18, -25.)  (19, 0.)  (22, 25.)  (23, -25.)  (24, 
25.)  (25, -100.)  (28, -25.)  (29, 150.)  (30, 0.)  
(31, -25.) 
row 30: (24, 0.)  (25, -25.)  (26, -25.)  (27, 25.)  (28, 
-50.)  (29, 0.)  (30, 75.)  (31, 0.) 
row 31: (24, -25.)  (25, 0.)  (26, 0.)  (27, -50.)  (28, 
25.)  (29, -25.)  (30, 0.)  (31, 75.) 
[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Scatter indices in ix are out of range
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.15.4, Sep 01, 2021 
[0]PETSC ERROR: Unknown Name on a  named xuhui-Office by xuhui Fri Apr 15 
15:40:00 2022
[0]PETSC ERROR: Configure options --prefix=/opt/petsc/debug_int64 
--download-mumps --download-scalapack --download-superlu_dist 
--download-parmetis --download-metis --with-64-bit-indices=1
[0]PETSC ERROR: #1 VecScatterCreate() at 
/home/xuhui/Temp/petsc-3.15.4/src/vec/is/sf/interface/vscat.c:767
[0]PETSC ERROR: #2 MatISSetUpScatters_Private() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2403
[0]PETSC ERROR: #3 MatSetLocalToGlobalMapping_IS() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2501
[0]PETSC ERROR: #4 MatSetLocalToGlobalMapping() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:2093
[0]PETSC ERROR: #5 MatConvert_XAIJ_IS() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:651
[0]PETSC ERROR: #6 MatConvert() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:4439
^C[mpiexec@xuhui-Office] Sending Ctrl-C to processes as requested



---------------------------------------------------------------

??????Xu Hui
??????????????????????????????
PhD Candidate, School of Aerospace Engineering
Tsinghua University
Tel?? 188-1152-7137
[email protected]




 

 




------------------ ???????? ------------------
??????:                                                                         
                                               "Junchao Zhang"                  
                                                                  
<[email protected]&gt;;
????????:&nbsp;2022??4??15??(??????) ????6:31
??????:&nbsp;"459543524"<[email protected]&gt;;
????:&nbsp;"petsc-users"<[email protected]&gt;;
????:&nbsp;Re: [petsc-users] Can not understand why convert matrix type from 
MPIAIJ to MATIS failed.



Since you already have&nbsp;the test matrix, could you add "-mat_view binary" 
to dump the matrix and send us the&nbsp;binaryoutput.* files for reproduce?

--Junchao Zhang





On Thu, Apr 14, 2022 at 10:09 AM 459543524 via petsc-users 
<[email protected]&gt; wrote:

Sir, I can not understand why my convert from MPIAIJ to MATIS failed.


I already have a matrix A, create by follow commands
---------------------------------------------------------------------
Mat A;
MatCreateAIJ(...)
MatSetValues(...)
MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY);
MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY);

---------------------------------------------------------------------
I want convert the matrix A to MATIS type for future BDDC operation, as advised 
by ex 72.
---------------------------------------------------------------------
Mat J;
MatConvert(A, MATIS, MAT_INITIAL_MATRIX, &amp;J);
---------------------------------------------------------------------


The command failed with the stacktrace
[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Scatter indices in ix are out of range
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.15.4, Sep 01, 2021&nbsp;
[0]PETSC ERROR: Unknown Name on a&nbsp; named xuhui-Office by xuhui Thu Apr 14 
23:06:08 2022
[0]PETSC ERROR: Configure options --prefix=/opt/petsc/debug_int64 
--download-mumps --download-scalapack --download-superlu_dist 
--download-parmetis --download-metis --with-64-bit-indices=1
[0]PETSC ERROR: #1 VecScatterCreate() at 
/home/xuhui/Temp/petsc-3.15.4/src/vec/is/sf/interface/vscat.c:767
[0]PETSC ERROR: #2 MatISSetUpScatters_Private() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2403
[0]PETSC ERROR: #3 MatSetLocalToGlobalMapping_IS() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2501
[0]PETSC ERROR: #4 MatSetLocalToGlobalMapping() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:2093
[0]PETSC ERROR: #5 MatConvert_XAIJ_IS() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:651
[0]PETSC ERROR: #6 MatConvert() at 
/home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:4439
^C[mpiexec@xuhui-Office] Sending Ctrl-C to processes as requested





I have no idea why this happen. Thanks for your time.




Further information:
The matrix A is distributed on 4 processes.
We can view the matrix as follows:


Mat Object: 4 MPI processes
&nbsp; type: mpiaij
row 0: (0, 168.75)&nbsp; (1, 0.)&nbsp; (2, 0.)&nbsp; (3, 0.)&nbsp; (4, 
0.)&nbsp; (5, 0.)&nbsp; (6, 0.)&nbsp; (7, 0.)&nbsp;
row 1: (0, 0.)&nbsp; (1, 168.75)&nbsp; (2, 0.)&nbsp; (3, 0.)&nbsp; (4, 
0.)&nbsp; (5, 0.)&nbsp; (6, 0.)&nbsp; (7, 0.)&nbsp;
row 2: (0, 0.)&nbsp; (1, 0.)&nbsp; (2, 168.75)&nbsp; (3, 0.)&nbsp; (6, 
0.)&nbsp; (7, 0.)&nbsp; (8, 0.)&nbsp; (9, 0.)&nbsp; (12, 0.)&nbsp; (13, 
0.)&nbsp;
row 3: (0, 0.)&nbsp; (1, 0.)&nbsp; (2, 0.)&nbsp; (3, 168.75)&nbsp; (6, 
0.)&nbsp; (7, 0.)&nbsp; (8, 0.)&nbsp; (9, 0.)&nbsp; (12, 0.)&nbsp; (13, 
0.)&nbsp;
row 4: (0, 0.)&nbsp; (1, 0.)&nbsp; (4, 150.)&nbsp; (5, -25.)&nbsp; (6, 
-100.)&nbsp; (7, 25.)&nbsp; (16, -25.)&nbsp; (17, 25.)&nbsp; (18, 0.)&nbsp; 
(19, -25.)&nbsp;
row 5: (0, 0.)&nbsp; (1, 0.)&nbsp; (4, -25.)&nbsp; (5, 150.)&nbsp; (6, 
25.)&nbsp; (7, -50.)&nbsp; (16, 0.)&nbsp; (17, -50.)&nbsp; (18, -25.)&nbsp; 
(19, 0.)&nbsp;
row 6: (0, 0.)&nbsp; (1, 0.)&nbsp; (2, 0.)&nbsp; (3, 0.)&nbsp; (4, -100.)&nbsp; 
(5, 25.)&nbsp; (6, 300.)&nbsp; (7, -50.)&nbsp; (12, -100.)&nbsp; (13, 
25.)&nbsp; (18, -50.)&nbsp; (19, 25.)&nbsp; (24, 0.)&nbsp; (25, -25.)&nbsp;
row 7: (0, 0.)&nbsp; (1, 0.)&nbsp; (2, 0.)&nbsp; (3, 0.)&nbsp; (4, 25.)&nbsp; 
(5, -50.)&nbsp; (6, -50.)&nbsp; (7, 300.)&nbsp; (12, 25.)&nbsp; (13, 
-50.)&nbsp; (18, 25.)&nbsp; (19, -100.)&nbsp; (24, -25.)&nbsp; (25, 0.)&nbsp;
row 8: (2, 0.)&nbsp; (3, 0.)&nbsp; (8, 150.)&nbsp; (9, 0.)&nbsp; (10, 0.)&nbsp; 
(11, 0.)&nbsp; (12, 0.)&nbsp; (13, 0.)&nbsp; (14, 0.)&nbsp; (15, 0.)&nbsp;
row 9: (2, 0.)&nbsp; (3, 0.)&nbsp; (8, 0.)&nbsp; (9, 150.)&nbsp; (10, 0.)&nbsp; 
(11, 0.)&nbsp; (12, 0.)&nbsp; (13, 0.)&nbsp; (14, 0.)&nbsp; (15, 0.)&nbsp;
row 10: (8, 0.)&nbsp; (9, 0.)&nbsp; (10, 150.)&nbsp; (11, 0.)&nbsp; (14, 
0.)&nbsp; (15, 0.)&nbsp;
row 11: (8, 0.)&nbsp; (9, 0.)&nbsp; (10, 0.)&nbsp; (11, 150.)&nbsp; (14, 
0.)&nbsp; (15, 0.)&nbsp;
row 12: (2, 0.)&nbsp; (3, 0.)&nbsp; (6, -100.)&nbsp; (7, 25.)&nbsp; (8, 
0.)&nbsp; (9, 0.)&nbsp; (12, 300.)&nbsp; (13, -50.)&nbsp; (14, -100.)&nbsp; 
(15, 25.)&nbsp; (24, -50.)&nbsp; (25, 25.)&nbsp; (26, 0.)&nbsp; (27, -25.)&nbsp;
row 13: (2, 0.)&nbsp; (3, 0.)&nbsp; (6, 25.)&nbsp; (7, -50.)&nbsp; (8, 
0.)&nbsp; (9, 0.)&nbsp; (12, -50.)&nbsp; (13, 300.)&nbsp; (14, 25.)&nbsp; (15, 
-50.)&nbsp; (24, 25.)&nbsp; (25, -100.)&nbsp; (26, -25.)&nbsp; (27, 0.)&nbsp;
row 14: (8, 0.)&nbsp; (9, 0.)&nbsp; (10, 0.)&nbsp; (11, 0.)&nbsp; (12, 
-100.)&nbsp; (13, 25.)&nbsp; (14, 150.)&nbsp; (15, -25.)&nbsp; (26, -25.)&nbsp; 
(27, 0.)&nbsp;
row 15: (8, 0.)&nbsp; (9, 0.)&nbsp; (10, 0.)&nbsp; (11, 0.)&nbsp; (12, 
25.)&nbsp; (13, -50.)&nbsp; (14, -25.)&nbsp; (15, 150.)&nbsp; (26, 25.)&nbsp; 
(27, -50.)&nbsp;
row 16: (4, -25.)&nbsp; (5, 0.)&nbsp; (16, 150.)&nbsp; (17, -25.)&nbsp; (18, 
-100.)&nbsp; (19, 25.)&nbsp; (20, -25.)&nbsp; (21, 25.)&nbsp; (22, 0.)&nbsp; 
(23, -25.)&nbsp;
row 17: (4, 25.)&nbsp; (5, -50.)&nbsp; (16, -25.)&nbsp; (17, 150.)&nbsp; (18, 
25.)&nbsp; (19, -50.)&nbsp; (20, 0.)&nbsp; (21, -50.)&nbsp; (22, -25.)&nbsp; 
(23, 0.)&nbsp;
row 18: (4, 0.)&nbsp; (5, -25.)&nbsp; (6, -50.)&nbsp; (7, 25.)&nbsp; (16, 
-100.)&nbsp; (17, 25.)&nbsp; (18, 300.)&nbsp; (19, -50.)&nbsp; (22, -50.)&nbsp; 
(23, 25.)&nbsp; (24, -100.)&nbsp; (25, 25.)&nbsp; (28, 0.)&nbsp; (29, 
-25.)&nbsp;
row 19: (4, -25.)&nbsp; (5, 0.)&nbsp; (6, 25.)&nbsp; (7, -100.)&nbsp; (16, 
25.)&nbsp; (17, -50.)&nbsp; (18, -50.)&nbsp; (19, 300.)&nbsp; (22, 25.)&nbsp; 
(23, -100.)&nbsp; (24, 25.)&nbsp; (25, -50.)&nbsp; (28, -25.)&nbsp; (29, 
0.)&nbsp;
row 20: (16, -25.)&nbsp; (17, 0.)&nbsp; (20, 75.)&nbsp; (21, -25.)&nbsp; (22, 
-50.)&nbsp; (23, 25.)&nbsp;
row 21: (16, 25.)&nbsp; (17, -50.)&nbsp; (20, -25.)&nbsp; (21, 75.)&nbsp; (22, 
0.)&nbsp; (23, -25.)&nbsp;
row 22: (16, 0.)&nbsp; (17, -25.)&nbsp; (18, -50.)&nbsp; (19, 25.)&nbsp; (20, 
-50.)&nbsp; (21, 0.)&nbsp; (22, 150.)&nbsp; (23, -25.)&nbsp; (28, -50.)&nbsp; 
(29, 25.)&nbsp;
row 23: (16, -25.)&nbsp; (17, 0.)&nbsp; (18, 25.)&nbsp; (19, -100.)&nbsp; (20, 
25.)&nbsp; (21, -25.)&nbsp; (22, -25.)&nbsp; (23, 150.)&nbsp; (28, 0.)&nbsp; 
(29, -25.)&nbsp;
row 24: (6, 0.)&nbsp; (7, -25.)&nbsp; (12, -50.)&nbsp; (13, 25.)&nbsp; (18, 
-100.)&nbsp; (19, 25.)&nbsp; (24, 300.)&nbsp; (25, -50.)&nbsp; (26, 
-100.)&nbsp; (27, 25.)&nbsp; (28, -50.)&nbsp; (29, 25.)&nbsp; (30, 0.)&nbsp; 
(31, -25.)&nbsp;
row 25: (6, -25.)&nbsp; (7, 0.)&nbsp; (12, 25.)&nbsp; (13, -100.)&nbsp; (18, 
25.)&nbsp; (19, -50.)&nbsp; (24, -50.)&nbsp; (25, 300.)&nbsp; (26, 25.)&nbsp; 
(27, -50.)&nbsp; (28, 25.)&nbsp; (29, -100.)&nbsp; (30, -25.)&nbsp; (31, 
0.)&nbsp;
row 26: (12, 0.)&nbsp; (13, -25.)&nbsp; (14, -25.)&nbsp; (15, 25.)&nbsp; (24, 
-100.)&nbsp; (25, 25.)&nbsp; (26, 150.)&nbsp; (27, -25.)&nbsp; (30, -25.)&nbsp; 
(31, 0.)&nbsp;
row 27: (12, -25.)&nbsp; (13, 0.)&nbsp; (14, 0.)&nbsp; (15, -50.)&nbsp; (24, 
25.)&nbsp; (25, -50.)&nbsp; (26, -25.)&nbsp; (27, 150.)&nbsp; (30, 25.)&nbsp; 
(31, -50.)&nbsp;
row 28: (18, 0.)&nbsp; (19, -25.)&nbsp; (22, -50.)&nbsp; (23, 0.)&nbsp; (24, 
-50.)&nbsp; (25, 25.)&nbsp; (28, 150.)&nbsp; (29, -25.)&nbsp; (30, -50.)&nbsp; 
(31, 25.)&nbsp;
row 29: (18, -25.)&nbsp; (19, 0.)&nbsp; (22, 25.)&nbsp; (23, -25.)&nbsp; (24, 
25.)&nbsp; (25, -100.)&nbsp; (28, -25.)&nbsp; (29, 150.)&nbsp; (30, 0.)&nbsp; 
(31, -25.)&nbsp;
row 30: (24, 0.)&nbsp; (25, -25.)&nbsp; (26, -25.)&nbsp; (27, 25.)&nbsp; (28, 
-50.)&nbsp; (29, 0.)&nbsp; (30, 75.)&nbsp; (31, 0.)&nbsp;
row 31: (24, -25.)&nbsp; (25, 0.)&nbsp; (26, 0.)&nbsp; (27, -50.)&nbsp; (28, 
25.)&nbsp; (29, -25.)&nbsp; (30, 0.)&nbsp; (31, 75.)&nbsp;






??????Xu Hui
??????????????????????????????
PhD Candidate, School of Aerospace Engineering
Tsinghua University
Tel?? 188-1152-7137
[email protected]




 

&nbsp;

Attachment: test.mat
Description: Binary data

Attachment: test.mat.info
Description: Binary data

Reply via email to