Skip to main content
LibreTexts - Ukrayinska

7.3: Вищі розміри

  • Page ID
    79613
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Аналогічним чином ми можемо розробити скінченно-різницеві рівняння для вищих вимірів. У двох вимірах, наприклад,\(\psi(x,y)\) хвильова функція описується двома індексами:

    \[\psi_{mn} \equiv \psi(x_m, y_n).\]

    Дискретизація похідних здійснюється таким же чином, використовуючи правило середньої точки для перших часткових похідних в кожному напрямку, і триточкове правило для другої часткової похідної в кожному напрямку. Припустимо, що інтервал дискретизації дорівнює в обох напрямках:

    \[h = x_{m+1} - x_m = y_{n+1} - y_n.\]

    Потім, для другої похідної, оператор Лапласа

    \[\nabla^2 \psi(x,y) \equiv \frac{\partial^2\psi}{\partial x^2} + \frac{\partial^2\psi}{\partial y^2}\]

    може бути наближений п'ятиточковим правилом, яке передбачає значення функції at\((m,n)\) і чотирьох її найближчих сусідів:

    \[\nabla^2\psi(x_m,y_n) \approx \frac{\psi_{m+1,n} + \psi_{m,n+1} - 4\psi_{mn} + \psi_{m-1,n} + \psi_{m,n-1}}{h^2} + O(h^2). \]

    Наприклад, скінченно-різницеві рівняння для 2D хвильового рівняння Шредінгера

    \[-\frac{1}{2h^2}\, \Big[\psi_{m+1,n} + \psi_{m,n+1} - 4\psi_{mn} + \psi_{m-1,n} + \psi_{m,n-1} \Big] + V_{mn} \psi_{mn} = E \psi_{mn}.\]

    7.3.1 Переформування матриці

    Вищі диференціальні рівняння вносять одне дратівливе ускладнення: для перетворення між скінченно-різницевим рівнянням і матричним рівнянням індекси повинні бути реорганізовані. Наприклад, матрична форма двовимірного хвильового рівняння Шредінгера повинна мати вигляд

    \[\sum_{\nu} H_{\mu\nu} \psi_\nu = E \psi_\mu,\]

    де хвильові функції організовані в 1D масив, позначений «точковим індексом»\(\mu\). Кожному індексу точки відповідає пара «індексів сітки»\((m,n)\), представляючи просторові координати на 2D-сітці. Ми повинні бути обережними, щоб не переплутати два типи індексів.

    Ми будемо приймати наступну схему перетворення між точковими індексами та індексами сітки:

    \[\mu(m,n) = m N + n,\quad \mathrm{where}\; m \in \{ 0, \dots, M-1\}, \;\; n \in \{ 0, \dots, N-1\}.\]

    Одна хороша річ у цій схемі перетворення полягає в тому, що Scipy надає функцію зміни форми, яка може перетворити 2D масив з індексами сітки\((m,n)\) в 1D масив з індексом точки\(\mu\):

    >>> a = array([[0,1,2],[3,4,5],[6,7,8]])
    >>> a
    array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    >>> b = reshape(a, (9))     # Reshape a into a 1D array of size 9
    >>> b
    array([0, 1, 2, 3, 4, 5, 6, 7, 8])
    

    Функція reshape також може перетворити 1D назад у 2D масив, у правильному порядку:

    >>> c = reshape(b, (3,3))   # Reshape b into a 2D array of size 3x3
    >>> c
    array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    

    Під точковими індексами дискретизовані похідні приймають такі форми:

    \[\frac{\partial \psi}{\partial x}(\vec{r}_\mu)\;\, \approx \frac{1}{2h} \left(\psi_{\mu+N} - \psi_{\mu-N}\right) \]

    \[\frac{\partial \psi}{\partial y}(\vec{r}_\mu)\;\, \approx \frac{1}{2h} \left(\psi_{\mu+1} - \psi_{\mu-1}\right) \]

    \[\nabla^2\psi(\vec{r}_\mu) \approx \frac{1}{h^2} \left(\psi_{\mu+N} + \psi_{\mu+1} - 4\psi_{\mu} + \psi_{\mu-N} + \psi_{\mu-1}\right). \]

    Роль граничних умов залишають як вправу. Зараз існує два набори меж, в\(m \in \{0,M-1\}\) і\(n \in \{0, N-1\}\). Вивчаючи скінченно-різницеві рівняння уздовж кожної межі, ми можемо (i) призначити правильні координати дискретизації та (ii) модифікувати елементи матриці скінченної різниці відповідно до граничних умов. Деталі трохи стомлюють для опрацювання, але логіка по суті така ж, як і в раніше обговорюваних 1D випадках.