Ответа на вопрос, задаваемый здесь Why is complex conjugate transpose the default in MatlabMatlab: (.) ^ * T операция для комплексных чисел
говорит, что для комплексных чисел мы можем использовать '
символ для обозначения операции транспонирования, которая используется для действительных чисел. Математически операция транспонирования, которая выполняется для вещественных чисел, обозначается символом (.)^T
. Для транспонирования комплексных чисел эквивалентный символ равен (.)^H
. То, как это делается, - это сначала взять сопряжение комплексного числа, а затем взять его транспонирование. Это операция (.)^H
.
Я хочу реализовать операцию (.)^{*T} = (.)^H
для комплексного номера. Для этого я использовал символ апострофа. Пожалуйста, поправьте меня, где не так.
Я хотел подтвердить, правильна ли моя реализация концепции или нет использования Matlab. Например, для реальных ценного вектора A_r
, я хочу, чтобы умножить его с транспонированной multiply_r = A_r*A_r'
тиражирования же для комплекса значного вектора A_c
, эта операция станет multiply_c = A_c * A_c'
A_r =[1,2,3]; %real valued vector
B_r = A_r'; %transpose of real valued vector
multiply_r =A_r*B_r;
A_c = [1 + sqrt(-1)*1, 2+sqrt(-1)*2, 3+sqrt(-1)*3]; %complex valued vector
B_c = A_c'; %transpose of complex valued vector
multiply_c = A_c*B_c;
Является ли это хорошо?
UPDATE: Я пытаюсь перенести нормальный перенос этого комплекснозначного массива так, чтобы он располагался в 3-х строках и 1 столбце вместо 1 строки и 3 столбца. Использование оператора .'
Я получаю странные значения, потому что массив теперь увеличен в размере! Каков правильный путь?
h = [ -5.1053 + 3.6797i 1.3327 + 5.7339i 4.1302 -10.7521i].'
h =
-5.1053 + 3.6797i
1.3327 + 5.7339i
4.1302
0 -10.7521i
Looks godd. Но это зависит от того, что вы хотите сделать. Если для сложных чисел вы хотите транспонировать (без сопряжения), используйте '.''. Если вы хотите, чтобы конъюгатная транспозиция использовала '' ' –
@Luis Mendo: я хочу выполнить операцию, эквивалентную $ (.)^{* T} = (.)^H $. Тогда что я должен использовать? Является ли это сопряженное транспонирование? – SKM
Кстати, вам не нужно писать 'sqrt (-1)' у вас есть символы 'i' и' j' для этого в Matlab. – Shai