<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Algorithms on Yahel Uffenheimer</title><link>https://yahel1216.github.io/categories/algorithms/</link><description>Recent content in Algorithms on Yahel Uffenheimer</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://yahel1216.github.io/categories/algorithms/index.xml" rel="self" type="application/rss+xml"/><item><title>Clarkson's Algorithm for Linear Programming</title><link>https://yahel1216.github.io/posts/clarksons-lp-algorithm/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://yahel1216.github.io/posts/clarksons-lp-algorithm/</guid><description>&lt;h1 id="clarksons-algorithm-for-linear-programming"&gt;Clarkson&amp;rsquo;s Algorithm for Linear Programming&lt;/h1&gt;
&lt;div
 class="alert alert-info my-6 overflow-hidden rounded-lg transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 style="background-color: color-mix(in srgb, var(--color-) 10%, transparent);
 border-left-color: var(--color-);
 --hover-bg: color-mix(in srgb, var(--color-) 15%, transparent);"
 onmouseover="this.style.backgroundColor = this.style.getPropertyValue('--hover-bg')"
 onmouseout="this.style.backgroundColor = 'color-mix(in srgb, var(--color-) 10%, transparent)'"
 role="alert"
 aria-labelledby="alert-0-title"&gt;
 
 &lt;div
 class=" flex items-center justify-between px-6 py-6"
 &gt;
 &lt;div class="flex items-center gap-3"&gt;
 
 &lt;h4
 id="alert-0-title"
 class="m-0 font-semibold text-foreground/90"&gt;
 Prerequisites
 &lt;/h4&gt;
 &lt;/div&gt;

 
 
 &lt;/div&gt;

 
 &lt;div
 id="alert-0-content"
 class="alert-content px-6 pb-6"&gt;
 &lt;div class="prose prose-sm text-foreground/90 max-w-none"&gt;
 &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Linear Programming:&lt;/strong&gt; Feasibility, optimality, and the standard form of an LP.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linear Algebra:&lt;/strong&gt; Rank, linear independence, matrix inverses, and spanning sets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Probability:&lt;/strong&gt; Expectation and Markov&amp;rsquo;s inequality.&lt;/li&gt;
&lt;/ul&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;&lt;script&gt;
function toggleAlert(alertId) {
 const content = document.getElementById(alertId + '-content');
 const chevron = document.getElementById(alertId + '-chevron');
 const header = content.previousElementSibling;
 
 if (content.classList.contains('hidden')) {
 content.classList.remove('hidden');
 chevron.style.transform = 'rotate(0deg)';
 header.setAttribute('aria-expanded', 'true');
 } else {
 content.classList.add('hidden');
 chevron.style.transform = 'rotate(-90deg)';
 header.setAttribute('aria-expanded', 'false');
 }
}


document.addEventListener('DOMContentLoaded', function() {
 const collapsedAlerts = document.querySelectorAll('.alert-content.hidden');
 collapsedAlerts.forEach(function(content) {
 const alertId = content.id.replace('-content', '');
 const chevron = document.getElementById(alertId + '-chevron');
 if (chevron) {
 chevron.style.transform = 'rotate(-90deg)';
 }
 });
});
&lt;/script&gt;

&lt;hr&gt;
&lt;p&gt;Linear programs arise throughout combinatorial optimization, machine learning, and operations research. In many practical settings the number of constraints $n$ is enormous compared to the ambient dimension $d$ — think of $n = 10^6$ constraints in $d = 50$ dimensions. Standard algorithms like the simplex method take time proportional to $n$ per pivot, and interior-point methods scale as $O(n^{3.5})$ in the worst case. When $n \gg d$, most constraints are redundant: the optimal solution is determined by only $d$ of them.&lt;/p&gt;</description></item></channel></rss>