---
date: '2025-08-21'
description: global slope bounds, convex subgradients, and logistic loss
id: Lipschitzness
modified: 2026-09-07 13:37:25 GMT-04:00
tags:
  - ml
  - math
title: Lipschitzness
created: '2025-08-21'
published: '2025-08-21'
pageLayout: default
slug: thoughts/Lipschitzness
permalink: https://aarnphm.xyz/thoughts/Lipschitzness.md
generator:
  quartz: v4.6.0
  hostedProvider: Cloudflare
  baseUrl: aarnphm.xyz
full: https://aarnphm.xyz/llms-full.txt
---
Let $(\mathcal{X},\|\cdot\|)$ be a normed space, let $D\subseteq\mathcal{X}$, and let $f:D\to\mathbb{R}$. The function is $L$-Lipschitz on $D$ when

$$
|f(x)-f(y)|\leq L\|x-y\|\qquad\text{for every }x,y\in D.
$$

The constant bounds every secant slope at once. It is global on the stated domain: $e^x$ is not Lipschitz on $\mathbb{R}$, but it is Lipschitz on every bounded interval.

> \[!note\] Useful rules
>
> | Construction                                 | Bound                    |
> | -------------------------------------------- | ------------------------ |
> | $f+g$                                        | $L_f+L_g$                |
> | $x\mapsto f(Ax)$                             | $L_f\|A\|_{\mathrm{op}}$ |
> | $x\mapsto\max_i\{\langle a_i,x\rangle+b_i\}$ | $\max_i\|a_i\|_*$        |
>
> For $u\in\mathcal{X}^*$, the dual norm is $\|u\|_*=\sup_{\|x\|\leq 1}|\langle u,x\rangle|$. These bounds follow from the triangle inequality and $|\langle u,x\rangle|\leq\|u\|_*\|x\|$.

Lipschitz continuity implies uniform continuity. In one dimension, a differentiable function with $|f'(x)|\leq L$ is $L$-Lipschitz by the mean value theorem. The converse has to be stated with weaker derivatives: Lipschitz functions on $\mathbb{R}^n$ can have corners, but Rademacher’s theorem says they are differentiable almost everywhere. \[@cobzas2019lipschitzfunctions\]

## secant picture

