Main Page: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
No edit summary
 
(424 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
'''DIIS''' ('''direct inversion in the iterative subspace''' or '''direct inversion of the iterative subspace'''), also known as '''Pulay mixing''', is an [[extrapolation]] technique. DIIS was developed by [[Peter Pulay]] in the field of computational [[quantum chemistry]] with the intent to accelerate and stabilize the convergence of the [[Hartree&ndash;Fock]] self-consistent field method.<ref>{{cite journal|last=Pulay|first=Péter |year=1980|title=Convergence acceleration of iterative sequences. the case of SCF iteration|journal=Chemical Physics Letters|volume=73|issue=2|pages=393&ndash;398|doi=10.1016/0009-2614(80)80396-4}}</ref><ref>{{cite journal|last=Pulay|first=Péter |year=1982|title=Improved SCF Convergence Acceleration|journal=Journal of Computational Chemistry|volume=3|issue=4|pages=556&ndash;560|doi=10.1002/jcc.540030413}}</ref>
This is a preview for the new '''MathML rendering mode''' (with SVG fallback), which is availble in production for registered users.


At a given iteration, the approach constructs a [[linear combination]] of approximate error vectors from previous iterations. The coefficients of the linear combination are determined so to best approximate, in a [[least squares]] sense, the [[null vector]]. The newly determined coefficients are then used to extrapolate the function variable for the next iteration.
If you would like use the '''MathML''' rendering mode, you need a wikipedia user account that can be registered here [[https://en.wikipedia.org/wiki/Special:UserLogin/signup]]
* Only registered users will be able to execute this rendering mode.
* Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.


==Details==
Registered users will be able to choose between the following three rendering modes:


At each iteration, an approximate error vector, {{math|'''e'''<sub>''i''</sub>}}, corresponding to the variable value, {{math|'''p'''<sub>''i''</sub>}} is determined. After sufficient iterations, a linear combination of {{math|''m''}} previous error vectors is constructed
'''MathML'''
:<math forcemathmode="mathml">E=mc^2</math>


:<math>\mathbf e_{m+1}=\sum_{i = 1}^m\ c_i\mathbf e_i.</math>
<!--'''PNG'''  (currently default in production)
:<math forcemathmode="png">E=mc^2</math>


The DIIS method seeks to minimize the norm of {{math|'''e'''<sub>''m''+1</sub>}} under the constraint that the coefficients sum to one. The reason why the coefficients must sum to one be can seen if we write the trial vector as the sum of the exact solution ({{math|'''p'''<sup>f</sup>}}) and an error vector. In the DIIS approximation, we get:
'''source'''
:<math>
:<math forcemathmode="source">E=mc^2</math> -->
\begin{align}
\mathbf p &= \sum_i c_i \left( \mathbf p^\text{f} + \mathbf e_i \right) \\
  &= \mathbf p^\text{f} \sum_i c_i + \sum_i c_i \mathbf e_i
\end{align}
</math>
We minimize the second term while it is clear that the sum coefficients must be equal to one if we want to find the exact solution.
The minimization is done by a [[Lagrange multiplier]] technique. Introducing an undetermined multiplier {{math|''λ''}}, a Lagrangian is constructed as


:<math>
<span style="color: red">Follow this [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering link] to change your Math rendering settings.</span> You can also add a [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering-skin Custom CSS] to force the MathML/SVG rendering or select different font families. See [https://www.mediawiki.org/wiki/Extension:Math#CSS_for_the_MathML_with_SVG_fallback_mode these examples].
\begin{align}
L&=\left\|\mathbf e_{m+1}\right\|^2-\lambda\left(\sum_i\ c_i-1\right),\\
&=\sum_{ij}c_jB_{ji}c_i-\lambda\left(\sum_i\ c_i-1\right),\text{ where } B_{ij}=\langle\mathbf e_j, \mathbf e_i\rangle.
\end{align}
</math>


Equating zero to the derivatives of {{math|''L''}} with respect to the coefficients and the multiplier leads to a system of {{math|(''m'' + 1)}} [[linear equation|linear equations]] to be solved for the {{math|''m''}} coefficients (and the Lagrange multiplier). The coefficients are then used to update the variable as
==Demos==


:<math>\mathbf p_{m+1}=\sum_{i = 1}^m c_i\mathbf p_i.</math>
Here are some [https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Frederic.wang demos]:


==Citations==
{{reflist}}


==References==
* accessibility:
* {{cite journal|last1=Garza|first1=Alejandro J.|last2=Scuseria|first2=Gustavo E.|year=2012|title=Comparison of self-consistent field convergence acceleration techniques|journal=Journal of Chemical Physics|volume=173|issue=5|page=054110|doi=10.1063/1.4740249}}
** Safari + VoiceOver: [https://commons.wikimedia.org/wiki/File:VoiceOver-Mac-Safari.ogv video only], [[File:Voiceover-mathml-example-1.wav|thumb|Voiceover-mathml-example-1]], [[File:Voiceover-mathml-example-2.wav|thumb|Voiceover-mathml-example-2]], [[File:Voiceover-mathml-example-3.wav|thumb|Voiceover-mathml-example-3]], [[File:Voiceover-mathml-example-4.wav|thumb|Voiceover-mathml-example-4]], [[File:Voiceover-mathml-example-5.wav|thumb|Voiceover-mathml-example-5]], [[File:Voiceover-mathml-example-6.wav|thumb|Voiceover-mathml-example-6]], [[File:Voiceover-mathml-example-7.wav|thumb|Voiceover-mathml-example-7]]
* {{Cite journal|doi=10.1007/s10910-011-9863-y|title=An analysis for the DIIS acceleration method used in quantum chemistry calculations|year=2011|last1=Rohwedder|first1=Thorsten|last2=Schneider|first2=Reinhold|journal=Journal of Mathematical Chemistry|volume=49|issue=9|pages=1889}}
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Audio-Windows7-InternetExplorer.ogg Internet Explorer + MathPlayer (audio)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-SynchronizedHighlighting-WIndows7-InternetExplorer.png Internet Explorer + MathPlayer (synchronized highlighting)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Braille-Windows7-InternetExplorer.png Internet Explorer + MathPlayer (braille)]
** NVDA+MathPlayer: [[File:Nvda-mathml-example-1.wav|thumb|Nvda-mathml-example-1]], [[File:Nvda-mathml-example-2.wav|thumb|Nvda-mathml-example-2]], [[File:Nvda-mathml-example-3.wav|thumb|Nvda-mathml-example-3]], [[File:Nvda-mathml-example-4.wav|thumb|Nvda-mathml-example-4]], [[File:Nvda-mathml-example-5.wav|thumb|Nvda-mathml-example-5]], [[File:Nvda-mathml-example-6.wav|thumb|Nvda-mathml-example-6]], [[File:Nvda-mathml-example-7.wav|thumb|Nvda-mathml-example-7]].
** Orca: There is ongoing work, but no support at all at the moment [[File:Orca-mathml-example-1.wav|thumb|Orca-mathml-example-1]], [[File:Orca-mathml-example-2.wav|thumb|Orca-mathml-example-2]], [[File:Orca-mathml-example-3.wav|thumb|Orca-mathml-example-3]], [[File:Orca-mathml-example-4.wav|thumb|Orca-mathml-example-4]], [[File:Orca-mathml-example-5.wav|thumb|Orca-mathml-example-5]], [[File:Orca-mathml-example-6.wav|thumb|Orca-mathml-example-6]], [[File:Orca-mathml-example-7.wav|thumb|Orca-mathml-example-7]].
** From our testing, ChromeVox and JAWS are not able to read the formulas generated by the MathML mode.


==External links==
==Test pages ==
* [http://vergil.chemistry.gatech.edu/notes/diis/node2.html The Mathematics of DIIS]


[[Category:Quantum chemistry]]
To test the '''MathML''', '''PNG''', and '''source''' rendering modes, please go to one of the following test pages:
[[Category:Numerical linear algebra]]
*[[Displaystyle]]
*[[MathAxisAlignment]]
*[[Styling]]
*[[Linebreaking]]
*[[Unique Ids]]
*[[Help:Formula]]


 
*[[Inputtypes|Inputtypes (private Wikis only)]]
{{theoretical-chem-stub}}
*[[Url2Image|Url2Image (private Wikis only)]]
{{physical-chemistry-stub}}
==Bug reporting==
{{applied-math-stub}}
If you find any bugs, please report them at [https://bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki%20extensions&component=Math&version=master&short_desc=Math-preview%20rendering%20problem Bugzilla], or write an email to math_bugs (at) ckurs (dot) de .

Latest revision as of 22:52, 15 September 2019

This is a preview for the new MathML rendering mode (with SVG fallback), which is availble in production for registered users.

If you would like use the MathML rendering mode, you need a wikipedia user account that can be registered here [[1]]

  • Only registered users will be able to execute this rendering mode.
  • Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.

Registered users will be able to choose between the following three rendering modes:

MathML

E=mc2


Follow this link to change your Math rendering settings. You can also add a Custom CSS to force the MathML/SVG rendering or select different font families. See these examples.

Demos

Here are some demos:


Test pages

To test the MathML, PNG, and source rendering modes, please go to one of the following test pages:

Bug reporting

If you find any bugs, please report them at Bugzilla, or write an email to math_bugs (at) ckurs (dot) de .