Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 641ebb3060c35990cc021d8f7aaf9aca > files > 239

octave-doc-5.1.0-7.1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Famous Matrices (GNU Octave (version 5.1.0))</title>

<meta name="description" content="Famous Matrices (GNU Octave (version 5.1.0))">
<meta name="keywords" content="Famous Matrices (GNU Octave (version 5.1.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Matrix-Manipulation.html#Matrix-Manipulation" rel="up" title="Matrix Manipulation">
<link href="Arithmetic.html#Arithmetic" rel="next" title="Arithmetic">
<link href="Special-Utility-Matrices.html#Special-Utility-Matrices" rel="prev" title="Special Utility Matrices">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">


</head>

<body lang="en">
<a name="Famous-Matrices"></a>
<div class="header">
<p>
Previous: <a href="Special-Utility-Matrices.html#Special-Utility-Matrices" accesskey="p" rel="prev">Special Utility Matrices</a>, Up: <a href="Matrix-Manipulation.html#Matrix-Manipulation" accesskey="u" rel="up">Matrix Manipulation</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Famous-Matrices-1"></a>
<h3 class="section">16.4 Famous Matrices</h3>

<p>The following functions return famous matrix forms.
</p>
<a name="XREFgallery"></a><dl>
<dt><a name="index-gallery"></a><em></em> <strong>gallery</strong> <em>(<var>name</var>)</em></dt>
<dt><a name="index-gallery-1"></a><em></em> <strong>gallery</strong> <em>(<var>name</var>, <var>args</var>)</em></dt>
<dd><p>Create interesting matrices for testing.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-2"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;cauchy&quot;, <var>x</var>)</em></dt>
<dt><a name="index-gallery-3"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;cauchy&quot;, <var>x</var>, <var>y</var>)</em></dt>
<dd><p>Create a Cauchy matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-4"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;chebspec&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-5"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;chebspec&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a Chebyshev spectral differentiation matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-6"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;chebvand&quot;, <var>p</var>)</em></dt>
<dt><a name="index-gallery-7"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;chebvand&quot;, <var>m</var>, <var>p</var>)</em></dt>
<dd><p>Create a Vandermonde-like matrix for the Chebyshev polynomials.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-8"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;chow&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-9"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;chow&quot;, <var>n</var>, <var>alpha</var>)</em></dt>
<dt><a name="index-gallery-10"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;chow&quot;, <var>n</var>, <var>alpha</var>, <var>delta</var>)</em></dt>
<dd><p>Create a Chow matrix &ndash; a singular Toeplitz lower Hessenberg matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-11"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;circul&quot;, <var>v</var>)</em></dt>
<dd><p>Create a circulant matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-12"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;clement&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-13"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;clement&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a tridiagonal matrix with zero diagonal entries.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-14"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;compar&quot;, <var>a</var>)</em></dt>
<dt><a name="index-gallery-15"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;compar&quot;, <var>a</var>, <var>k</var>)</em></dt>
<dd><p>Create a comparison matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-16"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;condex&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-17"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;condex&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dt><a name="index-gallery-18"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;condex&quot;, <var>n</var>, <var>k</var>, <var>theta</var>)</em></dt>
<dd><p>Create a &lsquo;counterexample&rsquo; matrix to a condition estimator.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-19"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;cycol&quot;, [<var>m</var> <var>n</var>])</em></dt>
<dt><a name="index-gallery-20"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;cycol&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-21"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&hellip;, <var>k</var>)</em></dt>
<dd><p>Create a matrix whose columns repeat cyclically.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-22"></a><em>[<var>c</var>, <var>d</var>, <var>e</var>] =</em> <strong>gallery</strong> <em>(&quot;dorr&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-23"></a><em>[<var>c</var>, <var>d</var>, <var>e</var>] =</em> <strong>gallery</strong> <em>(&quot;dorr&quot;, <var>n</var>, <var>theta</var>)</em></dt>
<dt><a name="index-gallery-24"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;dorr&quot;, &hellip;)</em></dt>
<dd><p>Create a diagonally dominant, ill-conditioned, tridiagonal matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-25"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;dramadah&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-26"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;dramadah&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a (0, 1) matrix whose inverse has large integer entries.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-27"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;fiedler&quot;, <var>c</var>)</em></dt>
<dd><p>Create a symmetric Fiedler matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-28"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;forsythe&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-29"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;forsythe&quot;, <var>n</var>, <var>alpha</var>)</em></dt>
<dt><a name="index-gallery-30"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;forsythe&quot;, <var>n</var>, <var>alpha</var>, <var>lambda</var>)</em></dt>
<dd><p>Create a Forsythe matrix (a perturbed Jordan block).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-31"></a><em><var>f</var> =</em> <strong>gallery</strong> <em>(&quot;frank&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-32"></a><em><var>f</var> =</em> <strong>gallery</strong> <em>(&quot;frank&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a Frank matrix (ill-conditioned eigenvalues).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-33"></a><em><var>c</var> =</em> <strong>gallery</strong> <em>(&quot;gcdmat&quot;, <var>n</var>)</em></dt>
<dd><p>Create a greatest common divisor matrix.
</p>
<p><var>c</var> is an <var>n</var>-by-<var>n</var> matrix whose values correspond to the
greatest common divisor of its coordinate values, i.e., <var>c</var>(i,j)
correspond <code>gcd (i, j)</code>.
</p></dd></dl>

<dl>
<dt><a name="index-gallery-34"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;gearmat&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-35"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;gearmat&quot;, <var>n</var>, <var>i</var>)</em></dt>
<dt><a name="index-gallery-36"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;gearmat&quot;, <var>n</var>, <var>i</var>, <var>j</var>)</em></dt>
<dd><p>Create a Gear matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-37"></a><em><var>g</var> =</em> <strong>gallery</strong> <em>(&quot;grcar&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-38"></a><em><var>g</var> =</em> <strong>gallery</strong> <em>(&quot;grcar&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a Toeplitz matrix with sensitive eigenvalues.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-39"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;hanowa&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-40"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;hanowa&quot;, <var>n</var>, <var>d</var>)</em></dt>
<dd><p>Create a matrix whose eigenvalues lie on a vertical line in the complex
plane.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-41"></a><em><var>v</var> =</em> <strong>gallery</strong> <em>(&quot;house&quot;, <var>x</var>)</em></dt>
<dt><a name="index-gallery-42"></a><em>[<var>v</var>, <var>beta</var>] =</em> <strong>gallery</strong> <em>(&quot;house&quot;, <var>x</var>)</em></dt>
<dd><p>Create a householder matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-43"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;integerdata&quot;, <var>imax</var>, [<var>M</var> <var>N</var> &hellip;], <var>j</var>)</em></dt>
<dt><a name="index-gallery-44"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;integerdata&quot;, <var>imax</var>, <var>M</var>, <var>N</var>, &hellip;, <var>j</var>)</em></dt>
<dt><a name="index-gallery-45"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;integerdata&quot;, [<var>imin</var>, <var>imax</var>], [<var>M</var> <var>N</var> &hellip;], <var>j</var>)</em></dt>
<dt><a name="index-gallery-46"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;integerdata&quot;, [<var>imin</var>, <var>imax</var>], <var>M</var>, <var>N</var>, &hellip;, <var>j</var>)</em></dt>
<dt><a name="index-gallery-47"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;integerdata&quot;, &hellip;, &quot;<var>class</var>&quot;)</em></dt>
<dd><p>Create a matrix with random integers in the range [1, <var>imax</var>].
If <var>imin</var> is given then the integers are in the range
[<var>imin</var>, <var>imax</var>].
</p>
<p>The second input is a matrix of dimensions describing the size of the
output.  The dimensions can also be input as comma-separated arguments.
</p>
<p>The input <var>j</var> is an integer index in the range [0, 2^32-1].  The values
of the output matrix are always exactly the same (reproducibility) for a
given size input and <var>j</var> index.
</p>
<p>The final optional argument determines the class of the resulting matrix.
Possible values for <var>class</var>: <code>&quot;uint8&quot;</code>, <code>&quot;uint16&quot;</code>,
<code>&quot;uint32&quot;</code>, <code>&quot;int8&quot;</code>, <code>&quot;int16&quot;</code>, int32&quot;, <code>&quot;single&quot;</code>,
<code>&quot;double&quot;</code>.  The default is <code>&quot;double&quot;</code>.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-48"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;invhess&quot;, <var>x</var>)</em></dt>
<dt><a name="index-gallery-49"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;invhess&quot;, <var>x</var>, <var>y</var>)</em></dt>
<dd><p>Create the inverse of an upper Hessenberg matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-50"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;invol&quot;, <var>n</var>)</em></dt>
<dd><p>Create an involutory matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-51"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;ipjfact&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-52"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;ipjfact&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a Hankel matrix with factorial elements.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-53"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;jordbloc&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-54"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;jordbloc&quot;, <var>n</var>, <var>lambda</var>)</em></dt>
<dd><p>Create a Jordan block.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-55"></a><em><var>u</var> =</em> <strong>gallery</strong> <em>(&quot;kahan&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-56"></a><em><var>u</var> =</em> <strong>gallery</strong> <em>(&quot;kahan&quot;, <var>n</var>, <var>theta</var>)</em></dt>
<dt><a name="index-gallery-57"></a><em><var>u</var> =</em> <strong>gallery</strong> <em>(&quot;kahan&quot;, <var>n</var>, <var>theta</var>, <var>pert</var>)</em></dt>
<dd><p>Create a Kahan matrix (upper trapezoidal).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-58"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;kms&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-59"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;kms&quot;, <var>n</var>, <var>rho</var>)</em></dt>
<dd><p>Create a Kac-Murdock-Szego Toeplitz matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-60"></a><em><var>b</var> =</em> <strong>gallery</strong> <em>(&quot;krylov&quot;, <var>a</var>)</em></dt>
<dt><a name="index-gallery-61"></a><em><var>b</var> =</em> <strong>gallery</strong> <em>(&quot;krylov&quot;, <var>a</var>, <var>x</var>)</em></dt>
<dt><a name="index-gallery-62"></a><em><var>b</var> =</em> <strong>gallery</strong> <em>(&quot;krylov&quot;, <var>a</var>, <var>x</var>, <var>j</var>)</em></dt>
<dd><p>Create a Krylov matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-63"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;lauchli&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-64"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;lauchli&quot;, <var>n</var>, <var>mu</var>)</em></dt>
<dd><p>Create a Lauchli matrix (rectangular).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-65"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;lehmer&quot;, <var>n</var>)</em></dt>
<dd><p>Create a Lehmer matrix (symmetric positive definite).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-66"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;lesp&quot;, <var>n</var>)</em></dt>
<dd><p>Create a tridiagonal matrix with real, sensitive eigenvalues.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-67"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;lotkin&quot;, <var>n</var>)</em></dt>
<dd><p>Create a Lotkin matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-68"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;minij&quot;, <var>n</var>)</em></dt>
<dd><p>Create a symmetric positive definite matrix MIN(i,j).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-69"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;moler&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-70"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;moler&quot;, <var>n</var>, <var>alpha</var>)</em></dt>
<dd><p>Create a Moler matrix (symmetric positive definite).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-71"></a><em>[<var>a</var>, <var>t</var>] =</em> <strong>gallery</strong> <em>(&quot;neumann&quot;, <var>n</var>)</em></dt>
<dd><p>Create a singular matrix from the discrete Neumann problem
(sparse).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-72"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;normaldata&quot;, [<var>M</var> <var>N</var> &hellip;], <var>j</var>)</em></dt>
<dt><a name="index-gallery-73"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;normaldata&quot;, <var>M</var>, <var>N</var>, &hellip;, <var>j</var>)</em></dt>
<dt><a name="index-gallery-74"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;normaldata&quot;, &hellip;, &quot;<var>class</var>&quot;)</em></dt>
<dd><p>Create a matrix with random samples from the standard normal distribution
(mean = 0, std = 1).
</p>
<p>The first input is a matrix of dimensions describing the size of the output.
The dimensions can also be input as comma-separated arguments.
</p>
<p>The input <var>j</var> is an integer index in the range [0, 2^32-1].  The values
of the output matrix are always exactly the same (reproducibility) for a
given size input and <var>j</var> index.
</p>
<p>The final optional argument determines the class of the resulting matrix.
Possible values for <var>class</var>: <code>&quot;single&quot;</code>, <code>&quot;double&quot;</code>.
The default is <code>&quot;double&quot;</code>.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-75"></a><em><var>q</var> =</em> <strong>gallery</strong> <em>(&quot;orthog&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-76"></a><em><var>q</var> =</em> <strong>gallery</strong> <em>(&quot;orthog&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create orthogonal and nearly orthogonal matrices.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-77"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;parter&quot;, <var>n</var>)</em></dt>
<dd><p>Create a Parter matrix (a Toeplitz matrix with singular values
near pi).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-78"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;pei&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-79"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;pei&quot;, <var>n</var>, <var>alpha</var>)</em></dt>
<dd><p>Create a Pei matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-80"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;Poisson&quot;, <var>n</var>)</em></dt>
<dd><p>Create a block tridiagonal matrix from Poisson&rsquo;s equation (sparse).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-81"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;prolate&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-82"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;prolate&quot;, <var>n</var>, <var>w</var>)</em></dt>
<dd><p>Create a prolate matrix (symmetric, ill-conditioned Toeplitz matrix).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-83"></a><em><var>h</var> =</em> <strong>gallery</strong> <em>(&quot;randhess&quot;, <var>x</var>)</em></dt>
<dd><p>Create a random, orthogonal upper Hessenberg matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-84"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;rando&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-85"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;rando&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a random matrix with elements -1, 0 or 1.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-86"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;randsvd&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-87"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;randsvd&quot;, <var>n</var>, <var>kappa</var>)</em></dt>
<dt><a name="index-gallery-88"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;randsvd&quot;, <var>n</var>, <var>kappa</var>, <var>mode</var>)</em></dt>
<dt><a name="index-gallery-89"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;randsvd&quot;, <var>n</var>, <var>kappa</var>, <var>mode</var>, <var>kl</var>)</em></dt>
<dt><a name="index-gallery-90"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;randsvd&quot;, <var>n</var>, <var>kappa</var>, <var>mode</var>, <var>kl</var>, <var>ku</var>)</em></dt>
<dd><p>Create a random matrix with pre-assigned singular values.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-91"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;redheff&quot;, <var>n</var>)</em></dt>
<dd><p>Create a zero and ones matrix of Redheffer associated with the
Riemann hypothesis.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-92"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;riemann&quot;, <var>n</var>)</em></dt>
<dd><p>Create a matrix associated with the Riemann hypothesis.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-93"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;ris&quot;, <var>n</var>)</em></dt>
<dd><p>Create a symmetric Hankel matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-94"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;smoke&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-95"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;smoke&quot;, <var>n</var>, <var>k</var>)</em></dt>
<dd><p>Create a complex matrix, with a &lsquo;smoke ring&rsquo; pseudospectrum.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-96"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;toeppd&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-97"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;toeppd&quot;, <var>n</var>, <var>m</var>)</em></dt>
<dt><a name="index-gallery-98"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;toeppd&quot;, <var>n</var>, <var>m</var>, <var>w</var>)</em></dt>
<dt><a name="index-gallery-99"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;toeppd&quot;, <var>n</var>, <var>m</var>, <var>w</var>, <var>theta</var>)</em></dt>
<dd><p>Create a symmetric positive definite Toeplitz matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-100"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-101"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>, <var>a</var>)</em></dt>
<dt><a name="index-gallery-102"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>, <var>a</var>, <var>b</var>)</em></dt>
<dt><a name="index-gallery-103"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>, <var>a</var>, <var>b</var>, <var>c</var>)</em></dt>
<dt><a name="index-gallery-104"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>, <var>a</var>, <var>b</var>, <var>c</var>, <var>d</var>)</em></dt>
<dt><a name="index-gallery-105"></a><em><var>p</var> =</em> <strong>gallery</strong> <em>(&quot;toeppen&quot;, <var>n</var>, <var>a</var>, <var>b</var>, <var>c</var>, <var>d</var>, <var>e</var>)</em></dt>
<dd><p>Create a pentadiagonal Toeplitz matrix (sparse).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-106"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;tridiag&quot;, <var>x</var>, <var>y</var>, <var>z</var>)</em></dt>
<dt><a name="index-gallery-107"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;tridiag&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-108"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;tridiag&quot;, <var>n</var>, <var>c</var>, <var>d</var>, <var>e</var>)</em></dt>
<dd><p>Create a tridiagonal matrix (sparse).
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-109"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;triw&quot;, <var>n</var>)</em></dt>
<dt><a name="index-gallery-110"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;triw&quot;, <var>n</var>, <var>alpha</var>)</em></dt>
<dt><a name="index-gallery-111"></a><em><var>t</var> =</em> <strong>gallery</strong> <em>(&quot;triw&quot;, <var>n</var>, <var>alpha</var>, <var>k</var>)</em></dt>
<dd><p>Create an upper triangular matrix discussed by
Kahan, Golub, and Wilkinson.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-112"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;uniformdata&quot;, [<var>M</var> <var>N</var> &hellip;], <var>j</var>)</em></dt>
<dt><a name="index-gallery-113"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;uniformdata&quot;, <var>M</var>, <var>N</var>, &hellip;, <var>j</var>)</em></dt>
<dt><a name="index-gallery-114"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;uniformdata&quot;, &hellip;, &quot;<var>class</var>&quot;)</em></dt>
<dd><p>Create a matrix with random samples from the standard uniform distribution
(range [0,1]).
</p>
<p>The first input is a matrix of dimensions describing the size of the output.
The dimensions can also be input as comma-separated arguments.
</p>
<p>The input <var>j</var> is an integer index in the range [0, 2^32-1].  The values
of the output matrix are always exactly the same (reproducibility) for a
given size input and <var>j</var> index.
</p>
<p>The final optional argument determines the class of the resulting matrix.
Possible values for <var>class</var>: <code>&quot;single&quot;</code>, <code>&quot;double&quot;</code>.
The default is <code>&quot;double&quot;</code>.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-115"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;wathen&quot;, <var>nx</var>, <var>ny</var>)</em></dt>
<dt><a name="index-gallery-116"></a><em><var>a</var> =</em> <strong>gallery</strong> <em>(&quot;wathen&quot;, <var>nx</var>, <var>ny</var>, <var>k</var>)</em></dt>
<dd><p>Create the Wathen matrix.
</p>
</dd></dl>

<dl>
<dt><a name="index-gallery-117"></a><em>[<var>a</var>, <var>b</var>] =</em> <strong>gallery</strong> <em>(&quot;wilk&quot;, <var>n</var>)</em></dt>
<dd><p>Create various specific matrices devised/discussed by Wilkinson.
</p>
</dd></dl>


<a name="XREFhadamard"></a><dl>
<dt><a name="index-hadamard"></a><em></em> <strong>hadamard</strong> <em>(<var>n</var>)</em></dt>
<dd><p>Construct a Hadamard matrix (Hn) of size <var>n</var>-by-<var>n</var>.
</p>
<p>The size <var>n</var> must be of the form <em>2^k * p</em> in which p is one of
1, 12, 20 or 28.  The returned matrix is normalized, meaning
<code>Hn(:,1)&nbsp;==&nbsp;1</code><!-- /@w --> and <code>Hn(1,:)&nbsp;==&nbsp;1</code><!-- /@w -->.
</p>
<p>Some of the properties of Hadamard matrices are:
</p>
<ul>
<li> <code>kron (Hm, Hn)</code> is a Hadamard matrix of size <var>m</var>-by-<var>n</var>.

</li><li> <code>Hn * Hn' = <var>n</var> * eye (<var>n</var>)</code>.

</li><li> The rows of Hn are orthogonal.

</li><li> <code>det (<var>A</var>) &lt;= abs (det (Hn))</code> for all <var>A</var> with
<code>abs&nbsp;(<var>A</var>(i,&nbsp;j))&nbsp;&lt;=&nbsp;1</code><!-- /@w -->.

</li><li> Multiplying any row or column by -1 and the matrix will remain a Hadamard
matrix.
</li></ul>

<p><strong>See also:</strong> <a href="Finding-Roots.html#XREFcompan">compan</a>, <a href="#XREFhankel">hankel</a>, <a href="#XREFtoeplitz">toeplitz</a>.
</p></dd></dl>


<a name="XREFhankel"></a><dl>
<dt><a name="index-hankel"></a><em></em> <strong>hankel</strong> <em>(<var>c</var>)</em></dt>
<dt><a name="index-hankel-1"></a><em></em> <strong>hankel</strong> <em>(<var>c</var>, <var>r</var>)</em></dt>
<dd><p>Return the Hankel matrix constructed from the first column <var>c</var>, and
(optionally) the last row <var>r</var>.
</p>
<p>If the last element of <var>c</var> is not the same as the first element of
<var>r</var>, the last element of <var>c</var> is used.  If the second argument is
omitted, it is assumed to be a vector of zeros with the same size as
<var>c</var>.
</p>
<p>A Hankel matrix formed from an m-vector <var>c</var>, and an n-vector <var>r</var>,
has the elements
</p>
<div class="example">
<pre class="example">H(i,j) = c(i+j-1),  i+j-1 &lt;= m;
H(i,j) = r(i+j-m),  otherwise
</pre></div>


