<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://qetlab.com/wiki/index.php?action=history&amp;feed=atom&amp;title=InducedMatrixNorm</id>
	<title>InducedMatrixNorm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://qetlab.com/wiki/index.php?action=history&amp;feed=atom&amp;title=InducedMatrixNorm"/>
	<link rel="alternate" type="text/html" href="https://qetlab.com/wiki/index.php?title=InducedMatrixNorm&amp;action=history"/>
	<updated>2026-04-29T16:32:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://qetlab.com/wiki/index.php?title=InducedMatrixNorm&amp;diff=844&amp;oldid=prev</id>
		<title>Nathaniel: added external link</title>
		<link rel="alternate" type="text/html" href="https://qetlab.com/wiki/index.php?title=InducedMatrixNorm&amp;diff=844&amp;oldid=prev"/>
		<updated>2016-01-12T02:40:33Z</updated>

		<summary type="html">&lt;p&gt;added external link&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:40, 12 January 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When &amp;lt;tt&amp;gt;p = q = 2&amp;lt;/tt&amp;gt;, this is the usual operator norm, returned by MATLAB's built-in &amp;lt;tt&amp;gt;norm&amp;lt;/tt&amp;gt; function. Similarly, when &amp;lt;tt&amp;gt;p = q = 1&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;p = q = Inf&amp;lt;/tt&amp;gt;, this is the maximum absolute column sum or maximum absolute row sum of the matrix, respectively, and for the matrix &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; it can be computed via the built-in MATLAB function &amp;lt;tt&amp;gt;norm(X,1)&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;norm(X,Inf)&amp;lt;/tt&amp;gt;. However, it most other cases this norm is hard to compute, and this function provides a randomized lower bound of it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When &amp;lt;tt&amp;gt;p = q = 2&amp;lt;/tt&amp;gt;, this is the usual operator norm, returned by MATLAB's built-in &amp;lt;tt&amp;gt;norm&amp;lt;/tt&amp;gt; function. Similarly, when &amp;lt;tt&amp;gt;p = q = 1&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;p = q = Inf&amp;lt;/tt&amp;gt;, this is the maximum absolute column sum or maximum absolute row sum of the matrix, respectively, and for the matrix &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; it can be computed via the built-in MATLAB function &amp;lt;tt&amp;gt;norm(X,1)&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;norm(X,Inf)&amp;lt;/tt&amp;gt;. However, it most other cases this norm is hard to compute, and this function provides a randomized lower bound of it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The lower bound is found via the algorithm described here &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(link to be filled in)&lt;/del&gt;, which starts with a random vector and performs a local optimization based on that starting vector.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The lower bound is found via the algorithm described &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[http://www.njohnston.ca/2016/01/how-to-compute-hard-to-compute-matrix-norms/ &lt;/ins&gt;here&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;, which starts with a random vector and performs a local optimization based on that starting vector.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Syntax==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Syntax==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nathaniel</name></author>
	</entry>
	<entry>
		<id>https://qetlab.com/wiki/index.php?title=InducedMatrixNorm&amp;diff=832&amp;oldid=prev</id>
		<title>Nathaniel: Created page with &quot;{{Function |name=InducedMatrixNorm |desc=Computes a lower bound of the induced p&amp;rarr;q norm of a matrix |rel=InducedSchattenNorm |cat=Norms |u...&quot;</title>
		<link rel="alternate" type="text/html" href="https://qetlab.com/wiki/index.php?title=InducedMatrixNorm&amp;diff=832&amp;oldid=prev"/>
		<updated>2016-01-06T19:25:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Function |name=InducedMatrixNorm |desc=Computes a lower bound of the induced p→q norm of a matrix |rel=&lt;a href=&quot;/InducedSchattenNorm&quot; title=&quot;InducedSchattenNorm&quot;&gt;InducedSchattenNorm&lt;/a&gt; |cat=&lt;a href=&quot;/List_of_functions#Norms&quot; title=&quot;List of functions&quot;&gt;Norms&lt;/a&gt; |u...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Function&lt;br /&gt;
|name=InducedMatrixNorm&lt;br /&gt;
|desc=Computes a lower bound of the induced p&amp;amp;rarr;q norm of a matrix&lt;br /&gt;
|rel=[[InducedSchattenNorm]]&lt;br /&gt;
|cat=[[List of functions#Norms|Norms]]&lt;br /&gt;
|upd=January 6, 2016&lt;br /&gt;
|cvx=no}}&lt;br /&gt;
&amp;lt;tt&amp;gt;'''InducedMatrixNorm'''&amp;lt;/tt&amp;gt; is a [[List of functions|function]] that computes a randomized lower bound of the induced p&amp;amp;rarr;q norm of a matrix, defined as follows:&lt;br /&gt;
: &amp;lt;math&amp;gt;\|B\|_{p\rightarrow q} := \max\big\{\|B\mathbf{x}\|_q : \|\mathbf{x}\|_p = 1 \big\},&amp;lt;/math&amp;gt;&lt;br /&gt;
where&lt;br /&gt;
: &amp;lt;math&amp;gt;\|\mathbf{x}\|_{p} := \left(\sum_i|x_i|^p\right)^{1/p}&amp;lt;/math&amp;gt;&lt;br /&gt;
is the vector p-norm.&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;tt&amp;gt;p = q = 2&amp;lt;/tt&amp;gt;, this is the usual operator norm, returned by MATLAB's built-in &amp;lt;tt&amp;gt;norm&amp;lt;/tt&amp;gt; function. Similarly, when &amp;lt;tt&amp;gt;p = q = 1&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;p = q = Inf&amp;lt;/tt&amp;gt;, this is the maximum absolute column sum or maximum absolute row sum of the matrix, respectively, and for the matrix &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; it can be computed via the built-in MATLAB function &amp;lt;tt&amp;gt;norm(X,1)&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;norm(X,Inf)&amp;lt;/tt&amp;gt;. However, it most other cases this norm is hard to compute, and this function provides a randomized lower bound of it.&lt;br /&gt;
&lt;br /&gt;
The lower bound is found via the algorithm described here (link to be filled in), which starts with a random vector and performs a local optimization based on that starting vector.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* &amp;lt;tt&amp;gt;NRM = InducedMatrixNorm(X,P)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;NRM = InducedMatrixNorm(X,P,Q)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;NRM = InducedMatrixNorm(X,P,Q,TOL)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;NRM = InducedMatrixNorm(X,P,Q,TOL,V0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[NRM,V] = InducedMatrixNorm(X,P,Q,TOL,V0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Argument descriptions==&lt;br /&gt;
===Input arguments===&lt;br /&gt;
* &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt;: A matrix to have its induced (&amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt;&amp;amp;rarr;&amp;lt;tt&amp;gt;Q&amp;lt;/tt&amp;gt;)-norm computed.&lt;br /&gt;
* &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt;: A real number &amp;amp;ge; 1, or &amp;lt;tt&amp;gt;Inf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;Q&amp;lt;/tt&amp;gt; (optional, default equals &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt;): A real number &amp;amp;ge; 1, or &amp;lt;tt&amp;gt;Inf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;TOL&amp;lt;/tt&amp;gt; (optional, default equals &amp;lt;tt&amp;gt;sqrt(eps)&amp;lt;/tt&amp;gt;): Numerical tolerance used throughout the script.&lt;br /&gt;
* &amp;lt;tt&amp;gt;V0&amp;lt;/tt&amp;gt; (optional, default is randomly-generated): A vector to start the numerical search from.&lt;br /&gt;
&lt;br /&gt;
===Output arguments===&lt;br /&gt;
* &amp;lt;tt&amp;gt;NRM&amp;lt;/tt&amp;gt;: A lower bound on the norm of &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;V&amp;lt;/tt&amp;gt; (optional): A vector with &amp;lt;tt&amp;gt;norm(V,P) = 1&amp;lt;/tt&amp;gt; such that &amp;lt;tt&amp;gt;norm(X*V,Q) = NRM&amp;lt;/tt&amp;gt; (i.e., a vector that attains the local maximum that was found).&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Induced norms of the identity matrix===&lt;br /&gt;
The n-by-n identity matrix has induced p&amp;amp;rarr;q-norm equal to $\max\{n^{1/q - 1/p}, 1\}$, which this function finds exactly:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt; X = eye(5);&lt;br /&gt;
&amp;gt;&amp;gt; InducedMatrixNorm(X,3,3)&lt;br /&gt;
&lt;br /&gt;
ans =&lt;br /&gt;
&lt;br /&gt;
     1&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; InducedMatrixNorm(X,3,5)&lt;br /&gt;
&lt;br /&gt;
ans =&lt;br /&gt;
&lt;br /&gt;
     1&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; InducedMatrixNorm(X,5,3)&lt;br /&gt;
&lt;br /&gt;
ans =&lt;br /&gt;
&lt;br /&gt;
    1.2394&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; 5^(1/3 - 1/5)&lt;br /&gt;
&lt;br /&gt;
ans =&lt;br /&gt;
&lt;br /&gt;
    1.2394&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SourceCode|name=InducedMatrixNorm}}&lt;/div&gt;</summary>
		<author><name>Nathaniel</name></author>
	</entry>
</feed>