14-May-2025 14:51:35 cvt_test(): MATLAB/Octave version 6.4.0 Test CVT(). cvt_test01(): cvt() computes a Centroidal Voronoi Tessellation. Step L2-Change Energy 1 9.126184e-01 4.099076e-02 2 3.577779e-01 2.553386e-02 3 2.978619e-01 2.241463e-02 4 2.242405e-01 2.053627e-02 5 1.802003e-01 1.924889e-02 6 1.466029e-01 1.847978e-02 7 1.145512e-01 1.790048e-02 8 1.073935e-01 1.778981e-02 9 6.704109e-02 1.758129e-02 10 6.297621e-02 1.751409e-02 11 5.663962e-02 1.747464e-02 12 4.992586e-02 1.729545e-02 13 6.861015e-02 1.740489e-02 14 6.582420e-02 1.734375e-02 15 6.920945e-02 1.742568e-02 16 4.846502e-02 1.730251e-02 17 6.607739e-02 1.730025e-02 18 5.280779e-02 1.718112e-02 19 4.915549e-02 1.745495e-02 20 5.653241e-02 1.728701e-02 21 5.195747e-02 1.727110e-02 22 4.125138e-02 1.711263e-02 23 4.232205e-02 1.711949e-02 24 4.349841e-02 1.719634e-02 25 4.478531e-02 1.724203e-02 26 5.314141e-02 1.702966e-02 27 4.992758e-02 1.717231e-02 28 4.459480e-02 1.701720e-02 29 4.549980e-02 1.697003e-02 30 4.448040e-02 1.695756e-02 31 4.348711e-02 1.691696e-02 32 3.484442e-02 1.718113e-02 33 4.531304e-02 1.699182e-02 34 3.224975e-02 1.689676e-02 35 4.330799e-02 1.707587e-02 36 3.330953e-02 1.690875e-02 37 4.071270e-02 1.697444e-02 38 4.343464e-02 1.699457e-02 39 3.843393e-02 1.708017e-02 40 5.425267e-02 1.686090e-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.054253 CVT ENERGY = 0.016861 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.49836 0.369448 2: 0.503408 0.115036 3: 0.837751 0.167403 4: 0.162263 0.825427 5: 0.838171 0.836665 6: 0.164158 0.500725 7: 0.514006 0.631124 8: 0.844518 0.496239 9: 0.160476 0.172465 10: 0.486905 0.880866 cvt_test02(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with twice the number of iterations. Step L2-Change Energy 1 7.390921e-01 2.805039e-02 2 2.231467e-01 2.086461e-02 3 1.779842e-01 1.971438e-02 4 1.380861e-01 1.903353e-02 5 1.049640e-01 1.845832e-02 6 9.711847e-02 1.835144e-02 7 8.743806e-02 1.848558e-02 8 9.789202e-02 1.796722e-02 9 9.833407e-02 1.787603e-02 10 8.867291e-02 1.773348e-02 11 8.305330e-02 1.760821e-02 12 6.287616e-02 1.734666e-02 13 6.230788e-02 1.728981e-02 14 6.732957e-02 1.723162e-02 15 4.604493e-02 1.721771e-02 16 4.478853e-02 1.722329e-02 17 4.173140e-02 1.723055e-02 18 4.490407e-02 1.711937e-02 19 4.511721e-02 1.703983e-02 20 3.859869e-02 1.724289e-02 21 3.773638e-02 1.701875e-02 22 3.316653e-02 1.716113e-02 23 4.063535e-02 1.727063e-02 24 3.624591e-02 1.707544e-02 25 5.000284e-02 1.693800e-02 26 3.699194e-02 1.700938e-02 27 4.555094e-02 1.722017e-02 28 5.024550e-02 1.712605e-02 29 3.957570e-02 1.711492e-02 30 4.129923e-02 1.725792e-02 31 3.930521e-02 1.715876e-02 32 3.784882e-02 1.672805e-02 33 4.222029e-02 1.713170e-02 34 4.092349e-02 1.683491e-02 35 4.600945e-02 1.705218e-02 36 4.823573e-02 1.697605e-02 37 4.399230e-02 1.705725e-02 38 3.920463e-02 1.689959e-02 39 4.326894e-02 1.681188e-02 40 4.790445e-02 1.689110e-02 41 5.179612e-02 1.689616e-02 42 4.532271e-02 1.703169e-02 43 3.871772e-02 1.697353e-02 44 4.385982e-02 1.694311e-02 45 4.165432e-02 1.710406e-02 46 7.075210e-02 1.707245e-02 47 4.892444e-02 1.718268e-02 48 4.275671e-02 1.692173e-02 49 5.901973e-02 1.710942e-02 50 5.090277e-02 1.700773e-02 51 4.422734e-02 1.720555e-02 52 3.806761e-02 1.710076e-02 53 4.682813e-02 1.699079e-02 54 4.948663e-02 1.687286e-02 55 4.030087e-02 1.707560e-02 56 3.807029e-02 1.709996e-02 57 3.515810e-02 1.692827e-02 58 4.096727e-02 1.698958e-02 59 4.983525e-02 1.701103e-02 60 4.820528e-02 1.709465e-02 61 4.160900e-02 1.677651e-02 62 4.362955e-02 1.702332e-02 63 3.250927e-02 1.710047e-02 64 4.760193e-02 1.693738e-02 65 3.450841e-02 1.688361e-02 66 4.811289e-02 1.698825e-02 67 2.896850e-02 1.698616e-02 68 4.137934e-02 1.701750e-02 69 5.422254e-02 1.717716e-02 70 4.419026e-02 1.718850e-02 71 3.462182e-02 1.682555e-02 72 3.175330e-02 1.700232e-02 73 4.228252e-02 1.695837e-02 74 4.883957e-02 1.705040e-02 75 4.741959e-02 1.700656e-02 76 4.906711e-02 1.710215e-02 77 5.000720e-02 1.708179e-02 78 5.273439e-02 1.701274e-02 79 5.285135e-02 1.705044e-02 80 5.756737e-02 1.708352e-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.057567 CVT ENERGY = 0.017084 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.50618 0.884592 2: 0.498113 0.632782 3: 0.163604 0.497735 4: 0.833381 0.835128 5: 0.163922 0.824068 6: 0.50445 0.361044 7: 0.497506 0.119204 8: 0.839719 0.16456 9: 0.161695 0.161901 10: 0.839615 0.498455 cvt_test03(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with 100 times the sample points. Step L2-Change Energy 1 1.025429e+00 4.800657e-02 2 3.984724e-01 2.330224e-02 3 2.567719e-01 1.996282e-02 4 1.790009e-01 1.845276e-02 5 1.264429e-01 1.778661e-02 6 8.970116e-02 1.745449e-02 7 6.864775e-02 1.731767e-02 8 5.336779e-02 1.720362e-02 9 4.242530e-02 1.715884e-02 10 3.138441e-02 1.712468e-02 11 2.665584e-02 1.709609e-02 12 2.141675e-02 1.708909e-02 13 1.708657e-02 1.707738e-02 14 1.303058e-02 1.706708e-02 15 1.135123e-02 1.706426e-02 16 8.338123e-03 1.705775e-02 17 8.404148e-03 1.705372e-02 18 7.751684e-03 1.705716e-02 19 6.033192e-03 1.706355e-02 20 6.819988e-03 1.706809e-02 21 6.734180e-03 1.704887e-02 22 4.906498e-03 1.705497e-02 23 4.959855e-03 1.704249e-02 24 5.530645e-03 1.707722e-02 25 6.887742e-03 1.706410e-02 26 5.273615e-03 1.707325e-02 27 5.235266e-03 1.706873e-02 28 3.694726e-03 1.705458e-02 29 4.940838e-03 1.706877e-02 30 5.012726e-03 1.706335e-02 31 4.024985e-03 1.706685e-02 32 5.297343e-03 1.705425e-02 33 3.738454e-03 1.704591e-02 34 4.478075e-03 1.708150e-02 35 4.045165e-03 1.706645e-02 36 6.096225e-03 1.704283e-02 37 5.691802e-03 1.705650e-02 38 3.955740e-03 1.705364e-02 39 2.928410e-03 1.705326e-02 40 5.107112e-03 1.706644e-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.005107 CVT ENERGY = 0.017066 SAMPLE = "uniform". Samples SAMPLE_NUM = 1000000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.166396 0.165488 2: 0.627523 0.818425 3: 0.122132 0.831595 4: 0.500601 0.158236 5: 0.372975 0.819843 6: 0.165189 0.494278 7: 0.833383 0.16467 8: 0.877171 0.831989 9: 0.834071 0.492773 10: 0.499094 0.47911 cvt_test05(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with grid sampling. Step L2-Change Energy 1 8.354976e-01 3.603249e-02 2 3.836970e-01 2.429503e-02 3 2.701680e-01 2.136844e-02 4 1.458834e-01 1.975286e-02 5 8.965299e-02 1.929309e-02 6 6.964659e-02 1.897396e-02 7 8.615377e-02 1.894922e-02 8 6.696487e-02 1.883853e-02 9 7.432400e-02 1.879845e-02 10 7.494678e-02 1.872218e-02 11 7.480416e-02 1.865089e-02 12 7.577418e-02 1.861854e-02 13 7.462146e-02 1.845882e-02 14 8.186459e-02 1.800435e-02 15 1.054213e-01 1.791522e-02 16 1.032477e-01 1.771435e-02 17 8.246816e-02 1.755940e-02 18 7.229809e-02 1.769647e-02 19 9.647439e-02 1.736371e-02 20 6.325334e-02 1.723769e-02 21 5.020189e-02 1.736699e-02 22 6.760309e-02 1.712028e-02 23 5.149751e-02 1.716241e-02 24 5.502148e-02 1.712262e-02 25 4.829160e-02 1.716265e-02 26 4.428856e-02 1.693486e-02 27 4.073172e-02 1.707547e-02 28 3.821709e-02 1.712004e-02 29 3.466163e-02 1.719244e-02 30 4.408869e-02 1.722213e-02 31 4.445031e-02 1.707010e-02 32 4.181702e-02 1.715095e-02 33 4.143629e-02 1.711560e-02 34 4.855876e-02 1.713048e-02 35 4.244146e-02 1.704520e-02 36 3.612007e-02 1.693458e-02 37 3.251820e-02 1.681002e-02 38 3.088267e-02 1.695646e-02 39 3.643940e-02 1.715539e-02 40 5.820040e-02 1.717375e-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.058200 CVT ENERGY = 0.017174 SAMPLE = "grid". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.827976 0.164527 2: 0.828945 0.487065 3: 0.159814 0.168144 4: 0.498589 0.157489 5: 0.503258 0.47699 6: 0.374856 0.826597 7: 0.878412 0.831224 8: 0.165848 0.500864 9: 0.121829 0.838103 10: 0.625554 0.808553 cvt_test06(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with MATLAB RANDOM sampling. Step L2-Change Energy 1 1.174020e+00 4.957920e-02 2 3.090638e-01 2.356620e-02 3 2.340678e-01 2.153828e-02 4 2.327106e-01 2.008282e-02 5 1.982810e-01 1.903456e-02 6 1.504376e-01 1.843222e-02 7 1.309814e-01 1.794569e-02 8 1.183334e-01 1.767996e-02 9 1.005113e-01 1.749086e-02 10 5.678000e-02 1.731953e-02 11 7.122429e-02 1.714250e-02 12 5.870016e-02 1.723080e-02 13 4.869334e-02 1.734271e-02 14 4.953920e-02 1.716994e-02 15 5.131614e-02 1.708901e-02 16 4.899207e-02 1.724040e-02 17 5.319408e-02 1.701475e-02 18 4.227356e-02 1.707988e-02 19 4.806002e-02 1.715575e-02 20 5.435704e-02 1.712775e-02 21 4.413166e-02 1.704869e-02 22 5.577442e-02 1.695226e-02 23 3.956333e-02 1.698641e-02 24 4.295191e-02 1.714211e-02 25 4.199819e-02 1.696122e-02 26 3.496895e-02 1.724443e-02 27 5.060935e-02 1.708289e-02 28 5.144600e-02 1.708762e-02 29 5.148301e-02 1.701778e-02 30 5.118959e-02 1.695736e-02 31 3.900085e-02 1.710957e-02 32 3.732424e-02 1.730149e-02 33 4.426950e-02 1.708049e-02 34 4.668184e-02 1.694530e-02 35 6.098112e-02 1.728861e-02 36 4.680961e-02 1.705908e-02 37 4.081311e-02 1.719592e-02 38 4.129604e-02 1.710202e-02 39 4.373267e-02 1.714823e-02 40 5.275375e-02 1.712049e-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.052754 CVT ENERGY = 0.017120 SAMPLE = "random". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.114491 0.174252 2: 0.833591 0.512453 3: 0.623831 0.186049 4: 0.159578 0.837598 5: 0.487872 0.514542 6: 0.830632 0.834373 7: 0.499089 0.837777 8: 0.370293 0.181593 9: 0.877859 0.171385 10: 0.162539 0.508199 cvt_test08(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1 with a different batch size. Step L2-Change Energy 1 8.145878e-01 3.596684e-02 2 3.068753e-01 2.080274e-02 3 1.410643e-01 1.906073e-02 4 1.044906e-01 1.869867e-02 5 7.298145e-02 1.869205e-02 6 7.201291e-02 1.822660e-02 7 6.147091e-02 1.802428e-02 8 7.956061e-02 1.817478e-02 9 7.903153e-02 1.803267e-02 10 8.997355e-02 1.782136e-02 11 8.618139e-02 1.768174e-02 12 7.691564e-02 1.735674e-02 13 6.088177e-02 1.749216e-02 14 8.009000e-02 1.709093e-02 15 4.762172e-02 1.727502e-02 16 6.737740e-02 1.732977e-02 17 6.251847e-02 1.731548e-02 18 5.503186e-02 1.690851e-02 19 5.912428e-02 1.722891e-02 20 5.167468e-02 1.704080e-02 21 4.274061e-02 1.720663e-02 22 5.860635e-02 1.723321e-02 23 3.495936e-02 1.698084e-02 24 4.694488e-02 1.725918e-02 25 3.824719e-02 1.705361e-02 26 4.336925e-02 1.721855e-02 27 4.206039e-02 1.709701e-02 28 4.369732e-02 1.707850e-02 29 3.278249e-02 1.722301e-02 30 4.914527e-02 1.712787e-02 31 4.329271e-02 1.701761e-02 32 4.006248e-02 1.697709e-02 33 4.475814e-02 1.703556e-02 34 4.746443e-02 1.720938e-02 35 4.341313e-02 1.702760e-02 36 4.680169e-02 1.714103e-02 37 4.884255e-02 1.721293e-02 38 4.036213e-02 1.715133e-02 39 4.330074e-02 1.732377e-02 40 5.006679e-02 1.714104e-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.050067 CVT ENERGY = 0.017141 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 5 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.121742 0.499245 2: 0.836776 0.847931 3: 0.63092 0.439019 4: 0.16612 0.171226 5: 0.169323 0.841415 6: 0.87139 0.535566 7: 0.522926 0.832326 8: 0.838107 0.160299 9: 0.482231 0.156495 10: 0.384464 0.534393 cvt_test09(): CVT computes a Centroidal Voronoi Tessellation. Repeat test 1, but with IT_FIXED = IT_MAX. Step L2-Change Energy 1 9.016487e-01 3.773378e-02 2 3.066193e-01 2.201644e-02 3 1.693712e-01 2.031354e-02 4 1.434883e-01 1.947263e-02 5 9.254621e-02 1.966405e-02 6 9.809656e-02 1.928514e-02 7 6.991541e-02 1.901282e-02 8 7.711766e-02 1.891159e-02 9 5.792818e-02 1.892105e-02 10 5.488799e-02 1.910534e-02 11 5.153933e-02 1.875326e-02 12 5.224201e-02 1.877224e-02 13 5.207668e-02 1.896301e-02 14 5.891854e-02 1.870447e-02 15 6.535802e-02 1.874011e-02 16 4.679728e-02 1.874546e-02 17 5.400847e-02 1.843381e-02 18 6.439421e-02 1.872342e-02 19 7.581092e-02 1.874198e-02 20 6.927669e-02 1.854676e-02 21 7.087551e-02 1.842343e-02 22 7.261652e-02 1.816341e-02 23 8.334640e-02 1.825003e-02 24 8.991604e-02 1.788598e-02 25 9.950293e-02 1.781487e-02 26 8.373651e-02 1.763428e-02 27 9.113198e-02 1.762926e-02 28 7.016837e-02 1.728270e-02 29 7.371203e-02 1.728908e-02 30 5.589156e-02 1.731180e-02 31 5.145662e-02 1.725258e-02 32 5.473951e-02 1.716521e-02 33 7.242952e-02 1.730576e-02 34 4.830163e-02 1.714218e-02 35 6.300177e-02 1.712466e-02 36 4.474214e-02 1.699130e-02 37 4.099318e-02 1.718645e-02 38 4.985828e-02 1.690250e-02 39 4.120183e-02 1.691654e-02 40 4.405404e-02 1.712652e-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.044054 CVT ENERGY = 0.017127 SAMPLE = "uniform". Samples SAMPLE_NUM = 10000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.835133 0.829207 2: 0.114622 0.508948 3: 0.828118 0.158319 4: 0.49337 0.170031 5: 0.160966 0.166373 6: 0.630311 0.498306 7: 0.17201 0.839924 8: 0.361782 0.498266 9: 0.884577 0.484355 10: 0.505629 0.83162 cvt_test10(): CVT computes a Centroidal Voronoi Tessellation. Compute 100 points in 3D. Step L2-Change Energy 1 5.255805e+00 1.954904e-02 2 2.558356e+00 1.440904e-02 3 1.952334e+00 1.344792e-02 4 1.617841e+00 1.287527e-02 5 1.456072e+00 1.243314e-02 6 1.448037e+00 1.235087e-02 7 1.279996e+00 1.203815e-02 8 1.306347e+00 1.216466e-02 9 1.220378e+00 1.198376e-02 10 1.200435e+00 1.202636e-02 11 1.204014e+00 1.197569e-02 12 1.265394e+00 1.186269e-02 13 1.248398e+00 1.183612e-02 14 1.162599e+00 1.173387e-02 15 1.196062e+00 1.188758e-02 16 1.208186e+00 1.174890e-02 17 1.208779e+00 1.178118e-02 18 1.182539e+00 1.176989e-02 19 1.215483e+00 1.180177e-02 20 1.250516e+00 1.179141e-02 21 1.167371e+00 1.172611e-02 22 1.101224e+00 1.171695e-02 23 1.157911e+00 1.161636e-02 24 1.183255e+00 1.173036e-02 25 1.114134e+00 1.167447e-02 26 1.130449e+00 1.171882e-02 27 1.215258e+00 1.167456e-02 28 1.109558e+00 1.163788e-02 29 1.115250e+00 1.174965e-02 30 1.139123e+00 1.173436e-02 31 1.146830e+00 1.160236e-02 32 1.137496e+00 1.160207e-02 33 1.100391e+00 1.170360e-02 34 1.171605e+00 1.164782e-02 35 1.149815e+00 1.171566e-02 36 1.104376e+00 1.160188e-02 37 1.157996e+00 1.164866e-02 38 1.080824e+00 1.165826e-02 39 1.127339e+00 1.161755e-02 40 1.055224e+00 1.165028e-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.055224 CVT ENERGY = 0.011650 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.702313 0.084268 0.343024 2: 0.448502 0.434412 0.298707 3: 0.713541 0.745063 0.889886 4: 0.303149 0.898074 0.51679 5: 0.657232 0.648924 0.52009 6: 0.570735 0.908295 0.908651 7: 0.720489 0.130646 0.111768 8: 0.903882 0.703987 0.109571 9: 0.679487 0.440535 0.647505 10: 0.303359 0.865472 0.284643 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.951414e-01 1.054512e-02 2 2.110885e-01 1.048096e-02 3 1.711146e-01 1.029090e-02 4 1.732833e-01 1.071854e-02 5 1.817098e-01 1.075524e-02 6 2.107304e-01 1.062699e-02 7 2.258384e-01 1.051888e-02 8 1.899389e-01 1.059619e-02 9 2.066701e-01 1.042692e-02 10 2.337375e-01 1.050420e-02 11 2.390191e-01 1.038507e-02 12 1.389964e-01 1.047292e-02 13 2.078506e-01 1.078088e-02 14 2.087206e-01 1.036866e-02 15 2.150878e-01 1.043989e-02 16 1.826548e-01 1.046579e-02 17 2.264490e-01 1.076476e-02 18 1.964488e-01 1.057225e-02 19 2.528612e-01 1.092759e-02 20 2.015508e-01 1.048479e-02 21 2.115749e-01 1.075682e-02 22 2.220003e-01 1.059648e-02 23 2.787298e-01 1.048383e-02 24 2.019701e-01 1.036558e-02 25 1.978508e-01 1.024823e-02 26 2.363780e-01 1.031619e-02 27 1.882578e-01 1.082620e-02 28 2.524779e-01 1.028861e-02 29 2.176514e-01 1.056194e-02 30 2.007089e-01 1.038864e-02 31 2.121929e-01 1.058160e-02 32 1.591016e-01 1.056308e-02 33 2.500524e-01 1.070364e-02 34 1.834389e-01 1.035694e-02 35 2.622328e-01 1.043016e-02 36 2.420654e-01 1.045299e-02 37 1.341386e-01 1.013314e-02 38 1.960339e-01 9.910974e-03 39 2.427241e-01 1.017241e-02 40 1.918856e-01 1.037949e-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.191886 CVT ENERGY = 0.010379 SAMPLE = "uniform". Samples SAMPLE_NUM = 1000 Sampling BATCH size = 1000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 2 Col 1: 0.114458 0.151261 2: 0.133143 0.391777 3: 0.121859 0.640819 4: 0.133937 0.873801 5: 0.382431 0.102114 6: 0.36853 0.354274 7: 0.348306 0.620763 8: 0.362702 0.873264 9: 0.62403 0.165462 10: 0.649608 0.406498 11: 0.591867 0.660883 12: 0.631205 0.892218 13: 0.883159 0.107249 14: 0.885003 0.378374 15: 0.881521 0.638053 16: 0.87834 0.888051 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.568167e+00 3.813300e-03 2 1.214607e+00 2.362067e-03 3 7.729369e-01 2.049362e-03 4 6.363397e-01 1.969262e-03 5 5.741383e-01 1.913070e-03 6 4.928920e-01 1.861844e-03 7 4.525358e-01 1.834615e-03 8 5.102548e-01 1.829685e-03 9 4.362208e-01 1.832410e-03 10 4.544820e-01 1.801484e-03 11 4.172003e-01 1.812657e-03 12 4.551508e-01 1.786892e-03 13 4.626475e-01 1.766536e-03 14 4.905722e-01 1.764193e-03 15 4.687162e-01 1.751543e-03 16 4.603574e-01 1.762702e-03 17 4.623791e-01 1.753458e-03 18 4.328136e-01 1.735584e-03 19 4.571689e-01 1.720725e-03 20 4.034543e-01 1.719375e-03 21 5.046063e-01 1.759798e-03 22 4.569901e-01 1.715636e-03 23 4.585431e-01 1.715038e-03 24 3.885478e-01 1.716216e-03 25 3.843292e-01 1.710256e-03 26 4.176567e-01 1.717822e-03 27 4.645604e-01 1.718335e-03 28 3.977583e-01 1.714202e-03 29 4.103363e-01 1.697473e-03 30 4.321477e-01 1.668629e-03 31 3.935769e-01 1.702936e-03 32 4.191485e-01 1.696444e-03 33 4.174616e-01 1.695219e-03 34 4.573716e-01 1.708261e-03 35 4.709888e-01 1.699762e-03 36 4.187025e-01 1.688187e-03 37 4.168176e-01 1.691664e-03 38 4.244300e-01 1.677506e-03 39 4.104171e-01 1.695813e-03 40 4.593626e-01 1.695817e-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.459363 CVT ENERGY = 0.001696 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 2.370811e-01 2.454657e-03 2 6.833112e-02 9.786844e-04 3 3.276556e-02 8.692942e-04 4 1.523392e-02 8.408592e-04 5 1.103514e-02 8.375897e-04 6 7.731975e-03 8.360402e-04 7 4.942963e-03 8.356300e-04 8 5.000248e-03 8.365211e-04 9 4.303276e-03 8.359871e-04 10 4.609767e-03 8.381032e-04 11 3.266296e-03 8.338738e-04 12 3.626331e-03 8.368253e-04 13 4.257485e-03 8.382727e-04 14 3.148556e-03 8.371809e-04 15 3.746707e-03 8.392871e-04 16 2.448886e-03 8.380714e-04 17 4.298599e-03 8.363972e-04 18 3.469627e-03 8.363269e-04 19 4.006876e-03 8.360631e-04 20 3.557564e-03 8.336607e-04 21 3.387113e-03 8.365923e-04 22 3.680036e-03 8.337808e-04 23 2.584527e-03 8.289757e-04 24 4.189160e-03 8.350822e-04 25 2.678843e-03 8.348502e-04 26 3.056372e-03 8.307891e-04 27 3.081158e-03 8.389387e-04 28 2.808478e-03 8.320132e-04 29 3.154040e-03 8.337013e-04 30 3.183302e-03 8.310904e-04 31 2.755525e-03 8.346658e-04 32 2.249591e-03 8.329701e-04 33 3.334298e-03 8.358786e-04 34 3.032177e-03 8.360738e-04 35 2.185052e-03 8.323304e-04 36 3.137325e-03 8.322881e-04 37 3.891045e-03 8.342080e-04 38 3.091890e-03 8.337877e-04 39 3.359800e-03 8.317949e-04 40 3.313645e-03 8.343897e-04 41 2.135774e-03 8.316875e-04 42 3.307877e-03 8.380079e-04 43 2.740971e-03 8.327753e-04 44 4.039124e-03 8.271634e-04 45 3.809310e-03 8.310948e-04 46 3.607432e-03 8.315527e-04 47 2.613740e-03 8.329595e-04 48 2.586635e-03 8.348945e-04 49 2.507141e-03 8.299003e-04 50 3.055791e-03 8.291289e-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.003056 CVT ENERGY = 0.000829 SAMPLE = "uniform". Samples SAMPLE_NUM = 100000 Sampling BATCH size = 10000 EPSILON (unit roundoff) = 2.220446e-16 Generators (rows): Row: 1 Col 1: 0.0492984 2: 0.148062 3: 0.246103 4: 0.345897 5: 0.445724 6: 0.545253 7: 0.646393 8: 0.746611 9: 0.847754 10: 0.94902 cvt_test(): Normal end of execution. 14-May-2025 15:29:13