<p><strong>See also:</strong> <a href="#XREFhadamard">hadamard</a>, <a href="#XREFtoeplitz">toeplitz</a>.
</p></dd></dl>


<a name="XREFhilb"></a><dl>
<dt><a name="index-hilb"></a><em></em> <strong>hilb</strong> <em>(<var>n</var>)</em></dt>
<dd><p>Return the Hilbert matrix of order <var>n</var>.
</p>
<p>The <em>i,j</em> element of a Hilbert matrix is defined as
</p>
<div class="example">
<pre class="example">H(i, j) = 1 / (i + j - 1)
</pre></div>


<p>Hilbert matrices are close to being singular which make them difficult to
invert with numerical routines.  Comparing the condition number of a random
matrix 5x5 matrix with that of a Hilbert matrix of order 5 reveals just how
difficult the problem is.
</p>
<div class="example">
<pre class="example">cond (rand (5))
   &rArr; 14.392
cond (hilb (5))
   &rArr; 4.7661e+05
</pre></div>


<p><strong>See also:</strong> <a href="#XREFinvhilb">invhilb</a>.
</p></dd></dl>


<a name="XREFinvhilb"></a><dl>
<dt><a name="index-invhilb"></a><em></em> <strong>invhilb</strong> <em>(<var>n</var>)</em></dt>
<dd><p>Return the inverse of the Hilbert matrix of order <var>n</var>.
</p>
<p>This can be computed exactly using
</p>
<div class="example">
<pre class="example">

           (i+j)         /n+i-1\  /n+j-1\   /i+j-2\ 2
