{ "cells": [ { "cell_type": "markdown", "id": "21c0526a", "metadata": {}, "source": [ "# Low-rank SVD lookup for 2D property tables\n", "\n", "**Audience:** early-graduate-level mathematics — linear algebra and 1D calculus are assumed; no information theory or measure theory is needed.\n", "\n", "**Code:** `include/CoolProp/svd/` and `include/CoolProp/region/`.\n", "\n", "**Validation:** `src/Tests/CoolProp-Tests-SVDComponents.cpp` (Catch2; benchmarks tagged `[!benchmark]` are opt-in).\n", "\n", "This page motivates the rank-truncated SVD lookup and the region machinery behind it, in just enough math to be reproducible. The figures and worked numbers below are generated by the live code cells in this notebook, so the prose, the math, and the numbers cannot drift apart.\n", "\n", "## The 2D rectangle problem\n", "\n", "Take a smooth function $f : [0,1]^2 \\rightarrow \\mathbb{R}$ and tabulate it on an $N \\times N$ grid. The samples define a matrix\n", "\n", "$$\n", "M_{ij} = f(x_i, y_j), \\quad i, j = 0, \\ldots, N-1.\n", "$$\n", "\n", "The lookup problem is: given some $(x, y) \\in [0,1]^2$ *not on the grid*, predict $f(x, y)$ as accurately and as quickly as we can.\n", "\n", "The naive bilinear baseline reads four entries of $M$, takes the weighted average, and returns it. Memory cost: $N^2$. Accuracy: $O(h^2)$ where $h = 1/(N-1)$ is the grid spacing. Cubic bicubic interpolation replaces \"four entries\" with \"sixteen entries\" and improves the asymptotic order to $O(h^4)$ — but the storage is still $\\Theta(N^2)$.\n", "\n", "Property tables in real thermodynamic codes often want $N \\ge 200$ per axis per region — that is $4 \\times 10^4$ doubles per property per region. Multiply by a handful of properties, a handful of regions, and a handful of fluids, and storage starts to matter. The SVD lets us bring storage down to $\\Theta(N \\, r)$ for a \"rank\" $r \\ll N$, with no loss of accuracy *if* $M$ has fast-decaying singular values.\n", "\n", "## SVD in two paragraphs\n", "\n", "Every real $N \\times N$ matrix factorises as\n", "\n", "$$\n", "M = U \\, \\Sigma \\, V^{\\!\\top},\n", "$$\n", "\n", "where $U$ and $V$ are $N \\times N$ orthogonal and $\\Sigma = \\mathrm{diag}(\\sigma_1, \\ldots, \\sigma_N)$ carries the **singular values** in nonincreasing order $\\sigma_1 \\ge \\sigma_2 \\ge \\ldots \\ge \\sigma_N \\ge 0$.\n", "\n", "Geometrically, $M$ maps the unit sphere in $\\mathbb{R}^N$ to an ellipsoid whose semi-axes have lengths $\\sigma_k$. The columns of $V$ point along the input directions (pre-images of the semi-axes) and the columns of $U$ along the output directions (the semi-axes themselves). Anything we care about as \"the dominant structure of $M$\" — its low-rank component, its near-null space, its compressibility — is encoded in $\\Sigma$.\n", "\n", "The Eckart–Young theorem makes the compressibility claim precise: the **rank-$r$ truncation**\n", "\n", "$$\n", "M_r = U_r \\, \\Sigma_r \\, V_r^{\\!\\top}\n", "$$\n", "\n", "(keeping the first $r$ columns of $U$, the leading $r \\times r$ block of $\\Sigma$, and the first $r$ columns of $V$) is the best rank-$r$ approximation to $M$ in both the Frobenius and the spectral norm. Storage drops from $N^2$ to $2 N r + r$. If the singular values fall off quickly — say, $\\sigma_r / \\sigma_0 < 10^{-6}$ for some small $r$ — the truncation is essentially free.\n", "\n", "## Where the win comes from for smooth $f$\n", "\n", "Smoothness in $f(x, y)$ translates directly into fast singular-value decay. An informal argument: if $f$ is $C^k$ in each argument and approximately separable as $f \\approx \\sum_{k=1}^{r} g_k(x) \\, h_k(y)$, then $M \\approx \\sum_{k=1}^{r} g_k h_k^{\\!\\top}$ is exactly rank $r$, and the remaining singular values $\\sigma_{r+1}, \\ldots$ measure the residual non-separability. For functions that are smooth and bounded on a bounded domain, this residual is exponentially small in $r$.\n", "\n", "This is exactly the situation for thermodynamic property surfaces. Density $\\rho(\\xi, \\log p)$ in the saturation-aligned coordinate system is so well-approximated by a low-rank decomposition that the PoC reaches Frobenius rank $\\le 15$ for max relative error $< 10^{-4}$ on five fluids over both liquid and vapor regions.\n", "\n", "## A worked rank-1, rank-2, rank-3 example\n", "\n", "We pick a deliberately rank-3 test function that lets each truncation step show off a real accuracy improvement:\n", "\n", "$$\n", "f(x, y) = \\sin(x + y) + 0.2 \\, e^{-x^2 - y^2}.\n", "$$\n", "\n", "The identity $\\sin(x+y) = \\sin x \\cos y + \\cos x \\sin y$ makes $\\sin(x+y)$ exactly a sum of two outer products, and the Gaussian bump adds one more rank-1 contribution, so $f$ is rank 3 to machine precision and no more.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "d5041f85", "metadata": { "execution": { "iopub.execute_input": "2026-05-16T16:35:20.451586Z", "iopub.status.busy": "2026-05-16T16:35:20.450985Z", "iopub.status.idle": "2026-05-16T16:35:20.984242Z", "shell.execute_reply": "2026-05-16T16:35:20.983748Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "== singular values ==\n", " sigma[0] = 8.258993e+00\n", " sigma[1] = 7.402935e+00\n", " sigma[2] = 8.391294e-02\n", " sigma[3] = 1.017045e-15\n", " sigma[4] = 4.795447e-16\n", " sigma[5] = 4.063666e-16\n", " sigma[6] = 3.377877e-16\n", " sigma[7] = 2.897188e-16\n", "\n", " sigma[1] / sigma[0] = 8.96e-01\n", " sigma[2] / sigma[0] = 1.02e-02\n", " sigma[3] / sigma[0] = 1.23e-16\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.interpolate import CubicSpline\n", "\n", "N = 16\n", "x = np.linspace(-2.0, 2.0, N)\n", "y = np.linspace(-2.0, 2.0, N)\n", "X, Y = np.meshgrid(x, y, indexing=\"ij\")\n", "M = np.sin(X + Y) + 0.2 * np.exp(-X**2 - Y**2)\n", "\n", "U, s, Vt = np.linalg.svd(M, full_matrices=False)\n", "\n", "print(\"== singular values ==\")\n", "for k in range(8):\n", " print(f\" sigma[{k}] = {s[k]:.6e}\")\n", "print(f\"\\n sigma[1] / sigma[0] = {s[1] / s[0]:.2e}\")\n", "print(f\" sigma[2] / sigma[0] = {s[2] / s[0]:.2e}\")\n", "print(f\" sigma[3] / sigma[0] = {s[3] / s[0]:.2e}\")\n" ] }, { "cell_type": "markdown", "id": "0e0ea633", "metadata": {}, "source": [ "Three significant singular values, then a sharp drop to machine precision around $10^{-16}$. Plotting them on a log axis makes the structure obvious:" ] }, { "cell_type": "code", "execution_count": 2, "id": "6e5d3f6d", "metadata": { "execution": { "iopub.execute_input": "2026-05-16T16:35:20.985931Z", "iopub.status.busy": "2026-05-16T16:35:20.985710Z", "iopub.status.idle": "2026-05-16T16:35:21.259154Z", "shell.execute_reply": "2026-05-16T16:35:21.258584Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(5.5, 3.5))\n", "ax.semilogy(range(1, N + 1), s, marker=\"o\", lw=1.2, ms=4, color=\"black\")\n", "ax.set_xlabel(r\"singular-value index $k$\")\n", "ax.set_ylabel(r\"$\\sigma_k$\")\n", "ax.set_title(r\"Singular spectrum of $f(x,y) = \\sin(x+y) + 0.2 e^{-x^2-y^2}$\")\n", "ax.grid(True, which=\"both\", alpha=0.3)\n", "fig.tight_layout()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "99c8874f", "metadata": {}, "source": [ "### Hand-checkable evaluation\n", "\n", "Pick a grid point near $(0.4, 0.667)$ and read off the rank-1, rank-2, rank-3 approximations of $M$ at that index. Each step should improve the error by orders of magnitude until the function's true rank is exhausted." ] }, { "cell_type": "code", "execution_count": 3, "id": "29c98688", "metadata": { "execution": { "iopub.execute_input": "2026-05-16T16:35:21.260869Z", "iopub.status.busy": "2026-05-16T16:35:21.260691Z", "iopub.status.idle": "2026-05-16T16:35:21.265069Z", "shell.execute_reply": "2026-05-16T16:35:21.264539Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "grid point: (x, y) = (0.4000, 0.6667)\n", "truth f = 9.848708e-01\n", "rank-1 approx = 1.069166e+00 |err| = 8.43e-02\n", "rank-2 approx = 9.850788e-01 |err| = 2.08e-04\n", "rank-3 approx = 9.848708e-01 |err| = 3.33e-16\n" ] } ], "source": [ "i_test = int(np.argmin(np.abs(x - 0.4)))\n", "j_test = int(np.argmin(np.abs(y - 0.6)))\n", "print(f\"grid point: (x, y) = ({x[i_test]:.4f}, {y[j_test]:.4f})\")\n", "print(f\"truth f = {M[i_test, j_test]:.6e}\")\n", "for r in (1, 2, 3):\n", " Mr = (U[:, :r] * s[:r]) @ Vt[:r, :]\n", " err = abs(Mr[i_test, j_test] - M[i_test, j_test])\n", " print(f\"rank-{r} approx = {Mr[i_test, j_test]:.6e} |err| = {err:.2e}\")\n" ] }, { "cell_type": "markdown", "id": "a1fbe9ed", "metadata": {}, "source": [ "Rank-1 already captures the dominant $\\sin x \\cos y$ contribution. Rank-2 picks up the matching $\\cos x \\sin y$ partner and reaches part-per-thousand. Rank-3 brings in the Gaussian bump and the residual is round-off.\n", "\n", "### The reconstructions as 2D pictures\n", "\n", "Now interpolate each truncated mode in 1D (using a natural cubic spline, exactly as the C++ `SVDEvaluator` does it) and render the rank-1/2/3 reconstructions on a fine grid alongside the truth. Watching the contour structure fill in is more illuminating than the numbers above:" ] }, { "cell_type": "code", "execution_count": 4, "id": "114007ec", "metadata": { "execution": { "iopub.execute_input": "2026-05-16T16:35:21.266784Z", "iopub.status.busy": "2026-05-16T16:35:21.266609Z", "iopub.status.idle": "2026-05-16T16:35:21.706022Z", "shell.execute_reply": "2026-05-16T16:35:21.705538Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAGeCAYAAAB7FEigAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAxRxJREFUeJzs3Xl8FdX9P/5XCJAEsiAEkrAmQAF3cIeqgFasiFVRW2sVrOJO+1G0KtoKuJRqXWi1dRf9tLUff61LcZcqS1uwYhWtiihLCAKRPSGAAcL8/sj35ubm3jtzZubMnHNmXs/HI4+HJvfeTG5u3u83r3vmTI5lWRaIiIiIiIiIiIiIiChNO9UHQERERERERERERESkK4boRERERERERERERERZMEQnIiIiIiIiIiIiIsqCIToRERERERERERERURYM0YmIiIiIiIiIiIiIsmCITkRERERERERERESUBUN0IiIiIiIiIiIiIqIsGKITEREREREREREREWXBEJ2IiIiIiIiIiIiIKAuG6ERERCHJyckR+pg/f77qQ/Vk0aJFmD59OrZv3y79sS+++GJUVlY63m7v3r149NFHcfTRR6Nr167o1KkT+vXrhzPPPBMvvvgiAOA3v/kNcnJy8MYbb2R9nMcffxw5OTl44YUXAACjRo1q+f20a9cORUVFGDhwIM477zz89a9/xf79+6X8nCYL8vcv6rPPPsP06dNRXV2d9jXR11BQVq5ciby8PCxevDiQx6+urkZOTg7uvfdex9s+/fTTyMnJyfg86SAnJwfTp09v+f/58+crrY1+Xjs6/F24VVlZiYsvvtjTfX/5y1/ipZdekno8QPL1/fTTT0t/bNnavn5levLJJ9GrVy/s3LkzkMcnIiKi7BiiExERhWTx4sUpH2PHjkVBQUHa54844gjVh+rJokWLMGPGDKVh0UUXXYSf/OQnGD16NP74xz/i5Zdfxs9//nO0b98eb775JgDgwgsvRF5eHp566qmsjzN79mx0794dZ5xxRsvn+vfvj8WLF2PRokV46aWXcPPNN2P37t0477zzMGrUKNTV1QX+8+lMh9//Z599hhkzZmQMh3/xi1+0vJGiwg033IBTTjkFw4cPV3YMCaeffjoWL16MiooK1Yci5IgjjlBaG/28dnT4uwhTUCE6NZs4cSI6d+6Me+65R/WhEBERxU571QdAREQUF8cdd1zK/3fv3h3t2rVL+3xbu3btQqdOnYI8tEhYvXo1nnvuOdx2222YMWNGy+dPPvlkXHbZZS2rxbt164YzzzwTL730ErZs2YJu3bqlPM7nn3+OxYsX4/rrr0eHDh1aPl9QUJD2u5o0aRJmz56NSy65BJdffjmee+4518cd19/v7t27UVBQENr3GzBgQGjfq61ly5bhpZdesj37IUzdu3dH9+7dVR+GsOLiYsc6GSSVr51s4lo34q59+/a44oorcMcdd+Cmm27ia4CIiChEXIlORESkkVGjRuGQQw7BwoULMWLECHTq1AmXXHIJgOyniLc99T6xVcO8efNw1VVXobS0FN26dcP48eOxfv36tPs/++yzGD58OAoLC1FYWIihQ4fiySefbPn63LlzceaZZ6J3797Iz8/HwIEDccUVV2Dz5s0tt5k+fTp+9rOfAQCqqqoybk3z3HPPYfjw4ejcuTMKCwtx6qmn4sMPP0w7nqeffhqDBw9GXl4eDjzwQPzv//6v0HO3ZcsWAMi6urZdu+TYc+mll2LPnj149tln0243e/ZsAGh53p38+Mc/xtixY/GXv/wFa9assb2t3e+3vr4eN9xwA6qqqtCxY0f06tUL1157bdpp+/v378eDDz6IoUOHoqCgAF26dMFxxx2HOXPmpNzmnnvuwZAhQ5CXl4cePXpgwoQJ+OqrrzIez5IlS3DCCSegU6dO6N+/P371q1+lbFGzf/9+3HnnnRg8eHDL9zzssMPwm9/8BoDz77+yshLjxo3DCy+8gGHDhiE/P79lxXi2LRoyvd4///xz/PCHP0RZWRny8vLQt29fTJgwAY2NjXj66adx3nnnAQBGjx7dcgyJx860Jcc333yDqVOnpjzn11xzTdqq4cTxv/HGGzjiiCNQUFCAIUOG2J7N0NrDDz+M8vJynHLKKWlfe+ONN3DyySejpKQEnTp1woEHHoiZM2e2fH3UqFEYNWpU2v2ybTGyf/9+3HXXXejbty/y8/Nx1FFH4e233065TbbtXJyOJZtNmzbh8ssvR58+fZCXl4fu3bvj29/+Nv7+97+n/ByHHHII/vGPf+C4445DQUEBevXqhV/84hdoamqyffxM27lcfPHFKCwsxIoVKzB27FgUFhaiT58+uP7669HY2Jhy/z179uDOO+9s+Xvo3r07fvzjH2PTpk2OP1vie7V9rnNycjB58mT84Q9/wIEHHohOnTrh8MMPxyuvvNJyG1l1MfGz/ve//8WYMWNQVFSEk08+2fXzunXrVlx99dXo1asXOnbsiP79++PWW29Ne77a+uabb3D99ddj6NChKCkpQdeuXTF8+HD87W9/S3tOdu7ciWeeeablZ2392q2trcUVV1yB3r17o2PHjqiqqsKMGTOwb9++lMdZv349vv/976OoqAglJSX4wQ9+gNraWttjTEi8tt955x1cdtll6NatG4qLizFhwgTs3LkTtbW1+P73v48uXbqgoqICN9xwA/bu3evpeaqvr2/5HoWFhfjud7+LL774IuNxffnll7jgggvQo0ePlt72u9/9LuU2TnU24Uc/+hHq6+vxf//3f0LPCREREcnBlehERESa2bBhAy688ELceOON+OUvf5kS/roxadIknH766Xj22Wexdu1a/OxnP8OFF16Id955p+U2t912G+644w6MHz8e119/PUpKSvDJJ5+khMErV67E8OHDMWnSJJSUlKC6uhr3338/jj/+ePz3v/9Fhw4dMGnSJGzduhUPPvggXnjhhZYg+6CDDgLQfIr/z3/+c/z4xz/Gz3/+c+zZswe//vWvccIJJ+C9995rud3TTz+NH//4xzjzzDNx3333oa6uDtOnT0djY6Pj83DggQeiS5cumDFjBtq1a4cxY8Zk3cf4O9/5Dvr164ennnoKP/nJT1o+39TUhD/84Q847rjjWo5JxPe+9z289tpr+Mc//oF+/frZ3jbT73fXrl0YOXIkvvrqK9xyyy047LDD8Omnn+K2227Df//7X/z9739HTk4OgOZA7Y9//CMuvfRS3H777ejYsSM++OCDlED0qquuwmOPPYbJkydj3LhxqK6uxi9+8QvMnz8fH3zwAUpLS1tuW1tbix/96Ee4/vrrMW3aNLz44ouYOnUqevbsiQkTJgAA7rnnHkyfPh0///nPceKJJ2Lv3r34/PPPW8Jmp98/AHzwwQdYtmwZfv7zn6OqqgqdO3cWfn4B4KOPPsLxxx+P0tJS3H777fjWt76FDRs2YM6cOdizZw9OP/10/PKXv8Qtt9yC3/3udy1bf2RbRWxZFs466yy8/fbbmDp1Kk444QR8/PHHmDZtWsvWSnl5eSnf//rrr8fNN9+MsrIyPPHEE7j00ksxcOBAnHjiibbH/uqrr+LEE09Mew0/+eSTuOyyyzBy5Eg88sgj6NGjB7744gt88sknrp6b1h566CH069cPs2bNankz5bTTTsOCBQtst5LxcywXXXQRPvjgA9x1110YNGgQtm/fjg8++KDlja2E2tpanH/++bj55ptx++2349VXX8Wdd96Jbdu24aGHHnL9s+7duxff+973cOmll+L666/HwoULcccdd6CkpAS33XYbgOZg8swzz8Q//vEP3HjjjRgxYgTWrFmDadOmYdSoUXj//fc9nxHx6quvYsmSJbj99ttRWFiIe+65B2effTaWL1+O/v37S6uLQPMbAd/73vdwxRVX4Oabb04JnkWe12+++QajR4/GypUrMWPGDBx22GH4xz/+gZkzZ2Lp0qV49dVXs/6cjY2N2Lp1K2644Qb06tULe/bswd///neMHz8es2fPbqkTixcvxkknnYTRo0fjF7/4BYDmswgSx3jMMcegXbt2uO222zBgwAAsXrwYd955J6qrq1vevNy9eze+853vYP369Zg5cyYGDRqEV199FT/4wQ9c/W4mTZqE8ePH4//+7//w4Ycf4pZbbsG+ffuwfPlyjB8/Hpdffjn+/ve/4+6770bPnj0xZcoUV89Ton4sWrQIt912G44++mj861//wmmnnZZ2LJ999hlGjBiBvn374r777kN5eTnefPNN/PSnP8XmzZsxbdo0AM51NqG8vBxDhgzBq6++KvxmLxEREUlgERERkRITJ060OnfunPK5kSNHWgCst99+O+32AKxp06alfb5fv37WxIkTW/5/9uzZFgDr6quvTrndPffcYwGwNmzYYFmWZa1atcrKzc21fvSjHwkf8/79+629e/daa9assQBYf/vb31q+9utf/9oCYK1evTrlPjU1NVb79u2tn/zkJymf37Fjh1VeXm59//vftyzLspqamqyePXtaRxxxhLV///6W21VXV1sdOnSw+vXr53h8r776qlVaWmoBsABY3bp1s8477zxrzpw5abedNm2aBcD64IMPWj738ssvWwCsxx9/POW2I0eOtA4++OCs3/f111+3AFh333237fFl+/3OnDnTateunbVkyZKUz//1r3+1AFivvfaaZVmWtXDhQguAdeutt2b9HsuWLcv4+//3v/9tAbBuueWWtOP597//nXLbgw46yDr11FNb/n/cuHHW0KFDbX+2bL9/y2p+jebm5lrLly9P+fzq1astANbs2bPT7tP29X7SSSdZXbp0sTZu3Jj1GP7yl79YAKx58+alfW3ixIkpr6E33njDAmDdc889Kbd77rnnLADWY489lnL8+fn51po1a1o+t3v3bqtr167WFVdckfV4LMuyvv76awuA9atf/Srl8zt27LCKi4ut448/PuX13tbIkSOtkSNHOv48ieeyZ8+e1u7du1s+X19fb3Xt2tX6zne+0/K5RI1I/K5EjyWbwsJC69prr7W9TeK11rpmWJZlXXbZZVa7du1Sntu2v/t58+al/V4nTpxoAbD+v//v/0t5vLFjx1qDBw9u+f8///nPFgDr+eefT7ndkiVLLADW73//e8efr+1znTjGsrIyq76+vuVztbW1Vrt27ayZM2e2fM5vXWz9sz711FNpxyb6vD7yyCMZn6+7777bAmC99dZbLZ9r21Pa2rdvn7V3717r0ksvtYYNG5bytc6dO2e87xVXXGEVFham/J4ty7LuvfdeC4D16aefWpZlWQ8//HDWnydbrWgt8dpu+7yeddZZFgDr/vvvT/n80KFDrSOOOKLl/0Wfp0TN/81vfpNyu7vuuivt9XvqqadavXv3turq6lJuO3nyZCs/P9/aunWrZVlidTbhRz/6kVVWViZ0WyIiIpKD27kQERFp5oADDsBJJ53k+3G+973vpfz/YYcdBgAtq8znzp2LpqYmXHPNNbaPs3HjRlx55ZXo06cP2rdvjw4dOrSstl62bJnjcbz55pvYt28fJkyYgH379rV85OfnY+TIkS1bGyxfvhzr16/HBRdc0LLqGgD69euHESNGCP3MY8eORU1NDV588UXccMMNOPjgg/HSSy/he9/7HiZPnpxy2x//+Mdo165dypYcs2fPRufOnV2verQsS/i2mX6/r7zyCg455BAMHTo05Tk69dRTU7Z/eP311wHA9nc2b948AEjZ4gcAjjnmGBx44IFpW3uUl5fjmGOOSfncYYcdlnI2wjHHHIOPPvoIV199Nd58803U19cL/7ytH3PQoEGu7wc07/+8YMECfP/735e2l3fijIy2z9N5552Hzp07pz1PQ4cORd++fVv+Pz8/H4MGDXLcwiexhVKPHj1SPr9o0SLU19fj6quvTnm9+zV+/Hjk5+e3/H9RURHOOOMMLFy4MOu2KSLHYllWymuz9UroY445Bk8//TTuvPNOvPvuu2nbY7Q+lrZ16YILLsD+/fuxcOFCtz8qcnJyUi7+C6S/dl955RV06dIFZ5xxRsqxDx06FOXl5S1/W/v370/5utMWM0DztkFFRUUt/19WVoYePXo4viYA8brY2jnnnJPxsUSe13feeQedO3fGueeem3K7xOu/7eu9rb/85S/49re/jcLCwpY+8OSTTwr1AKD59zB69Gj07Nkz5edNrNxesGABgOb6le3ncWPcuHEp/3/ggQcCaL6obtvPt/59iT5PiTr7ox/9yPY4v/nmG7z99ts4++yz0alTp5SffezYsfjmm2/w7rvvAnBXZ3v06IGNGzembYVDREREwWGITkREpJlse3q71faCmYmtKXbv3g0ALfsB9+7dO+tj7N+/H2PGjMELL7yAG2+8EW+//Tbee++9ln/0Jx7Lztdffw0AOProo9GhQ4eUj+eee65lb/XE1g/l5eVpj5Hpc9kUFBTgrLPOwq9//WssWLAAK1aswEEHHYTf/e53+PTTT1tu169fP5x88sl49tln0djYiM2bN+OVV17BeeedlxKMiUiEMD179nS8babf79dff42PP/447fkpKiqCZVktz9GmTZuQm5tr+3zY7Q3fs2fPtC022r5OgObXSuvf7dSpU3Hvvffi3XffxWmnnYZu3brh5JNPxvvvv+/48yb4eV1v27YNTU1Ntq9Vt7Zs2YL27dunhfI5OTkoLy/39Dxlkvh662AbEPv78yLb38+ePXvQ0NCQ8T4ix7JgwYK012diC6HnnnsOEydOxBNPPIHhw4eja9eumDBhQto+1mVlZVmPt+3zLaJTp05pz2teXh6++eablv//+uuvsX37dnTs2DHt+Gtra1v+tm6//faUr4lcTNTrayJxXIBzXWz9sya2RmlL5HndsmULysvL094k6dGjB9q3b2/7/L/wwgv4/ve/j169euGPf/wjFi9ejCVLluCSSy5Jea6dft6XX3457Wc9+OCDASClD9j9PKK6du2a8v8dO3bM+vnWP4Po85SoH21fA22Pc8uWLdi3bx8efPDBtJ997NixAJI/u5s6m5+fD8uyhJ9/IiIi8o97ohMREWkm20rQvLy8jBeA8xI+AWgJD7/66iv06dMn420++eQTfPTRR3j66acxceLEls+vWLFC+Psk9t/+61//artfeCKMyHQBOdGLymXSt29fXH755bj22mvx6aeftoQ2QPMFRufOnYu//e1vWL9+Pfbs2YNLL73U9feYM2cOcnJyHPfGBjL/fktLS1FQUJD1QpWJ57B79+5oampCbW1t1lA68Txu2LAhLRRdv359yn7ootq3b48pU6ZgypQp2L59O/7+97/jlltuwamnnoq1a9eiU6dOjo+R6edOBKBtX9dtX9Ndu3ZFbm5u2oVR/ejWrRv27duHTZs2pQTplmWhtrYWRx99tJTvk3i+t27dmvL51n9/dvLz81FXV5f2+bYha0K2v5+OHTuisLAw431EjuXII4/EkiVLUj6XeNOotLQUs2bNwqxZs1BTU4M5c+bg5ptvxsaNG/HGG2+03D4RHGc63kyBtAyJCyu3Po7WEm+YXX755Smrl1vvhx/UcQHOdTHB7mwFkee1W7du+Pe//w3LslIeK7Ga2a4u/PGPf0RVVRWee+65lPs6XZC0tdLSUhx22GG46667Mn498Vrq1q0b3nvvvaw/T9BEn6dE/diyZUvKa7ftcR5wwAHIzc3FRRddlPUMoqqqKgDu6uzWrVuRl5eX9W+aiIiI5ONKdCIiIkNUVlbi448/TvncO++8k3V1qZMxY8YgNzcXDz/8cNbbJEKEtoHSo48+mnbbtivdE0499VS0b98eK1euxFFHHZXxAwAGDx6MiooK/PnPf07ZHmXNmjVYtGiR48+zY8eOrM9FYsuBtivFzzrrLHTr1g1PPfUUZs+ejUGDBuH44493/F6tzZ49G6+//jp++MMfpmz34ca4ceOwcuVKdOvWLePzk7hAamLrA7vfWWKrmD/+8Y8pn1+yZAmWLVuGk08+2dMxJnTp0gXnnnsurrnmGmzdurVlNXK237+dsrIy5Ofnp72u//a3v6X8f0FBAUaOHIm//OUvWcNjt8eQeB7aPk/PP/88du7c6ft5SujXrx8KCgqwcuXKlM+PGDECJSUleOSRR2y3A6qsrMQXX3yRElhu2bIl69/ECy+8kLI6dceOHXj55ZdxwgknIDc3N+N9RI6lqKgo7XWZWN3bWt++fTF58mSccsop+OCDD1K+tmPHDsyZMyflc88++yzatWsn9AaUF+PGjcOWLVvQ1NSU8W9r8ODBAJprQ+vPH3rooVK+v9+6KELkeT355JPR0NCAl156KeV2//u//9vy9WxycnLQsWPHlFC5trY27e808fNm+vsbN24cPvnkEwwYMCDjz5qozaNHj87684RB9HkaPXo0AOBPf/pTyu3aHmenTp0wevRofPjhhzjssMMy/uyZ3kDKVmcTVq1a5eri10REROQfV6ITEREZ4qKLLsIvfvEL3HbbbRg5ciQ+++wzPPTQQygpKfH0eJWVlbjllltwxx13YPfu3fjhD3+IkpISfPbZZ9i8eTNmzJiBIUOGYMCAAbj55pthWRa6du2Kl19+GXPnzk17vETo9Jvf/AYTJ05Ehw4dMHjwYFRWVuL222/HrbfeilWrVuG73/0uDjjgAHz99dd477330LlzZ8yYMQPt2rXDHXfcgUmTJuHss8/GZZddhu3bt2P69OlCp/IvX74cp556Ks4//3yMHDkSFRUV2LZtG1599VU89thjGDVqVNre6nl5efjRj36EBx98EJZl4Ve/+lXWx9+9e3fKNjarVq3CSy+9hFdeeQUjR47EI4884ubpT3Httdfi+eefx4knnojrrrsOhx12GPbv34+amhq89dZbuP7663HsscfihBNOwEUXXYQ777wTX3/9NcaNG4e8vDx8+OGH6NSpE37yk59g8ODBuPzyy/Hggw+iXbt2OO2001BdXY1f/OIX6NOnD6677jrXx3fGGWfgkEMOwVFHHYXu3btjzZo1mDVrFvr164dvfetbALL//u22xsnJycGFF16Ip556CgMGDMDhhx+O9957L2Ngdv/99+P444/Hsccei5tvvhkDBw7E119/jTlz5uDRRx9FUVERDjnkEADAY489hqKiIuTn56OqqipjSHXKKafg1FNPxU033YT6+np8+9vfxscff4xp06Zh2LBhuOiii1w/T5l07NgRw4cPb3ntJBQWFuK+++7DpEmT8J3vfAeXXXYZysrKsGLFCnz00Ud46KGHADT/3T/66KO48MILcdlll2HLli245557sm7tkZubi1NOOQVTpkzB/v37cffdd6O+vh4zZszIeoyix5JJXV0dRo8ejQsuuABDhgxBUVERlixZgjfeeAPjx49PuW23bt1w1VVXoaamBoMGDcJrr72Gxx9/HFdddZXnN6CcnH/++fjTn/6EsWPH4n/+539wzDHHoEOHDvjqq68wb948nHnmmTj77LMD+d6A/7ooQuR5nTBhAn73u99h4sSJqK6uxqGHHop//vOf+OUvf4mxY8fiO9/5TtbHHzduHF544QVcffXVOPfcc7F27VrccccdqKiowJdffpn2886fPx8vv/wyKioqUFRUhMGDB+P222/H3LlzMWLECPz0pz/F4MGD8c0336C6uhqvvfYaHnnkEfTu3RsTJkzAAw88gAkTJuCuu+7Ct771Lbz22mt48803Pf4G3BF9nsaMGYMTTzwRN954I3bu3ImjjjoK//rXv/CHP/wh7TF/85vf4Pjjj8cJJ5yAq666CpWVldixYwdWrFiBl19+ueX6DCJ1FmjeZu29997zdNYUERER+aDmeqZEREQ0ceJEq3PnzimfGzlypHXwwQdnvH1jY6N14403Wn369LEKCgqskSNHWkuXLrX69etnTZw4seV2s2fPtgBYS5YsSbn/vHnzLADWvHnzUj7/v//7v9bRRx9t5efnW4WFhdawYcOs2bNnt3z9s88+s0455RSrqKjIOuCAA6zzzjvPqqmpsQBY06ZNS3msqVOnWj179rTatWuX9r1eeukla/To0VZxcbGVl5dn9evXzzr33HOtv//97ymP8cQTT1jf+ta3rI4dO1qDBg2ynnrqKWvixIlWv379bJ/Pbdu2WXfeead10kknWb169bI6duxode7c2Ro6dKh15513Wrt27cp4v48++sgCYOXm5lrr16/PeJuRI0daAFo+OnfubPXv398699xzrb/85S9WU1OT7bG1fpxsv9+Ghgbr5z//uTV48GCrY8eOVklJiXXooYda1113nVVbW9tyu6amJuuBBx6wDjnkkJbbDR8+3Hr55ZdTbnP33XdbgwYNsjp06GCVlpZaF154obV27Vqh42n7fN93333WiBEjrNLSUqtjx45W3759rUsvvdSqrq5OuV+233+/fv2s008/PePPXVdXZ02aNMkqKyuzOnfubJ1xxhlWdXV1xtfXZ599Zp133nlWt27dWo7j4osvtr755puW28yaNcuqqqqycnNzLQAtr+VMr6Hdu3dbN910k9WvXz+rQ4cOVkVFhXXVVVdZ27ZtS7ldtuMfOXKkNXLkyIw/V2tPPvlk1tfXa6+9Zo0cOdLq3Lmz1alTJ+uggw6y7r777pTbPPPMM9aBBx5o5efnWwcddJD13HPPpf08q1evtgBYd999tzVjxgyrd+/eVseOHa1hw4ZZb775ZsrjJWrE6tWrXR9LW99884115ZVXWocddphVXFxsFRQUWIMHD7amTZtm7dy5M+W5Ovjgg6358+dbRx11lJWXl2dVVFRYt9xyi7V3796Ux2z7u89UuzLVT8uyrGnTpllt/4mzd+9e695777UOP/zwljo3ZMgQ64orrrC+/PJL258v8b3avnYAWNdcc03abdvWY8vyXxez/ayW5e553bJli3XllVdaFRUVVvv27a1+/fpZU6dOTfn7yfYz/OpXv7IqKyutvLw868ADD7Qef/zxjM/10qVLrW9/+9tWp06dLAApfx+bNm2yfvrTn1pVVVVWhw4drK5du1pHHnmkdeutt1oNDQ0tt/vqq6+sc845xyosLLSKioqsc845x1q0aFHK33M22fpf4lg3bdqU8vlMz63o87R9+3brkksusbp06WJ16tTJOuWUU6zPP/88Y+1avXq1dckll1i9evWyOnToYHXv3t0aMWKEdeedd7bcRrTOvv322xYA6z//+Y/tc0FERERy5ViWzfmjRERERETkyzfffIO+ffvi+uuvx0033aT6cJQYNWoUNm/ejE8++UT1oUQKn9f4ueiii7Bq1Sr861//Un0oREREscI90YmIiIiIApSfn48ZM2bg/vvvx86dO1UfDhEZauXKlXjuuedw9913qz4UIiKi2OGe6EREREREAbv88suxfft2rFq1StpFK4koXmpqavDQQw+5vgA2ERER+cftXIiIiIiIiIiIiIiIsuB2LkREREREREREREREWTBEJyIiIiIiIiIiIiLKgiE6EREREREREREREVEWDNGJiIiIiIiIiIiIiLJgiE5ERERERERERERElAVDdCIiIiIiIiIiIiKiLBiiExERERERERERERFlwRCdiIiIiIiIiIiIiCgLhuhERERERERERERERFkwRCciIiIiIiIiIiIiyoIhOhERERERERERERFRFgzRiTxYtGgRpk+fju3bt4f62JWVlRg3bpz070lERO75rcmvvPIKJkyYgEMPPRQdOnRATk6OxKMjIqK2/NTt+vp63HXXXRg1ahTKy8tRWFiIQw89FHfffTe++eYbyUdKRESA/3n71ltvxbBhw9C1a1fk5+ejf//+uPzyy7FmzRqJR0lxwRCdyINFixZhxowZgYXoQT02ERHp48UXX8S7776Lgw46CIcffrjqwyEiIhs1NTWYNWsWjjjiCDz22GOYM2cOzj33XEyfPh3jxo2DZVmqD5GIiNrYvn07fvjDH+KZZ57BG2+8gRtuuAGvvPIK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xf = np.linspace(-2, 2, 256)\n", "yf = np.linspace(-2, 2, 256)\n", "Xf, Yf = np.meshgrid(xf, yf, indexing=\"ij\")\n", "truth = np.sin(Xf + Yf) + 0.2 * np.exp(-Xf**2 - Yf**2)\n", "vmax = float(np.max(np.abs(truth)))\n", "levels = np.linspace(-vmax, vmax, 21)\n", "\n", "fig, axes = plt.subplots(1, 4, figsize=(15, 4))\n", "axes[0].contourf(Xf, Yf, truth, levels=levels, cmap=\"RdBu_r\")\n", "axes[0].set_title(\"truth\")\n", "for ax_idx, r in enumerate((1, 2, 3), start=1):\n", " Us = [CubicSpline(x, U[:, k]) for k in range(r)]\n", " Vs = [CubicSpline(y, Vt[k, :]) for k in range(r)]\n", " recon = np.zeros_like(truth)\n", " for k in range(r):\n", " recon += s[k] * np.outer(Us[k](xf), Vs[k](yf))\n", " axes[ax_idx].contourf(Xf, Yf, recon, levels=levels, cmap=\"RdBu_r\")\n", " axes[ax_idx].set_title(f\"rank-{r}\")\n", "for ax in axes:\n", " ax.set_aspect(\"equal\")\n", " ax.set_xlabel(\"x\")\n", "axes[0].set_ylabel(\"y\")\n", "fig.suptitle(\"Truncated SVD reconstruction (cubic-spline-interpolated modes)\")\n", "fig.tight_layout()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "3cef64b3", "metadata": {}, "source": [ "## Continuous evaluation: 1D interpolation per mode\n", "\n", "The SVD gives us $U_r$, $\\Sigma_r$, $V_r$ — but only at the grid points. To evaluate at arbitrary $(x, y)$ we interpolate each truncated mode in 1D. Concretely, write the rank-$r$ approximation at off-grid $(x, y)$ as\n", "\n", "$$\n", "f_r(x, y) = \\sum_{k=1}^{r} \\sigma_k \\, u_k(x) \\, v_k(y),\n", "$$\n", "\n", "where $u_k(x)$ is some continuous interpolant of the discrete column $U_r[\\cdot, k]$ and similarly $v_k(y)$ for the column $V_r[\\cdot, k]$. The C++ implementation uses a cubic **Hermite** basis per mode: it reads four numbers per knot (two values and two slopes) and computes the cubic on the bracketing interval. The kernel lives in `include/CoolProp/svd/Hermite1D.h` and is shared across SVD modes, `CubicSplineCurve`, and any future Hermite-style client.\n", "\n", "The slopes (one per knot per mode) are precomputed at build time. Three strategies are available — selectable via the `SlopeSource` enum on `SVDBuildOptions`:\n", "\n", "- `NATURAL_CUBIC_SPLINE` (default): solve a tridiagonal system per mode for the slopes consistent with a $C^2$ natural cubic spline. Strictly $C^2$ continuous (the strongest smoothness any cubic Hermite scheme can give you) and analytically derived from the spline coefficients — no finite-difference approximation anywhere on the runtime path.\n", "- `HERMITE_FD`: central finite-difference slopes at every knot. Faster to build, only $C^1$ continuous, and quantitatively worse than the spline whenever the underlying function has zero second derivative at the boundary. Provided mostly for reproducibility with the proof-of-concept benchmark `dev/svd_bench.cpp`.\n", "- `PCHIP`: Fritsch–Carlson monotone cubic slopes; preserves monotonicity of the source data. Useful for surfaces where monotonicity along an axis is itself a constraint (rarely the case for property surfaces; here mostly for completeness).\n", "\n", "In every case the *evaluation kernel* is identical — a Hermite cubic fed two values and two slopes per mode per axis. The slope source only changes how those slopes were computed at build time.\n", "\n", "## Per-call cost of the hot path\n", "\n", "The runtime evaluator does this per call:\n", "\n", "```\n", "eval(x, y):\n", " i = binary_search(x_grid, x) // O(log NX)\n", " j = binary_search(y_grid, y) // O(log NY)\n", " (h00_x, h10_x, h01_x, h11_x) = hermite_basis((x - x[i]) / hx)\n", " (h00_y, h10_y, h01_y, h11_y) = hermite_basis((y - y[j]) / hy)\n", " acc = 0\n", " for k in 0..r-1:\n", " u_k = h00_x * U[i,k] + h10_x * hx * dU[i,k]\n", " + h01_x * U[i+1,k] + h11_x * hx * dU[i+1,k]\n", " v_k = h00_y * V_S[j,k] + h10_y * hy * dV[j,k]\n", " + h01_y * V_S[j+1,k] + h11_y * hy * dV[j+1,k]\n", " acc += u_k * v_k\n", " return exp(acc) if out_transform == EXP else acc\n", "```\n", "\n", "The constant $\\sigma_k$ is folded into $V_S$ via $V_S[j,k] = \\sigma_k V[j,k]$ so the inner product is a plain dot product with no extra multiplies. $V$ is stored **transposed** relative to the standard Eckart–Young layout: row $j$ of $V_S$ is a contiguous, unit-stride view of all the modes' values at $y_j$, which restores cache locality on the per-mode scan.\n", "\n", "On the development hardware (Apple M-series, clang 18, `-O2 -march=native`) at rank-20 the Catch2 benchmark in `src/Tests/CoolProp-Tests-SVDComponents.cpp` measures **~47 ns per call**, including both binary searches, both Hermite-basis evaluations, the rank-20 inner product, and the cache-warm grid access. This is roughly 4× faster than the BICUBIC backend on the same hardware, with about 10× less storage for typical fluid property tables.\n", "\n", "## What about the curved domain?\n", "\n", "The SVD lives on a rectangular grid in $(\\xi, \\eta) \\in [0,1]^2$. Thermodynamic property surfaces are not rectangular — the single-phase subcritical liquid region of water in $(h, p)$ space has the saturation dome as its upper boundary, the triple-point isotherm as its lower boundary, and is bounded laterally by the liquid-side max-temperature isotherm. Three of those four boundaries are curves, not lines.\n", "\n", "The `region` package turns a curved region into a rectangle. Given:\n", "\n", "- a *primary* axis variable $a$ (typically $\\log p$), mapped linearly or logarithmically into $\\xi \\in [0,1]$ via `AxisTransform`;\n", "- a *secondary* axis variable $b$ (typically $h$), bounded below by some $b_\\text{lo}(a)$ and above by some $b_\\text{hi}(a)$,\n", "\n", "the normalised coordinate\n", "\n", "$$\n", "\\eta(a, b) = \\frac{b - b_\\text{lo}(a)}{b_\\text{hi}(a) - b_\\text{lo}(a)}\n", "$$\n", "\n", "is by construction in $[0,1]$ whenever $(a, b)$ is inside the region, and the SVD lookup goes through unchanged.\n", "\n", "### A picture of the region mapping\n", "\n", "Suppose the lower boundary is a parabola $b_\\text{lo}(a) = 0.1 + 0.05 (a - 5)^2$ and the upper boundary is the linear ramp $b_\\text{hi}(a) = 0.8 + 0.02 a$, both over $a \\in [0, 10]$. The physical (a, b) box stretches and bends; the normalised $(\\xi, \\eta)$ box doesn't:" ] }, { "cell_type": "code", "execution_count": 5, "id": "ef91f4a2", "metadata": { "execution": { "iopub.execute_input": "2026-05-16T16:35:21.707890Z", "iopub.status.busy": "2026-05-16T16:35:21.707549Z", "iopub.status.idle": "2026-05-16T16:35:21.996584Z", "shell.execute_reply": "2026-05-16T16:35:21.996120Z" } }, "outputs": [ { "data": { "image/png": "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fvhhHBwc8PDw4PHHHycnJ6c6T2GdO3XqFCqViiVLlhiXHT58GJVKZXI/BzBy5Ei6dOlisiwtLa1a51Kd16GuXsvb9/nKK68AEBQUZCwT2L59e72dR0WuXbuGq6urSULhplv/vZmZmTF9+nQOHz5c4efKvHnz8PLyIjo6+o7H9Pf355NPPiEvL49vvvnmju1vd+t7feXKlahUKrZu3Vqu3VdffWX8XL2pus9TdT4Dq0OSCkI0oosXLwKUy0I+8cQTaDQafvrpJz788EO2b9/OI488Ylz//PPPc/369XJds06fPs22bdv44x//CMC+ffuYNGkSzZo14+eff2bdunW88cYb6PX6KuOKjY2la9euxMTE8M477/Drr78yZ84cdDodJSUlAGRlZQHw5ptvsm7dOubNm0ezZs2IiIgod6GornXr1tGvX79yN1OXLl2iZ8+efPXVV2zatIk33niD/fv306dPH0pLS2t1LIBjx47xwgsv8OKLL7JixQp69erF888/X+FNYEREBL/++iuKolRr32PHjqVFixYsWbLEmIx46qmneOGFFxg4cCArV67kyy+/5NSpU/Tq1Yu0tDTjtq+//jqvv/46Q4YMYdWqVTz99NM88cQTnD9//o7H3bFjB5GRkeTk5DB37lwWLVqEnZ0dI0aMMOned9Od3mtCiPufnZ0df/3rX9m4cSO//fZbpe1q+vlS0efgTRMnTqRDhw4sW7aMJ598kn/84x+8+OKLjB49mmHDhrFixQoiIyN59dVXWb58uXG75ORkXFxc+Pvf/86GDRv497//jbm5Od27d+fcuXM1PvepU6eycuVK3njjDTZt2sS3337LwIEDuXbtGnDjutq1a1dOnjzJJ598wtq1axk2bBjPPfccb7/9tsm+tm7dyqhRo7Czs+Pnn3/mo48+4pdffmHevHnVimX//v1cu3aN/v37l1vn5OTEkiVL+PHHH7l06RIFBQUmYy5U15EjR1CpVPzxj3+kefPm/PTTT8bX/p133jG28/T0JDQ0tNyX8qpU9HpX9/nbsGEDY8eOxcXFhcWLF/Phhx+yaNEivv/++2odu6bvzXHjxhEcHMyyZct47bXX+OmnnxqtzLFNmzZ4eXmZfInbsmULVlZWnD592pjs0ev17Nixg4EDB5psX51zqcn7GO7utbzdE088wZ/+9CcAli9fzr59+9i3bx+d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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def b_lo_fn(a):\n", " return 0.1 + 0.05 * (a - 5.0) ** 2\n", "\n", "def b_hi_fn(a):\n", " return 0.8 + 0.02 * a\n", "\n", "a_axis = np.linspace(0.0, 10.0, 200)\n", "b_lo_vals = b_lo_fn(a_axis)\n", "b_hi_vals = b_hi_fn(a_axis)\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(11, 4.5))\n", "\n", "# Physical (a, b) panel.\n", "axes[0].fill_between(a_axis, b_lo_vals, b_hi_vals, alpha=0.25, color=\"C0\",\n", " label=\"region\")\n", "axes[0].plot(a_axis, b_lo_vals, color=\"C0\", lw=2, label=r\"$b_{\\rm lo}(a)$\")\n", "axes[0].plot(a_axis, b_hi_vals, color=\"C3\", lw=2, label=r\"$b_{\\rm hi}(a)$\")\n", "# Sample a few (xi, eta) gridlines and map them to (a, b).\n", "for xi in np.linspace(0.0, 1.0, 6):\n", " a = 10.0 * xi\n", " axes[0].plot([a, a], [b_lo_fn(a), b_hi_fn(a)], color=\"k\", lw=0.5, alpha=0.6)\n", "for eta in np.linspace(0.0, 1.0, 6):\n", " bs = b_lo_vals + eta * (b_hi_vals - b_lo_vals)\n", " axes[0].plot(a_axis, bs, color=\"k\", lw=0.5, alpha=0.6)\n", "axes[0].set_xlabel(\"a (primary axis)\")\n", "axes[0].set_ylabel(\"b (secondary axis)\")\n", "axes[0].set_title(\"Physical (a, b) region\")\n", "axes[0].legend(loc=\"upper right\", fontsize=9)\n", "\n", "# Normalised (xi, eta) panel.\n", "axes[1].fill_between([0.0, 1.0], 0.0, 1.0, alpha=0.25, color=\"C0\")\n", "for xi in np.linspace(0.0, 1.0, 6):\n", " axes[1].plot([xi, xi], [0, 1], color=\"k\", lw=0.5, alpha=0.6)\n", "for eta in np.linspace(0.0, 1.0, 6):\n", " axes[1].plot([0, 1], [eta, eta], color=\"k\", lw=0.5, alpha=0.6)\n", "axes[1].plot([0, 1, 1, 0, 0], [0, 0, 1, 1, 0], color=\"C0\", lw=2)\n", "axes[1].plot([0, 1], [0, 0], color=\"C0\", lw=2, label=r\"$\\eta = 0$ (= $b_{\\rm lo}$)\")\n", "axes[1].plot([0, 1], [1, 1], color=\"C3\", lw=2, label=r\"$\\eta = 1$ (= $b_{\\rm hi}$)\")\n", "axes[1].set_xlabel(r\"$\\xi$\")\n", "axes[1].set_ylabel(r\"$\\eta$\")\n", "axes[1].set_title(r\"Normalised $(\\xi, \\eta)$ region — where the SVD lives\")\n", "axes[1].legend(loc=\"lower right\", fontsize=9)\n", "axes[1].set_aspect(\"equal\")\n", "fig.tight_layout()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "897d60ca", "metadata": {}, "source": [ "`BoundaryCurve` is an abstract interface (header `include/CoolProp/region/BoundaryCurve.h`) with three plug-in implementations shipped:\n", "\n", "- `PiecewiseChebyshevCurve`: N pieces of a degree-D Chebyshev expansion on the primary axis (linear or log primary). Derivative is analytic via the standard Chebyshev coefficient recurrence — there is no finite-difference shim at runtime.\n", "- `CubicSplineCurve`: natural cubic spline through a user-supplied set of $(a_i, b_i)$ knots. Derivative is the piecewise quadratic obtained directly from the spline coefficients — analytic, again.\n", "- `ConstantCurve`: trivial fixed-$b$ ceiling or floor.\n", "\n", "Any future representation (rational functions, monotone splines, NURBS, …) plugs in by implementing the same three methods (`eval`, `eval_da`, `bounds`) — no change to `Region` or `RegionAtlas` needed.\n", "\n", "## Region dispatch: AABB first, then the curved envelope\n", "\n", "When more than one region is in play (typical: a LIQUID + VAPOR + SUPER atlas for a pure fluid), a query $(a, b)$ has to decide *which region it belongs to*. `RegionAtlas::find_region` does this in two passes:\n", "\n", "1. **Axis-aligned bounding box (AABB) filter.** Each `Region` carries a precomputed $(a_\\text{lo}, a_\\text{hi}, b_\\text{min}, b_\\text{max})$ AABB — the smallest axis-aligned rectangle that contains the curved region. The first pass scans these AABBs (four comparisons per region, cache-friendly SoA layout, no virtual calls) and skips any region whose AABB fails.\n", "\n", "2. **Boundary-curve confirmation.** Each AABB hit triggers a call to the region's `curve_contains`, which evaluates the two boundary curves at $a$ and checks $b \\in [b_\\text{lo}(a), b_\\text{hi}(a)]$. The first region to pass both filters wins.\n", "\n", "This matters because adjacent regions in property space typically have **overlapping AABBs but disjoint curved interiors** — the bounding box of LIQUID and the bounding box of VAPOR both span the entire range of $(h, p)$ over the subcritical pressure interval, but their saturation-dome-aligned curved interiors are disjoint. The AABB filter is therefore an essential first cut that the curve filter sharpens.\n", "\n", "The Catch2 benchmark on the same development hardware for the two-region test atlas splits the cost by scenario, since the two passes have very different characteristics:\n", "\n", "| Scenario | Time | Per-call work |\n", "| --- | --- | --- |\n", "| atlas-miss (AABB filter only) | **3.6 ns** | 2 AABB checks, no curve calls |\n", "| first-region hit | **11.6 ns** | 1 AABB + 1 `curve_contains` (~2 Chebyshev Clenshaws) |\n", "| last-region hit | **20.7 ns** | 2 AABBs + 2 `curve_contains` (~4 Chebyshev Clenshaws) |\n", "\n", "So the AABB pre-filter is ~4 ns per call and each `curve_contains` adds roughly 8 ns. Region dispatch is comfortably faster than the SVD eval itself even in the worst case, so the dispatch overhead is essentially free at the calling-code level.\n", "\n", "## What this code does NOT do\n", "\n", "Out of scope, with the door deliberately left ajar for future work:\n", "\n", "- **3D tensor decompositions** (CP, Tucker, HOSVD): future work for ternary mixtures or property functions of three thermodynamic variables. The 2D rectangle problem already covers all of Helmholtz-of-pure-fluid territory.\n", "- **Adaptive rank per cell**: the SVD is computed once globally per region per property. No piecewise rank refinement; if you need more accuracy in a sub-region, you split the region into smaller ones at build time and give each its own SVD.\n", "- **Nonlinear manifold learning** (autoencoders, GP regression, diffusion maps): beyond the scope of an evaluator that must hit ~50 ns per call. The SVD's value is that it composes with the region machinery into a fully analytic, no-iteration lookup.\n", "- **GPU evaluation**: the data layout (transposed $V_S$, $\\sigma_k$ folded in, slopes co-located, POD struct) is GPU-friendly and the decomposition footprint per region per property fits in shared memory, but no CUDA / SYCL kernel is shipped yet. The path of least resistance for the future is a batched `PropsSI_batched(arr_x, arr_y, …)` API — single-query scalar lookups stay CPU-bound because PCIe latency is about 50× the CPU per-call cost.\n", "\n", "## References\n", "\n", "- Eckart, C. and Young, G. (1936). *The approximation of one matrix by another of lower rank.* Psychometrika 1, 211–218.\n", "- Trefethen, L. N. and Bau, D. III (1997). *Numerical Linear Algebra.* SIAM. Chapters 4, 5, 31.\n", "- Fritsch, F. N. and Carlson, R. E. (1980). *Monotone piecewise cubic interpolation.* SIAM Journal on Numerical Analysis 17(2): 238–246.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }