9. Complex Vectors and Matrices
9.1 Real versus Complex
- R= line of all real numbers (\(-\infty < x < \infty\)) \(\longleftrightarrow\) C=plane of all complex numbers \(z=x+iy\)
- |x| = absolute value of x \(\longleftrightarrow\) \(|z| = \sqrt{x^2+y^2} = r\) = absolute value (or modulus) of z
- 1 and -1 solve \(x^2=1\) \(\longleftrightarrow\) \(z=1,w,...,w^{n-1}\) solve \(z^n=1\) where \(w = e^{2\pi i/n}\)
- \(R^n\) : vectors with n real components \(\longleftrightarrow\) \(C^n\): vectors with n complex components
- length : \(||x||^2 = x_1^2 + \cdots + x_n^2\) \(\longleftrightarrow\) \(||z||^2 = |z_1|^2 + \cdots + |z_n|^2\)
- transpose : \(A_{ij}^T = A_{ji}\) \(\longleftrightarrow\) conjugate transpose \(A_{ij}^H = \overline{A_{ji}}\)
- dot/inner product : \(x^Ty = x_1y_1 + \cdots + x_ny_n\) \(\longleftrightarrow\) dot/inner product : \(u^Hv = \overline{u_1}v_1 + \cdots + \overline{u_n}v_n\)
- reason for \(A^T\) : \((Ax)^Ty = x^T(A^Ty)\) \(\longleftrightarrow\) reason for \(A^H\): \((Au)^Hv = u^H(A^Hv)\)
- orthgonality : \(x^Ty = 0\) \(\longleftrightarrow\) orthgonality : \(u^Hv = 0\)
- symmetric matrices: \(S=S^T\) \(\longleftrightarrow\) Hermitian matrices: \(S=S^H\)
- skew-symmetric matrices : \(K^T = K^{-1}\) \(\longleftrightarrow\) skew-Hermitian matrices : \(K^H = -K\)
- orthgonal matrices : \(Q^T = Q^{-1}\) \(\longleftrightarrow\) unitary matrices : \(U^H = U^{-1}\)
- orthonormal matrices : \(Q^TQ = I\) \(\longleftrightarrow\) orthonormal matrices : \(U^HU = I\)
- \(S = Q\Lambda Q^{-1} = Q\Lambda Q^T\) \(\longleftrightarrow\) \(S = U\Lambda U^{-1} = U\Lambda U^H\)
- \((Qx)^T(Qy)= x^Ty\) and \(||Qx|| = ||x||\) \(\longleftrightarrow\) \((Ux)^H(Uy)= x^Hy\) and \(||Uz|| = ||z||\)
9.2 Complex Numbers
Complex numbers correspond to points in a plane. Real numbers go along the x axis.Pure imaginary numbers are on the y axis. The complex number \(a+bi\) is at the point with coordinates (a, b).
Keys:
Add : \((a + bi) + (c + di) = (a+c)+(b+d)i\)
Multiply : \((a+bi)(a-bi)=a^2+b^2\)
Eigenvalues \(\lambda\) 和 \(\overline{\lambda}\) : If \(Ax=\lambda x\) and A is real then \(A\overline{x}=\overline{\lambda}\overline{x}\)
Euler's Formula : \(e^{i\theta}= cos\theta + isin\theta\)
Polar Form : The number \(z=a+ib\) is also \(z=rcos\theta + irsin\theta = re^{i\theta} \ \ with \ \ r = |z| = \sqrt{a^2 + b^2}\)
Powers: The nth power of \(z=r(cos\theta+isin\theta)\) is \(z^n=r^n(cos(n\theta)+isin(n\theta))\)
The nth roots of 1 : Set \(w=e^{2\pi i/n}\), the nth powers of \(1,w,w^2,...,w^{n-1}\) all equal 1, they solve the equation \(z^n=1\)
9.3 Hermitian and Unitary Matrices
When we transpose a complex vector z or matrix A , also take the complex conjugate too.
With \(z_j = a_j + i b_j\):
conjugate transpose : \(\overline{z}^T=[\overline{z_1} \cdots \overline{z_n}] = [a_1 - ib_1 \cdots a_n - ib_n]\)
length squared : \([\overline{z_1} \cdots \overline{z_n}] \left[ \begin{matrix} z_1 \\ \vdots \\ z_n\end{matrix}\right]= |z_1|^2 + \cdots + |z_n|^2 \longleftrightarrow \overline{z}^Tz=z^Hz = ||z||^2\) (\(z^H\) is z Hermitian)
Inner product : \(u^{H}v = [\overline{u_1} \cdots \overline{u_n}] \left[ \begin{matrix} v_1 \\ \vdots \\ v_n\end{matrix}\right]= \overline{u_1}v_1 + \cdots + \overline{u_n}v_n\)
Hermitian Matrix
Among complex matrices, with Hermitian matrices : \(S=S^H, s_{ij} = \overline{s_{ji}}\)
S^H = \left[ \begin{matrix} 2&3+3(-i) \\ 3-3(-i)&5 \end{matrix} \right] = \left[ \begin{matrix} 2&3-3i \\ 3+3i&5 \end{matrix} \right] = S \\
\]
Eigenvalues of a Hermitian matrix is real, and eigenvectors of a Hermitian are orthogonal.
Unitary Matrices
A unitary matrix Q is a complex square matrix that has orthonormal columns.
Unitary matrix that diagonalizes S : \(Q=\frac{1}{\sqrt{3}}\left[ \begin{matrix} 1&1-i \\ 1+i&-1 \end{matrix}\right]\)
Orthonormal columns : \(Q^HQ=I\)
Square + Orthonormal columns = Unitary matrix : \(Q^{H} = Q^{-1}\)
If Q is unitary the \(||Qz||=||z||\). Therefore \(Qz=\lambda z\) leads to \(|\lambda| = 1\)
9.4 The Fast Fourier Transform
Fourier Matrix
(F_n)_{ij} = w^{ij}, (i,j=0,1,2,...,n-1) \\
w_n = e^{2\pi / n * i} \\
w_n = e^{\pi / 2 * i} = i, w_n = e^{\pi * i} = -1 \\
w_n = e^{3\pi / 2 * i} = -i, w_n = e^{2\pi * i} = 1
\]
example:
\(F_4\) is orthogonal and symmetric.
\left [ \begin{matrix} 1&1&1&1 \\ 1&i&-1&-i \\ 1&-1&1&-1\\ 1&-i&-1&i\end{matrix} \right]
\\
\left [ \begin{matrix} &&& \\ &F_2&& \\ &&& \\ &&&F_2\end{matrix} \right] =
\left [ \begin{matrix} 1&1&& \\ 1&i^2&& \\ &&1&1\\ &&1&i^2\end{matrix} \right]
\\
\Downarrow \\
F_4 =
\left [ \begin{matrix} 1&1&1&1 \\ 1&w_4^1&w_4^{2}&w_4^{3} \\ 1&w_4^2&w_4^{4}&w_4^{6}\\ 1&w_4^{3}&w_4^{6}&w_4^{9}\end{matrix} \right] =
\left [ \begin{matrix} 1&&1& \\ &1&&i \\ 1&&-1&\\ &1&&-i\end{matrix} \right]
\left [ \begin{matrix} 1&1&& \\ 1&i^2&& \\ &&1&1\\ &&1&i^2\end{matrix} \right]
\left [ \begin{matrix} 1&&& \\ &&1& \\ &1&& \\ &&&1 \end{matrix} \right] \\
\]
\(w_4 = e^{\pi / 2 * i} \\
F_4^{H}F_4 = I, \ \ F^{-1}_4 = \frac{1}{4}\overline{F}_4\)
The key idea is to connect \(F_n\) with the half-size Fourier matrix \(F_{n/2}\), and keep going to \(F_{n/4}\),which can be factored in a way that procdeces many zeros, and improve multiply quickly.
Save more than half of time : \(n^2 \Rightarrow 1/2 n log_2^n\)
\left[ \begin{matrix} F_{32}&0 \\ 0&F_{32} \end{matrix}\right]
\left[ \begin{matrix} P_{64} \end{matrix}\right] \\
=\left[ \begin{matrix} \left[ \begin{matrix} I_{16}&D_{16} \\ I_{16}&-D_{16} \end{matrix}\right]&0 \\ 0& \left[ \begin{matrix} I_{16}&D_{16} \\ I_{16}&-D_{16}\end{matrix}\right] \end{matrix}\right]
\left[ \begin{matrix} \left[ \begin{matrix} F_{16}&0 \\ 0&F_{16} \end{matrix}\right]&0 \\ 0& \left[ \begin{matrix} F_{16}&0 \\ 0&F_{16} \end{matrix}\right] \end{matrix}\right]
\left[ \begin{matrix} P_{32}& \\ &P_{32} \end{matrix}\right] \\
D = \left[ \begin{matrix} 1&&& \\ &w^1&& \\ &&\ddots& \\ &&&w^n \end{matrix}\right] \\
P = \left [ \begin{matrix} even-odd \\ permutation \end{matrix}\right]
\]
9. Complex Vectors and Matrices的更多相关文章
- Matrices and Vectors
Matrices and Vectors Matrices are 2-dimensional arrays: A vector is a matrix with one column and man ...
- 理工科应该的知道的C/C++数学计算库(转)
理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...
- (转)几种范数的解释 l0-Norm, l1-Norm, l2-Norm, … , l-infinity Norm
几种范数的解释 l0-Norm, l1-Norm, l2-Norm, - , l-infinity Norm from Rorasa's blog l0-Norm, l1-Norm, l2-Norm, ...
- Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...
- The plot Function in matlab
from http://pundit.pratt.duke.edu/wiki/MATLAB:Plotting The plot Function The plot function is used t ...
- Open CASCADE 基础类(Foundation Classes)
1 介绍(Introduction) 1 如何使用Open CASCADE技术(OCCT)基础类. This manual explains how to use Open CASCADE Techn ...
- GNU scientific library
GNU scientific library 是一个强大的C,C++数学库.它涉及的面很广,并且代码效率高,接口丰富.正好最近做的一个项目中用到多元高斯分布,就找到了这个库. GNU scientif ...
- Mathematics for Computer Graphics
Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...
- 在WINDOWS中安装使用GSL(MinGW64+Sublime Text3 & Visual Studio)
本文介绍在Windows下安装使用GSL库,涉及GSL两个版本(官方最新版及GSL1.8 VC版).msys shell.GCC.G++等内容,最终实现对GSL安装及示例基于MinGW64在Subli ...
- Foundations of Game Engine Development Volume 1 Mathematics (Eric Lengyel 著)
http://www.foundationsofgameenginedev.com/ Chapter1 Vectors and Matrices (已看) Chapter2 Transforms (已 ...
随机推荐
- mvc-mvp-mvvm架构调研及实现--分布式课程思考题--zzb
目录 I. 引言 2 研究背景和动机 2 问题陈述和研究目标 2 II. 相关工作 3 研究现状和相关技术 3 MVC模式的研究现状和相关技术: 3 MVP模式的研究现状和相关技术: 4 MVVM ...
- Java 异常整合练习
1 package com.bytezero.throwable2; 2 3 /** 4 * 5 * @Description 异常练习 6 * @author Bytezero·zhenglei! ...
- Java final 关键字使用
1 package com.bytezreo.finaltest; 2 3 /** 4 * 5 * @Description final 关键字使用 6 * @author Bytezero·zhen ...
- Java多线程转账
Java多线程转账 关键词:多线程,Java 以前的一道面试题,要求是使用Java多线程,实现一个转账业务.不考虑数据库,不考虑其他第三方系统.只考虑当前Java程序内各个账户进行转账,保证转账金额正 ...
- audio currentTime 设置后,重置成0,解决方案(流文件-下载文件)
audio currentTime 设置后,重置成0,解决方案 第一步-流文件-下载文件: 先查看你的mp3文件是 流文件,还是下载文件. 检测方式,就是放到浏览器回车.在线播放就是流文件,直接下载了 ...
- python librosa 实例解析
一 概念 librosa是一个用于音乐和音频分析的python包.它提供了创建音乐信息检索系统所需的构建块. 核心函数: 二 实例解析 实例A,确认是否安装成功: import librosa ...
- stm32L4xx串口日志配置解析
前言: st这两年推出了一款超低功耗的芯片,stm32l4xx系列,该系列芯片有着功耗低,尺寸小等特点,非常适合应用在可穿戴式设备. 团队在这一领域深耕,所以不可避免的要用到这款芯片,这里就针对该芯片 ...
- MYSQL 是如何保证binlog 和redo log同时提交的?
MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性. 先来看看什么是redo log 和binlog,以 ...
- 今日头条Linux 运维工程师面试真题
今日头条Linux 运维工程师面试真题 首先我们来看下今日头条 Linux 运维工程师招聘岗位要求: [岗位定义]系统运维工程师 [岗位薪资]10K-24K [基本要求]北京 / 经验 3-5 年 / ...
- Python伪数据生成器Mimesis 使用
一.**Mimesis的介绍** Mimesis是一个用于Python的high-performance伪数据生成器,它用各种语言为各种目的提供数据.这些假数据可以用来填充测试数据库,创建假API端点 ...