SabaPivot's picture
download
raw
59.4 kB
<!DOCTYPE html>
<!--
Vendored + adapted into posterly from ARIS (Auto-claude-code-research-in-sleep),
skill paper-poster-html. Origin: https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep
Upstream tokenization: MIT (c) 2026 wanshuiyin -- ../LICENSES/aris-MIT.txt
This is the tokenized form of posterly's own neutral template; the class names and
content are posterly's own (c) 2026 Ruishuo Chen. As an adapted derivative this file
ships as part of posterly under AGPL-3.0. See ../NOTICE.md.
-->
<!--
============================================================
TEMPLATE: landscape_4col (ARIS fork)
CANVAS: 60in × 36in landscape (ICML / NeurIPS / generic landscape)
LAYOUT: header → optional banner → 4 body columns → optional takeaways → footer
USE WHEN: standard ML conference poster with 3-5 content cards per column,
mix of figures + equations + small tables.
HOW TO USE:
1. Copy this file to your working directory as `poster.html`.
2. Edit the DESIGN TOKENS in `:root` to your lab/venue colors.
3. Replace TODO content placeholders (search for "TODO").
4. Run `python tools/run_gates.py poster.html --tokens design_tokens.json` (the default driver: preflight -> style -> measure -> polish; design_tokens.json is the design-direction pack written at lock time -- SKILL.md Step 2.5) to align columns and check style/structure.
5. Run `python tools/render_preview.py poster.html` to produce the PDF.
NOTE: as shipped, this scaffold passes `preflight` (structure) but is
EXPECTED to FAIL `measure`/`polish` -- figures are commented out and copy
is TODO stubs, so columns only fill the top of the canvas. Those two gates
judge a FILLED poster; balance them once you've added real content. See
templates/README.md ("Scaffolds, not finished posters").
MEASURE ROLES: every layout-critical element carries `data-measure-role`.
Generic measurement scripts depend on these — do not remove.
CANVAS RETARGETING: to print at another size, change the canvas in exactly
TWO places that must stay in sync -- the `@page { size: ... }` rule and the
`.poster { width/height }` (also the `@media print .poster { width/height }`).
Example: ICLR 2026 main conference uses 185cm 90cm landscape (official print
service spec) -- set @page to `185cm 90cm`, width to `1850 * var(--u)` and
height to `900 * var(--u)` (and the print-override .poster to `185cm`/`90cm`).
Adapted from posterly (MIT, © 2026 Ruishuo Chen) — see LICENSES/ & NOTICE.md;
ARIS modifications: flat de-gradient, --fs token scale, zero-inline-style
utilities, data-source/data-color-exempt contracts.
============================================================
-->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Reproducing: Dimension-Independent Convergence of Underdamped Langevin Monte Carlo in KL Divergence — ICML 2026</title>
<!-- MathJax v3 for inline equations. CDN by default when the file is
opened by hand; the posterly check tools (measure/polish/pack/…)
intercept this request and serve the skill's bundled copy
(assets/mathjax/tex-svg.js, MathJax 3.2.2), so gates render math
deterministically even offline. To make a hand-opened poster
offline too, copy that bundle next to the poster and point the
<script> `src` at it. -->
<script>
window.MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
displayMath: [['$$', '$$'], ['\\[', '\\]']],
packages: {'[+]': ['ams']}
},
svg: { fontCache: 'global' }
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
<style>
/* =========================================================
CANVAS — 60" × 36" landscape
========================================================= */
@page { size: 60in 36in; margin: 0; }
:root {
/* ===== DESIGN TOKENS ===== */
/* Primary accent (header underline, card-highlight bar, section nums, .keyword) */
--accent: #0F766E; /* sampler teal; white ink on it measures 5.45:1 (>= AA) */
--accent-deep: #134E4A;
--accent-light: #E2F3F1;
--accent-soft: #A9D8D3;
--accent-ink: #FFFFFF; /* ink ON the accent (chips, callout, thead) */
/* Emphasis register for "ours / best" (table .ours row, "★" callouts).
Default is the warm gold; a redesign may choose any register that
keeps 4.5:1 with --emph-ink (see templates/THEMES.md Mechanism 1). */
--emph: #C9A24A;
--emph-soft: #FFF7E0;
--emph-ink: #14314A; /* ink ON the emphasis fill. NOT var(--accent-deep):
#1F4566 on the default gold measures 4.16:1 (< AA);
#14314A measures 5.58:1 (>= 4.5:1). */
/* Text */
--text-primary: #1A1A1A;
--text-secondary: #555555;
--text-muted: #888888;
/* Backgrounds */
--bg-page: #F5F6F9;
--bg-card: #FFFFFF;
--bg-card-tint: #FAFAFB;
--bg-emphasis: var(--accent-light);
/* Borders */
--border-soft: #D8D8D8;
--border-strong: var(--accent);
/* Screen-only dark mat behind the poster (the off-canvas viewport
background). Print resets html/body to white, so this never reaches
paper; kept as a token so no color literal lives outside this block. */
--bg-viewport: #2B2B2B;
/* Base unit. Print: 1mm; screen preview: 1.6px (~3.78px = 1mm at 96dpi). */
--u: 1.6px;
/* Font-size scale (9 archetypes). Every `font-size` in this template
references one of these. `calc(var(--fs-N) * k)` is permitted ONLY for
a COMPONENTS.md-defined variant (e.g. `.eqn--large`). */
--fs-1: calc(9 * var(--u)); /* micro label */
--fs-2: calc(10 * var(--u)); /* small caption */
--fs-3: calc(11 * var(--u)); /* caption / table */
--fs-4: calc(12 * var(--u)); /* body text */
--fs-5: calc(13 * var(--u)); /* equation / emphasis */
--fs-6: calc(15 * var(--u)); /* subtitle */
--fs-7: calc(16 * var(--u)); /* section title */
--fs-8: calc(22 * var(--u)); /* banner number */
--fs-9: calc(32 * var(--u)); /* main title */
/* Fonts. Override at :root if your venue mandates a specific family. */
--font-serif: "Charter", "Source Serif Pro", "Georgia", serif;
--font-sans: "Inter", "Helvetica Neue", sans-serif;
/* Shadows & watermark ink — tokenized so rules 1/3 stay literal-free
(the faint radial page tint is the ONE allowed literal outside this
block; rule 5 validates it WHEN ENABLED -- the style gate ships with rules 4-5 off). */
--shadow-screen: 0 0 60px rgba(0, 0, 0, 0.5);
--shadow-card: 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(29, 78, 216, 0.05);
--ornament-ink: rgba(29, 78, 216, 0.06);
/* Corner-radius scale. Every border-radius calc() multiplies by this;
1 = the shipped soft look, 0 = square/flat (see templates/THEMES.md). */
--rs: 1;
/* Figure mount: the ground behind paper figures (transparent PNGs sit on
it) and the keyline around them (.figure img / .ff-fig img). Re-theme
with the Axis 6 frame decision so figures sit mounted in the design
instead of pasted on it; --fig-frame: transparent = frameless mount.
QR backgrounds stay literal white -- that's scannability, not styling. */
--fig-bg: white;
--fig-frame: var(--border-soft);
/* ===== END DESIGN TOKENS ===== */
}
/* =========================================================
RESET + BASE
========================================================= */
* { box-sizing: border-box; margin: 0; padding: 0; }
/* =========================================================
BASE DEFENSES -- wrap & ink safety. KEEP this block in ANY
skeleton, including a fully custom one (copy it over and
EXTEND the selector lists with your own prose/display
classes -- a hand-rolled skeleton that drops it strands
single-word widows and ragged titles; polish warns as
TEXT-WRAP).
- pretty: fills each line, protects the last-line orphan
(single-word widow). Safe on all prose.
- balance: evens CENTERED display text only -- never pair
it with left-aligned multi-sentence prose (SKILL.md wrap
rules).
- Any inline class you add that paints a background (a
.mark highlight, a keyword chip) must declare its own
`color` (Gate G -- never inherit ink across a ground
change) plus `box-decoration-break: clone;
-webkit-box-decoration-break: clone;` so a wrapped
highlight keeps its padding on both fragments (then it
never needs &nbsp;-gluing to hold one line).
========================================================= */
p, li, dd, figcaption,
.body-text, .caption, .callout, .section-title { text-wrap: pretty; }
.title { text-wrap: balance; }
html, body {
background: var(--bg-viewport);
font-family: var(--font-serif);
color: var(--text-primary);
-webkit-font-smoothing: antialiased;
}
/* =========================================================
UTILITY CLASSES — replace inline `style=` in the body markup.
The template (and any finished poster) must carry ZERO `style=`
attributes. Use these classes instead. Two documented exceptions
exist ONLY as examples and may appear in comments, never live:
- a logo/seal SVG flagged data-color-exempt="logo"
- a paper figure `<img ... data-source="paper" style="width: NN%">`
(AR width tweak; prefer the .w-NN classes below where possible)
========================================================= */
/* Poster container — exact print dimensions; data-measure-role="poster" so poster_check.py
can verify the canvas size. */
.poster {
width: calc(1524 * var(--u));
height: calc(914 * var(--u));
background: var(--bg-page);
/* Page tint kept (radial only, all color stops alpha <= 0.06 per the
de-gradient policy: linear-gradient is banned, this low-alpha radial
wash is the single allowed exception). */
background-image:
radial-gradient(ellipse at top left, rgba(29, 78, 216, 0.06), transparent 40%),
radial-gradient(ellipse at bottom right, rgba(201, 162, 74, 0.05), transparent 50%);
margin: 20px auto;
padding: calc(10 * var(--u)) calc(14 * var(--u));
display: grid;
grid-template-columns: minmax(0, 1fr); /* column-axis twin of the minmax(0,1fr) body-row defense: without it the implicit `auto` column grows to a wide child's max-content and a full-width row overflows the canvas (measure's canvas-overflow gate). Keep on any custom skeleton. */
grid-template-rows: auto auto minmax(0, 1fr) auto; /* header | banner | body | footer. minmax(0,1fr) (not bare 1fr): an over-tall body compresses instead of pushing footer off-canvas */
gap: calc(6 * var(--u));
box-shadow: var(--shadow-screen);
position: relative;
overflow: hidden;
}
/* Decorative top bar — flat solid accent (de-gradient). */
.poster::before {
content: "";
position: absolute; top: 0; left: 0; right: 0;
height: calc(8 * var(--u));
background: var(--accent);
}
/* =========================================================
HEADER
========================================================= */
.header {
display: grid;
grid-template-columns: 1fr minmax(50%, auto) 1fr; /* equal side tracks (1fr) -> the title track is centred on the poster, not just between the side blocks; the centre track is floored at 50% so a one-line title still fills it (else a short title measures narrow and trips a false HEADER/TITLE-SQUEEZED). Best-effort: a side block wide enough to clamp its 1fr track can still pull the title off-centre. */
align-items: center;
gap: calc(16 * var(--u));
padding: calc(2 * var(--u)) calc(4 * var(--u)) calc(5 * var(--u));
border-bottom: calc(2 * var(--u)) solid var(--accent);
}
.venue-badge {
justify-self: start; /* anchor to the far-left margin so the centre track stays centred */
display: flex; flex-direction: column;
align-items: center; justify-content: center;
min-width: calc(95 * var(--u));
text-align: center;
border-right: calc(1 * var(--u)) solid var(--border-soft);
padding-right: calc(12 * var(--u));
}
.venue-badge .vb-venue {
font-family: var(--font-sans);
font-weight: 800;
font-size: var(--fs-9);
color: var(--accent-deep);
line-height: 1;
letter-spacing: -0.5px;
}
.venue-badge .vb-year {
font-family: var(--font-sans);
font-size: var(--fs-5);
color: var(--text-secondary);
margin-top: calc(3 * var(--u));
letter-spacing: 1.2px;
}
.venue-badge .vb-tag {
font-family: var(--font-sans);
font-size: var(--fs-2);
color: var(--accent);
font-weight: 700;
margin-top: calc(2 * var(--u));
letter-spacing: 1.2px;
}
.title-block { text-align: center; min-width: 0; }
.title {
font-family: var(--font-sans);
font-weight: 800;
font-size: var(--fs-9);
line-height: 1.05;
color: var(--accent-deep);
letter-spacing: -0.5px;
}
.title .accent { color: var(--accent); }
.subtitle {
font-family: var(--font-sans);
font-weight: 500;
font-size: var(--fs-6);
color: var(--text-secondary);
margin-top: calc(2 * var(--u));
font-style: italic;
}
.authors-line {
font-family: var(--font-sans);
font-size: var(--fs-4);
color: var(--accent);
font-weight: 600;
margin-top: calc(3 * var(--u));
}
.authors-line .author { margin: 0 calc(4 * var(--u)); }
.authors-line sup { font-size: 0.7em; color: var(--accent); }
.authors-line .aff {
color: var(--text-secondary);
font-weight: 400;
display: block;
margin-top: calc(2 * var(--u));
font-size: var(--fs-4);
}
.right-block {
justify-self: end; /* keep logo+QR in the far-right corner */
display: flex; align-items: center;
gap: calc(10 * var(--u));
}
.qr-block { display: flex; flex-direction: column; align-items: center; gap: calc(2 * var(--u)); }
.qr-block img {
width: calc(85 * var(--u));
height: calc(85 * var(--u));
border: calc(2 * var(--u)) solid var(--accent);
border-radius: calc(4 * var(--u) * var(--rs));
background: white;
padding: calc(2 * var(--u));
}
.qr-label {
font-family: var(--font-sans);
font-size: var(--fs-3);
color: var(--accent);
font-weight: 600;
}
/* Optional logo slot — drop your lab logo here. Keep its rendered height
close to the QR (~85u) so the header doesn't grow disproportionately.
A raster logo needs no exemption. An inline-SVG logo with brand colors
must carry data-color-exempt="logo" so style_check skips its fills, e.g.:
<svg data-color-exempt="logo" ...> ... </svg> */
.logo-slot img { height: calc(85 * var(--u)); width: auto; max-width: calc(360 * var(--u)); object-fit: contain; display: block; }
/* Logo size classes on .logo-slot -- pick from the file's aspect ratio (SKILL.md Gate E).
tall/square sit at the QR-matched slot height; wide is intentionally shorter (~68% of the
QR) and width-capped so a long wordmark doesn't out-mass the title. Do NOT combine these
with logo-stack (that row is width-normalized, below). */
.logo-slot.logo-tall img,
.logo-slot.logo-square img { height: calc(85 * var(--u)); }
.logo-slot.logo-wide img { height: calc(58 * var(--u)); max-width: calc(300 * var(--u)); }
/* Logo chip: a solid backing that keeps a transparent / white-bordered logo legible on a
colored/dark header (white chip) or a light header (.logo-chip-dark); the padding + radius
fold a stray white box into a deliberate rounded tile (SKILL.md Gate E, Background). */
.logo-chip {
display: inline-flex; align-items: center; justify-content: center;
background: var(--bg-card); border-radius: calc(3 * var(--u) * var(--rs));
padding: calc(3 * var(--u)) calc(5 * var(--u));
}
.logo-chip.logo-chip-dark { background: var(--text-primary); }
/* logo-row: institution logos in the header right block (REAL logos the
user provided — never fabricate a seal). Each img MUST carry
data-color-exempt="logo"; height pairs with the QR. */
.logo-row { display: flex; align-items: center; gap: calc(5 * var(--u)); }
.logo-row img { height: calc(68 * var(--u)); width: auto; display: block; }
/* --boxed variant: each logo in a labeled tile (logo + institution name) —
more presence at poster distance; white tile + soft border, no new hues. */
.logo-row .lr-item {
display: flex; flex-direction: column; align-items: center;
gap: calc(2 * var(--u));
background: var(--bg-card);
border: 1px solid var(--border-soft);
border-radius: calc(3 * var(--u) * var(--rs));
padding: calc(4 * var(--u)) calc(6 * var(--u));
}
.logo-row .lr-item img { height: calc(58 * var(--u)); }
.logo-row .lr-label {
font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-1);
color: var(--text-secondary); text-align: center; line-height: 1.15;
}
/* logo-stack variant: WIDE WORDMARKS (AR >= ~2) normalized to EQUAL WIDTH
and stacked vertically, left-aligned. Use when two wide wordmarks of
different aspect ratio read unbalanced height-matched in a row (equal
width lets the less-wide mark grow taller and aligns a clean block).
NOT for a square seal or tall mark (equal width blows it up — keep those
height-matched). Do NOT also apply the logo-wide/tall/square classes. */
.logo-row.logo-stack { flex-direction: column; align-items: flex-start; gap: calc(8 * var(--u)); }
.logo-row.logo-stack img { width: calc(170 * var(--u)); height: auto; }
/* venue badge may carry the official venue logo above its text line */
.venue-badge img { height: calc(62 * var(--u)); width: auto; display: block; margin: 0 auto calc(2 * var(--u)); }
.venue-badge .vb-title { font-family: var(--font-sans); font-weight: 800; font-size: var(--fs-5); color: var(--accent-deep); letter-spacing: 0.5px; }
/* =========================================================
OPTIONAL FRAMEWORK BANNER (delete this whole section if you don't need it)
========================================================= */
.framework-banner {
display: flex;
align-items: center;
gap: calc(16 * var(--u));
/* Flat solid emphasis fill (de-gradient). */
background: var(--bg-emphasis);
border: calc(1 * var(--u)) solid var(--border-soft);
border-left: calc(6 * var(--u)) solid var(--accent);
border-radius: calc(6 * var(--u) * var(--rs));
padding: calc(6 * var(--u)) calc(14 * var(--u));
}
.framework-banner img { height: calc(120 * var(--u)); width: auto; display: block; }
.framework-banner .banner-stats {
flex: 1;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: calc(6 * var(--u));
}
.framework-banner .bs-item {
background: white;
border: calc(1 * var(--u)) solid var(--border-soft);
border-left: calc(3 * var(--u)) solid var(--accent);
border-radius: calc(3 * var(--u) * var(--rs));
padding: calc(2 * var(--u)) calc(8 * var(--u));
text-align: center;
}
.framework-banner .bs-num {
font-family: var(--font-sans);
font-weight: 800;
font-size: var(--fs-8);
color: var(--accent);
line-height: 1;
}
.framework-banner .bs-label {
font-family: var(--font-sans);
font-size: var(--fs-3);
color: var(--text-secondary);
margin-top: calc(2 * var(--u));
line-height: 1.2;
}
.framework-banner .fb-text {
flex: 1.6;
font-family: var(--font-serif);
font-size: var(--fs-6);
line-height: 1.5;
text-wrap: balance; /* centered banner headline: even the two lines so neither widows (Gate B) */
text-align: center;
}
.framework-banner .fb-text strong { color: var(--accent-deep); }
.framework-banner .fb-label {
display: inline-block;
background: var(--accent);
color: var(--accent-ink);
font-family: var(--font-sans);
font-size: var(--fs-5);
font-weight: 700;
padding: calc(2 * var(--u)) calc(8 * var(--u));
border-radius: calc(4 * var(--u) * var(--rs));
text-transform: uppercase;
letter-spacing: 1px;
vertical-align: middle;
line-height: 1;
position: relative;
top: calc(-1 * var(--u));
}
/* Method-overview figure for the banner (banner-figure component,
catalogued in COMPONENTS.md). Usually CAPTIONLESS -- the banner text
block beside it is the figure's explanation. width:min-content collapses
the slot to the IMAGE (a captionless figure's slot IS the image); if a
short caption is used it wraps at the image box and can NEVER set the
flex-item width; margin-inline centres a block image (text-align does
not); overflow-wrap guards a long unbreakable token. Do NOT hand-roll a
.fb-fig wrapper or a bare <img class="w-100"> here. */
.framework-banner .banner-figure {
flex: 0 0 auto;
width: min-content;
margin: 0;
text-align: center;
}
.framework-banner .banner-figure img {
height: calc(120 * var(--u));
width: auto;
display: block;
margin-inline: auto;
}
.framework-banner .banner-figure figcaption {
width: 100%;
margin-top: calc(2 * var(--u));
font-family: var(--font-sans);
font-size: var(--fs-2);
line-height: 1.2;
color: var(--text-secondary);
text-align: center;
text-wrap: pretty;
overflow-wrap: anywhere;
}
.framework-banner .banner-figure figcaption strong { color: var(--accent-deep); }
/* =========================================================
BODY: 4 columns, variable-width hint via fr values
========================================================= */
.body-grid {
display: grid;
grid-template-columns: 1fr 1.05fr 1.05fr 1fr;
gap: calc(10 * var(--u));
/* No overflow:hidden here — it would clip card shadows (pitfall #6).
.poster already clips at the page boundary; min-height:0 is the
grid-blowout guard. */
min-height: 0;
}
.column {
display: flex; flex-direction: column;
gap: calc(6 * var(--u));
min-height: 0;
height: 100%;
padding-bottom: calc(4 * var(--u)); /* shadow breathing room above takeaways */
}
/* =========================================================
CARDS
========================================================= */
.card {
background: var(--bg-card);
border-radius: calc(5 * var(--u) * var(--rs));
padding: calc(4 * var(--u)) calc(9 * var(--u));
border: calc(1 * var(--u)) solid var(--border-soft);
box-shadow: var(--shadow-card);
position: relative;
}
.card.tinted { background: var(--bg-card-tint); }
.card.card--compact { padding: calc(3 * var(--u)) calc(6 * var(--u)); } /* predefined variant: tighter padding (fix (f)) */
.card.highlight {
border-left: calc(6 * var(--u)) solid var(--accent);
/* Flat emphasis tint (de-gradient). */
background: var(--bg-emphasis);
}
.section-title {
font-family: var(--font-sans);
font-weight: 700;
font-size: var(--fs-7);
color: var(--accent-deep);
margin-bottom: calc(3 * var(--u));
display: flex; align-items: center;
gap: calc(5 * var(--u));
}
/* Title text + any ★ marker share ONE .st-text span, so the heading wraps as
natural text (hanging indent) instead of flex-wrapping atomic items: the
number badge is never stranded on its own line and the ★ never widows. */
.section-title .st-text { flex: 1; min-width: 0; line-height: 1.18; }
/* Graceful fallback if a title is NOT wrapped in .st-text: float the badge so
bare inline text still wraps beside it rather than dropping below it. */
.section-title:not(:has(.st-text)) { display: block; line-height: 1.18; }
.section-title:not(:has(.st-text)) .num { float: left; margin-right: calc(5 * var(--u)); }
.section-title .num {
display: inline-flex; align-items: center; justify-content: center;
width: calc(22 * var(--u)); height: calc(22 * var(--u));
background: var(--accent); color: var(--accent-ink);
border-radius: 50%;
font-size: var(--fs-5); font-weight: 700;
flex-shrink: 0;
}
/* Inline "★ KEY" / "★ Headline" marker beside a section title. */
.section-title .key-mark { color: var(--emph); font-size: var(--fs-3); }
.body-text, .card p, .card li {
font-family: var(--font-serif);
font-size: var(--fs-4);
line-height: 1.3;
color: var(--text-primary);
}
.card ul, .card ol { padding-left: calc(18 * var(--u)); }
.card li { margin-bottom: calc(2 * var(--u)); }
.keyword { color: var(--accent); font-weight: 700; }
.keyword-emph { color: var(--emph); font-weight: 700; }
.highlight-text {
background: var(--bg-emphasis);
padding: 0 calc(3 * var(--u));
border-radius: calc(2 * var(--u) * var(--rs));
}
/* Equation block */
.eqn {
background: var(--bg-emphasis);
border-left: calc(3 * var(--u)) solid var(--accent);
padding: calc(4 * var(--u)) calc(10 * var(--u));
margin: calc(4 * var(--u)) 0;
font-size: var(--fs-5);
overflow-x: hidden;
}
/* Predefined variant for a larger / more legible display equation.
`calc(var(--fs-N) * k)` is allowed here because this is a
COMPONENTS.md-registered variant (DESIGN_FINAL §A / §10 f). */
.eqn--large { font-size: calc(var(--fs-5) * 1.25); }
.eqn .label {
display: block;
font-family: var(--font-sans);
font-size: var(--fs-2);
color: var(--accent);
font-weight: 600;
margin-bottom: calc(2 * var(--u));
text-transform: uppercase;
letter-spacing: 1px;
}
/* Callout: solid accent for primary, solid emphasis fill for theorems / "★ key" strips */
.callout {
background: var(--accent);
color: var(--accent-ink);
padding: calc(5 * var(--u)) calc(10 * var(--u));
border-radius: calc(4 * var(--u) * var(--rs));
font-size: var(--fs-4);
margin: calc(4 * var(--u)) 0;
}
.callout strong { color: var(--emph-soft); }
/* Flat solid emphasis fill (de-gradient). */
.callout.emph {
background: var(--emph);
color: var(--emph-ink); /* route through the token — accent-deep here would dodge the register swap AND fail AA on the default gold */
}
.callout.emph strong { color: var(--emph-ink); }
/* Figure container */
.figure { margin: calc(4 * var(--u)) 0; text-align: center; }
.figure img:not([class*="w-"]) { width: 100%; }
.figure--wide img { width: 100%; } /* predefined variant: force full card width over any .w-NN (fix (f)) */
.figure img {
border-radius: calc(4 * var(--u) * var(--rs));
border: calc(1 * var(--u)) solid var(--fig-frame);
background: var(--fig-bg);
}
.figure .caption {
font-family: var(--font-sans);
font-size: var(--fs-3);
color: var(--text-secondary);
margin-top: calc(3 * var(--u));
line-height: 1.3;
text-align: left;
}
.figure .caption strong { color: var(--accent-deep); }
/* Float a figure BESIDE text in a TEXT-RICH card: text wraps to its side
and then below it. The clearfix grows the card to contain the float;
mark the <img> data-fig-layout="beside-text" so the AR gates honour the
intentionally small width. Use ONLY when there is enough text to fill the
figure's height -- a text-sparse card should center .figure instead. A
short-text float leaves an L-shaped void below the text, which polish's
FIG/BESIDE-TEXT-VOID flags. */
.fig-wrap::after { content: ""; display: table; clear: both; }
.ff-fig {
float: right;
width: 48%; max-width: 58%; min-width: 38%;
margin: calc(1 * var(--u)) 0 calc(3 * var(--u)) calc(11 * var(--u));
text-align: center;
}
.ff-fig.left {
float: left;
margin: calc(1 * var(--u)) calc(11 * var(--u)) calc(3 * var(--u)) 0;
}
.ff-fig img {
display: block;
width: 100%;
border-radius: calc(4 * var(--u) * var(--rs));
border: calc(1 * var(--u)) solid var(--fig-frame);
background: var(--fig-bg);
}
.ff-fig .caption {
font-family: var(--font-sans);
font-size: var(--fs-3);
color: var(--text-secondary);
margin-top: calc(3 * var(--u));
line-height: 1.3;
text-align: center;
}
/* Result table with .ours row highlighted with the emphasis tint */
.result-table {
width: 100%;
border-collapse: collapse;
font-family: var(--font-sans);
font-size: var(--fs-3);
margin-top: calc(3 * var(--u));
}
.result-table th, .result-table td {
padding: calc(2 * var(--u)) calc(4 * var(--u));
text-align: center;
border-bottom: calc(1 * var(--u)) solid var(--border-soft);
}
.result-table thead th {
background: var(--accent); color: var(--accent-ink);
font-weight: 600; font-size: var(--fs-2);
}
.result-table tbody tr.group-row td {
background: var(--bg-emphasis); font-weight: 700;
text-align: left;
color: var(--accent-deep);
padding-left: calc(8 * var(--u));
border-bottom: calc(2 * var(--u)) solid var(--accent);
}
.result-table tbody tr.ours td { background: var(--emph-soft); font-weight: 700; }
.result-table tbody tr.ours td:first-child { color: var(--accent-deep); }
/* Greyed reference row (was inline color:#888). */
.result-table tbody tr.reference td { color: var(--text-muted); }
.result-table .method { text-align: left; padding-left: calc(8 * var(--u)); }
.result-table .best { color: var(--accent); font-weight: 700; }
/* 3-up stat box */
.keybox {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: calc(4 * var(--u));
margin: calc(4 * var(--u)) 0 0;
}
.keybox .kb-item {
background: var(--bg-emphasis);
border-top: calc(2 * var(--u)) solid var(--accent);
padding: calc(3 * var(--u));
text-align: center;
/* The grid stretches every tile to the tallest one; center the content
vertically so a 1-line tile's number aligns with a 2-line neighbour's
instead of top-ragged (SKILL Layout pitfall — stat-tile alignment). */
display: flex; flex-direction: column; justify-content: center;
border-radius: 0 0 calc(3 * var(--u) * var(--rs)) calc(3 * var(--u) * var(--rs));
}
.kb-item .kb-num {
font-family: var(--font-sans);
font-weight: 800;
font-size: var(--fs-6);
color: var(--accent);
line-height: 1;
}
.kb-item .kb-label {
font-family: var(--font-sans);
font-size: var(--fs-1);
color: var(--text-secondary);
margin-top: calc(2 * var(--u));
line-height: 1.1;
/* Reserve two label lines (2lh tracks this line-height) so 1-line
and 2-line labels occupy the same height and the big numbers
align across tiles. Keep labels <= 2 lines (COMPONENTS §keybox). */
min-height: 2lh;
}
/* Optional takeaways strip (delete the section if not needed) */
.takeaways-strip {
display: grid;
grid-template-columns: auto repeat(4, 1fr);
align-items: center;
gap: calc(10 * var(--u));
/* Flat solid emphasis fill (de-gradient). */
background: var(--bg-emphasis);
border: calc(1 * var(--u)) solid var(--border-soft);
border-radius: calc(5 * var(--u) * var(--rs));
padding: calc(8 * var(--u)) calc(12 * var(--u));
}
.takeaways-strip .ts-title {
font-family: var(--font-sans);
font-size: var(--fs-6);
font-weight: 800;
color: var(--accent-deep);
display: flex; align-items: center; gap: calc(6 * var(--u));
}
.takeaways-strip .ts-title .num {
display: inline-flex; align-items: center; justify-content: center;
width: calc(22 * var(--u)); height: calc(22 * var(--u));
background: var(--accent); color: var(--accent-ink);
border-radius: 50%;
font-size: var(--fs-5); font-weight: 700;
}
.takeaways-strip .ts-item {
border-left: calc(3 * var(--u)) solid var(--accent);
padding-left: calc(8 * var(--u));
line-height: 1.3;
text-align: center;
text-wrap: balance;
}
.takeaways-strip .ts-key {
font-family: var(--font-sans);
font-size: var(--fs-3);
font-weight: 700;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 1px;
}
.takeaways-strip .ts-text {
font-family: var(--font-serif);
font-size: var(--fs-4);
margin-left: calc(4 * var(--u));
}
/* Footer */
.footer {
grid-column: 1 / -1;
display: flex; justify-content: space-between; align-items: baseline;
/* When the two blocks can't sit side by side they stack (wrap) instead of
overflowing; row-gap keeps the stacked blocks legible. */
flex-wrap: wrap; gap: calc(2 * var(--u)) calc(10 * var(--u));
padding-top: calc(8 * var(--u));
border-top: calc(1 * var(--u)) solid var(--border-soft);
font-family: var(--font-sans);
font-size: var(--fs-5);
color: var(--text-muted);
}
.footer .method-name { color: var(--accent-deep); }
/* Long repo URL / email breaks mid-token rather than overflowing the margin. */
.footer .repo { color: var(--accent); font-weight: 600; overflow-wrap: anywhere; }
/* Optional watermark */
.ornament {
position: absolute;
right: calc(20 * var(--u));
bottom: calc(20 * var(--u));
font-family: var(--font-sans);
font-size: var(--fs-9);
color: var(--ornament-ink);
font-weight: 900;
letter-spacing: 4px;
pointer-events: none;
user-select: none;
}
/* =========================================================
DENSITY COMPONENTS (catalogued — see COMPONENTS.md).
Guardrail: no component-local color semantics. Distinction is
carried by labels, order and typography — never by new hues.
========================================================= */
/* equation-stack: compact multi-row formula stack (denser than one big .eqn) */
.equation-stack { margin: calc(2 * var(--u)) 0; }
.equation-stack .eqn { margin: calc(2 * var(--u)) 0; padding: calc(2 * var(--u)) calc(8 * var(--u)); }
/* eqn-anatomy: term-by-term anatomy grid (2x2 default; --row variant = 1x4) */
.eqn-anatomy {
display: grid; grid-template-columns: 1fr 1fr;
gap: calc(2.5 * var(--u)); margin: calc(3 * var(--u)) 0;
}
.eqn-anatomy.eqn-anatomy--row { grid-template-columns: repeat(4, 1fr); }
.eqn-anatomy .ea-item {
background: var(--bg-card-tint);
border: 1px solid var(--border-soft);
border-left: calc(2 * var(--u)) solid var(--accent);
border-radius: calc(2 * var(--u) * var(--rs));
padding: calc(2 * var(--u)) calc(4 * var(--u));
font-size: var(--fs-2); line-height: 1.3;
}
.eqn-anatomy .ea-tag {
display: inline-block; font-family: var(--font-sans); font-weight: 700;
font-size: var(--fs-1); color: var(--accent-deep);
background: var(--accent-light); border-radius: calc(1.5 * var(--u) * var(--rs));
padding: calc(0.5 * var(--u)) calc(2.5 * var(--u));
margin-right: calc(1.5 * var(--u));
}
/* flow-strip: labeled pipeline, ALL steps the same accent; ONLY the
final step may carry the emphasis top bar. Not an "algorithm" unless the
paper has one — see COMPONENTS.md. */
.flow-strip { display: flex; align-items: stretch; gap: calc(1.5 * var(--u)); margin: calc(3 * var(--u)) 0; }
.flow-strip .step {
flex: 1; background: var(--accent-light);
border: 1px solid var(--accent-soft); border-radius: calc(2 * var(--u) * var(--rs));
padding: calc(2 * var(--u)) calc(2.5 * var(--u));
text-align: center; font-size: var(--fs-2); line-height: 1.25;
}
.flow-strip .step .step-name {
display: block; font-family: var(--font-sans); font-weight: 700;
font-size: var(--fs-1); color: var(--accent-deep);
letter-spacing: 0.5px; text-transform: uppercase;
margin-bottom: calc(1 * var(--u));
}
.flow-strip .step--final { border-top: calc(1.5 * var(--u)) solid var(--emph); background: var(--emph-soft); }
.flow-strip .arrow {
align-self: center; color: var(--accent);
font-family: var(--font-sans); font-weight: 700; font-size: var(--fs-4);
flex: 0 0 auto;
}
/* figure--duo: two paper figures sharing one caption; each img MUST be
a data-source="paper" asset and carry .w-45/.w-50 (42-48% each). */
.figure--duo { display: flex; gap: calc(3 * var(--u)); align-items: flex-start; justify-content: center; }
.figure--duo img { max-width: 48%; min-width: 0; } /* hard cap: duo contract is 42-48% each; an oversized w-NN cannot overflow the card */
/* result-table derived column (emph-soft = DERIVED arithmetic; label it) */
.result-table th.derived, .result-table td.derived {
background: var(--emph-soft); font-family: var(--font-sans); font-weight: 700;
}
/* Header cells keep the accent ink rule: on the emph-soft ground the white
head ink would read 1.07:1, so route the header's derived cell through
the emphasis ink token (Gate G -- never inherit ink across a ground change). */
.result-table thead th.derived { color: var(--emph-ink); }
/* keybox 4-up variant */
.keybox.keybox--4 { grid-template-columns: repeat(4, 1fr); }
/* algo: compact numbered procedure — ONLY when the paper itself states
an explicit algorithm/procedure; never invent steps. */
ol.algo { padding-left: calc(16 * var(--u)); }
ol.algo li { margin-bottom: calc(1.5 * var(--u)); font-size: var(--fs-3); line-height: 1.3; }
/* claim-pills: provenance mini-table (numeric-heavy posters only) */
.claim-pills { width: 100%; border-collapse: collapse; font-family: var(--font-sans); font-size: var(--fs-2); }
.claim-pills td {
border-bottom: 1px solid var(--border-soft);
padding: calc(1.5 * var(--u)) calc(3 * var(--u));
}
.claim-pills .cp-id {
font-weight: 700; color: var(--accent-deep); background: var(--accent-light);
border-radius: calc(1.5 * var(--u) * var(--rs)); padding: 0 calc(2.5 * var(--u) * var(--rs)); white-space: nowrap;
}
.claim-pills .cp-fact { color: var(--accent-deep); font-weight: 700; }
.claim-pills .cp-derived { color: var(--text-secondary); font-weight: 700; }
/* Grid-blowout guards: (1) columns may shrink below min-content so a
wide equation can never widen its track and squeeze siblings;
(2) over-wide display math scales down to fit its box instead of
blowing out the card (SVG keeps aspect via height:auto). */
.body-grid > .column { min-width: 0; }
.card { min-width: 0; }
.eqn mjx-container > svg { max-width: 100%; height: auto; }
/* ── Utility classes — defined LAST so equal-specificity ties
resolve in the utility's favor (source order). ── */
.fs-1 { font-size: var(--fs-1); }
.fs-2 { font-size: var(--fs-2); }
.fs-3 { font-size: var(--fs-3); }
.fs-4 { font-size: var(--fs-4); }
.fs-5 { font-size: var(--fs-5); }
.fs-6 { font-size: var(--fs-6); }
.fs-7 { font-size: var(--fs-7); }
.fs-8 { font-size: var(--fs-8); }
.fs-9 { font-size: var(--fs-9); }
.mt-1 { margin-top: calc(1 * var(--u)); }
.mt-2 { margin-top: calc(2 * var(--u)); }
.mt-3 { margin-top: calc(3 * var(--u)); }
.mt-4 { margin-top: calc(4 * var(--u)); }
.mt-5 { margin-top: calc(5 * var(--u)); }
.mt-6 { margin-top: calc(6 * var(--u)); }
.mb-1 { margin-bottom: calc(1 * var(--u)); }
.mb-2 { margin-bottom: calc(2 * var(--u)); }
.mb-3 { margin-bottom: calc(3 * var(--u)); }
.mb-4 { margin-bottom: calc(4 * var(--u)); }
.w-45 { width: 45%; }
.w-50 { width: 50%; }
.w-55 { width: 55%; }
.w-60 { width: 60%; }
.w-65 { width: 65%; }
.w-70 { width: 70%; }
.w-75 { width: 75%; }
.w-80 { width: 80%; }
.w-85 { width: 85%; }
.w-90 { width: 90%; }
.w-95 { width: 95%; }
.w-100 { width: 100%; }
.text-secondary { color: var(--text-secondary); }
.text-muted { color: var(--text-muted); }
.nowrap { white-space: nowrap; }
.text-center { text-align: center; }
/* =========================================================
PRINT OVERRIDE — KEEP LAST so it wins source-order ties.
========================================================= */
@media print {
html, body { background: white; }
.poster { margin: 0; box-shadow: none; width: 60in; height: 36in; page-break-after: avoid; }
:root { --u: 1mm; }
}
</style>
</head>
<body>
<div class="poster" data-measure-role="poster">
<!-- =========================== HEADER =========================== -->
<header class="header" data-measure-role="header">
<div class="venue-badge">
<div class="vb-venue">ICML</div>
<div class="vb-year">2026</div>
<div class="vb-tag">REPRO</div>
</div>
<div class="title-block">
<h1 class="title">Reproducing: <span class="accent">Dimension-Independent Convergence</span> of Underdamped Langevin Monte Carlo in KL Divergence</h1>
<div class="subtitle">Independent reproduction &mdash; ICML 2026 Reproducibility Challenge</div>
<div class="authors-line">
<span class="author">SabaPivot</span>
<span class="aff">Independent re-derivation of arXiv&nbsp;2603.02429 &middot; theory paper, no code released</span>
</div>
</div>
<div class="right-block">
<div class="qr-block">
<div class="qr-label">arXiv 2603.02429</div>
<div class="qr-label">OpenReview gxxOL0iXpr</div>
<div class="qr-label">3 verified, 2 falsified, 1 toy</div>
</div>
</div>
</header>
<!-- ===================== VERDICT BANNER ===================== -->
<section class="framework-banner" data-measure-role="banner">
<div class="fb-text">
<span class="fb-label">Verdict</span>
&nbsp;<strong>Dimension-freeness reproduces exactly.</strong> On Gaussian targets every scheme here is a
linear&ndash;Gaussian recursion, so $\mathrm{KL}(\mu_N\|\pi)$ is <strong>closed form</strong>. We derive the exact ULMC bias
$\mathrm{KL}_\infty = h^2\sum_i a_i^2/(256\beta)\le h^2\mathrm{tr}(H)/256$ &mdash; no $d$ anywhere.
But <strong>Lemma 6.1 is false as printed</strong>, Theorem 4.3's own $(h,N)$ pair is short by $\Theta(\sqrt{\kappa})$,
and ULMC does <strong>not</strong> beat composite overdamped LMC head-to-head.
</div>
<div class="banner-stats">
<div class="bs-item"><div class="bs-num">0.998</div><div class="bs-label">max bias /<br>$h^2 tr(H)/256$</div></div>
<div class="bs-item"><div class="bs-num">2.313</div><div class="bs-label">sharp constant,<br>Lemma 6.1</div></div>
<div class="bs-item"><div class="bs-num">15.9&times;</div><div class="bs-label">Thm 4.3 step<br>shortfall, $\kappa$=512</div></div>
<div class="bs-item"><div class="bs-num">$0</div><div class="bs-label">CPU only,<br>&lt;2 h</div></div>
</div>
</section>
<!-- ============================ BODY ============================ -->
<div class="body-grid" data-measure-role="body">
<!-- ============ COLUMN 1 ============ -->
<div class="column" data-measure-role="column">
<div class="card highlight" data-measure-role="card"
data-logbook-target="executive-summary" data-logbook-label="Executive summary">
<div class="section-title"><span class="num">1</span><span class="st-text">Setting &amp; Method</span></div>
<p class="body-text fs-3">
ULD: $dX_t=P_t\,dt$, $dP_t=-\gamma P_t dt-\nabla V(X_t)dt+\sqrt{2\gamma}dB_t$ at the friction the theorems
mandate, $\gamma=\sqrt{32\beta}$; Assumption 3.1 is $\alpha I \preceq \nabla^2V \preceq H \preceq \beta I$.
</p>
<p class="body-text fs-3 mt-2">
<span class="keyword">Probe.</span> $V(x)=\tfrac12\sum_i a_i x_i^2$, so $H=\mathrm{diag}(a)$,
$\mathrm{tr}(H)=\sum a_i$, $\kappa=\beta/\alpha$. ULMC, randomized midpoint, LMC and composite LMC are then
<span class="keyword">linear&ndash;Gaussian</span> and factorise over coordinates; we propagate the exact first two
moments and read $\mathrm{KL}$ off in closed form. Repeated squaring reaches $N=4\times10^{9}$ in milliseconds, so
<span class="keyword">nothing is extrapolated</span>. Non-quadratic targets use an exact semi-Lagrangian
density solver.
</p>
</div>
<div class="card" data-measure-role="card">
<div class="section-title"><span class="num">2</span><span class="st-text">Reproduction Map</span></div>
<table class="claim-pills">
<tbody>
<tr><td class="cp-id">C1</td><td>Thm&nbsp;4.3 &mdash; dimension-free KL via $\mathrm{tr}(H)$</td><td class="cp-fact">verified</td></tr>
<tr><td class="cp-id">C2</td><td>$\tilde O(\kappa^{3/2}\beta^{-1/2}\mathrm{tr}(H)^{1/2}/\epsilon)$</td><td class="cp-fact">verified*</td></tr>
<tr><td class="cp-id">C3</td><td>Thm&nbsp;5.2 &mdash; randomized midpoint</td><td class="cp-fact">verified</td></tr>
<tr><td class="cp-id">C4</td><td>Thms&nbsp;4.4/5.4 &mdash; general convex</td><td class="cp-derived">toy</td></tr>
<tr><td class="cp-id">C5</td><td>Lemma&nbsp;6.1 &mdash; change of measure</td><td class="cp-derived">FALSIFIED</td></tr>
<tr><td class="cp-id">C6</td><td>ULMC beats composite OLD</td><td class="cp-derived">FALSIFIED</td></tr>
</tbody>
</table>
<p class="body-text fs-3 mt-2">
<span class="cp-fact">verified*</span> the bound holds and is tight in $\epsilon$, $\mathrm{tr}(H)$, $\beta$,
but loose by $\kappa^{1/2}$ &mdash; and Theorem 4.3's own step size makes its own $N$ insufficient.
</p>
</div>
<div class="card" data-measure-role="card"
data-logbook-target="conclusion" data-logbook-label="Conclusion">
<div class="section-title"><span class="num">3</span><span class="st-text">Scope &amp; Bottom Line</span></div>
<ul class="fs-3">
<li><span class="keyword">Exact, not simulated.</span> Closed-form KL; particle Monte-Carlo only validates the code.</li>
<li><span class="keyword">The headline holds.</span> $N_\epsilon$ falls as $d$ grows 82&times; at fixed $\mathrm{tr}(H)$; the code recovers $d^{0.518}$ when $\mathrm{tr}(H)=\beta d$.</li>
<li><span class="keyword">Three reproducible defects</span>: a wrong constant, a broken $(h,N)$ pairing, and a comparison that inverts once the competitor is measured, not quoted.</li>
</ul>
<div class="keybox mt-5">
<div class="kb-item"><div class="kb-num">CPU</div><div class="kb-label">no GPU,<br>no API key</div></div>
<div class="kb-item"><div class="kb-num">&lt;2h</div><div class="kb-label">total<br>wall clock</div></div>
<div class="kb-item"><div class="kb-num">$0</div><div class="kb-label">total<br>cost</div></div>
</div>
<div class="callout emph mt-6">
<strong>Bottom line.</strong> The dimension-free mechanism is real and exactly reproducible; three stated
constants, pairings and comparisons are not.
</div>
</div>
</div>
<!-- ============ COLUMN 2 ============ -->
<div class="column" data-measure-role="column">
<div class="card highlight" data-measure-role="card"
data-logbook-target="claim-1-thm-4-3-dimension-free-kl-bound-via-tr-h"
data-logbook-label="Claim 1: dimension-free KL bound (Thm 4.3)">
<div class="section-title"><span class="num">4</span><span class="st-text">Claim 1 &mdash; Dimension-Freeness</span></div>
<p class="body-text fs-3">
Hold $\alpha=0.01$, $\beta=1$, $\mathrm{tr}(H)=10$, $\epsilon$ <em>all fixed</em>; vary only $d$, 11 to 900.
</p>
<div class="eqn">
<span class="label">Exact ULMC bias we measure &mdash; fitted exponents $2.0000$ in $a$, $2.0002$ in $h$, $0$ in $\beta$</span>
$$\mathrm{KL}(\mu_\infty^h\,\|\,\pi)=\frac{h^2}{256\beta}\sum_i a_i^2\;\le\;\frac{h^2\,\mathrm{tr}(H)}{256}$$
</div>
<div class="figure">
<img src="fig1_dimension_free.png" data-source="derived" data-asset-id="fig1" class="w-80"
alt="Left: iterations to epsilon flat or falling as d grows 82-fold at fixed trace. Centre: the same code recovers square-root-d growth when the trace grows with d. Right: measured bias never exceeds the trace bound on 200 random spectra.">
<div class="caption fs-2">
<strong>Left:</strong> $N_\epsilon$ <em>falls</em> 2.0&times; while $d$ grows 82&times;; a $d^{1/2}$ bound predicts
9.0&times; growth. <strong>Centre:</strong> control $H=\beta I$, exponent $0.518$. <strong>Right:</strong>
200 random spectra: max ratio 0.998.
</div>
</div>
</div>
<div class="card" data-measure-role="card"
data-logbook-target="claim-2-complexity-kappa-3-2-beta-1-2-tr-h-1-2-eps"
data-logbook-label="Claim 2: complexity exponents">
<div class="section-title"><span class="num">5</span><span class="st-text">Claims 2 &amp; 3 &mdash; Fitted Exponents</span></div>
<table class="result-table">
<thead>
<tr><th class="method">parameter</th><th>Thm 4.3</th><th class="derived">ULMC</th><th>Thm 5.2</th><th class="derived">RMD</th></tr>
</thead>
<tbody>
<tr><td class="method">$\epsilon$</td><td>$-1$</td><td class="derived best">$-1.012$</td><td>$-2/3$</td><td class="derived best">$-0.661$</td></tr>
<tr><td class="method">$\mathrm{tr}(H)$</td><td>$+1/2$</td><td class="derived best">$+0.493$</td><td>$+1/3$</td><td class="derived best">$+0.305$</td></tr>
<tr><td class="method">$\beta$</td><td>$-1/2$</td><td class="derived best">$-0.509$</td><td>$-1/3$</td><td class="derived best">$-0.350$</td></tr>
<tr class="ours"><td class="method">$\kappa$</td><td>$+3/2$</td><td class="derived">$+1.02$</td><td>$+1$</td><td class="derived">$+1.02$</td></tr>
<tr><td class="method">$d$ at fixed $\mathrm{tr}(H)$</td><td>$0$</td><td class="derived best">$-0.188$</td><td>$0$</td><td class="derived best">$-0.091$</td></tr>
</tbody>
</table>
<p class="body-text fs-3 mt-2">
Fitted after dividing out the burn-in factor $\log(\mathrm{KL}_0/\epsilon^2)$ that $\tilde O(\cdot)$ hides;
every sweep is bias-limited. <span class="keyword">All five RMD exponents reproduce.</span> ULMC's $\kappa$
exponent is $1.0$, not $1.5$: the bound holds but is loose.
</p>
</div>
<div class="card" data-measure-role="card">
<div class="section-title"><span class="num">7</span><span class="st-text">Validation &amp; Reproducibility</span></div>
<ul class="fs-3">
<li>Exact ULMC and RMD moments match 200,000-particle direct simulations of Eq.&nbsp;(3.2) and Eq.&nbsp;(3.4): $z$-scores $0.99,\,0.81,\,1.32,\,0.92$.</li>
<li>The semi-Lagrangian density solver reproduces the closed-form Gaussian KL to <strong>0.00&thinsp;%</strong>.</li>
<li>ULMC bias is exactly $0$ at $a=0$: flat directions are integrated exactly.</li>
</ul>
</div>
</div>
<!-- ============ COLUMN 3 ============ -->
<div class="column" data-measure-role="column">
<div class="card highlight" data-measure-role="card"
data-logbook-target="claim-2-complexity-kappa-3-2-beta-1-2-tr-h-1-2-eps"
data-logbook-label="Claim 2: the (h,N) pairing">
<div class="section-title"><span class="num">7</span><span class="st-text">A Defect in Theorem 4.3</span></div>
<p class="body-text fs-3">
Theorem 4.3 prescribes <em>both</em> $h$ and $N$, so the simulated time it buys is
$Nh=\tilde\Theta(\kappa^{1/2}\beta^{-1/2})$ &mdash; but ULD at $\gamma=\sqrt{32\beta}$ contracts at $\alpha/\gamma$,
so burn-in alone costs $\Theta(\kappa\beta^{-1/2})$.
</p>
<div class="figure">
<img src="fig3_prescription.png" data-source="derived" data-asset-id="fig3" class="w-75"
alt="Left: steps actually needed divided by steps prescribed, growing as the square root of kappa for ULMC and flat for RMD. Right: minimum simulated time N times h versus kappa.">
<div class="caption fs-2">
Calibrate the hidden constants at $\kappa=2$, then follow the theorem's own scaling: ULMC needs
<strong>$15.9\times$</strong> more steps than prescribed at $\kappa=512$, exactly $\sqrt{256}$.
</div>
</div>
<div class="callout emph">
<strong>Measured.</strong> At the prescribed $h$, $N$ grows as $\kappa^{2.004}$, not $\kappa^{1.5}$.
</div>
</div>
<div class="card" data-measure-role="card"
data-logbook-target="claim-3-thm-5-2-randomized-midpoint-improvement"
data-logbook-label="Claim 3: randomized midpoint (Thm 5.2)">
<div class="section-title"><span class="num">8</span><span class="st-text">Claim 3 &mdash; Randomized Midpoint</span></div>
<p class="body-text fs-3">
Implemented from Eq.&nbsp;(3.4), both midpoint laws of Eq.&nbsp;(3.3) integrated by 48-node
Gauss&ndash;Legendre, the four correlated Brownian functionals' covariance in closed form. RMD costs
<em>two</em> gradients per iteration; exponents count iterations, as the theorem.
</p>
<p class="body-text fs-3 mt-4">
Exact RMD bias $0.244\,h^4\sum_i a_i^2$, two orders sharper in $h$ than ULMC. The claimed
<span class="keyword">improvement over Liu et al. (2023)</span> survives: $W_2$ complexity grows as
$\kappa^{1.15}$, below the paper's $\kappa^{4/3}$ and Liu's $\kappa^{5/3}$. Theorem 5.2's own $(h,N)$
pairing is also self-consistent, unlike Theorem 4.3's.
</p>
</div>
<div class="card" data-measure-role="card"
data-logbook-target="claim-4-thms-4-4-5-4-general-convex-alpha-0"
data-logbook-label="Claim 4: general convex alpha = 0">
<div class="section-title"><span class="num">9</span><span class="st-text">Claim 4 &mdash; General Convex</span></div>
<p class="body-text fs-3">Holding $\mathrm{tr}(H)=6$, $W=3$, $\epsilon=0.15$ fixed while $d$ runs $20\to3200$ (160&times;), $N_\epsilon$ is
<strong>exactly constant</strong> at 105 steps for ULMC and RMD alike &mdash; fitted $d$ exponent $7\times10^{-18}$, where a
$d^{1/2}$ bound predicts 12.6&times; growth. But the <em>rates</em> are not tight: measured $\epsilon$ exponents $-0.33$ and
$-0.32$ against $-4$ and $-3$. Hence <strong>toy</strong>: a convex quadratic with $a_i&gt;0$ is secretly strongly convex,
so the $\alpha=0$ worst case is not realisable here. We attempted a genuinely $\alpha=0$ target,
$V=\sum_i\log\cosh(c_ix_i)$, found the runs had not reached stationarity within budget, and
<strong>discarded it rather than report an unconverged number</strong>.</p>
</div>
</div>
<!-- ============ COLUMN 4 ============ -->
<div class="column" data-measure-role="column">
<div class="card highlight" data-measure-role="card"
data-logbook-target="claim-5-lemma-6-1-dimension-free-change-of-measure"
data-logbook-label="Claim 5: Lemma 6.1 falsified">
<div class="section-title"><span class="num">10</span><span class="st-text">Claim 5 &mdash; Lemma 6.1 is False</span></div>
<p class="body-text fs-3">
Donsker&ndash;Varadhan gives the sharp supremum for any $C$; with $f=p^\top Hp$, $H=\beta I$ it is
$-\tfrac{C\beta d}{2}\log(1-2/C)$, which is $\le C\,\mathrm{tr}(H)$ <em>iff</em>
<div class="eqn">
<span class="label">The sharp constant &mdash; the printed lemma asserts $C=1$</span>
$$C\;\ge\;C^{*}=\frac{2e^{2}}{e^{2}-1}=2.313035285499\ldots$$
</div>
<div class="figure">
<img src="fig4_lemma61.png" data-source="derived" data-asset-id="fig4" class="w-60"
alt="Left: the ratio of left-hand side to right-hand side exceeds 1 for every momentum covariance above 1 and peaks at 2.313 at s equal to e squared. Right: worst ratios found by randomized search, all below the sharp constant.">
<div class="caption fs-2">
200,000 draws: <strong>22,495 violations</strong>, none exceeding $C^*$; 4,000 non-convex-$V$
quadrature cases violate 51&thinsp;% of the time.
</div>
</div>
<p class="body-text fs-3 mt-2">
<strong>Scope.</strong> The paper uses this only through &ldquo;$\lesssim$&rdquo;, so $C^*$ leaves every
downstream theorem intact. The <em>statement</em> is nonetheless false.
</p>
</div>
<div class="card" data-measure-role="card"
data-logbook-target="claim-6-ulmc-beats-composite-overdamped-lmc-when-tr-h-d"
data-logbook-label="Claim 6: ULMC vs composite overdamped LMC">
<div class="section-title"><span class="num">11</span><span class="st-text">Claim 6 &mdash; ULMC vs Composite OLD</span></div>
<p class="body-text fs-3 mt-1"><strong>Falsified on this family.</strong> Table 1's advantage is $1/\epsilon$ (ULMC) vs $1/\epsilon^{2}$
(composite OLD, Freund et al. 2022). We measured what that gap rests on &mdash; the stationary KL bias vs $h$ &mdash; on a
non-quadratic ridge-separable target ($m$=4 stiff coords, $d$=400, $\mathrm{tr}(H)$=25.8 vs $\beta d$=600). Fitted
$h$-exponents <strong>1.98 / 2.16 / 2.15</strong>: all $O(h^{2})$, because KL is a <em>quadratic</em> functional of
Euler&ndash;Maruyama's first-order density error. Composite LMC's step is therefore $\propto\epsilon$, not $\epsilon^{2}$.
Once <em>both</em> are bias-limited the ratio <strong>saturates at $0.74$</strong> ($0.731,\,0.731,\,0.760$ at
$\epsilon=0.019,\,0.014,\,0.0105$): ULMC needs $1.35\times$ <em>more</em> iterations and the gap stops closing.</p>
<div class="figure mt-5">
<img src="fig5_composite.png" data-source="derived" data-asset-id="fig5" class="w-55"
alt="Left: stationary KL bias versus step size for ULMC, LMC and composite LMC on a non-quadratic potential, all with slope near two. Right: iterations to epsilon versus epsilon for the three schemes on the ridge-separable target.">
<div class="caption fs-2"><strong>Left:</strong> $O(h^2)$ KL bias for all three schemes. <strong>Right:</strong> ULMC needs more steps at every $\epsilon$.</div>
</div>
</div>
</div>
</div>
<!-- ============================ FOOTER ============================ -->
<div class="footer" data-measure-role="footer">
<div>
<strong class="method-name">Dimension-free KL convergence of ULMC</strong> &middot;
Independent reproduction, ICML 2026 Reproducibility Challenge &middot; exact closed-form KL, CPU only, $0.
</div>
<div>
Paper: <span class="repo">arXiv:2603.02429</span> &nbsp;&middot;&nbsp;
OpenReview: <span class="repo">gxxOL0iXpr</span> &nbsp;&middot;&nbsp;
Reproduction: <span class="repo">SabaPivot</span>
</div>
</div>
</div>
</body>
</html>

Xet Storage Details

Size:
59.4 kB
·
Xet hash:
4603ec0412c8636a1400d11be57dbeb7a3532decb2c72ce7b4d2697604f8b081

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.