2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как дополнить N ортогональных векторов до N+2мерного базиса?
Сообщение01.01.2012, 23:53 
Я пытаюсь сделать матрицу, которая бы имела спектр, равный первым nmax состояниям квантовой частицы в бесконечной одномерной потенциальной яме, а собственные векторы чтобы были дискретными аппроксимациями волновых функций.
Вот как я это делаю: http://simplest-image-hosting.net/png-0 ... -123741-am
Проблема в том, что волновые функции состояний nmax-1 и nmax, как я понимаю, осциллируют с частотой Найквиста и выше. Поэтому для nmax-1 волновая функция оказывается продискретизирована в нулях, а nmax оказывается линейно зависим от nmax-2 (что видно на ArrayPlot).
Поэтому я отбраковываю такие функции (ибо они испортят и спектр, и собственные векторы матрицы). Однако, тогда возникает вопрос: как найти ещё два вектора, ортогональных остальным, т.е. дополнить существующий набор ортогональных векторов до базиса? Если бы остался всего один вектор, можно было бы его найти через векторное произведение, а когда два - даже не знаю, как решить эту задачу...

 
 
 
 Re: Как дополнить N ортогональных векторов до N+2мерного базиса?
Сообщение02.01.2012, 01:12 
Аватара пользователя
У Вас координата $x$ после дискретизации принимает $N_{\max}$ значений:
$0, h, 2h, ..., L$,
где $L$ -- ширина потенциальной ямы $0\leqslant x \leqslant L$,
$h=\frac L{N_{\max}-1}$ -- шаг сетки. Правильно я Вас понял?

Но эта сетка не очень хорошая: первые $N_{\max}$ собственных векторов $\psi_n(x)=\sin\frac{\pi n}L x$, $1\leqslant n \leqslant N_{\max}$ оказываются на ней линейно зависимыми. Тут ничего не поделаешь.

Попробуйте сделать немного по-другому -- возьмите узлы сетки в других точках, а именно:
$\frac h 2, \frac h 2+h, \frac h 2+2h, ..., L-\frac h 2$,
где $h=\frac L{N_{\max}}$ (уже без вычитания единицы), всего $N_{\max}$ точек. Это ничем не хуже.
Общая формула для узлов: $x_m=\frac h 2+ mh$, $0\leqslant m<N_{\max}$.

 
 
 
 Re: Как дополнить N ортогональных векторов до N+2мерного базиса?
Сообщение02.01.2012, 02:09 
Цитата:
Правильно я Вас понял?

Абсолютно правильно.

Цитата:
возьмите узлы в других точках

Я хотел сделать так, чтобы нулевые граничные условия были точно выражены в матрице, поэтому не хотел сдвигать $x_m$. Хотя, конечно, этот вариант работает красивее :)
В моём случае сработали два таких вектора: {1,0,...,0} и {0,...,0,1}. Да, они не соответствуют гранусловиям, но я их просто запихаю в конец спектра и буду учитывать, что это "dummy"-векторы.

Правильно я понимаю, что сделать все векторы с нулями на краях не получится при требовании их ортогональности?

-- 02.01.2012, 03:49 --

@svv
Отлично. Ваш способ превосходно подошёл для матрицы с периодическими граничными условиями.
Спасибо за помощь.

 
 
 
 Re: Как дополнить N ортогональных векторов до N+2мерного базиса?
Сообщение02.01.2012, 03:11 
Аватара пользователя
10110111 писал(а):
Правильно я понимаю, что сделать все векторы с нулями на краях не получится при требовании их ортогональности?
Мне трудно ответить на этот вопрос, так как я не очень представляю, на какое "насилие" здесь вообще можно пойти ради получения желаемого. :D

Возьмём Вашу исходную сетку. Введём величину $N=N_{\max}-1$ (она удобнее). Тогда $h=\frac L N$.
Пусть $\psi_n(x)=\sin\frac{\pi n}L x$, и $x_m=mh$. Здесь $0\leqslant m \leqslant N$, $n\geqslant 1$.
Составим матрицу $A$, в которой каждый элемент $a_{mn}$ равен значению $n$-го собственного вектора в $m$-й точке (понятно, это не та матрица, что Вы ищете). Строки (соответствуют узловым точкам) нумеруются с $0$ до $N$, а столбцы (соответствуют векторам) с $1$ до некоторого достаточно большого номера.
Явный вид элементов матрицы:
$a_{mn}=\psi_n(x_m)=\sin\frac{\pi m n}N$

Так с такими собственными векторами $\psi_n$, рассматриваемыми на таких точках $x_m$, сразу получим, что:
$a_{mN}=\sin \pi m=0$
$a_{m, N+n}=\sin\frac{\pi m (N+n)}N = \sin\frac{\pi m (2N - (N-n))}N= -a_{m, N-n}$
То есть только первые $N-1$ векторов будут линейно независимыми, это при $N+1$ точках. Вы это и подтвердили Вашими численными экспериментами.

-- Пн янв 02, 2012 02:19:17 --

Ага, не сразу заметил добавление.
Рад был помочь, счастливых волновых функций! :D

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group