A(i,j) = -1      (i+j-1)(       )(       ) (       )
                         \ n-j /  \ n-i /   \ i-2 /

       = p(i) p(j) / (i+j-1)

</pre></div>

<p>where
</p>
<div class="example">
<pre class="example">         k  /k+n-1\   /n\
p(k) = -1  (       ) (   )
            \ k-1 /   \k/
</pre></div>

<p>The validity of this formula can easily be checked by expanding the binomial
coefficients in both formulas as factorials.  It can be derived more
directly via the theory of Cauchy matrices.  See J. W. Demmel,
<cite>Applied Numerical Linear Algebra</cite>, p. 92.
</p>
<p>Compare this with the numerical calculation of <code>inverse (hilb (n))</code>,
which suffers from the ill-conditioning of the Hilbert matrix, and the
finite precision of your computer&rsquo;s floating point arithmetic.
</p>
<p><strong>See also:</strong> <a href="#XREFhilb">hilb</a>.
</p></dd></dl>


<a name="XREFmagic"></a><dl>
<dt><a name="index-magic"></a><em></em> <strong>magic</strong> <em>(<var>n</var>)</em></dt>
<dd>
<p>Create an <var>n</var>-by-<var>n</var> magic square.
</p>
<p>A magic square is an arrangement of the integers <code>1:n^2</code> such that the
row sums, column sums, and diagonal sums are all equal to the same value.
</p>
<p>Note: <var>n</var> must be a scalar greater than or equal to 3.  If you supply
<var>n</var> less than 3, magic returns either a nonmagic square, or else the
degenerate magic squares 1 and [].
</p></dd></dl>