<figure class="tikz" data-remark-tikz style=""><span class="tikz-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><annotation encoding="application/x-tex">"\\begin{document}\n\\begin{tikzpicture}[>=Latex, scale=3]\n  \\draw[->] (-2.6,0) -- (2.8,0) node[below right] {$x$};\n  \\draw[->] (0,-0.2) -- (0,3.0) node[left] {$f(x)$};\n  \\draw[thick,blue] (-2,2) -- (0,0) -- (2,2);\n  \\node[blue,above right=1pt and 1pt of {(2,2)}] {$f(x)=|x|$};\n\n  \\def\\xone{-1.8}\n  \\def\\xtwo{0.8}\n  \\def\\fyone{1.8}\n  \\def\\fytwo{0.8}\n\n  \\draw[densely dashed] (\\xone,0) -- (\\xone,\\fyone) node[below left=1pt and -2pt] {$x_1$};\n  \\draw[densely dashed] (\\xtwo,0) -- (\\xtwo,\\fytwo) node[below right=1pt and -2pt] {$x_2$};\n\n  \\fill[blue] (\\xone,\\fyone) circle(1.9pt)\n    node[above left=3pt and 2pt] {$(x_1,\\,f(x_1))$};\n  \\fill[blue] (\\xtwo,\\fytwo) circle(1.9pt)\n    node[below right=4pt and 3pt] {$(x_2,\\,f(x_2))$};\n\n  \\draw[thick,orange] (\\xone,\\fyone) -- (\\xtwo,\\fytwo)\n    node[pos=0.55, above=8pt, sloped] {$\\displaystyle \\frac{|f(x_2)-f(x_1)|}{|x_2-x_1|} \\leq L$};\n  \\draw[&#x3C;->] (\\xone,-0.15) -- (\\xtwo,-0.15) node[midway, below=2pt] {$|x_2-x_1|$};\n  \\draw[&#x3C;->] (\\xtwo+0.55,\\fyone) -- (\\xtwo+0.55,\\fytwo)\n    node[midway, right=3pt] {$|f(x_2)-f(x_1)|$};\n  \\node[orange!80!black] at (-1.7,2.5) {$L=1$ for $f(x)=|x|$};\n\\end{tikzpicture}\n\\end{document}"</annotation></semantics></math></span><img src="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI0NzMuNzE2MzdwdCIgaGVpZ2h0PSIyOTYuMDc2ODFwdCIgdmlld0JveD0iLTcyIC03MiA0NzMuNzE2MzcgMjk2LjA3NjgxIj48ZyBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0OS44NjE4Nzc0NDE0MDYyMiwxOTIuMTM3NjY0Nzk0OTIxODIpIHNjYWxlKDEsLTEpIj48ZyBzdHJva2U9IiMwMDAiIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2Utd2lkdGg9IjAuNCI+IDxwYXRoIGQ9IiBNIC0yMjEuOTMxODggMC4wIEwgMjM0LjQwMzI5IDAuMCAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzNC40MDMyOSwwLjApIj4gPGcgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAuMCI+IDxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPiA8cGF0aCBkPSIgTSAzLjc3NTM4IDAuMCBDIDMuMzExNzQgMC4xMTMxMyAxLjI3Mzc2IDAuNzU0MTggMC4wIDEuNDUxOCBMIDAuMCAtMS40NTE4IEMgMS4yNzM3NiAtMC43NTQxOCAzLjMxMTc0IC0wLjExMzEzIDMuNzc1MzggMC4wIFogICI+PC9wYXRoPiA8L2c+IDwvZz4gIDwvZz4gPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQyLjUzNjI0LC03LjgzODUyKSI+IDxnIHN0cm9rZT0iIzAwMCIgZmlsbD0iIzAwMCI+IDxnIHN0cm9rZT0ibm9uZSIgdHJhbnNmb3JtPSJzY2FsZSgtMSwxKSB0cmFuc2xhdGUoMTQ5Ljg2MTg3NzQ0MTQwNjIyLDE5Mi4xMzc2NjQ3OTQ5MjE4Mikgc2NhbGUoLTEsLTEpIj48ZyBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIj4gPHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNDkuODYxODc3NDQxNDA2MjIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48L2c+IDwvZz4gPC9nPjwvZz4gPC9nPiA8cGF0aCBkPSIgTSAwLjAgLTE3LjA3MTM4IEwgMC4wIDI1MS40NzQ3MiAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMCwxLjAsLTEuMCwwLjAsMC4wLDI1MS40NzQ3MikiPiA8ZyBzdHJva2UtZGFzaGFycmF5PSJub25lIiBzdHJva2UtZGFzaG9mZnNldD0iMC4wIj4gPGcgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+IDxwYXRoIGQ9IiBNIDMuNzc1MzggMC4wIEMgMy4zMTE3NCAwLjExMzEzIDEuMjczNzYgMC43NTQxOCAwLjAgMS40NTE4IEwgMC4wIC0xLjQ1MTggQyAxLjI3Mzc2IC0wLjc1NDE4IDMuMzExNzQgLTAuMTEzMTMgMy43NzUzOCAwLjAgWiAgIj48L3BhdGg+IDwvZz4gPC9nPiAgPC9nPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuOTk4MywyNTMuNTc0NjkpIj4gPGcgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIHRyYW5zbGF0ZSgxNDkuODYxODc3NDQxNDA2MjIsMTkyLjEzNzY2NDc5NDkyMTgyKSBzY2FsZSgtMSwtMSkiPjxnIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiPiA8dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE0OS44NjE4Nzc0NDE0MDYyMiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayIgZm9udC1zdHlsZT0iaXRhbGljIj5mPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTU1LjgzNDEzNjk2Mjg5MDYiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siPig8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNTkuNzIzMDM5NjI3MDc1MTciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE2NS40MzgzMjM5NzQ2MDkzNSIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayI+KTwvdGV4dD48L2c+IDwvZz4gPC9nPjwvZz4gPC9nPiA8ZyBzdHJva2Utd2lkdGg9IjAuOCI+IDxnIHN0cm9rZT0iIzAwZiIgZmlsbD0iIzAwZiI+IDxwYXRoIGQ9IiBNIC0xNzAuNzE2NDYgMTcwLjcxNjQ2IEwgMC4wIDAuMCBMIDE3MC43MTY0NiAxNzAuNzE2NDYgICIgZmlsbD0ibm9uZSI+PC9wYXRoPiA8L2c+IDwvZz4gPGcgc3Ryb2tlPSIjMDBmIiBmaWxsPSIjMDBmIj4gPGcgc3Ryb2tlPSIjMDBmIiBmaWxsPSIjMDBmIj4gPC9nPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzUuMjQ5NDQsMTc3Ljc0OTQ0KSI+IDxnIHN0cm9rZT0iIzAwMCIgZmlsbD0iIzAwMCI+IDxnIHN0cm9rZT0ibm9uZSIgdHJhbnNmb3JtPSJzY2FsZSgtMSwxKSB0cmFuc2xhdGUoMTQ5Ljg2MTg3NzQ0MTQwNjIyLDE5Mi4xMzc2NjQ3OTQ5MjE4Mikgc2NhbGUoLTEsLTEpIj48ZyBmaWxsPSIjMDBmIj4gPGcgc3Ryb2tlPSJub25lIj4gPHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNDkuODYxODc3NDQxNDA2MjIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiIgZm9udC1zdHlsZT0iaXRhbGljIj5mPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTU1LjgzNDEzNjk2Mjg5MDYiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE1OS43MjMwMzk2MjcwNzUxNyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNjUuNDM4MzIzOTc0NjA5MzUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3Mi4xMDQ5MzY1OTk3MzE0MiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIj49PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTgyLjY2MDQ1MTg4OTAzODA2IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiPnw8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxODUuNDM4MjM4MTQzOTIwODciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiIgZm9udC1zdHlsZT0iaXRhbGljIj54PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTkxLjE1MzUyMjQ5MTQ1NTA1IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiPnw8L3RleHQ+PC9nPiA8L2c+IDwvZz48L2c+IDwvZz4gPC9nPiA8ZyBzdHJva2UtZGFzaGFycmF5PSIzLjAsMi4wIiBzdHJva2UtZGFzaG9mZnNldD0iMC4wIj4gPHBhdGggZD0iIE0gLTE1My42NDUwMyAwLjAgTCAtMTUzLjY0NTAzIDE1My42NDUwMyAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNjUuMzc5NCwxNDQuODA2NTIpIj4gPGcgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIHRyYW5zbGF0ZSgxNDkuODYxODc3NDQxNDA2MjIsMTkyLjEzNzY2NDc5NDkyMTgyKSBzY2FsZSgtMSwtMSkiPjxnIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiPiA8dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE0OS44NjE4Nzc0NDE0MDYyMiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayIgZm9udC1zdHlsZT0iaXRhbGljIj54PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5My42Mzc2NDk1MzYxMzI3NiIgeD0iMTU1LjU3NzE2MTc4ODk0MDQiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSI3IiBmaWxsPSJibGFjayI+MTwvdGV4dD48L2c+IDwvZz4gPC9nPjwvZz4gPC9nPiA8L2c+IDxnIHN0cm9rZS1kYXNoYXJyYXk9IjMuMCwyLjAiIHN0cm9rZS1kYXNob2Zmc2V0PSIwLjAiPiA8cGF0aCBkPSIgTSA2OC4yODY4IDAuMCBMIDY4LjI4NjggNjguMjg2OCAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY5LjgxOTc4LDU5LjQ0ODI5KSI+IDxnIHN0cm9rZT0iIzAwMCIgZmlsbD0iIzAwMCI+IDxnIHN0cm9rZT0ibm9uZSIgdHJhbnNmb3JtPSJzY2FsZSgtMSwxKSB0cmFuc2xhdGUoMTQ5Ljg2MTg3NzQ0MTQwNjIyLDE5Mi4xMzc2NjQ3OTQ5MjE4Mikgc2NhbGUoLTEsLTEpIj48ZyBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIj4gPHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNDkuODYxODc3NDQxNDA2MjIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTMuNjM3NjQ5NTM2MTMyNzYiIHg9IjE1NS41NzcxNjE3ODg5NDA0IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iNyIgZmlsbD0iYmxhY2siPjI8L3RleHQ+PC9nPiA8L2c+IDwvZz48L2c+IDwvZz4gPC9nPiA8ZyBzdHJva2U9IiMwMGYiIGZpbGw9IiMwMGYiPiA8cGF0aCBkPSIgTSAtMTUzLjY0NTAzIDE1My42NDUwMyBNIC0xNDcuOTQ1MDUgMTUzLjY0NTAzIEMgLTE0Ny45NDUwNSAxNTYuNzkzMDggLTE1MC40OTcgMTU5LjM0NTAyIC0xNTMuNjQ1MDMgMTU5LjM0NTAyIEMgLTE1Ni43OTMwOCAxNTkuMzQ1MDIgLTE1OS4zNDUwMiAxNTYuNzkzMDggLTE1OS4zNDUwMiAxNTMuNjQ1MDMgQyAtMTU5LjM0NTAyIDE1MC40OTcgLTE1Ni43OTMwOCAxNDcuOTQ1MDUgLTE1My42NDUwMyAxNDcuOTQ1MDUgQyAtMTUwLjQ5NyAxNDcuOTQ1MDUgLTE0Ny45NDUwNSAxNTAuNDk3IC0xNDcuOTQ1MDUgMTUzLjY0NTAzIFogTSAtMTUzLjY0NTAzIDE1My42NDUwMyAgIiBzdHJva2U9Im5vbmUiPjwvcGF0aD4gPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwNy4yMTk3LDE2Mi42NzgwMSkiPiA8ZyBzdHJva2U9IiMwMDAiIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiIHRyYW5zZm9ybT0ic2NhbGUoLTEsMSkgdHJhbnNsYXRlKDE0OS44NjE4Nzc0NDE0MDYyMiwxOTIuMTM3NjY0Nzk0OTIxODIpIHNjYWxlKC0xLC0xKSI+PGcgZmlsbD0iIzAwZiI+IDxnIHN0cm9rZT0ibm9uZSI+IDx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTQ5Ljg2MTg3NzQ0MTQwNjIyIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiPig8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNTMuNzUwNzgwMTA1NTkwOCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkzLjYzNzY0OTUzNjEzMjc2IiB4PSIxNTkuNDY2MDY0NDUzMTI0OTciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSI3IiBmaWxsPSIjMDAwMGZmIj4xPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTYzLjk1MjE5NDIxMzg2NzE2IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiIGZvbnQtc3R5bGU9Iml0YWxpYyI+LDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3MC4wNjMyMzI0MjE4NzQ5NyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPmY8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNzYuMDM1NDkxOTQzMzU5MzUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3OS45MjQzOTQ2MDc1NDM5MiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkzLjYzNzY0OTUzNjEzMjc2IiB4PSIxODUuNjM5Njc4OTU1MDc4MSIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9IiMwMDAwZmYiPjE8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxOTAuMTI1ODA4NzE1ODIwMjgiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KSk8L3RleHQ+PC9nPiA8L2c+IDwvZz48L2c+IDwvZz4gPC9nPiA8ZyBzdHJva2U9IiMwMGYiIGZpbGw9IiMwMGYiPiA8cGF0aCBkPSIgTSA2OC4yODY4IDY4LjI4NjggTSA3My45ODY3OSA2OC4yODY4IEMgNzMuOTg2NzkgNzEuNDM0ODQgNzEuNDM0ODQgNzMuOTg2NzkgNjguMjg2OCA3My45ODY3OSBDIDY1LjEzODc2IDczLjk4Njc5IDYyLjU4NjgyIDcxLjQzNDg0IDYyLjU4NjgyIDY4LjI4NjggQyA2Mi41ODY4MiA2NS4xMzg3NiA2NS4xMzg3NiA2Mi41ODY4MiA2OC4yODY4IDYyLjU4NjgyIEMgNzEuNDM0ODQgNjIuNTg2ODIgNzMuOTg2NzkgNjUuMTM4NzYgNzMuOTg2NzkgNjguMjg2OCBaIE0gNjguMjg2OCA2OC4yODY4ICAiIHN0cm9rZT0ibm9uZSI+PC9wYXRoPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3NC44MTk3OCw1My4yNTM4MykiPiA8ZyBzdHJva2U9IiMwMDAiIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiIHRyYW5zZm9ybT0ic2NhbGUoLTEsMSkgdHJhbnNsYXRlKDE0OS44NjE4Nzc0NDE0MDYyMiwxOTIuMTM3NjY0Nzk0OTIxODIpIHNjYWxlKC0xLC0xKSI+PGcgZmlsbD0iIzAwZiI+IDxnIHN0cm9rZT0ibm9uZSI+IDx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTQ5Ljg2MTg3NzQ0MTQwNjIyIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiPig8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNTMuNzUwNzgwMTA1NTkwOCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkzLjYzNzY0OTUzNjEzMjc2IiB4PSIxNTkuNDY2MDY0NDUzMTI0OTciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSI3IiBmaWxsPSIjMDAwMGZmIj4yPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTYzLjk1MjE5NDIxMzg2NzE2IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMwMDAwZmYiIGZvbnQtc3R5bGU9Iml0YWxpYyI+LDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3MC4wNjMyMzI0MjE4NzQ5NyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPmY8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNzYuMDM1NDkxOTQzMzU5MzUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3OS45MjQzOTQ2MDc1NDM5MiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMDAwMGZmIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkzLjYzNzY0OTUzNjEzMjc2IiB4PSIxODUuNjM5Njc4OTU1MDc4MSIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9IiMwMDAwZmYiPjI8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxOTAuMTI1ODA4NzE1ODIwMjgiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzAwMDBmZiI+KSk8L3RleHQ+PC9nPiA8L2c+IDwvZz48L2c+IDwvZz4gPC9nPiA8ZyBzdHJva2Utd2lkdGg9IjAuOCI+IDxnIHN0cm9rZT0iI2ZmODAwMCIgZmlsbD0iI2ZmODAwMCI+IDxwYXRoIGQ9IiBNIC0xNTMuNjQ1MDMgMTUzLjY0NTAzIEwgNjguMjg2OCA2OC4yODY4ICAiIGZpbGw9Im5vbmUiPjwvcGF0aD4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45MzMzMywtMC4zNTg5NSwwLjM1ODk1LDAuOTMzMzMsLTY1LjE3OTg2LDE0Mi4yMTcxNSkiPiA8ZyBzdHJva2U9IiMwMDAiIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiIHRyYW5zZm9ybT0ic2NhbGUoLTEsMSkgdHJhbnNsYXRlKDE0OS44NjE4Nzc0NDE0MDYyMiwxOTIuMTM3NjY0Nzk0OTIxODIpIHNjYWxlKC0xLC0xKSI+PGcgZmlsbD0iI2ZmODAwMCI+IDxnIHN0cm9rZT0ibm9uZSI+IDx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4NS4zNzI1ODkxMTEzMjgxIiB4PSIxNTEuMDYxODc0Mzg5NjQ4NCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj58PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4NS4zNzI1ODkxMTEzMjgxIiB4PSIxNTMuODM5NjYwNjQ0NTMxMjIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCIgZm9udC1zdHlsZT0iaXRhbGljIj5mPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4NS4zNzI1ODkxMTEzMjgxIiB4PSIxNTkuODExOTIwMTY2MDE1NiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj4oPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4NS4zNzI1ODkxMTEzMjgxIiB4PSIxNjMuNzAwODIyODMwMjAwMTciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCIgZm9udC1zdHlsZT0iaXRhbGljIj54PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4Ni44NzI1NzM4NTI1MzkwMyIgeD0iMTY5LjQxNjEwNzE3NzczNDM1IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iNyIgZmlsbD0iI2ZmODAwMCI+MjwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxODUuMzcyNTg5MTExMzI4MSIgeD0iMTczLjkwMjIzNjkzODQ3NjUzIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiPik8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTg1LjM3MjU4OTExMTMyODEiIHg9IjE4MC4wMTMzMDc1NzE0MTExIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiPuKIkjwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxODUuMzcyNTg5MTExMzI4MSIgeD0iMTkwLjAxMzI4MDg2ODUzMDI1IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiIGZvbnQtc3R5bGU9Iml0YWxpYyI+ZjwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxODUuMzcyNTg5MTExMzI4MSIgeD0iMTk1Ljk4NTU0MDM5MDAxNDYiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCI+KDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxODUuMzcyNTg5MTExMzI4MSIgeD0iMTk5Ljg3NDQ0MzA1NDE5OTE2IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxODYuODcyNTczODUyNTM5MDMiIHg9IjIwNS41ODk3Mjc0MDE3MzMzNCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9IiNmZjgwMDAiPjE8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTg1LjM3MjU4OTExMTMyODEiIHg9IjIxMC4wNzU4NTcxNjI0NzU1MyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj4pPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE4NS4zNzI1ODkxMTEzMjgxIiB4PSIyMTMuOTY0NzU5ODI2NjYwMSIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj58PC90ZXh0PjxyZWN0IHg9IjE1MS4wNjE4NzQzODk2NDg0IiB5PSIxODkuNDM3NjY3ODQ2Njc5NjYiIHdpZHRoPSI2NS42ODA2MzM1NDQ5MjE4NiIgaGVpZ2h0PSIwLjM5OTk3ODYzNzY5NTMxMjQiIGZpbGw9IiNmZjgwMDAiPjwvcmVjdD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTguOTk3MTYxODY1MjM0MzIiIHg9IjE2NC44MTE5MzU0MjQ4MDQ2NiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj58PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5OC45OTcxNjE4NjUyMzQzMiIgeD0iMTY3LjU4OTcyMTY3OTY4NzQ3IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIyMDAuNDk3MTQ2NjA2NDQ1MjYiIHg9IjE3My4zMDUwMDYwMjcyMjE2NSIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9IiNmZjgwMDAiPjI8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTk4Ljk5NzE2MTg2NTIzNDMyIiB4PSIxODAuMDEzMzAzNzU2NzEzODQiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCI+4oiSPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5OC45OTcxNjE4NjUyMzQzMiIgeD0iMTkwLjAxMzI3NzA1MzgzMjk4IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNmZjgwMDAiIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIyMDAuNDk3MTQ2NjA2NDQ1MjYiIHg9IjE5NS43Mjg1NjE0MDEzNjcxMyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9IiNmZjgwMDAiPjE8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTk4Ljk5NzE2MTg2NTIzNDMyIiB4PSIyMDAuMjE0NjkxMTYyMTA5MzIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCI+fDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjIyMC43MjAyMTQ4NDM3NDk5NCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjZmY4MDAwIj7iiaQ8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIyMzEuMjc1NzMwMTMzMDU2NTgiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2ZmODAwMCIgZm9udC1zdHlsZT0iaXRhbGljIj5MPC90ZXh0PjwvZz4gPC9nPiA8L2c+PC9nPiA8L2c+IDwvZz4gPC9nPiA8cGF0aCBkPSIgTSAtMTQ5LjA0NTA2IC0xMi44MDMxOSBMIDYzLjY4NjgzIC0xMi44MDMxOSAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0ibWF0cml4KC0xLjAsMC4wLDAuMCwtMS4wLC0xNDkuMDQ1MDYsLTEyLjgwMzE5KSI+IDxnIHN0cm9rZS1kYXNoYXJyYXk9Im5vbmUiIHN0cm9rZS1kYXNob2Zmc2V0PSIwLjAiPiA8ZyBzdHJva2UtbGluZWpvaW49Im1pdGVyIj4gPHBhdGggZD0iIE0gMy43NzUzOCAwLjAgQyAzLjMxMTc0IDAuMTEzMTMgMS4yNzM3NiAwLjc1NDE4IDAuMCAxLjQ1MTggTCAwLjAgLTEuNDUxOCBDIDEuMjczNzYgLTAuNzU0MTggMy4zMTE3NCAtMC4xMTMxMyAzLjc3NTM4IDAuMCBaICAiPjwvcGF0aD4gPC9nPiA8L2c+ICA8L2c+IDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYzLjY4NjgzLC0xMi44MDMxOSkiPiA8ZyBzdHJva2UtZGFzaGFycmF5PSJub25lIiBzdHJva2UtZGFzaG9mZnNldD0iMC4wIj4gPGcgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+IDxwYXRoIGQ9IiBNIDMuNzc1MzggMC4wIEMgMy4zMTE3NCAwLjExMzEzIDEuMjczNzYgMC43NTQxOCAwLjAgMS40NTE4IEwgMC4wIC0xLjQ1MTggQyAxLjI3Mzc2IC0wLjc1NDE4IDMuMzExNzQgLTAuMTEzMTMgMy43NzUzOCAwLjAgWiAgIj48L3BhdGg+IDwvZz4gPC9nPiAgPC9nPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjEuNzY5NCwtMjUuODM2MTcpIj4gPGcgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIHRyYW5zbGF0ZSgxNDkuODYxODc3NDQxNDA2MjIsMTkyLjEzNzY2NDc5NDkyMTgyKSBzY2FsZSgtMSwtMSkiPjxnIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiPiA8dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE0OS44NjE4Nzc0NDE0MDYyMiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayI+fDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE1Mi42Mzk2NjM2OTYyODkwMyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayIgZm9udC1zdHlsZT0iaXRhbGljIj54PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5My42Mzc2NDk1MzYxMzI3NiIgeD0iMTU4LjM1NDk0ODA0MzgyMzIiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSI3IiBmaWxsPSJibGFjayI+MjwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE2NS4wNjMyNDU3NzMzMTU0IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIj7iiJI8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNzUuMDYzMjE5MDcwNDM0NTQiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTMuNjM3NjQ5NTM2MTMyNzYiIHg9IjE4MC43Nzg1MDM0MTc5Njg3MiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9ImJsYWNrIj4xPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTg1LjI2NDYzMzE3ODcxMDkiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siPnw8L3RleHQ+PC9nPiA8L2c+IDwvZz48L2c+IDwvZz4gPHBhdGggZD0iIE0gMTE1LjIzNDEzIDE0OS4wNDUwNiBMIDExNS4yMzQxMyA3Mi44ODY3OCAgIiBmaWxsPSJub25lIj48L3BhdGg+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMCwxLjAsLTEuMCwwLjAsMTE1LjIzNDEzLDE0OS4wNDUwNikiPiA8ZyBzdHJva2UtZGFzaGFycmF5PSJub25lIiBzdHJva2UtZGFzaG9mZnNldD0iMC4wIj4gPGcgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+IDxwYXRoIGQ9IiBNIDMuNzc1MzggMC4wIEMgMy4zMTE3NCAwLjExMzEzIDEuMjczNzYgMC43NTQxOCAwLjAgMS40NTE4IEwgMC4wIC0xLjQ1MTggQyAxLjI3Mzc2IC0wLjc1NDE4IDMuMzExNzQgLTAuMTEzMTMgMy43NzUzOCAwLjAgWiAgIj48L3BhdGg+IDwvZz4gPC9nPiAgPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjAsLTEuMCwxLjAsMC4wLDExNS4yMzQxMyw3Mi44ODY3OCkiPiA8ZyBzdHJva2UtZGFzaGFycmF5PSJub25lIiBzdHJva2UtZGFzaG9mZnNldD0iMC4wIj4gPGcgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+IDxwYXRoIGQ9IiBNIDMuNzc1MzggMC4wIEMgMy4zMTE3NCAwLjExMzEzIDEuMjczNzYgMC43NTQxOCAwLjAgMS40NTE4IEwgMC4wIC0xLjQ1MTggQyAxLjI3Mzc2IC0wLjc1NDE4IDMuMzExNzQgLTAuMTEzMTMgMy43NzUzOCAwLjAgWiAgIj48L3BhdGg+IDwvZz4gPC9nPiAgPC9nPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjEuNzY3MSwxMDguNDY1OTQpIj4gPGcgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIHRyYW5zbGF0ZSgxNDkuODYxODc3NDQxNDA2MjIsMTkyLjEzNzY2NDc5NDkyMTgyKSBzY2FsZSgtMSwtMSkiPjxnIGZpbGw9IiMwMDAiPiA8ZyBzdHJva2U9Im5vbmUiPiA8dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE0OS44NjE4Nzc0NDE0MDYyMiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayI+fDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE1Mi42Mzk2NjM2OTYyODkwMyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayIgZm9udC1zdHlsZT0iaXRhbGljIj5mPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTU4LjYxMTkyMzIxNzc3MzQiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siPig8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNjIuNTAwODI1ODgxOTU3OTgiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTMuNjM3NjQ5NTM2MTMyNzYiIHg9IjE2OC4yMTYxMTAyMjk0OTIxNiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjciIGZpbGw9ImJsYWNrIj4yPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTcyLjcwMjIzOTk5MDIzNDM1IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIj4pPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTc4LjgxMzMxMDYyMzE2ODkyIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIj7iiJI8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxODguODEzMjgzOTIwMjg4MDYiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iYmxhY2siIGZvbnQtc3R5bGU9Iml0YWxpYyI+ZjwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE5NC43ODU1NDM0NDE3NzI0IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIj4oPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTk4LjY3NDQ0NjEwNTk1Njk3IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkzLjYzNzY0OTUzNjEzMjc2IiB4PSIyMDQuMzg5NzMwNDUzNDkxMTUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSI3IiBmaWxsPSJibGFjayI+MTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjIwOC44NzU4NjAyMTQyMzMzNCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSJibGFjayI+KTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjIxMi43NjQ3NjI4Nzg0MTc5IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9ImJsYWNrIj58PC90ZXh0PjwvZz4gPC9nPiA8L2c+PC9nPiA8L2c+IDxnIHN0cm9rZT0iI2M2MCIgZmlsbD0iI2M2MCI+IDxnIHN0cm9rZT0iI2M2MCIgZmlsbD0iI2M2MCI+IDwvZz4gPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE4OS4wMzIyNiwyMTAuODk1NTUpIj4gPGcgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIj4gPGcgc3Ryb2tlPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIHRyYW5zbGF0ZSgxNDkuODYxODc3NDQxNDA2MjIsMTkyLjEzNzY2NDc5NDkyMTgyKSBzY2FsZSgtMSwtMSkiPjxnIGZpbGw9IiNjNjAiPiA8ZyBzdHJva2U9Im5vbmUiPiA8dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE0OS44NjE4Nzc0NDE0MDYyMiIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjY2M2NjAwIiBmb250LXN0eWxlPSJpdGFsaWMiPkw8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxNTkuNDQ1MTU5OTEyMTA5MzUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2NjNjYwMCI+PTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3MC4wMDA2NzUyMDE0MTYiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2NjNjYwMCI+MTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjE3OC4zMzQwMjI1MjE5NzI2MyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjY2M2NjAwIj5mb3I8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIxOTMuNjM5NjI1NTQ5MzE2MzUiIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2NjNjYwMCIgZm9udC1zdHlsZT0iaXRhbGljIj5mPC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMTk5LjYxMTg4NTA3MDgwMDcyIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjYzY2MDAiPig8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIyMDMuNTAwNzg3NzM0OTg1MyIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjY2M2NjAwIiBmb250LXN0eWxlPSJpdGFsaWMiPng8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIyMDkuMjE2MDcyMDgyNTE5NDciIGZvbnQtZmFtaWx5PSJzZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2NjNjYwMCI+KTwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjIxNS44ODI2ODQ3MDc2NDE1NCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjY2M2NjAwIj49PC90ZXh0Pjx0ZXh0IGFsaWdubWVudC1iYXNlbGluZT0iYmFzZWxpbmUiIHk9IjE5Mi4xMzc2NjQ3OTQ5MjE4MiIgeD0iMjI2LjQzODE5OTk5Njk0ODE5IiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjYzY2MDAiPnw8L3RleHQ+PHRleHQgYWxpZ25tZW50LWJhc2VsaW5lPSJiYXNlbGluZSIgeT0iMTkyLjEzNzY2NDc5NDkyMTgyIiB4PSIyMjkuMjE1OTg2MjUxODMxIiBmb250LWZhbWlseT0ic2VyaWYiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjYzY2MDAiIGZvbnQtc3R5bGU9Iml0YWxpYyI+eDwvdGV4dD48dGV4dCBhbGlnbm1lbnQtYmFzZWxpbmU9ImJhc2VsaW5lIiB5PSIxOTIuMTM3NjY0Nzk0OTIxODIiIHg9IjIzNC45MzEyNzA1OTkzNjUxOCIgZm9udC1mYW1pbHk9InNlcmlmIiBmb250LXNpemU9IjEwIiBmaWxsPSIjY2M2NjAwIj58PC90ZXh0PjwvZz4gPC9nPiA8L2c+PC9nPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvZz48L3N2Zz4=" alt="tikz diagram" loading="lazy" decoding="async"><figcaption><em>source code</em><button class="source-code-button" aria-label="copy source code for this tikz graph" title="copy source code for this tikz graph"><svg class="source-icon" xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 -4 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#code-icon"></use></svg><svg class="check-icon" xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 -4 16 16" fill="currentColor" stroke="none" stroke-width="0" stroke-linecap="round" stroke-linejoin="round"><use href="#github-check"></use></svg></button></figcaption></figure>

## convex functions

Assume now that $f:\mathbb{R}^n\to\mathbb{R}$ is closed and convex. Because $f$ is finite everywhere, each point has a subgradient. The following statements are equivalent:

1. $f$ is $L$-Lipschitz.
2. For every $x$, every $g\in\partial f(x)$ satisfies $\|g\|_*\leq L$.
3. The effective domain of the Fenchel conjugate is contained in the closed dual ball:

   $$
   \operatorname{dom}f^*\subseteq\{u:\|u\|_*\leq L\}.
   $$

One direction follows from the subgradient inequality

$$
f(y)\geq f(x)+\langle g,y-x\rangle.
$$

If $\|g\|_*\leq L$, this gives $f(x)-f(y)\leq L\|x-y\|$; swap $x$ and $y$ for the absolute-value bound. For the conjugate condition, use $f(x)=\sup_{u\in\operatorname{dom}f^*}\{\langle u,x\rangle-f^*(u)\}$. When that domain lies in the closed dual ball, $f(x)-f(y)\leq\sup_{\|u\|_*\leq L}\langle u,x-y\rangle\leq L\|x-y\|$. \[@rockafellar1970convexanalysis; @bubeck2015convexoptimization\]

> \[!warning\] Domain matters
>
> A constrained convex objective often takes the value $+\infty$ outside its feasible set. It is not a real-valued Lipschitz function on $\mathbb{R}^n$. Restricting the first inequality to its effective domain does not recover the equivalences above. For example, the indicator of a closed convex set is constant on its domain, while its boundary subgradients include an unbounded normal cone.

## function Lipschitzness and smoothness

Function Lipschitzness bounds changes in $f$; smoothness bounds changes in $\nabla f$. In Euclidean space, $f$ is $L$-smooth when

$$
\|\nabla f(x)-\nabla f(y)\|_2\leq L\|x-y\|_2.
$$

For a convex differentiable function this implies

$$
f(y)\leq f(x)+\langle\nabla f(x),y-x\rangle+\frac{L}{2}\|y-x\|_2^2
$$

and the Baillon-Haddad inequality

$$
\langle\nabla f(x)-\nabla f(y),x-y\rangle
\geq \frac{1}{L}\|\nabla f(x)-\nabla f(y)\|_2^2.
$$

The inner-product structure matters for this co-coercivity statement; writing it for an arbitrary norm and its dual is not generally valid. \[@bubeck2015convexoptimization\]

A $\mu$-strongly convex function satisfies

$$
f(y)\geq f(x)+\langle g,y-x\rangle+\frac{\mu}{2}\|y-x\|_2^2,
\qquad g\in\partial f(x).
$$

When $\mu>0$, such a function cannot also be globally Lipschitz on all of $\mathbb{R}^n$: the quadratic lower bound eventually outruns every linear Lipschitz bound. The two properties can coexist on a bounded domain.

## examples

- $f(x)=\|x\|$ is $1$-Lipschitz with respect to the same norm.
- $f(x)=\langle a,x\rangle$ is $\|a\|_*$-Lipschitz.
- $f(t)=\max(0,1-t)$ is $1$-Lipschitz on $\mathbb{R}$.
- $f(z)=\log\sum_i e^{z_i}$ is $1$-Lipschitz with respect to $\|\cdot\|_\infty$, since $\nabla f(z)=\operatorname{softmax}(z)$ has $\ell_1$ norm $1$.
- If $Q=Q^\top\succeq0$, then $f(x)=\tfrac12x^\top Qx$ is convex and has a $\|Q\|_2$-Lipschitz gradient. When $Q\neq0$, the function itself is not globally Lipschitz on $\mathbb{R}^n$.

## logistic loss

For a logit $t$, binary logistic loss has two equivalent label conventions:

$$
\ell_{01}(t;y)
=-y\log\sigma(t)-(1-y)\log(1-\sigma(t)),
\qquad y\in\{0,1\},
$$

$$
\ell_{\pm}(t;y)=\log(1+e^{-yt}),
\qquad y\in\{-1,+1\}.
$$

Their first derivatives obey

$$
|\partial_t\ell(t;y)|\leq 1.
$$

For the $0/1$ form, $\partial_t^2\ell_{01}(t;y)=\sigma(t)(1-\sigma(t))$; for signed labels, $\partial_t^2\ell_{\pm}(t;y)=\sigma(yt)\sigma(-yt)$. Both lie in $[0,1/4]$, so the scalar loss is $1$-Lipschitz in $t$ and its derivative is $1/4$-Lipschitz.

For parameters $\theta=(w,b)$, let $\widetilde X$ have rows $(x_i^\top,1)$ and define the mean empirical risk

$$
J(\theta)=\frac1n\sum_{i=1}^n\ell(\widetilde x_i^\top\theta;y_i).
$$

Then

$$
\nabla^2J(\theta)=\frac1n\widetilde X^\top S\widetilde X,
\qquad
0\preceq S\preceq\frac14I,
$$

so $J$ is $L_J$-smooth with

$$
L_J\leq\frac{\|\widetilde X\|_2^2}{4n}.
$$

For a summed loss, remove the factor $1/n$. \[@freund2018conditionnumberlogisticregression\]

See [[thoughts/Logistic regression#MLE derivation and gradients]], [[thoughts/cross entropy]], [[thoughts/norm]], and [[thoughts/linear map#Operator norm and Lipschitzness]].

