19 January 2017 09:31:36 PM POINT_MERGE_PRB C version Test the POINT_MERGE library. TEST01 To count the unique columns in an R8COL, we call POINT_UNIQUE_COUNT, POINT_RADIAL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.001838 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.094545 0.013617 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.061727 0.449539 9: 0.561695 0.415307 0.066119 10: 0.001838 0.897504 0.350752 N_UNIQUE = 7 POINT_UNIQUE_COUNT = 7 POINT_RADIAL_UNIQUE_COUNT = 7 POINT_TOL_UNIQUE_COUNT = 7 TEST01 To count the unique columns in an R8COL, we call POINT_UNIQUE_COUNT, POINT_RADIAL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.042229 0.736996 0.698300 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.095244 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.042229 0.736996 0.698300 6: 0.205385 0.899631 0.095244 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.057531 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.859450 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.859450 0.782009 17: 0.464300 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.042229 0.736996 0.698300 20: 0.630149 0.907734 0.285621 0.434027 N_UNIQUE = 11 POINT_UNIQUE_COUNT = 11 POINT_RADIAL_UNIQUE_COUNT = 11 POINT_TOL_UNIQUE_COUNT = 11 TEST02 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 TOL = 1.000000e-05 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.001838 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.094545 0.013617 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.061727 0.449539 9: 0.561695 0.415307 0.066119 10: 0.001838 0.897504 0.350752 Blurred matrix: Row: 1 2 3 Col 1: 0.257582 0.109959 0.043830 2: 0.218423 0.956320 0.829510 3: 0.218421 0.956320 0.829513 4: 0.001841 0.897505 0.350757 5: 0.218419 0.956319 0.829514 6: 0.094549 0.013617 0.859100 7: 0.401307 0.754677 0.797290 8: 0.633967 0.061731 0.449542 9: 0.561698 0.415309 0.066122 10: 0.001842 0.897504 0.350756 N_UNIQUE = 7 POINT_RADIAL_TOL_UNIQUE_COUNT = 7 POINT_TOL_UNIQUE_COUNT = 7 TEST02 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 TOL = 1.000000e-05 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.042229 0.736996 0.698300 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.095244 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.042229 0.736996 0.698300 6: 0.205385 0.899631 0.095244 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.057531 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.859450 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.859450 0.782009 17: 0.464300 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.042229 0.736996 0.698300 20: 0.630149 0.907734 0.285621 0.434027 Blurred matrix: Row: 1 2 3 4 Col 1: 0.697927 0.042231 0.737001 0.698302 2: 0.220380 0.875304 0.207101 0.710517 3: 0.205388 0.899634 0.095244 0.770562 4: 0.220380 0.875305 0.207101 0.710518 5: 0.697929 0.042231 0.736997 0.698303 6: 0.205388 0.899634 0.095245 0.770563 7: 0.220378 0.875305 0.207103 0.710516 8: 0.747420 0.834384 0.436523 0.621417 9: 0.251803 0.057533 0.920555 0.737447 10: 0.117365 0.499587 0.484024 0.989437 11: 0.818279 0.779169 0.441586 0.672432 12: 0.689141 0.348540 0.859453 0.782009 13: 0.327095 0.447776 0.729422 0.353085 14: 0.630149 0.907735 0.285625 0.434031 15: 0.818279 0.779167 0.441587 0.672433 16: 0.689139 0.348539 0.859455 0.782010 17: 0.464301 0.483964 0.945340 0.271061 18: 0.747419 0.834383 0.436523 0.621418 19: 0.697927 0.042229 0.737000 0.698303 20: 0.630151 0.907737 0.285624 0.434028 N_UNIQUE = 11 POINT_RADIAL_TOL_UNIQUE_COUNT = 11 POINT_TOL_UNIQUE_COUNT = 11 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 100 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 50 POINT_RADIAL_TOL_UNIQUE_COUNT = 50 CPU_TIME = 0.000018 POINT_TOL_UNIQUE_COUNT = 50 CPU_TIME = 0.000097 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 1000 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 500 POINT_RADIAL_TOL_UNIQUE_COUNT = 500 CPU_TIME = 0.000215 POINT_TOL_UNIQUE_COUNT = 500 CPU_TIME = 0.008398 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10000 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 5000 POINT_RADIAL_TOL_UNIQUE_COUNT = 5000 CPU_TIME = 0.002771 POINT_TOL_UNIQUE_COUNT = 5000 CPU_TIME = 0.791272 TEST04 To index the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 TOL = 1.000000e-05 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.001838 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.094545 0.013617 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.061727 0.449539 9: 0.561695 0.415307 0.066119 10: 0.001838 0.897504 0.350752 Blurred matrix: Row: 1 2 3 Col 1: 0.257582 0.109959 0.043830 2: 0.218423 0.956320 0.829510 3: 0.218421 0.956320 0.829513 4: 0.001841 0.897505 0.350757 5: 0.218419 0.956319 0.829514 6: 0.094549 0.013617 0.859100 7: 0.401307 0.754677 0.797290 8: 0.633967 0.061731 0.449542 9: 0.561698 0.415309 0.066122 10: 0.001842 0.897504 0.350756 N_UNIQUE = 7 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 7 UNDX: 0: 9 1: 6 2: 1 3: 8 4: 0 5: 7 6: 5 XDNU: 0: 4 1: 2 2: 2 3: 0 4: 2 5: 6 6: 1 7: 5 8: 3 9: 0 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 2 0.218421 0.956320 0.829513 1 0.218423 0.956320 0.829510 2.613785e-06 3 0.001841 0.897505 0.350757 9 0.001842 0.897504 0.350756 2.175449e-06 4 0.218419 0.956319 0.829514 1 0.218423 0.956320 0.829510 5.174440e-06 POINT_TOL_UNIQUE_INDEX Unique_num = 7 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 2 0.218421 0.956320 0.829513 1 0.218423 0.956320 0.829510 2.613785e-06 4 0.218419 0.956319 0.829514 1 0.218423 0.956320 0.829510 5.174440e-06 9 0.001842 0.897504 0.350756 3 0.001841 0.897505 0.350757 2.175449e-06 TEST04 To index the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 TOL = 1.000000e-05 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.042229 0.736996 0.698300 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.095244 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.042229 0.736996 0.698300 6: 0.205385 0.899631 0.095244 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.057531 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.859450 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.859450 0.782009 17: 0.464300 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.042229 0.736996 0.698300 20: 0.630149 0.907734 0.285621 0.434027 Blurred matrix: Row: 1 2 3 4 Col 1: 0.697927 0.042231 0.737001 0.698302 2: 0.220380 0.875304 0.207101 0.710517 3: 0.205388 0.899634 0.095244 0.770562 4: 0.220380 0.875305 0.207101 0.710518 5: 0.697929 0.042231 0.736997 0.698303 6: 0.205388 0.899634 0.095245 0.770563 7: 0.220378 0.875305 0.207103 0.710516 8: 0.747420 0.834384 0.436523 0.621417 9: 0.251803 0.057533 0.920555 0.737447 10: 0.117365 0.499587 0.484024 0.989437 11: 0.818279 0.779169 0.441586 0.672432 12: 0.689141 0.348540 0.859453 0.782009 13: 0.327095 0.447776 0.729422 0.353085 14: 0.630149 0.907735 0.285625 0.434031 15: 0.818279 0.779167 0.441587 0.672433 16: 0.689139 0.348539 0.859455 0.782010 17: 0.464301 0.483964 0.945340 0.271061 18: 0.747419 0.834383 0.436523 0.621418 19: 0.697927 0.042229 0.737000 0.698303 20: 0.630151 0.907737 0.285624 0.434028 N_UNIQUE = 11 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 11 UNDX: 0: 17 1: 14 2: 12 3: 13 4: 1 5: 11 6: 9 7: 2 8: 16 9: 4 10: 8 XDNU: 0: 9 1: 4 2: 7 3: 4 4: 9 5: 7 6: 4 7: 0 8: 10 9: 6 10: 1 11: 5 12: 2 13: 3 14: 1 15: 5 16: 8 17: 0 18: 9 19: 3 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 0 0.697927 0.042231 0.737001 0.698302 4 0.697929 0.042231 0.736997 0.698303 4.199363e-06 3 0.220380 0.875305 0.207101 0.710518 1 0.220380 0.875304 0.207101 0.710517 7.476928e-07 5 0.205388 0.899634 0.095245 0.770563 2 0.205388 0.899634 0.095244 0.770562 1.415142e-06 6 0.220378 0.875305 0.207103 0.710516 1 0.220380 0.875304 0.207101 0.710517 3.383190e-06 7 0.747420 0.834384 0.436523 0.621417 17 0.747419 0.834383 0.436523 0.621418 1.288310e-06 10 0.818279 0.779169 0.441586 0.672432 14 0.818279 0.779167 0.441587 0.672433 2.300208e-06 15 0.689139 0.348539 0.859455 0.782010 11 0.689141 0.348540 0.859453 0.782009 3.126689e-06 18 0.697927 0.042229 0.737000 0.698303 4 0.697929 0.042231 0.736997 0.698303 3.904538e-06 19 0.630151 0.907737 0.285624 0.434028 13 0.630149 0.907735 0.285625 0.434031 3.930519e-06 POINT_TOL_UNIQUE_INDEX Unique_num = 11 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 3 0.220380 0.875305 0.207101 0.710518 1 0.220380 0.875304 0.207101 0.710517 7.476928e-07 4 0.697929 0.042231 0.736997 0.698303 0 0.697927 0.042231 0.737001 0.698302 4.199363e-06 5 0.205388 0.899634 0.095245 0.770563 2 0.205388 0.899634 0.095244 0.770562 1.415142e-06 6 0.220378 0.875305 0.207103 0.710516 1 0.220380 0.875304 0.207101 0.710517 3.383190e-06 14 0.818279 0.779167 0.441587 0.672433 10 0.818279 0.779169 0.441586 0.672432 2.300208e-06 15 0.689139 0.348539 0.859455 0.782010 11 0.689141 0.348540 0.859453 0.782009 3.126689e-06 17 0.747419 0.834383 0.436523 0.621418 7 0.747420 0.834384 0.436523 0.621417 1.288310e-06 18 0.697927 0.042229 0.737000 0.698303 0 0.697927 0.042231 0.737001 0.698302 2.392500e-06 19 0.630151 0.907737 0.285624 0.434028 13 0.630149 0.907735 0.285625 0.434031 3.930519e-06 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 100 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 50 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 50 Time = 0.000019 POINT_TOL_UNIQUE_INDEX Unique_num = 50 Time = 0.000077 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 1000 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 500 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 500 Time = 0.000214 POINT_TOL_UNIQUE_INDEX Unique_num = 500 Time = 0.007701 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10000 TOL = 1.000000e-05 SEED = 123456789 N_UNIQUE = 5000 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 5000 Time = 0.002770 POINT_TOL_UNIQUE_INDEX Unique_num = 5000 Time = 0.790309 POINT_MERGE_PRB Normal end of execution. 19 January 2017 09:31:38 PM