<a name="XREFpascal"></a><dl>
<dt><a name="index-pascal"></a><em></em> <strong>pascal</strong> <em>(<var>n</var>)</em></dt>
<dt><a name="index-pascal-1"></a><em></em> <strong>pascal</strong> <em>(<var>n</var>, <var>t</var>)</em></dt>
<dd><p>Return the Pascal matrix of order <var>n</var> if <code><var>t</var> = 0</code>.
</p>
<p>The default value of <var>t</var> is 0.
</p>
<p>When <code><var>t</var> = 1</code>, return the pseudo-lower triangular
Cholesky&nbsp;factor of the Pascal matrix (The sign of some columns may be
negative).  This matrix is its own inverse, that is
<code>pascal (<var>n</var>, 1) ^ 2 == eye (<var>n</var>)</code>.
</p>
<p>If <code><var>t</var> = -1</code>, return the true Cholesky&nbsp;factor with strictly
positive values on the diagonal.
</p>
<p>If <code><var>t</var> = 2</code>, return a transposed and permuted version of
<code>pascal (<var>n</var>, 1)</code>, which is the cube root of the identity matrix.
That is, <code>pascal (<var>n</var>, 2) ^ 3 == eye (<var>n</var>)</code>.
</p>

<p><strong>See also:</strong> <a href="Matrix-Factorizations.html#XREFchol">chol</a>.
</p></dd></dl>


