9.1 Real versus Complex

  1. R= line of all real numbers (\(-\infty < x < \infty\)) \(\longleftrightarrow\) C=plane of all complex numbers \(z=x+iy\)
  2. |x| = absolute value of x \(\longleftrightarrow\) \(|z| = \sqrt{x^2+y^2} = r\) = absolute value (or modulus) of z
  3. 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}\)
  4. \(R^n\) : vectors with n real components \(\longleftrightarrow\) \(C^n\): vectors with n complex components
  5. length : \(||x||^2 = x_1^2 + \cdots + x_n^2\) \(\longleftrightarrow\) \(||z||^2 = |z_1|^2 + \cdots + |z_n|^2\)
  6. transpose : \(A_{ij}^T = A_{ji}\) \(\longleftrightarrow\) conjugate transpose \(A_{ij}^H = \overline{A_{ji}}\)
  7. 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\)
  8. reason for \(A^T\) : \((Ax)^Ty = x^T(A^Ty)\) \(\longleftrightarrow\) reason for \(A^H\): \((Au)^Hv = u^H(A^Hv)\)
  9. orthgonality : \(x^Ty = 0\) \(\longleftrightarrow\) orthgonality : \(u^Hv = 0\)
  10. symmetric matrices: \(S=S^T\) \(\longleftrightarrow\) Hermitian matrices: \(S=S^H\)
  11. skew-symmetric matrices : \(K^T = K^{-1}\) \(\longleftrightarrow\) skew-Hermitian matrices : \(K^H = -K\)
  12. orthgonal matrices : \(Q^T = Q^{-1}\) \(\longleftrightarrow\) unitary matrices : \(U^H = U^{-1}\)
  13. orthonormal matrices : \(Q^TQ = I\) \(\longleftrightarrow\) orthonormal matrices : \(U^HU = I\)
  14. \(S = Q\Lambda Q^{-1} = Q\Lambda Q^T\) \(\longleftrightarrow\) \(S = U\Lambda U^{-1} = U\Lambda U^H\)
  15. \((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:

  1. Add : \((a + bi) + (c + di) = (a+c)+(b+d)i\)

  2. Multiply : \((a+bi)(a-bi)=a^2+b^2\)

  3. Eigenvalues \(\lambda\) 和 \(\overline{\lambda}\) : If \(Ax=\lambda x\) and A is real then \(A\overline{x}=\overline{\lambda}\overline{x}\)

  4. Euler's Formula : \(e^{i\theta}= cos\theta + isin\theta\)

  5. 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}\)

  6. Powers: The nth power of \(z=r(cos\theta+isin\theta)\) is \(z^n=r^n(cos(n\theta)+isin(n\theta))\)

  7. 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 = \left[ \begin{matrix} 2&3-3i \\ 3+3i&5 \end{matrix} \right] \\
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 = \left [ \begin{matrix} 1&1&\cdots&1 \\ 1&w^1&\cdots&w^{n-1} \\ 1&w^2&\cdots&w^{2(n-1)}\\ \vdots&\vdots&\vdots&\vdots \\ 1&w^{n-1}&\cdots&w^{(n-1)^2}\end{matrix} \right] \\
(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.

\[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&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\)

\[F_{64} = \left[ \begin{matrix} I_{32}&D_{32} \\ I_{32}&-D_{32} \end{matrix}\right]
\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的更多相关文章

  1. Matrices and Vectors

    Matrices and Vectors Matrices are 2-dimensional arrays: A vector is a matrix with one column and man ...

  2. 理工科应该的知道的C/C++数学计算库(转)

    理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...

  3. (转)几种范数的解释 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, ...

  4. Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]

    最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...

  5. The plot Function in matlab

    from http://pundit.pratt.duke.edu/wiki/MATLAB:Plotting The plot Function The plot function is used t ...

  6. Open CASCADE 基础类(Foundation Classes)

    1 介绍(Introduction) 1 如何使用Open CASCADE技术(OCCT)基础类. This manual explains how to use Open CASCADE Techn ...

  7. GNU scientific library

    GNU scientific library 是一个强大的C,C++数学库.它涉及的面很广,并且代码效率高,接口丰富.正好最近做的一个项目中用到多元高斯分布,就找到了这个库. GNU scientif ...

  8. Mathematics for Computer Graphics

    Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...

  9. 在WINDOWS中安装使用GSL(MinGW64+Sublime Text3 & Visual Studio)

    本文介绍在Windows下安装使用GSL库,涉及GSL两个版本(官方最新版及GSL1.8 VC版).msys shell.GCC.G++等内容,最终实现对GSL安装及示例基于MinGW64在Subli ...

  10. Foundations of Game Engine Development Volume 1 Mathematics (Eric Lengyel 著)

    http://www.foundationsofgameenginedev.com/ Chapter1 Vectors and Matrices (已看) Chapter2 Transforms (已 ...

随机推荐

  1. 【LeetCode哈希表】前k个高频词,利用哈希表+vector进行排序操作

    前k个高频词 https://leetcode.cn/problems/top-k-frequent-words/ 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词. ...

  2. ASP.NET Core 选项

    目录 1,选项接口 2,注入配置与IOptions 3,IOptionsSnapshot 首先要了解 ASP.NET Core 中的配置,请点击这里了解:https://www.cnblogs.com ...

  3. Java 常用类 String类与其他结构之间的转换-----String 与 基本数据类型,包装类之间的转换

    1 /* 2 涉及到String类与其他结构之间的转换 3 4 */ 5 6 //String 与 基本数据类型,包装类之间的转换 7 //String --->基本数据类型,包装类:调用包装类 ...

  4. C++ //谓词 //一元谓词 //概念:返回bool类型的仿函数称为 谓词 //如果 operator()接受一个参数,那么叫做一元谓词 //如果 operator()接受 2 个参数,那么叫做一元谓词

    1 //谓词 2 //一元谓词 3 //概念:返回bool类型的仿函数称为 谓词 4 //如果 operator()接受一个参数,那么叫做一元谓词 5 //如果 operator()接受 2 个参数, ...

  5. 安卓app设置背景音乐循环播放另有强制不能调节音量软件无法退出(仅供个人学习)

     步进式调节:(直接调到那个音量): setStreamVolume (int streamType, int index, int flags) int streamType 需要调整的音量类型 ( ...

  6. iOS使用Unity容器动态加载3D模型

    项目背景 我们的APP是一个数字藏品平台,里面的很多藏品需要展示3D模型,3D模型里面可能会包含场景,动画,交互.而对应3D场景来说,考虑到要同时支持iOS端,安卓端,Unity是个天然的优秀方案. ...

  7. [笔记]git pull vs git pull --rebase

    git pull vs git pull -rebase 背景 最近在实际开发过程,之前一直使用git pull 去更新该分支的代码,之前认为一旦pull 操作产生新的节点是对合并操作的一个记录,但是 ...

  8. GPS 方案总结

    GPS 方案 搜集网络上关于GPS的方案. redis + mysql redis 用来做设备或用户实时定位的查询. mysql存储历史轨迹.存储时分两部分,一张表做实时查询用.一张表做备份用.如果需 ...

  9. WPF之属性

    目录 属性 依赖属性(Dependency Property) 依赖属性对内存的使用方式 声明和使用依赖属性 声明依赖属性 使用依赖属性 依赖属性的"属性" 依赖属性的" ...

  10. day02-显示所有菜品&点餐功能

    满汉楼02 4.功能实现04 4.6显示所有菜品 4.6.1思路分析 创建一个菜单表menu,在Domain层创建与菜单表对应的Javabean-Menu类,在DAO层创建MenuDAO,完成对men ...