Thu Sep 13 15:57:02 2018 ROW_ECHELON_INTEGER_TEST Python version: 3.6.5 Test the ROW_ECHELON_INTEGER library. I4_GCD_TEST Python version: 3.6.5 I4_GCD computes the greatest common factor I J I4_GCD 36 30 6 49 -7 7 0 71 71 12 12 12 36 49 1 1 42 1 91 28 7 I4_GCD_TEST Normal end of execution I4MAT_IS_INTEGER_TEST Python version: 3.6.5 I4MAT_IS_INTEGER is TRUE if every entry of an I4MAT is an integer. Example 1: Obviously integer: [[1 2 3] [4 5 6]] A is an integer matrix. Example 2: Obviously NOT integer: [[1. 2. 3. ] [4. 5. 6.5]] A is NOT an integer matrix. Example 3: Not Integer, Not obvious: [[1. 2. 3.] [4. 5. 6.]] A is NOT an integer matrix. Example 4: Not Integer, Not obvious: [[1.e+00 2.e+00 3.e+08] [4.e+00 5.e+00 6.e+00]] A is NOT an integer matrix. I4MAT_IS_INTEGER_TEST Normal end of execution. I4MAT_PRINT_TEST: Python version: 3.6.5 Test I4MAT_PRINT, which prints an I4MAT. A 5 x 6 integer matrix: Col: 0 1 2 3 4 5 Row 0: 11 12 13 14 15 16 1: 21 22 23 24 25 26 2: 31 32 33 34 35 36 3: 41 42 43 44 45 46 4: 51 52 53 54 55 56 I4MAT_PRINT_TEST: Normal end of execution. I4MAT_PRINT_SOME_TEST Python version: 3.6.5 I4MAT_PRINT_SOME prints some of an I4MAT. Here is I4MAT, rows 0:2, cols 3:5: Col: 3 4 5 Row 0: 14 15 16 1: 24 25 26 2: 34 35 36 I4MAT_PRINT_SOME_TEST: Normal end of execution. I4MAT_REF_TEST Python version: 3.6.5 I4MAT_REF computes the integer row echelon form of an I4MAT. Input A: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 2 6 3 1 1: -2 -6 0 -2 -8 3 1 2: 3 9 0 0 6 6 2 3: -1 -3 0 1 0 9 3 The pseudo-determinant = 6 IREF of A: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 2 6 3 1 1: 0 0 0 2 4 9 3 2: 0 0 0 0 0 3 1 3: 0 0 0 0 0 0 0 I4MAT_REF_TEST Normal end of execution. I4MAT_ROW_SWAP_TEST: Python version: 3.6.5 I4MAT_ROW_SWAP swaps two rows in an I4MAT. The original matrix: Col: 0 1 2 3 4 Row 0: 11 12 13 14 15 1: 21 22 23 24 25 2: 31 32 33 34 35 3: 41 42 43 44 45 4: 51 52 53 54 55 5: 61 62 63 64 65 After swapping rows 1 and 4: Col: 0 1 2 3 4 Row 0: 11 12 13 14 15 1: 51 52 53 54 55 2: 31 32 33 34 35 3: 41 42 43 44 45 4: 21 22 23 24 25 5: 61 62 63 64 65 I4MAT_ROW_SWAP_TEST: Normal end of execution. I4MAT_RREF_TEST Python version: 3.6.5 I4MAT_RREF computes the integer reduced row echelon form (IREF) of an I4MAT. Input A: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 2 6 3 1 1: -2 -6 0 -2 -8 3 1 2: 3 9 0 0 6 6 2 3: -1 -3 0 1 0 9 3 The pseudo-determinant = 6 IRREF form: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 0 2 0 0 1: 0 0 0 1 2 0 0 2: 0 0 0 0 0 3 1 3: 0 0 0 0 0 0 0 I4MAT_RREF_TEST Normal end of execution. I4MAT_RREF_SOLVE_BINARY_TEST: Python version: 3.6.5 I4MAT_RREF_SOLVE_BINARY seeks binary solutions of an Integer Row-Reduced Echelon Form (IRREF) system A*x=b when A and b contain integer values. The IRREF matrix A: Col: 0 1 2 3 4 5 6 7 8 9 Row 0: 1 0 0 0 0 0 1 0 -1 0 1: 0 1 0 0 0 0 0 0 1 0 2: 0 0 1 0 0 0 1 0 -1 0 3: 0 0 0 1 0 0 0 0 1 1 4: 0 0 0 0 1 0 0 0 0 1 5: 0 0 0 0 0 1 -1 0 1 0 6: 0 0 0 0 0 0 0 1 0 -1 7: 0 0 0 0 0 0 0 0 0 0 8: 0 0 0 0 0 0 0 0 0 0 The right hand side b: 0 0 1 1 2 0 3 1 4 1 5 1 6 0 7 0 8 0 Binary solution vectors x: Col: 0 1 2 3 Row 0: 0 0 1 0 1: 1 1 0 0 2: 0 0 1 0 3: 1 0 0 0 4: 1 0 1 1 5: 1 1 0 1 6: 0 0 0 1 7: 0 1 0 0 8: 0 0 1 1 9: 0 1 0 0 I4MAT_RREF_SOLVE_BINARY_TEST Normal end of execution. I4MAT_RREF_SOLVE_BINARY_NZ_TEST: Python version: 3.6.5 I4MAT_RREF_SOLVE_BINARY_NZ seeks binary solutions of an Integer Row-Reduced Echelon Form (IRREF) system A*x=b which have exactly NZ nonzeros. The IRREF matrix A: Col: 0 1 2 3 4 5 6 7 8 9 Row 0: 1 0 0 0 0 0 1 0 -1 0 1: 0 1 0 0 0 0 0 0 1 0 2: 0 0 1 0 0 0 1 0 -1 0 3: 0 0 0 1 0 0 0 0 1 1 4: 0 0 0 0 1 0 0 0 0 1 5: 0 0 0 0 0 1 -1 0 1 0 6: 0 0 0 0 0 0 0 1 0 -1 7: 0 0 0 0 0 0 0 0 0 0 8: 0 0 0 0 0 0 0 0 0 0 The right hand side b: 0 0 1 1 2 0 3 1 4 1 5 1 6 0 7 0 8 0 Only consider binary solutions with exactly 4 nonzeros. Binary solution vectors x: Col: 0 1 2 3 Row 0: 0 1 0 0 1: 1 0 1 0 2: 0 1 0 0 3: 1 0 0 0 4: 1 1 0 1 5: 1 0 1 1 6: 0 0 0 1 7: 0 0 1 0 8: 0 1 0 1 9: 0 0 1 0 I4MAT_RREF_SOLVE_BINARY_NZ_TEST Normal end of execution. I4MAT_RREF_SYSTEM_TEST Python version: 3.6.5 I4MAT_RREF_SYSTEM computes the linear system associated with an integer reduced row echelon form of an I4MAT. Look at a "wide" matrix: Input A1: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 2 6 3 1 1: -2 -6 0 -2 -8 3 1 2: 3 9 0 0 6 6 2 3: -1 -3 0 1 0 9 3 The pseudo-determinant = 6 A2, the IRREF of A1: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 0 2 0 0 1: 0 0 0 1 2 0 0 2: 0 0 0 0 0 3 1 3: 0 0 0 0 0 0 0 B2, the right hand side: 0 1 1 1 2 1 3 0 The original system is CONSISTENT. A3, the augmented IRREF: Col: 0 1 2 3 4 5 6 Row 0: 1 3 0 0 2 0 0 1: 0 1 0 0 0 0 0 2: 0 0 1 0 0 0 0 3: 0 0 0 1 2 0 0 4: 0 0 0 0 1 0 0 5: 0 0 0 0 0 3 1 6: 0 0 0 0 0 0 1 B3, the augmented RHS: 0 1 1 0 2 0 3 1 4 0 5 1 6 0 Indices of degrees of freedom. 0 1 1 2 2 4 3 6 Look at a "tall" matrix: Input A1: Col: 0 1 2 3 Row 0: 1 -2 3 -1 1: 3 -6 9 -3 2: 0 0 0 0 3: 2 -2 0 1 4: 6 -8 6 0 5: 3 3 6 9 6: 1 1 2 3 The pseudo-determinant = 32 A2, the IRREF of A1: Col: 0 1 2 3 Row 0: 16 0 0 29 1: 0 16 0 21 2: 0 0 16 -1 3: 0 0 0 0 4: 0 0 0 0 5: 0 0 0 0 6: 0 0 0 0 B2, the right hand side: 0 1 1 1 2 1 3 1 4 1 5 1 6 1 The original system is INCONSISTENT. A3, the augmented IRREF: Col: 0 1 2 3 Row 0: 16 0 0 29 1: 0 16 0 21 2: 0 0 16 -1 3: 0 0 0 1 B3, the augmented RHS: 0 1 1 1 2 1 3 0 Indices of degrees of freedom. 0 3 I4MAT_RREF_SYSTEM_TEST Normal end of execution. I4MAT_U_SOLVE_TEST Python version: 3.6.5 I4MAT_U_SOLVE solves an upper triangular system. Input matrix A: Col: 0 1 2 3 Row 0: 1 2 4 7 1: 0 3 5 8 2: 0 0 6 9 3: 0 0 0 10 Right hand side b: 0 45 1 53 2 54 3 40 Computed solution x: 0: 1 1: 2 2: 3 3: 4 Norm of A*x-b = 0 I4MAT_U_SOLVE_TEST Normal end of execution. I4VEC_BINARY_NEXT_TEST Python version: 3.6.5 I4VEC_BINARY_NEXT generates the next binary vector. 000 001 010 011 100 101 110 111 I4VEC_BINARY_NEXT_TEST Normal end of execution. I4VEC_IDENTITY_ROW_TEST Python version: 3.6.5 I4VEC_IDENTITY_ROW returns a row of the identity matrix. -1: 0 0 0 0 0 0: 1 0 0 0 0 1: 0 1 0 0 0 2: 0 0 1 0 0 3: 0 0 0 1 0 4: 0 0 0 0 1 5: 0 0 0 0 0 I4VEC_IDENTITY_ROW_TEST Normal end of execution. I4VEC_IS_BINARY_TEST Python version: 3.6.5 I4VEC_IS_BINARY is TRUE if an I4VEC only contains 0 or 1 entries. X: 0 0 0 X is binary X: 1 0 1 X is binary X: 0 2 1 X is NOT binary. I4VEC_IS_BINARY_TEST Normal end of execution. I4VEC_PRINT_TEST Python version: 3.6.5 I4VEC_PRINT prints an I4VEC. Here is an I4VEC: 0 91 1 92 2 93 3 94 I4VEC_PRINT_TEST: Normal end of execution. I4VEC_RED_TEST Python version: 3.6.5 I4VEC_RED divides out any common factors in the entries of an I4VEC. Apply I4VEC_RED to each row of this matrix: Col: 0 1 2 Row 0: 12 88 9 1: 4 8 192 2: -12 88 94 3: 30 18 42 4: 0 4 8 Reduced matrix: Col: 0 1 2 Row 0: 12 88 9 1: 1 2 48 2: -6 44 47 3: 5 3 7 4: 0 1 2 I4VEC_RED_TEST Normal end of execution. I4VEC_TRANSPOSE_PRINT_TEST Python version: 3.6.5 I4VEC_TRANSPOSE_PRINT prints an I4VEC with 5 entries to a row, and an optional title. My array: 1 2 3 4 5 6 7 8 9 10 11 12 I4VEC_TRANSPOSE_PRINT_TEST: Normal end of execution. KSUB_NEXT4_TEST Python version: 3.6.5 KSUB_NEXT4 generates K subsets of an N set. N = 5 K = 3 Rank Subset 1 1 2 3 2 1 2 4 3 1 3 4 4 2 3 4 5 1 2 5 6 1 3 5 7 2 3 5 8 1 4 5 9 2 4 5 10 3 4 5 KSUB_NEXT4_TEST: Normal end of execution. R8VEC_IS_INTEGER_TEST Python version: 3.6.5 R8VEC_IS_INTEGER is TRUE if an R8VEC contains only integer entries. X: 0 1 100 X contains only integer entries. X: 1 2.5 3 X contains at least one noninteger entry. X: -3 -99 -87.3 X contains at least one noninteger entry. R8VEC_IS_INTEGER_TEST Normal end of execution. R8VEC_PRINT_TEST Python version: 3.6.5 R8VEC_PRINT prints an R8VEC. Here is an R8VEC: 0: 123.456 1: 5e-06 2: -1e+06 3: 3.14159 R8VEC_PRINT_TEST: Normal end of execution. R8VEC_TRANSPOSE_PRINT_TEST Python version: 3.6.5 R8VEC_TRANSPOSE_PRINT prints an R8VEC "tranposed", that is, placing multiple entries on a line. The vector X: 1 2.1 3.2 4.3 5.4 6.5 7.6 8.7 9.8 10.9 11 R8VEC_TRANSPOSE_PRINT_TEST Normal end of execution. ROW_ECHELON_INTEGER_TEST: Normal end of execution. Thu Sep 13 15:57:02 2018