<a name="XREFrosser"></a><dl>
<dt><a name="index-rosser"></a><em></em> <strong>rosser</strong> <em>()</em></dt>
<dd><p>Return the Rosser matrix.
</p>
<p>This is a difficult test case used to evaluate eigenvalue algorithms.
</p>
<p><strong>See also:</strong> <a href="#XREFwilkinson">wilkinson</a>, <a href="Basic-Matrix-Functions.html#XREFeig">eig</a>.
</p></dd></dl>


<a name="XREFtoeplitz"></a><dl>
<dt><a name="index-toeplitz"></a><em></em> <strong>toeplitz</strong> <em>(<var>c</var>)</em></dt>
<dt><a name="index-toeplitz-1"></a><em></em> <strong>toeplitz</strong> <em>(<var>c</var>, <var>r</var>)</em></dt>
<dd><p>Return the Toeplitz matrix constructed from the first column <var>c</var>,
and optionally the first row <var>r</var>.
</p>
<p>If the second argument is omitted, the first row is taken to be the
same as the first column.  If the first element of <var>r</var> is not the same
as the first element of <var>c</var>, the first element of <var>c</var> is used.
</p>
<p>A Toeplitz, or diagonal-constant, matrix has the same value along each
diagonal.  Although it need not be square, it often is.  An MxN
Toeplitz matrix has the form:
</p>
<div class="example">
<pre class="example">c(1)  r(2)   r(3)  &hellip;  r(n)
c(2)  c(1)   r(2)  &hellip; r(n-1)
c(3)  c(2)   c(1)  &hellip; r(n-2)
 .     .      .   .      .
 .     .      .     .    .
 .     .      .       .  .
c(m) c(m-1) c(m-2) &hellip; c(m-n+1)
</pre></div>


<p><strong>See also:</strong> <a href="#XREFhankel">hankel</a>.
</p></dd></dl>


<a name="XREFvander"></a><dl>
<dt><a name="index-vander"></a><em></em> <strong>vander</strong> <em>(<var>c</var>)</em></dt>
<dt><a name="index-vander-1"></a><em></em> <strong>vander</strong> <em>(<var>c</var>, <var>n</var>)</em></dt>
<dd><p>Return the Vandermonde matrix whose next to last column is
<var>c</var>.
</p>
<p>If <var>n</var> is specified, it determines the number of columns; otherwise,
<var>n</var> is taken to be equal to the length of <var>c</var>.
</p>
<p>A Vandermonde matrix has the form:
</p>
<div class="example">
<pre class="example">c(1)^(n-1) &hellip; c(1)^2  c(1)  1
c(2)^(n-1) &hellip; c(2)^2  c(2)  1
    .     .      .      .    .
    .       .    .      .    .
    .         .  .      .    .
c(n)^(n-1) &hellip; c(n)^2  c(n)  1
</pre></div>


<p><strong>See also:</strong> <a href="Polynomial-Interpolation.html#XREFpolyfit">polyfit</a>.
</p></dd></dl>


<a name="XREFwilkinson"></a><dl>
<dt><a name="index-wilkinson"></a><em></em> <strong>wilkinson</strong> <em>(<var>n</var>)</em></dt>
<dd><p>Return the Wilkinson matrix of order <var>n</var>.
</p>
<p>Wilkinson matrices are symmetric and tridiagonal with pairs of nearly, but
not exactly, equal eigenvalues.  They are useful in testing the behavior and
performance of eigenvalue solvers.
</p>

<p><strong>See also:</strong> <a href="#XREFrosser">rosser</a>, <a href="Basic-Matrix-Functions.html#XREFeig">eig</a>.
</p></dd></dl>



<hr>
<div class="header">
<p>
Previous: <a href="Special-Utility-Matrices.html#Special-Utility-Matrices" accesskey="p" rel="prev">Special Utility Matrices</a>, Up: <a href="Matrix-Manipulation.html#Matrix-Manipulation" accesskey="u" rel="up">Matrix Manipulation</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>