1
0
Fork 0
mirror of https://gitlab.com/news-flash/article_scraper.git synced 2025-07-07 16:15:32 +02:00

fix hidden fallback images for wikipedia & add more tests

This commit is contained in:
Jan Lukas Gernert 2023-04-02 09:55:25 +02:00
parent 3fa8c9674d
commit fcc5cb0e88
9 changed files with 16936 additions and 1 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,373 @@
<article><div xml:lang="en" id="readability-page-1" dir="ltr" lang="en">
<p>
In mathematics, a <b>Hermitian matrix</b> (or <b>self-adjoint matrix</b>) is a <a href="http://fakehost/wiki/Complex_number" title="Complex number" target="_blank">complex</a> <a href="http://fakehost/wiki/Square_matrix" title="Square matrix" target="_blank">square matrix</a> that is equal to its own <a href="http://fakehost/wiki/Conjugate_transpose" title="Conjugate transpose" target="_blank">conjugate transpose</a>—that is, the element in the <span>i</span>-th row and <span>j</span>-th column is equal to the <a href="http://fakehost/wiki/Complex_conjugate" title="Complex conjugate" target="_blank">complex conjugate</a> of the element in the <span>j</span>-th row and <span>i</span>-th column, for all indices <span>i</span> and <span>j</span>:
</p>
<p>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/28a0aaa74b2267a48312e19321211cd9e3a39228" aria-hidden="true" alt="{\displaystyle A{\text{ Hermitian}}\quad \iff \quad a_{ij}={\overline {a_{ji}}}}"></span>
</p>
<p>
or in matrix form:
</p>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6ca00b61ff0e264e6c1e5adc9a00c0d2751feecf" aria-hidden="true" alt="{\displaystyle A{\text{ Hermitian}}\quad \iff \quad A={\overline {A^{\mathsf {T}}}}}"></span>.
</dd>
</dl>
<p>
Hermitian matrices can be understood as the complex extension of real <a href="http://fakehost/wiki/Symmetric_matrix" title="Symmetric matrix" target="_blank">symmetric matrices</a>.
</p>
<p>
If the <a href="http://fakehost/wiki/Conjugate_transpose" title="Conjugate transpose" target="_blank">conjugate transpose</a> of a matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is denoted by <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d9415702ab196cc26f5df37af2d90e07318e93df" aria-hidden="true" alt="{\displaystyle A^{\mathsf {H}}}"></span>, then the Hermitian property can be written concisely as
</p>
<p>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/291d260bf69b764e75818669ab27870d58771e1f" aria-hidden="true" alt="{\displaystyle A{\text{ Hermitian}}\quad \iff \quad A=A^{\mathsf {H}}}"></span>
</p>
<p>
Hermitian matrices are named after <a href="http://fakehost/wiki/Charles_Hermite" title="Charles Hermite" target="_blank">Charles Hermite</a>, who demonstrated in 1855 that matrices of this form share a property with real symmetric matrices of always having real <a href="http://fakehost/wiki/Eigenvalues_and_eigenvectors" title="Eigenvalues and eigenvectors" target="_blank">eigenvalues</a>. Other, equivalent notations in common use are <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8aa270391d183478251283d2c4b2c72ac4563352" aria-hidden="true" alt="{\displaystyle A^{\mathsf {H}}=A^{\dagger }=A^{\ast }}"></span>, although note that in <a href="http://fakehost/wiki/Quantum_mechanics" title="Quantum mechanics" target="_blank">quantum mechanics</a>, <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5541bfa07743be995242c892c344395e672d6fa2" aria-hidden="true" alt="A^{\ast }"></span> typically means the <a href="http://fakehost/wiki/Complex_conjugate" title="Complex conjugate" target="_blank">complex conjugate</a> only, and not the <a href="http://fakehost/wiki/Conjugate_transpose" title="Conjugate transpose" target="_blank">conjugate transpose</a>.
</p>
<h2>
<span id="Alternative_characterizations">Alternative characterizations</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=1" title="Edit section: Alternative characterizations" target="_blank">edit</a><span>]</span></span>
</h2>
<p>
Hermitian matrices can be characterized in a number of equivalent ways, some of which are listed below:
</p>
<h3>
<span id="Equality_with_the_adjoint">Equality with the adjoint</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=2" title="Edit section: Equality with the adjoint" target="_blank">edit</a><span>]</span></span>
</h3>
<p>
A square matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is Hermitian if and only if it is equal to its <a href="http://fakehost/wiki/Hermitian_adjoint" title="Hermitian adjoint" target="_blank">adjoint</a>, that is, it satisfies
</p>
<p><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/459de45e76bace9d04a80d2e8efc2abbbc246047" aria-hidden="true" alt="{\displaystyle \langle w,Av\rangle =\langle Aw,v\rangle ,}">
</p>
<p>for any pair of vectors <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6425c6e94fa47976601cb44d7564b5d04dcfbfef" aria-hidden="true" alt="v,w"></span>, where <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9a50080b735975d8001c9552ac2134b49ad534c0" aria-hidden="true" alt="{\displaystyle \langle \cdot ,\cdot \rangle }"></span> denotes <a href="http://fakehost/wiki/Dot_product" title="Dot product" target="_blank">the inner product</a> operation.
</p>
<p>
This is also the way that the more general concept of <a href="http://fakehost/wiki/Self-adjoint_operator" title="Self-adjoint operator" target="_blank">self-adjoint operator</a> is defined.
</p>
<h3>
<span id="Reality_of_quadratic_forms">Reality of quadratic forms</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=3" title="Edit section: Reality of quadratic forms" target="_blank">edit</a><span>]</span></span>
</h3>
<p>
A square matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is Hermitian if and only if it is such that
</p>
<p><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/997ea0350c18735926412de88420ac9ca989f50c" aria-hidden="true" alt="{\displaystyle \langle v,Av\rangle \in \mathbb {R} ,\quad v\in V.}">
</p>
<h3>
<span id="Spectral_properties">Spectral properties</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=4" title="Edit section: Spectral properties" target="_blank">edit</a><span>]</span></span>
</h3>
<p>
A square matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is Hermitian if and only if it is unitarily <a href="http://fakehost/wiki/Diagonalizable_matrix" title="Diagonalizable matrix" target="_blank">diagonalizable</a> with real <a href="http://fakehost/wiki/Eigenvalues_and_eigenvectors" title="Eigenvalues and eigenvectors" target="_blank">eigenvalues</a>.
</p>
<h2>
<span id="Applications">Applications</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=5" title="Edit section: Applications" target="_blank">edit</a><span>]</span></span>
</h2>
<p>
Hermitian matrices are fundamental to the quantum theory of <a href="http://fakehost/wiki/Matrix_mechanics" title="Matrix mechanics" target="_blank">matrix mechanics</a> created by <a href="http://fakehost/wiki/Werner_Heisenberg" title="Werner Heisenberg" target="_blank">Werner Heisenberg</a>, <a href="http://fakehost/wiki/Max_Born" title="Max Born" target="_blank">Max Born</a>, and <a href="http://fakehost/wiki/Pascual_Jordan" title="Pascual Jordan" target="_blank">Pascual Jordan</a> in 1925.
</p>
<h2>
<span id="Examples">Examples</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=6" title="Edit section: Examples" target="_blank">edit</a><span>]</span></span>
</h2>
<p>
In this section, the conjugate transpose of matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is denoted as <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d9415702ab196cc26f5df37af2d90e07318e93df" aria-hidden="true" alt="{\displaystyle A^{\mathsf {H}}}"></span>, the transpose of matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is denoted as <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/54bf0331204e30cba9ec7f695dfea97e6745a7c2" aria-hidden="true" alt="{\displaystyle A^{\mathsf {T}}}"></span> and conjugate of matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is denoted as <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/92efef0e89bdc77f6a848764195ef5b9d9bfcc6a" aria-hidden="true" alt="{\displaystyle {\overline {A}}}"></span>.
</p>
<p>
See the following example:
</p>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/00ccf11c16396b6ddd4f2254f7132cd8bb2c57ee" aria-hidden="true" alt="{\displaystyle {\begin{bmatrix}2&amp;2+i&amp;4\\2-i&amp;3&amp;i\\4&amp;-i&amp;1\\\end{bmatrix}}}"></span>
</dd>
</dl>
<p>
The diagonal elements must be <a href="http://fakehost/wiki/Real_number" title="Real number" target="_blank">real</a>, as they must be their own complex conjugate.
</p>
<p>
Well-known families of <a href="http://fakehost/wiki/Pauli_matrices" title="Pauli matrices" target="_blank">Pauli matrices</a>, <a href="http://fakehost/wiki/Gell-Mann_matrices" title="Gell-Mann matrices" target="_blank">Gell-Mann matrices</a> and their generalizations are Hermitian. In <a href="http://fakehost/wiki/Theoretical_physics" title="Theoretical physics" target="_blank">theoretical physics</a> such Hermitian matrices are often multiplied by <a href="http://fakehost/wiki/Imaginary_number" title="Imaginary number" target="_blank">imaginary</a> coefficients,<sup id="cite_ref-1"><a href="#cite_note-1">[1]</a></sup><sup id="cite_ref-2"><a href="#cite_note-2">[2]</a></sup> which results in <i>skew-Hermitian</i> matrices (see <a href="#facts">below</a>).
</p>
<p>
Here, we offer another useful Hermitian matrix using an abstract example. If a square matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> equals the <a href="http://fakehost/wiki/Matrix_multiplication" title="Matrix multiplication" target="_blank">multiplication of a matrix</a> and its conjugate transpose, that is, <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3f0efab2d7c3a4b4b7caf14cc0705dadd13195a9" aria-hidden="true" alt="{\displaystyle A=BB^{\mathsf {H}}}"></span>, then <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is a Hermitian <a href="http://fakehost/wiki/Positive_semi-definite_matrix" title="Positive semi-definite matrix" target="_blank">positive semi-definite matrix</a>. Furthermore, if <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/47136aad860d145f75f3eed3022df827cee94d7a" aria-hidden="true" alt="B"></span> is row full-rank, then <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3" aria-hidden="true" alt="A"></span> is positive definite.
</p>
<h2>
<span id="Properties">Properties</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=7" title="Edit section: Properties" target="_blank">edit</a><span>]</span></span>
</h2>
<table role="presentation">
<tbody>
<tr>
<td>
<p><a href="http://fakehost/wiki/File:Wiki_letter_w_cropped.svg" target="_blank"><img alt="[icon]" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/44px-Wiki_letter_w_cropped.svg.png" decoding="async" width="44" height="31" srcset="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/66px-Wiki_letter_w_cropped.svg.png 1.5x, http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/88px-Wiki_letter_w_cropped.svg.png 2x" data-file-width="44" data-file-height="31"></a>
</p>
</td>
<td>
<p>
This section <b>needs expansion</b> with: Proof of the properties requested. <small>You can help by <a href="https://en.wikipedia.org/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=1" target="_blank">adding to it</a>.</small> <small><i>(<span>February 2018</span>)</i></small>
</p>
</td>
</tr>
</tbody>
</table>
<ul>
<li>The entries on the <a href="http://fakehost/wiki/Main_diagonal" title="Main diagonal" target="_blank">main diagonal</a> (top left to bottom right) of any Hermitian matrix are <a href="http://fakehost/wiki/Real_number" title="Real number" target="_blank">real</a>.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> By definition of the Hermitian matrix
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4fa8265c5f6d4fc3b7cda6a06558c7d4d9aec855" aria-hidden="true" alt="{\displaystyle H_{ij}={\overline {H}}_{ji}}"></span>
</dd>
</dl>
</dd>
<dd>
so for <span><i>i</i> = <i>j</i></span> the above follows.
</dd>
<dd>
Only the <a href="http://fakehost/wiki/Main_diagonal" title="Main diagonal" target="_blank">main diagonal</a> entries are necessarily real; Hermitian matrices can have arbitrary complex-valued entries in their <a href="http://fakehost/wiki/Off-diagonal_element" title="Off-diagonal element" target="_blank">off-diagonal elements</a>, as long as diagonally-opposite entries are complex conjugates.
</dd>
</dl>
<ul>
<li>A matrix that has only real entries is Hermitian <a href="http://fakehost/wiki/If_and_only_if" title="If and only if" target="_blank">if and only if</a> it is <a href="http://fakehost/wiki/Symmetric_matrix" title="Symmetric matrix" target="_blank">symmetric</a>. A real and symmetric matrix is simply a special case of a Hermitian matrix.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4fa8265c5f6d4fc3b7cda6a06558c7d4d9aec855" aria-hidden="true" alt="{\displaystyle H_{ij}={\overline {H}}_{ji}}"></span> by definition. Thus <span>H<sub><i>ij</i></sub> = H<sub><i>ji</i></sub></span> (matrix symmetry) if and only if <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0f1862750b96d01100244370b3fca45f01923ce5" aria-hidden="true" alt="{\displaystyle H_{ij}={\overline {H}}_{ij}}"></span> (<span>H<sub><i>ij</i></sub></span> is real).
</dd>
</dl>
<ul>
<li>Every Hermitian matrix is a <a href="http://fakehost/wiki/Normal_matrix" title="Normal matrix" target="_blank">normal matrix</a>. That is to say, <span>AA<sup>H</sup> = A<sup>H</sup>A</span>.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> <span>A = A<sup>H</sup></span>, so <span>AA<sup>H</sup> = AA = A<sup>H</sup>A</span>.
</dd>
</dl>
<ul>
<li>The finite-dimensional <a href="http://fakehost/wiki/Spectral_theorem" title="Spectral theorem" target="_blank">spectral theorem</a> says that any Hermitian matrix can be <a href="http://fakehost/wiki/Diagonalizable_matrix" title="Diagonalizable matrix" target="_blank">diagonalized</a> by a <a href="http://fakehost/wiki/Unitary_matrix" title="Unitary matrix" target="_blank">unitary matrix</a>, and that the resulting diagonal matrix has only real entries. This implies that all <a href="http://fakehost/wiki/Eigenvectors" title="Eigenvectors" target="_blank">eigenvalues</a> of a Hermitian matrix <span>A</span> with dimension <span>n</span> are real, and that <span>A</span> has <span>n</span> linearly independent <a href="http://fakehost/wiki/Eigenvector" title="Eigenvector" target="_blank">eigenvectors</a>. Moreover, a Hermitian matrix has <a href="http://fakehost/wiki/Orthogonal" title="Orthogonal" target="_blank">orthogonal</a> eigenvectors for distinct eigenvalues. Even if there are degenerate eigenvalues, it is always possible to find an <a href="http://fakehost/wiki/Orthogonal_basis" title="Orthogonal basis" target="_blank">orthogonal basis</a> of <span><sup><i>n</i></sup></span> consisting of <span>n</span> eigenvectors of <span>A</span>.
</li>
</ul>
<ul>
<li>The sum of any two Hermitian matrices is Hermitian.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/251bf4ebbe3b0d119e0a7d19f8fd134c4f072971" aria-hidden="true" alt="{\displaystyle (A+B)_{ij}=A_{ij}+B_{ij}={\overline {A}}_{ji}+{\overline {B}}_{ji}={\overline {(A+B)}}_{ji},}"></span> as claimed.
</dd>
</dl>
<ul>
<li>The <a href="http://fakehost/wiki/Inverse_matrix" title="Inverse matrix" target="_blank">inverse</a> of an invertible Hermitian matrix is Hermitian as well.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> If <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/021893240ff7fa3148b6649b0ba4d88cd207b5f0" aria-hidden="true" alt="{\displaystyle A^{-1}A=I}"></span>, then <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a28a8250ab35ad60228bb0376eb4b7024f027815" aria-hidden="true" alt="{\displaystyle I=I^{H}=(A^{-1}A)^{H}=A^{H}(A^{-1})^{H}=A(A^{-1})^{H}}"></span>, so <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a0179c3a7aebe194ccd9a19ba02b972500f88a7a" aria-hidden="true" alt="{\displaystyle A^{-1}=(A^{-1})^{H}}"></span> as claimed.
</dd>
</dl>
<ul>
<li>The <a href="http://fakehost/wiki/Matrix_multiplication" title="Matrix multiplication" target="_blank">product</a> of two Hermitian matrices <span>A</span> and <span>B</span> is Hermitian if and only if <span><i>AB</i> = <i>BA</i></span>.
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> Note that <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b6cf8185ca7a0687bf959bb65b16db6cf1714ca2" aria-hidden="true" alt="{\displaystyle (AB)^{\mathsf {H}}={\overline {(AB)^{\mathsf {T}}}}={\overline {B^{\mathsf {T}}A^{\mathsf {T}}}}={\overline {B^{\mathsf {T}}}}{\overline {A^{\mathsf {T}}}}=B^{\mathsf {H}}A^{\mathsf {H}}=BA.}"></span> Thus <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d303a1ebcac8547489b170be5d0dd7d8e04e548e" aria-hidden="true" alt="{\displaystyle (AB)^{\mathsf {H}}=AB}"></span> <a href="http://fakehost/wiki/If_and_only_if" title="If and only if" target="_blank">if and only if</a> <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/992c8ea49fdd26b491180036c5a4d879fec77442" aria-hidden="true" alt="AB=BA"></span>.
</dd>
<dd>
Thus <span><i>A</i><sup><i>n</i></sup></span> is Hermitian if <span>A</span> is Hermitian and <span>n</span> is an integer.
</dd>
</dl>
<ul>
<li>The Hermitian complex <span>n</span>-by-<span>n</span> matrices do not form a <a href="http://fakehost/wiki/Vector_space" title="Vector space" target="_blank">vector space</a> over the <a href="http://fakehost/wiki/Complex_number" title="Complex number" target="_blank">complex numbers</a>, <span></span>, since the identity matrix <span><i>I</i><sub><i>n</i></sub></span> is Hermitian, but <span><i>i</i><i>I</i><sub><i>n</i></sub></span> is not. However the complex Hermitian matrices <i>do</i> form a vector space over the <a href="http://fakehost/wiki/Real_numbers" title="Real numbers" target="_blank">real numbers</a> <span></span>. In the <span>2<i>n</i><sup>2</sup></span>-<a href="http://fakehost/wiki/Dimension_of_a_vector_space" title="Dimension of a vector space" target="_blank">dimensional</a> vector space of complex <span><i>n</i>×<i>n</i></span> matrices over <span></span>, the complex Hermitian matrices form a subspace of dimension <span><i>n</i><sup>2</sup></span>. If <span><i>E</i><sub><i>jk</i></sub></span> denotes the <span>n</span>-by-<span>n</span> matrix with a <span>1</span> in the <span><i>j</i>,<i>k</i></span> position and zeros elsewhere, a basis (orthonormal w.r.t. the Frobenius inner product) can be described as follows:
</li>
</ul>
<dl>
<dd>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/46eedb181c0bdae46e8c1526161b03d0ea97b4b4" aria-hidden="true" alt="{\displaystyle E_{jj}{\text{ for }}1\leq j\leq n\quad (n{\text{ matrices}})}"></span>
</dd>
</dl>
</dd>
</dl>
<dl>
<dd>
together with the set of matrices of the form
</dd>
</dl>
<dl>
<dd>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ddeac51c423f6dbefc5f63e483d9aee96e6fa342" aria-hidden="true" alt="{\displaystyle {\frac {1}{\sqrt {2}}}\left(E_{jk}+E_{kj}\right){\text{ for }}1\leq j&lt;k\leq n\quad \left({\frac {n^{2}-n}{2}}{\text{ matrices}}\right)}"></span>
</dd>
</dl>
</dd>
</dl>
<dl>
<dd>
and the matrices
</dd>
</dl>
<dl>
<dd>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/db65cce3a8fa33e5b7b96badd756c8573aa866c0" aria-hidden="true" alt="{\displaystyle {\frac {i}{\sqrt {2}}}\left(E_{jk}-E_{kj}\right){\text{ for }}1\leq j&lt;k\leq n\quad \left({\frac {n^{2}-n}{2}}{\text{ matrices}}\right)}"></span>
</dd>
</dl>
</dd>
</dl>
<dl>
<dd>
where <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/add78d8608ad86e54951b8c8bd6c8d8416533d20" aria-hidden="true" alt="i"></span> denotes the complex number <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4ea1ea9ac61e6e1e84ac39130f78143c18865719" aria-hidden="true" alt="{\sqrt {-1}}"></span>, called the <i><a href="http://fakehost/wiki/Imaginary_unit" title="Imaginary unit" target="_blank">imaginary unit</a></i>.
</dd>
</dl>
<dl>
<dd>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3b7d749931e5f709bcbc0a446638d3b6b8ed0c6c" aria-hidden="true" alt="{\displaystyle A=\sum _{j}\lambda _{j}u_{j}u_{j}^{\mathsf {H}},}"></span>
</dd>
</dl>
</dd>
<dd>
where <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fa91daf9145f27bb95746fd2a37537342d587b77" aria-hidden="true" alt="\lambda _{j}"></span> are the eigenvalues on the diagonal of the diagonal matrix <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1934e7eadd31fbf6f7d6bcf9c0e9bec934ce8976" aria-hidden="true" alt="\; \Lambda "></span>.
</dd>
</dl>
<ul>
<li>The determinant of a Hermitian matrix is real:
</li>
</ul>
<dl>
<dd>
<i>Proof:</i> <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a1240df64c3010e0be6eae865fdfcfe6f77bf5eb" aria-hidden="true" alt="{\displaystyle \det(A)=\det \left(A^{\mathsf {T}}\right)\quad \Rightarrow \quad \det \left(A^{\mathsf {H}}\right)={\overline {\det(A)}}}"></span>
</dd>
<dd>
Therefore if <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/43cc392bdcfbb134dd66d9b469847f6370e29d9d" aria-hidden="true" alt="{\displaystyle A=A^{\mathsf {H}}\quad \Rightarrow \quad \det(A)={\overline {\det(A)}}}"></span>.
</dd>
<dd>
(Alternatively, the determinant is the product of the matrix's eigenvalues, and as mentioned before, the eigenvalues of a Hermitian matrix are real.)
</dd>
</dl>
<h2>
<span id="Decomposition_into_Hermitian_and_skew-Hermitian">Decomposition into Hermitian and skew-Hermitian</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=8" title="Edit section: Decomposition into Hermitian and skew-Hermitian" target="_blank">edit</a><span>]</span></span>
</h2>
<p>
<span id="facts"></span>Additional facts related to Hermitian matrices include:
</p>
<ul>
<li>The sum of a square matrix and its conjugate transpose <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3ef97bb04ce4ab682bcc84cf1059f8da235b483e" aria-hidden="true" alt="{\displaystyle \left(A+A^{\mathsf {H}}\right)}"></span> is Hermitian.
</li>
</ul>
<ul>
<li>The difference of a square matrix and its conjugate transpose <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f4ac665be4943ce769e33109e9f64abcf1e98050" aria-hidden="true" alt="{\displaystyle \left(A-A^{\mathsf {H}}\right)}"></span> is <a href="http://fakehost/wiki/Skew-Hermitian_matrix" title="Skew-Hermitian matrix" target="_blank">skew-Hermitian</a> (also called antihermitian). This implies that the <a href="http://fakehost/wiki/Commutator" title="Commutator" target="_blank">commutator</a> of two Hermitian matrices is skew-Hermitian.
</li>
</ul>
<ul>
<li>An arbitrary square matrix <span>C</span> can be written as the sum of a Hermitian matrix <span>A</span> and a skew-Hermitian matrix <span>B</span>. This is known as the Toeplitz decomposition of <span>C</span>.<sup id="cite_ref-HornJohnson_3-0"><a href="#cite_note-HornJohnson-3">[3]</a></sup><sup>:<span>p. 7</span></sup>
</li>
</ul>
<dl>
<dd>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0919d2e50fe1008af261f8301f243c002c328dbf" aria-hidden="true" alt="{\displaystyle C=A+B\quad {\mbox{with}}\quad A={\frac {1}{2}}\left(C+C^{\mathsf {H}}\right)\quad {\mbox{and}}\quad B={\frac {1}{2}}\left(C-C^{\mathsf {H}}\right)}"></span>
</dd>
</dl>
</dd>
</dl>
<h2>
<span id="Rayleigh_quotient">Rayleigh quotient</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=9" title="Edit section: Rayleigh quotient" target="_blank">edit</a><span>]</span></span>
</h2>
<p>
In mathematics, for a given complex Hermitian matrix <i>M</i> and nonzero vector <i>x</i>, the Rayleigh quotient<sup id="cite_ref-4"><a href="#cite_note-4">[4]</a></sup> <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f8ed067bb4bc06662d6bdf6210d450779a529ce5" aria-hidden="true" alt="R(M, x)"></span>, is defined as:<sup id="cite_ref-HornJohnson_3-1"><a href="#cite_note-HornJohnson-3">[3]</a></sup><sup>:<span>p. 234</span></sup><sup id="cite_ref-5"><a href="#cite_note-5">[5]</a></sup>
</p>
<dl>
<dd>
<span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6ad9b0047f8437f7b012041d7b2fcd190a5a9ec2" aria-hidden="true" alt="{\displaystyle R(M,x):={\frac {x^{\mathsf {H}}Mx}{x^{\mathsf {H}}x}}}"></span>.
</dd>
</dl>
<p>
For real matrices and vectors, the condition of being Hermitian reduces to that of being symmetric, and the conjugate transpose <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b431248ab2f121914608bbd1c2376715cecda9c8" aria-hidden="true" alt="{\displaystyle x^{\mathsf {H}}}"></span> to the usual transpose <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d4ee4832d06e8560510d81237d0650c897d476e9" aria-hidden="true" alt="{\displaystyle x^{\mathsf {T}}}"></span>. Note that <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b1d54d3c850d35f99329591e3b57cef98d17237f" aria-hidden="true" alt="{\displaystyle R(M,cx)=R(M,x)}"></span> for any non-zero real scalar <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/86a67b81c2de995bd608d5b2df50cd8cd7d92455" aria-hidden="true" alt="c"></span>. Also, recall that a Hermitian (or real symmetric) matrix has real eigenvalues.
</p>
<p>
It can be shown<sup>[<i><a href="http://fakehost/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed" target="_blank"><span title="This claim needs references to reliable sources. (September 2019)">citation needed</span></a></i>]</sup> that, for a given matrix, the Rayleigh quotient reaches its minimum value <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/82c24522483ceaf1d54224b69af4244b60c3ac08" aria-hidden="true" alt="\lambda_\min"></span> (the smallest eigenvalue of M) when <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" aria-hidden="true" alt="x"></span> is <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/486623019ef451e0582b874018e0249a46e0f996" aria-hidden="true" alt="v_\min"></span> (the corresponding eigenvector). Similarly, <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/18fbf88c578fc9f75d4610ebd18ab55f4f2842ce" aria-hidden="true" alt="R(M, x) \leq \lambda_\max"></span> and <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/200db82bfdbc81cd227cb3470aa826d6f11a7653" aria-hidden="true" alt="R(M, v_\max) = \lambda_\max"></span>.
</p>
<p>
The Rayleigh quotient is used in the min-max theorem to get exact values of all eigenvalues. It is also used in eigenvalue algorithms to obtain an eigenvalue approximation from an eigenvector approximation. Specifically, this is the basis for Rayleigh quotient iteration.
</p>
<p>
The range of the Rayleigh quotient (for matrix that is not necessarily Hermitian) is called a numerical range (or spectrum in functional analysis). When the matrix is Hermitian, the numerical range is equal to the spectral norm. Still in functional analysis, <span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/957584ae6a35f9edf293cb486d7436fb5b75e803" aria-hidden="true" alt="\lambda_\max"></span> is known as the spectral radius. In the context of C*-algebras or algebraic quantum mechanics, the function that to <span><i>M</i></span> associates the Rayleigh quotient <span><i>R</i>(<i>M</i>, <i>x</i>)</span> for a fixed <span><i>x</i></span> and <span><i>M</i></span> varying through the algebra would be referred to as "vector state" of the algebra.
</p>
<h2>
<span id="See_also">See also</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=10" title="Edit section: See also" target="_blank">edit</a><span>]</span></span>
</h2>
<ul>
<li>
<a href="http://fakehost/wiki/Vector_space" title="Vector space" target="_blank">Vector space</a>
</li>
<li>
<a href="http://fakehost/wiki/Skew-Hermitian_matrix" title="Skew-Hermitian matrix" target="_blank">Skew-Hermitian matrix</a> (anti-Hermitian matrix)
</li>
<li>
<a href="http://fakehost/wiki/Haynsworth_inertia_additivity_formula" title="Haynsworth inertia additivity formula" target="_blank">Haynsworth inertia additivity formula</a>
</li>
<li>
<a href="http://fakehost/wiki/Hermitian_form" title="Hermitian form" target="_blank">Hermitian form</a>
</li>
<li>
<a href="http://fakehost/wiki/Self-adjoint_operator" title="Self-adjoint operator" target="_blank">Self-adjoint operator</a>
</li>
<li>
<a href="http://fakehost/wiki/Unitary_matrix" title="Unitary matrix" target="_blank">Unitary matrix</a>
</li>
</ul>
<h2>
<span id="References">References</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=11" title="Edit section: References" target="_blank">edit</a><span>]</span></span>
</h2>
<div>
<ol>
<li id="cite_note-1">
<span><b><a href="#cite_ref-1">^</a></b></span> <span><cite><a href="http://fakehost/wiki/Theodore_Frankel" title="Theodore Frankel" target="_blank">Frankel, Theodore</a> (2004). <a rel="nofollow" href="https://books.google.com/books?id=DUnjs6nEn8wC&amp;lpg=PA652&amp;dq=%22Lie%20algebra%22%20physics%20%22skew-Hermitian%22&amp;pg=PA652#v=onepage&amp;q&amp;f=false" target="_blank"><i>The Geometry of Physics: an introduction</i></a>. <a href="http://fakehost/wiki/Cambridge_University_Press" title="Cambridge University Press" target="_blank">Cambridge University Press</a>. p. 652. <a href="http://fakehost/wiki/International_Standard_Book_Number" title="International Standard Book Number" target="_blank">ISBN</a> <a href="http://fakehost/wiki/Special:BookSources/0-521-53927-7" title="Special:BookSources/0-521-53927-7" target="_blank"><bdi>0-521-53927-7</bdi></a>.</cite></span>
</li>
<li id="cite_note-2">
<span><b><a href="#cite_ref-2">^</a></b></span> <span><a rel="nofollow" href="http://www.hep.caltech.edu/~fcp/physics/quantumMechanics/angularMomentum/angularMomentum.pdf" target="_blank">Physics 125 Course Notes</a> at <a href="http://fakehost/wiki/California_Institute_of_Technology" title="California Institute of Technology" target="_blank">California Institute of Technology</a></span>
</li>
<li id="cite_note-HornJohnson-3">
<span>^ <a href="#cite_ref-HornJohnson_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-HornJohnson_3-1"><sup><i><b>b</b></i></sup></a></span> <span><cite>Horn, Roger A.; Johnson, Charles R. (2013). <i>Matrix Analysis, second edition</i>. Cambridge University Press. <a href="http://fakehost/wiki/International_Standard_Book_Number" title="International Standard Book Number" target="_blank">ISBN</a> <a href="http://fakehost/wiki/Special:BookSources/9780521839402" title="Special:BookSources/9780521839402" target="_blank"><bdi>9780521839402</bdi></a>.</cite></span>
</li>
<li id="cite_note-4">
<span><b><a href="#cite_ref-4">^</a></b></span> <span>Also known as the <b>RayleighRitz ratio</b>; named after <a href="http://fakehost/wiki/Walther_Ritz" title="Walther Ritz" target="_blank">Walther Ritz</a> and <a href="http://fakehost/wiki/Lord_Rayleigh" title="Lord Rayleigh" target="_blank">Lord Rayleigh</a>.</span>
</li>
<li id="cite_note-5">
<span><b><a href="#cite_ref-5">^</a></b></span> <span>Parlet B. N. <i>The symmetric eigenvalue problem</i>, SIAM, Classics in Applied Mathematics,1998</span>
</li>
</ol>
</div>
<h2>
<span id="External_links">External links</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Hermitian_matrix&amp;action=edit&amp;section=12" title="Edit section: External links" target="_blank">edit</a><span>]</span></span>
</h2>
<ul>
<li>
<cite id="CITEREFHazewinkel2001"><a href="http://fakehost/wiki/Michiel_Hazewinkel" title="Michiel Hazewinkel" target="_blank">Hazewinkel, Michiel</a>, ed. (2001) [1994], <a rel="nofollow" href="https://www.encyclopediaofmath.org/index.php?title=p/h047070" target="_blank">"Hermitian matrix"</a>, <i><a href="http://fakehost/wiki/Encyclopedia_of_Mathematics" title="Encyclopedia of Mathematics" target="_blank">Encyclopedia of Mathematics</a></i>, Springer Science+Business Media B.V. / Kluwer Academic Publishers, <a href="http://fakehost/wiki/International_Standard_Book_Number" title="International Standard Book Number" target="_blank">ISBN</a> <a href="http://fakehost/wiki/Special:BookSources/978-1-55608-010-4" title="Special:BookSources/978-1-55608-010-4" target="_blank"><bdi>978-1-55608-010-4</bdi></a></cite>
</li>
<li>
<a rel="nofollow" href="https://www.cyut.edu.tw/~ckhung/b/la/hermitian.en.php" target="_blank">Visualizing Hermitian Matrix as An Ellipse with Dr. Geo</a>, by Chao-Kuei Hung from Chaoyang University, gives a more geometric explanation.
</li>
<li>
<cite><a rel="nofollow" href="http://www.mathpages.com/home/kmath306/kmath306.htm" target="_blank">"Hermitian Matrices"</a>. <i>MathPages.com</i>.</cite>
</li>
</ul>
</div></article>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,71 @@
<article><div id="readability-page-1">
<main id="content" role="main" tabindex="-1">
<article id="post-67202" itemscope="itemscope" itemtype="http://schema.org/BlogPosting" itemprop="blogPost">
<div itemprop="articleBody">
<p>
<a href="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?ssl=1" target="_blank"><img data-attachment-id="57913" data-permalink="https://wptavern.com/stack-overflow-documentation-is-now-in-beta/stack-overflow" data-orig-file="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?fit=1650%2C646&amp;ssl=1" data-orig-size="1650,646" data-comments-opened="0" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="stack-overflow" data-image-description="" data-medium-file="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?fit=300%2C117&amp;ssl=1" data-large-file="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?fit=500%2C196&amp;ssl=1" src="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?resize=1025%2C401&amp;ssl=1" alt="" srcset="https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?w=1650&amp;ssl=1 1650w, https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?resize=300%2C117&amp;ssl=1 300w, https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?resize=768%2C301&amp;ssl=1 768w, https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?resize=500%2C196&amp;ssl=1 500w, https://i0.wp.com/wptavern.com/wp-content/uploads/2016/07/stack-overflow.png?resize=1025%2C401&amp;ssl=1 1025w" sizes="(max-width: 1025px) 100vw, 1025px" width="644" height="252"></a>
</p>
<p>Stack Overflow published its analysis of <a href="https://stackoverflow.blog/2017/03/09/developer-hiring-trends-2017/" target="_blank">2017 hiring trends</a> based on the targeting options employers selected when posting to <a href="http://stackoverflow.com/jobs" target="_blank">Stack Overflow Jobs</a>. The report, which compares data from 200 companies since 2015, ranks ReactJS, Docker, and Ansible at the top of the fastest growing skills in demand. When comparing the percentage change from 2015 to 2016, technologies like AJAX, Backbone.js, jQuery, and WordPress are less in demand.</p>
<p>
<a href="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?ssl=1" target="_blank"><img data-attachment-id="67214" data-permalink="https://wptavern.com/stack-overflow-jobs-data-shows-reactjs-skills-in-high-demand-wordpress-market-oversaturated-with-developers/changesindemand" data-orig-file="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?fit=975%2C1115&amp;ssl=1" data-orig-size="975,1115" data-comments-opened="0" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="ChangesinDemand" data-image-description="" data-medium-file="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?fit=262%2C300&amp;ssl=1" data-large-file="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?fit=437%2C500&amp;ssl=1" src="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?resize=975%2C1115&amp;ssl=1" alt="" srcset="https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?w=975&amp;ssl=1 975w, https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?resize=262%2C300&amp;ssl=1 262w, https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?resize=768%2C878&amp;ssl=1 768w, https://i2.wp.com/wptavern.com/wp-content/uploads/2017/03/ChangesinDemand.png?resize=437%2C500&amp;ssl=1 437w" sizes="(max-width: 975px) 100vw, 975px" width="644" height="736"></a>
</p>
<p>Stack Overflow also measured the demand relative to the available developers in different tech skills. The demand for backend, mobile, and database engineers is higher than the number of qualified candidates available. WordPress is last among the oversaturated fields with a surplus of developers relative to available positions.</p>
<p>
<a href="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?ssl=1" target="_blank"><img data-attachment-id="67216" data-permalink="https://wptavern.com/stack-overflow-jobs-data-shows-reactjs-skills-in-high-demand-wordpress-market-oversaturated-with-developers/highdemand" data-orig-file="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?fit=975%2C854&amp;ssl=1" data-orig-size="975,854" data-comments-opened="0" data-image-meta='{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}' data-image-title="HighDemand" data-image-description="" data-medium-file="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?fit=300%2C263&amp;ssl=1" data-large-file="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?fit=500%2C438&amp;ssl=1" src="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?resize=975%2C854&amp;ssl=1" alt="" srcset="https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?w=975&amp;ssl=1 975w, https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?resize=300%2C263&amp;ssl=1 300w, https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?resize=768%2C673&amp;ssl=1 768w, https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?resize=500%2C438&amp;ssl=1 500w, https://i1.wp.com/wptavern.com/wp-content/uploads/2017/03/HighDemand.png?resize=571%2C500&amp;ssl=1 571w" sizes="(max-width: 975px) 100vw, 975px" width="644" height="564"></a>
</p>
<p>In looking at these results, its important to consider the inherent biases within the Stack Overflow ecosystem. In 2016, the site surveyed more than 56,000 developers but noted that the survey was “biased against devs who dont speak English.” The average age of respondents was 29.6 years old and 92.8% of them were male. </p>
<p>For two years running, Stack Overflow survey respondents have <a href="https://wptavern.com/stack-overflow-survey-results-show-wordpress-is-trending-up-despite-being-ranked-among-most-dreaded-technologies" target="_blank">ranked WordPress among the most dreaded technologies</a> that they would prefer not to use. This may be one reason why employers wouldnt be looking to advertise positions on the sites job board, which is the primary source of the data for this report.</p>
<p>Many IT career forecasts focus more generally on job descriptions and highest paying positions. Stack Overflow is somewhat unique in that it identifies trends in specific tech skills, pulling this data out of how employers are tagging their listings for positions. It presents demand in terms of number of skilled developers relative to available positions, a slightly more complicated approach than measuring demand based on advertised salary. However, Stack Overflows data presentation could use some refining. </p>
<p>One commenter, Bruce Van Horn, <a href="https://stackoverflow.blog/2017/03/09/developer-hiring-trends-2017/#comment-3194770754" target="_blank">noted</a> that jobs tagged as “Full Stack Developer” already assume many of the skills that are listed separately: </p>
<blockquote>
<p>I wonder how many of these skills are no longer listed because they are “table stakes”. You used to have to put CSS, jQuery, and JSON on the job description. I wouldnt expect to have to put that on a Full Stack Developer description today if you dont know those then you arent a Full Stack Web Developer, and Im more interested in whether you know the shiny things like React, Redux, and Angular2.</p>
</blockquote>
<p>It would be interesting to know what is meant by tagging “WordPress” as a skill whether it is the general ability to work within the WordPress ecosystem of tools or if it refers to specific skills like PHP. Browsing a few jobs on Stack Overflow, <a href="http://stackoverflow.com/jobs?sort=i&amp;q=wordpress" target="_blank">WordPress positions</a> vary in the skills they require, such as React.js, Angular, PHP, HTML, CSS, and other technologies. This is a reflection of the diversity of technology that can be leveraged in creating WordPress-powered sites and applications, and several of these skills are listed independently of WordPress in the data. </p>
<p>Regardless of how much credibility you give Stack Overflows analysis of hiring trends, the reports recommendation for those working in technologies oversaturated with developers is a good one: “Consider brushing up on some technologies that offer higher employer demand and less competition.” WordPress code base is currently <a href="https://www.openhub.net/p/wordpress/analyses/latest/languages_summary" target="_blank">59% PHP and 27% JavaScript</a>. The percentage of PHP has grown over time, but newer features and improvements to core are also being built in JavaScript. These are both highly portable skills that are in demand on the web.</p>
</div>
</article>
</main>
</div></article>

File diff suppressed because it is too large Load diff

View file

@ -48,6 +48,7 @@ impl Readability {
};
if !Util::is_probably_visible(node_ref) {
log::debug!("removing hidden node {match_string}");
node = Util::remove_and_next(node_ref);
continue;
}

View file

@ -547,3 +547,18 @@ async fn wikia() {
async fn wikipedia() {
run_test("wikipedia").await
}
#[tokio::test]
async fn wikipedia_2() {
run_test("wikipedia-2").await
}
#[tokio::test]
async fn wikipedia_3() {
run_test("wikipedia-3").await
}
#[tokio::test]
async fn wordpress() {
run_test("wordpress").await
}

View file

@ -245,7 +245,10 @@ impl Util {
.get_attribute("aria-hidden")
.map(|attr| attr == "true")
.unwrap_or(false);
let has_fallback_image = node.get_class_names().contains("fallback-image");
let has_fallback_image = node
.get_class_names()
.iter()
.any(|class| class.contains("fallback-image"));
!is_hidden && !aria_hidden || has_fallback_image
}