复数乘法是什么?

逛木虫的时候看到一个很旧的数学帖子被人挖了坟,这个帖子大概是讨论如果把复数看作是向量,那么复数乘法应该怎么看待?向量之间有乘法?例如复数$(1+i)$和复数$i$,其对应的向量分别是$\left[ {\begin{array}{*{20}{c}} 1\\ 1 \end{array}} \right]$和$\left[ {\begin{array}{*{20}{c}} 0\\ 1 \end{array}} \right]$,那么两个向量怎么运算才能得到复数$-1+i$对应的向量$\left[ {\begin{array}{*{20}{c}} -1\\ 1 \end{array}} \right]$呢?

事实上,我认为只把复数看作是向量是不够的!既然把复数看作向量,那么我们也应该讨论(线性)变换,这是make sense的。因此,如果我们把向量也看作是线性变换,那么结果就是trivial的了!

我们知道,每个非零复数都具有指数形式(exponential form):$z = r{e^{i\theta }}$。而${e^{i\theta }}$是一个“旋转变换”,即把一个向量顺时针旋转$theta$角度,在线性代数的角度看来,其对应的线性变换是$\left[ {\begin{array}{*{20}{c}}
{\cos \theta }&{ - \sin \theta }\\
{\sin \theta }&{\cos \theta }
\end{array}} \right].$因此,每一个复数都可以唯一地对应于一个线性变换:$$z = r{e^{i\theta }} \sim r\left[ {\begin{array}{*{20}{c}}
{\cos \theta }&{ - \sin \theta }\\
{\sin \theta }&{\cos \theta }
\end{array}} \right].$$ 于是,复数乘法$z_1 * z_2$我们就可以把复数$z_1$看作是线性变换$T$,而复数$z_2$看作是其对应的向量$v$,就有$$z_1 * z_2 \sim T v.$$最后我们把结果$T v$(一个向量)再对应回复数域即可。

Example. 计算复数乘法$(1+i)*i$。

首先我们容易知道$1 + i = \sqrt 2 {e^{i\frac{\pi }{4}}} \sim \sqrt 2 \left[ {\begin{array}{*{20}{c}}
{\cos \frac{\pi }{4}}&{ - \sin \frac{\pi }{4}}\\
{\sin \frac{\pi }{4}}&{\cos \frac{\pi }{4}}
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
1&{ - 1}\\
1&1
\end{array}} \right]$,并且 $i \sim \left[ {\begin{array}{*{20}{c}}
0\\
1
\end{array}} \right]$,则$\left[ {\begin{array}{*{20}{c}}
1&{ - 1}\\
1&1
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
0\\
1
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
{ - 1}\\
1
\end{array}} \right] \sim -1 + i$。因此$\left( {1 + i} \right)i =  - 1 + i$。

时间: 2024-10-10 15:58:23

复数乘法是什么?的相关文章

1051. 复数乘法 (15)

1051. 复数乘法 (15) 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1:也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P)). 现给定两个复数的R和P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔. 输出格式: 在一行中按照"A+Bi"的格式输出两数乘积的常规形式,

PAT-乙级-1051. 复数乘法 (15)

1051. 复数乘法 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1:也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P)). 现给定两个复数的R和P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两

PAT 1051. 复数乘法

PAT 1051. 复数乘法 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1:也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P)). 现给定两个复数的R和P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔. 输出格式: 在一行中按照"A+Bi"的格式输出两数乘积的常规形式,实

PAT 1051. 复数乘法 (15)

复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1:也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P)). 现给定两个复数的R和P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔. 输出格式: 在一行中按照"A+Bi"的格式输出两数乘积的常规形式,实部和虚部均保留2位小数.注意:

537 Complex Number Multiplication 复数乘法

详见:https://leetcode.com/problems/complex-number-multiplication/description/ C++: class Solution { public: string complexNumberMultiply(string a, string b) { int n1 = a.size(), n2 = b.size(); auto p1 = a.find_last_of("+"), p2 = b.find_last_of(&qu

PAT-乙级-1051 复数乘法

复数可以写成(A+Bi)的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足i?2??=?1:也可以写成极坐标下的指数形式  (R×e?(Pi)??),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式  (R(cos(P)+isin(P)). 现给定两个复数的 R 和 P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的 R?1??, P?1??, R?2??, P?2??,数字间以空格分隔. 输出格式: 在一行中按照 A+Bi 的格式输出两数乘

力扣——复数乘法

给定两个表示复数的字符串. 返回表示它们乘积的字符串.注意,根据定义 i2 = -1 . 示例 1: 输入: "1+1i", "1+1i" 输出: "0+2i" 解释: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转换为 0+2i 的形式. 示例 2: 输入: "1+-1i", "1+-1i" 输出: "0+-2i" 解释: (1 - i)

1051 复数乘法 (15 分)

题目: 思路: 调用math函数库即可计算.另外需要注意若实部和虚部小于0.005且为负数时保留两位小数得到的是-0.00,直接上会wrong answer,所以需要将保留两位小数得到的结果为0的数去符号. 代码: 1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() 6 { 7 double r1, r2, p1, p2; 8 cin >> r1 >>

PAT Basic 1051 复数乘法 (15 分)

复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1:也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (. 现给定两个复数的 R 和 P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的 R?1??, P?1??, R?2??, P?2??,数字间以空格分隔. 输出格式: 在一行中按照 A+Bi 的格式输出两数乘积的常规形式,实部和虚部均保留 2 位小数.注意:如果 B 是负数,则应该写成