08-Jul-2023 21:46:04 cvt_test(): MATLAB/Octave version 5.2.0 Test CVT(). cvt_test01(): cvt() computes a Centroidal Voronoi Tessellation. Step L2-Change Energy 1 1.173520e+00 6.340154e-02 2 3.480033e-01 3.062544e-02 3 2.936615e-01 2.490313e-02 4 2.264604e-01 2.175738e-02 5 2.227203e-01 2.098634e-02 6 2.024024e-01 1.960686e-02 7 1.678864e-01 1.857582e-02 8 1.134343e-01 1.800794e-02 9 1.048752e-01 1.759634e-02 10 8.293656e-02 1.752206e-02 11 5.248199e-02 1.706684e-02 12 5.764065e-02 1.725362e-02 13 5.669288e-02 1.709551e-02 14 5.377921e-02 1.736928e-02 15 4.841833e-02 1.714363e-02 16 4.817006e-02 1.712577e-02 17 4.801011e-02 1.707465e-02 18 3.983753e-02 1.725536e-02 19 4.230091e-02 1.704629e-02 20 2.385983e-02 1.706755e-02 21 3.922778e-02 1.705860e-02 22 3.871579e-02 1.726004e-02 23 4.525588e-02 1.719937e-02 24 5.961533e-02 1.703040e-02 25 3.780440e-02 1.720361e-02 26 5.316756e-02 1.719417e-02 27 5.351357e-02 1.707338e-02 28 4.559426e-02 1.688655e-02 29 4.370543e-02 1.702651e-02 30 4.700525e-02 1.718474e-02 31 4.477109e-02 1.725135e-02 32 5.352683e-02 1.701411e-02 33 3.831204e-02 1.731316e-02 34 3.274278e-02 1.707576e-02 35 5.568124e-02 1.701455e-02 36 6.178603e-02 1.714645e-02 37 5.081733e-02 1.706384e-02 38 5.993942e-02 1.717754e-02 39 4.655451e-02 1.692296e-02 40 4.878328e-02 1.710089e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.048783 CVT ENERGY = 0.017101 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.159234 0.153937 2: 0.831838 0.827343 3: 0.147332 0.520969 4: 0.534656 0.575759 5: 0.493822 0.862315 6: 0.546529 0.149555 7: 0.169436 0.837948 8: 0.846962 0.161595 9: 0.841893 0.48778 10: 0.385857 0.354262 cvt_test02(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with twice the number of iterations. Step L2-Change Energy 1 1.066591e+00 4.225377e-02 2 3.410216e-01 2.309181e-02 3 2.136522e-01 2.019599e-02 4 2.014187e-01 1.922520e-02 5 1.562195e-01 1.843399e-02 6 1.248595e-01 1.780236e-02 7 9.947403e-02 1.775873e-02 8 1.017658e-01 1.770343e-02 9 6.091405e-02 1.735783e-02 10 5.560463e-02 1.711071e-02 11 6.612028e-02 1.713375e-02 12 5.824231e-02 1.717637e-02 13 4.577846e-02 1.702209e-02 14 4.471098e-02 1.741564e-02 15 4.402812e-02 1.702457e-02 16 4.547277e-02 1.691891e-02 17 4.095569e-02 1.689387e-02 18 3.829137e-02 1.725162e-02 19 5.850035e-02 1.697135e-02 20 4.242570e-02 1.736796e-02 21 3.475099e-02 1.720233e-02 22 3.591623e-02 1.700755e-02 23 3.999197e-02 1.693069e-02 24 4.106708e-02 1.717310e-02 25 4.082828e-02 1.708166e-02 26 5.130649e-02 1.736206e-02 27 3.410290e-02 1.701796e-02 28 2.981014e-02 1.712362e-02 29 4.567578e-02 1.700755e-02 30 5.331990e-02 1.713127e-02 31 3.729999e-02 1.699931e-02 32 4.806667e-02 1.716605e-02 33 4.561044e-02 1.703387e-02 34 4.116030e-02 1.712894e-02 35 4.794999e-02 1.710073e-02 36 4.207588e-02 1.696911e-02 37 5.995150e-02 1.715325e-02 38 3.800823e-02 1.705846e-02 39 4.291313e-02 1.706437e-02 40 3.652420e-02 1.700174e-02 41 2.977518e-02 1.694078e-02 42 3.844916e-02 1.700456e-02 43 4.933639e-02 1.712383e-02 44 4.822816e-02 1.701204e-02 45 6.112768e-02 1.726449e-02 46 3.947130e-02 1.699048e-02 47 4.636160e-02 1.717974e-02 48 3.176736e-02 1.711964e-02 49 3.582115e-02 1.707928e-02 50 4.126307e-02 1.725723e-02 51 4.452683e-02 1.696729e-02 52 5.386630e-02 1.693279e-02 53 3.478783e-02 1.695589e-02 54 4.003275e-02 1.681493e-02 55 4.204183e-02 1.716691e-02 56 4.404519e-02 1.709508e-02 57 4.491450e-02 1.707902e-02 58 4.420144e-02 1.703164e-02 59 4.005253e-02 1.706302e-02 60 4.105360e-02 1.691728e-02 61 4.668533e-02 1.681718e-02 62 6.213298e-02 1.700425e-02 63 3.846434e-02 1.694542e-02 64 3.249379e-02 1.707056e-02 65 5.332579e-02 1.713302e-02 66 4.565304e-02 1.701937e-02 67 3.098702e-02 1.694692e-02 68 4.659625e-02 1.704738e-02 69 5.152928e-02 1.713346e-02 70 5.398051e-02 1.688789e-02 71 5.343944e-02 1.713751e-02 72 4.991930e-02 1.712812e-02 73 5.267790e-02 1.703126e-02 74 5.462858e-02 1.716174e-02 75 4.797792e-02 1.706841e-02 76 4.649381e-02 1.697242e-02 77 4.208363e-02 1.709919e-02 78 4.312306e-02 1.712794e-02 79 4.971237e-02 1.701274e-02 80 3.313281e-02 1.703031e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 80 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 80 Difference IT_DIFF = 0.033133 CVT ENERGY = 0.017030 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.165116 0.875123 2: 0.833904 0.165854 3: 0.17065 0.12658 4: 0.836429 0.830495 5: 0.528138 0.506744 6: 0.187325 0.623931 7: 0.505639 0.835602 8: 0.512455 0.165727 9: 0.84585 0.502891 10: 0.188753 0.380161 cvt_test03(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with 100 times the sample points. Step L2-Change Energy 1 7.968904e-01 2.923432e-02 2 2.348087e-01 1.926218e-02 3 1.312182e-01 1.822469e-02 4 9.483014e-02 1.787081e-02 5 7.765956e-02 1.764278e-02 6 6.846411e-02 1.751568e-02 7 6.110814e-02 1.741415e-02 8 5.656687e-02 1.735129e-02 9 5.048991e-02 1.725578e-02 10 4.451017e-02 1.717517e-02 11 4.208922e-02 1.716098e-02 12 3.673832e-02 1.712805e-02 13 3.157462e-02 1.709022e-02 14 2.758975e-02 1.705982e-02 15 2.395987e-02 1.704100e-02 16 2.103841e-02 1.703570e-02 17 1.786683e-02 1.701172e-02 18 1.406999e-02 1.700641e-02 19 1.334391e-02 1.700157e-02 20 1.124129e-02 1.701411e-02 21 1.036670e-02 1.699955e-02 22 1.052731e-02 1.698729e-02 23 7.870783e-03 1.699265e-02 24 8.067622e-03 1.699454e-02 25 4.916539e-03 1.698348e-02 26 6.489238e-03 1.699308e-02 27 7.869564e-03 1.698908e-02 28 5.547084e-03 1.698952e-02 29 5.107905e-03 1.700991e-02 30 4.455541e-03 1.697139e-02 31 4.795699e-03 1.699194e-02 32 4.670611e-03 1.698809e-02 33 4.262003e-03 1.700884e-02 34 4.570062e-03 1.697724e-02 35 4.406165e-03 1.701098e-02 36 4.338221e-03 1.696498e-02 37 4.584772e-03 1.700289e-02 38 3.826861e-03 1.700373e-02 39 6.783850e-03 1.701010e-02 40 4.990480e-03 1.698912e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.004990 CVT ENERGY = 0.016989 SAMPLE = "uniform". Samples SAMPLE_NUM = 1000000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.837194 0.500146 2: 0.162926 0.832563 3: 0.501426 0.367493 4: 0.499725 0.883215 5: 0.836678 0.166884 6: 0.162802 0.498734 7: 0.836282 0.833007 8: 0.163256 0.167564 9: 0.499135 0.631101 10: 0.497682 0.116743 cvt_test05(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with grid sampling. Step L2-Change Energy 1 9.781939e-01 4.726238e-02 2 5.223066e-01 2.440812e-02 3 2.845247e-01 1.955631e-02 4 1.527402e-01 1.795553e-02 5 1.163833e-01 1.749810e-02 6 8.264149e-02 1.738531e-02 7 7.761947e-02 1.732600e-02 8 5.617172e-02 1.735214e-02 9 4.919894e-02 1.698848e-02 10 5.301594e-02 1.725017e-02 11 5.177125e-02 1.716335e-02 12 5.482477e-02 1.726691e-02 13 4.816157e-02 1.704227e-02 14 5.742042e-02 1.713184e-02 15 4.693196e-02 1.701308e-02 16 3.447752e-02 1.688622e-02 17 3.122020e-02 1.703800e-02 18 4.392146e-02 1.705691e-02 19 3.887548e-02 1.706994e-02 20 4.168830e-02 1.714464e-02 21 4.167411e-02 1.698494e-02 22 4.117780e-02 1.735879e-02 23 2.850862e-02 1.719245e-02 24 3.329621e-02 1.693959e-02 25 3.937837e-02 1.693009e-02 26 5.249350e-02 1.691078e-02 27 4.437830e-02 1.717285e-02 28 4.253645e-02 1.726041e-02 29 4.275492e-02 1.707376e-02 30 4.403219e-02 1.737874e-02 31 4.015357e-02 1.706938e-02 32 4.442687e-02 1.704556e-02 33 4.478062e-02 1.690536e-02 34 4.891364e-02 1.726158e-02 35 5.520931e-02 1.706278e-02 36 4.102310e-02 1.711522e-02 37 3.769767e-02 1.701864e-02 38 5.815877e-02 1.722404e-02 39 3.819508e-02 1.717084e-02 40 4.494201e-02 1.715058e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.044942 CVT ENERGY = 0.017151 SAMPLE = "grid". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.498103 0.475876 2: 0.621023 0.820333 3: 0.121873 0.824751 4: 0.498875 0.159109 5: 0.165469 0.488496 6: 0.831873 0.16291 7: 0.169987 0.16845 8: 0.87667 0.829922 9: 0.371106 0.825118 10: 0.831618 0.487226 cvt_test06(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with MATLAB RANDOM sampling. Step L2-Change Energy 1 7.656788e-01 3.005322e-02 2 3.066403e-01 2.230950e-02 3 2.214732e-01 1.994368e-02 4 1.714771e-01 1.869393e-02 5 1.180491e-01 1.781706e-02 6 9.518625e-02 1.776792e-02 7 7.380990e-02 1.732118e-02 8 8.150833e-02 1.723824e-02 9 6.842711e-02 1.700040e-02 10 4.940036e-02 1.715971e-02 11 3.600302e-02 1.715409e-02 12 5.569013e-02 1.729714e-02 13 4.653625e-02 1.687207e-02 14 4.604150e-02 1.697342e-02 15 4.845275e-02 1.695550e-02 16 5.106295e-02 1.718053e-02 17 4.600330e-02 1.725978e-02 18 5.146616e-02 1.701232e-02 19 4.368868e-02 1.711693e-02 20 3.664903e-02 1.707402e-02 21 4.541224e-02 1.724351e-02 22 5.104365e-02 1.717010e-02 23 3.766087e-02 1.721856e-02 24 4.835169e-02 1.699251e-02 25 3.980224e-02 1.733439e-02 26 3.313665e-02 1.698895e-02 27 4.552244e-02 1.708524e-02 28 3.007493e-02 1.687826e-02 29 3.159563e-02 1.711659e-02 30 4.585517e-02 1.695399e-02 31 5.433962e-02 1.696460e-02 32 5.411230e-02 1.712683e-02 33 4.881441e-02 1.712042e-02 34 5.050642e-02 1.711308e-02 35 4.196265e-02 1.709011e-02 36 4.463425e-02 1.694738e-02 37 5.606079e-02 1.700414e-02 38 4.869661e-02 1.706177e-02 39 5.668134e-02 1.705688e-02 40 4.236462e-02 1.718176e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.042365 CVT ENERGY = 0.017182 SAMPLE = "random". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.370528 0.178082 2: 0.165505 0.508199 3: 0.626274 0.181642 4: 0.504541 0.520511 5: 0.829305 0.834513 6: 0.499316 0.839648 7: 0.123176 0.169786 8: 0.835691 0.508968 9: 0.167218 0.838342 10: 0.877456 0.167503 cvt_test08(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1 with a different batch size. Step L2-Change Energy 1 6.269479e-01 3.365582e-02 2 3.753231e-01 2.693465e-02 3 2.871344e-01 2.340883e-02 4 2.321714e-01 2.163928e-02 5 1.963960e-01 2.040919e-02 6 1.407512e-01 1.964384e-02 7 1.106346e-01 1.921718e-02 8 1.131085e-01 1.905105e-02 9 8.454788e-02 1.889526e-02 10 8.653668e-02 1.880578e-02 11 7.955246e-02 1.830112e-02 12 8.449179e-02 1.855263e-02 13 1.001788e-01 1.843691e-02 14 9.110189e-02 1.821966e-02 15 7.963629e-02 1.767840e-02 16 9.587654e-02 1.768036e-02 17 8.069702e-02 1.762188e-02 18 7.378255e-02 1.756444e-02 19 6.124915e-02 1.741347e-02 20 5.840107e-02 1.703865e-02 21 3.472531e-02 1.705849e-02 22 5.650641e-02 1.711497e-02 23 4.137728e-02 1.707448e-02 24 4.908556e-02 1.713547e-02 25 3.697567e-02 1.716809e-02 26 3.602519e-02 1.714744e-02 27 5.563879e-02 1.696212e-02 28 5.983335e-02 1.702439e-02 29 3.983198e-02 1.739139e-02 30 3.642287e-02 1.712677e-02 31 4.312339e-02 1.713468e-02 32 3.642260e-02 1.695600e-02 33 3.548137e-02 1.699928e-02 34 5.024886e-02 1.701195e-02 35 4.209848e-02 1.707258e-02 36 4.544799e-02 1.717255e-02 37 5.030613e-02 1.702043e-02 38 3.968164e-02 1.699858e-02 39 4.112849e-02 1.713156e-02 40 3.759999e-02 1.702706e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.037600 CVT ENERGY = 0.017027 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 5 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.492557 0.483435 2: 0.498618 0.161906 3: 0.828929 0.488512 4: 0.833466 0.167131 5: 0.369292 0.819212 6: 0.624922 0.812999 7: 0.122352 0.820156 8: 0.167368 0.491227 9: 0.876318 0.825226 10: 0.173465 0.164162 cvt_test09(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with IT_FIXED = IT_MAX. Step L2-Change Energy 1 7.676120e-01 3.066761e-02 2 2.224250e-01 2.054580e-02 3 1.321418e-01 1.959597e-02 4 1.303207e-01 1.952076e-02 5 1.406447e-01 1.900125e-02 6 1.158996e-01 1.871028e-02 7 1.233225e-01 1.821964e-02 8 1.018518e-01 1.800015e-02 9 8.866561e-02 1.758285e-02 10 9.424257e-02 1.744251e-02 11 7.163332e-02 1.718225e-02 12 4.995502e-02 1.722886e-02 13 6.172948e-02 1.729752e-02 14 5.556511e-02 1.706541e-02 15 5.735570e-02 1.720522e-02 16 4.602715e-02 1.702236e-02 17 3.833563e-02 1.703190e-02 18 4.677365e-02 1.712337e-02 19 3.799605e-02 1.702919e-02 20 3.880208e-02 1.710132e-02 21 5.277900e-02 1.707378e-02 22 5.089931e-02 1.701163e-02 23 6.106798e-02 1.703464e-02 24 5.808157e-02 1.708285e-02 25 4.418943e-02 1.686572e-02 26 4.561169e-02 1.712824e-02 27 4.680269e-02 1.699488e-02 28 4.459474e-02 1.697480e-02 29 3.904617e-02 1.699070e-02 30 4.862766e-02 1.713560e-02 31 3.967204e-02 1.696139e-02 32 3.925960e-02 1.699288e-02 33 3.251456e-02 1.704594e-02 34 3.760045e-02 1.691629e-02 35 4.535286e-02 1.708221e-02 36 4.930422e-02 1.712409e-02 37 6.215126e-02 1.706603e-02 38 5.576178e-02 1.706027e-02 39 3.584931e-02 1.704963e-02 40 4.870911e-02 1.714941e-02 Dimension DIM_NUM = 2 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 40 Iterations IT_NUM = 40 Difference IT_DIFF = 0.048709 CVT ENERGY = 0.017149 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.834989 0.165224 2: 0.840365 0.499941 3: 0.173047 0.883661 4: 0.833246 0.83061 5: 0.501307 0.833859 6: 0.525496 0.506745 7: 0.504781 0.163486 8: 0.169742 0.119727 9: 0.174095 0.378224 10: 0.17861 0.631275 cvt_test10(): CVT computes a Centroidal Voronoi Tessellation. Compute 100 points in 3D. Step L2-Change Energy 1 5.082461e+00 1.882592e-02 2 2.496387e+00 1.444160e-02 3 1.861472e+00 1.330003e-02 4 1.533941e+00 1.283075e-02 5 1.364686e+00 1.247859e-02 6 1.316233e+00 1.243660e-02 7 1.297485e+00 1.242565e-02 8 1.208881e+00 1.215303e-02 9 1.105844e+00 1.215969e-02 10 1.243127e+00 1.201312e-02 11 1.252877e+00 1.201281e-02 12 1.183288e+00 1.203487e-02 13 1.218933e+00 1.194236e-02 14 1.267243e+00 1.191830e-02 15 1.226164e+00 1.186225e-02 16 1.171673e+00 1.187000e-02 17 1.232513e+00 1.198157e-02 18 1.234618e+00 1.183121e-02 19 1.218456e+00 1.167925e-02 20 1.104746e+00 1.179616e-02 21 1.093343e+00 1.179151e-02 22 1.104229e+00 1.172547e-02 23 1.262983e+00 1.172697e-02 24 1.186409e+00 1.165012e-02 25 1.087089e+00 1.171629e-02 26 1.067853e+00 1.164978e-02 27 1.069187e+00 1.165405e-02 28 1.055131e+00 1.166160e-02 29 1.019778e+00 1.155819e-02 30 1.139335e+00 1.170907e-02 31 1.063072e+00 1.170503e-02 32 1.109063e+00 1.160973e-02 33 1.044524e+00 1.165460e-02 34 1.116232e+00 1.152198e-02 35 1.153984e+00 1.164929e-02 36 1.115122e+00 1.162029e-02 37 1.187192e+00 1.181994e-02 38 1.141679e+00 1.169033e-02 39 1.109292e+00 1.170181e-02 40 1.122501e+00 1.164651e-02 Dimension DIM_NUM = 3 Number of points N = 100 INIT = "uniform". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 1.122501 CVT ENERGY = 0.011647 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 First 10 generators (rows) Row: 1 2 3 Col 1: 0.116332 0.917214 0.0987179 2: 0.895585 0.443142 0.614105 3: 0.892092 0.326285 0.914126 4: 0.488179 0.901778 0.430213 5: 0.709152 0.0843642 0.161921 6: 0.495993 0.687691 0.548796 7: 0.472621 0.72806 0.290959 8: 0.713224 0.282498 0.074065 9: 0.309923 0.29018 0.527764 10: 0.692387 0.735793 0.435652 cvt_test11(): CVT computes a Centroidal Voronoi Tessellation. In this test, we initialize the generators to grid points; this is an unstable CVT solution. Initial generators (rows): Row: 1 2 Col 1: 0.125 0.125 2: 0.125 0.375 3: 0.125 0.625 4: 0.125 0.875 5: 0.375 0.125 6: 0.375 0.375 7: 0.375 0.625 8: 0.375 0.875 9: 0.625 0.125 10: 0.625 0.375 11: 0.625 0.625 12: 0.625 0.875 13: 0.875 0.125 14: 0.875 0.375 15: 0.875 0.625 16: 0.875 0.875 Step L2-Change Energy 1 1.447074e-01 1.039287e-02 2 2.398560e-01 9.914381e-03 3 1.624686e-01 1.048476e-02 4 2.231260e-01 1.050210e-02 5 2.145726e-01 1.012122e-02 6 1.893974e-01 1.085696e-02 7 2.242124e-01 1.046108e-02 8 2.369783e-01 1.046435e-02 9 2.373506e-01 1.055205e-02 10 2.418844e-01 1.066588e-02 11 2.142113e-01 1.034656e-02 12 2.323102e-01 1.053417e-02 13 2.141567e-01 1.027040e-02 14 1.906873e-01 1.069368e-02 15 2.075145e-01 1.042163e-02 16 1.818421e-01 1.079460e-02 17 2.316990e-01 1.070828e-02 18 2.202564e-01 1.059013e-02 19 1.692165e-01 1.093891e-02 20 2.005171e-01 1.061577e-02 21 2.561289e-01 1.073113e-02 22 2.395686e-01 1.049454e-02 23 1.804170e-01 9.924054e-03 24 2.207736e-01 1.045265e-02 25 2.242328e-01 1.039639e-02 26 2.136640e-01 1.028319e-02 27 2.189581e-01 1.046302e-02 28 2.093047e-01 1.048604e-02 29 2.249433e-01 1.056685e-02 30 2.035357e-01 1.046614e-02 31 2.269848e-01 1.037478e-02 32 2.487727e-01 1.069113e-02 33 2.136845e-01 1.037891e-02 34 2.272719e-01 1.023823e-02 35 2.049342e-01 1.037886e-02 36 1.735450e-01 1.026496e-02 37 2.192365e-01 1.027679e-02 38 2.003858e-01 1.040999e-02 39 2.422585e-01 1.057201e-02 40 2.872141e-01 1.044877e-02 Dimension DIM_NUM = 2 Number of points N = 16 INIT = "user initialization". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.287214 CVT ENERGY = 0.010449 SAMPLE = "uniform". Samples SAMPLE_NUM = 1000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.133373 0.124123 2: 0.120255 0.348739 3: 0.128897 0.6053 4: 0.123074 0.862647 5: 0.379307 0.122819 6: 0.37961 0.420103 7: 0.382615 0.664082 8: 0.37628 0.8935 9: 0.595057 0.0952571 10: 0.618448 0.312915 11: 0.61105 0.588812 12: 0.644335 0.844068 13: 0.852662 0.13513 14: 0.892755 0.376227 15: 0.866184 0.63472 16: 0.888759 0.896269 cvt_test13(): CVT computes a Centroidal Voronoi Tessellation. In this example, we call the "USER" routine, which allows the user to define the geometry and density implicitly, by returning sample points. Step L2-Change Energy 1 2.524835e+00 3.592812e-03 2 1.096216e+00 2.280819e-03 3 7.644333e-01 2.017771e-03 4 6.870105e-01 1.895777e-03 5 5.472815e-01 1.845199e-03 6 5.122092e-01 1.809465e-03 7 5.179293e-01 1.797143e-03 8 4.903652e-01 1.782292e-03 9 4.498356e-01 1.774980e-03 10 4.278138e-01 1.735115e-03 11 4.825060e-01 1.745748e-03 12 4.555438e-01 1.755372e-03 13 4.407087e-01 1.747688e-03 14 4.399553e-01 1.726412e-03 15 4.072350e-01 1.735822e-03 16 4.441307e-01 1.722285e-03 17 4.129762e-01 1.704333e-03 18 4.672561e-01 1.719685e-03 19 4.196793e-01 1.733289e-03 20 4.324514e-01 1.693236e-03 21 4.203240e-01 1.715674e-03 22 4.354197e-01 1.705598e-03 23 4.109434e-01 1.717027e-03 24 4.125707e-01 1.696348e-03 25 4.459918e-01 1.691312e-03 26 3.997221e-01 1.714858e-03 27 3.964243e-01 1.706146e-03 28 3.893392e-01 1.698807e-03 29 3.975038e-01 1.702078e-03 30 3.740019e-01 1.679588e-03 31 4.148737e-01 1.687407e-03 32 4.448772e-01 1.689866e-03 33 3.974960e-01 1.692008e-03 34 4.044953e-01 1.680382e-03 35 4.219160e-01 1.694144e-03 36 3.929642e-01 1.673010e-03 37 3.918199e-01 1.679161e-03 38 4.224310e-01 1.673915e-03 39 3.919660e-01 1.661684e-03 40 3.968132e-01 1.697693e-03 Dimension DIM_NUM = 2 Number of points N = 100 INIT = "user". Max iterations IT_MAX = 40 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 40 Difference IT_DIFF = 0.396813 CVT ENERGY = 0.001698 SAMPLE = "user". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 cvt_test14(): Generate a CVT in the interval [0,1] using 10 points. Exact answer: { 0.05, 0.15, 0.25, ..., 0.85, 0.95 } It turns out that, for a fixed number of points N, a 1D problem will converge much more slowly than for cases where the dimension is higher. Step L2-Change Energy 1 3.782277e-01 3.583057e-03 2 6.505368e-02 1.115755e-03 3 3.642406e-02 1.014596e-03 4 3.154167e-02 9.806510e-04 5 2.395525e-02 9.572257e-04 6 2.392987e-02 9.388787e-04 7 2.099800e-02 9.275574e-04 8 1.847068e-02 9.116207e-04 9 1.578163e-02 9.015967e-04 10 1.663608e-02 8.991739e-04 11 1.573863e-02 8.934454e-04 12 1.341962e-02 8.832203e-04 13 1.113158e-02 8.794690e-04 14 1.142416e-02 8.796670e-04 15 1.155038e-02 8.778477e-04 16 1.106030e-02 8.736811e-04 17 1.007607e-02 8.660305e-04 18 8.141383e-03 8.616567e-04 19 9.390104e-03 8.652403e-04 20 8.778634e-03 8.622144e-04 21 6.794092e-03 8.629476e-04 22 5.639107e-03 8.597617e-04 23 6.893205e-03 8.565596e-04 24 7.417879e-03 8.560282e-04 25 7.213992e-03 8.575861e-04 26 7.334100e-03 8.523575e-04 27 5.653727e-03 8.518672e-04 28 6.776533e-03 8.494786e-04 29 5.330954e-03 8.474861e-04 30 5.181836e-03 8.478716e-04 31 5.392648e-03 8.482045e-04 32 4.640933e-03 8.493124e-04 33 5.396096e-03 8.462679e-04 34 7.209897e-03 8.491106e-04 35 7.672010e-03 8.496334e-04 36 6.261717e-03 8.481174e-04 37 5.485754e-03 8.450662e-04 38 6.031531e-03 8.423871e-04 39 4.690689e-03 8.424539e-04 40 5.962293e-03 8.456028e-04 41 5.311456e-03 8.413110e-04 42 4.466338e-03 8.411791e-04 43 3.857378e-03 8.385259e-04 44 5.343545e-03 8.401790e-04 45 5.623274e-03 8.390131e-04 46 2.457531e-03 8.363322e-04 47 4.305795e-03 8.408033e-04 48 4.561591e-03 8.373696e-04 49 4.180959e-03 8.447894e-04 50 6.150934e-03 8.372971e-04 Dimension DIM_NUM = 1 Number of points N = 10 INIT = "uniform". Max iterations IT_MAX = 50 IT_FIXED (fixed samples) = 1 Iterations IT_NUM = 50 Difference IT_DIFF = 0.006151 CVT ENERGY = 0.000837 SAMPLE = "uniform". Samples SAMPLE_NUM = 100000 Sampling BATCH size = 10000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 Col 1: 0.0475825 2: 0.140787 3: 0.236141 4: 0.332039 5: 0.430292 6: 0.528814 7: 0.630302 8: 0.73398 9: 0.838961 10: 0.946501 cvt_test(): Normal end of execution. 08-Jul-2023 22:56:33