生成元与酉变换
矩阵指数
矩阵指数-维基百科
麦克劳林展开
ex=∑i=0∞xii!e^x=\sum_{i=0}^\infty\frac{x^i}{i!}
ex=i=0∑∞i!xi
矩阵 AAA 的指数函数表示
eA=∑i=0∞Aii!e^A=\sum_{i=0}^\infty\frac{A^i}{i!}
eA=i=0∑∞i!Ai
假设 AAA 为对角阵
A=diag(A11,A22,⋯ ,Ann)A=\text{diag}(A_{11},A_{22},\cdots,A_{nn})
A=diag(A11,A22,⋯,Ann)
可证明对于对角阵 AAA
At=diag(A11t,A22t,⋯ ,Annt)A^t=\text{diag}(A_{11}^t,A_{22}^t,\cdots,A_{nn}^t)
At=diag(A11t,A22t,⋯,Annt)
于是
eA=∑i=0∞diag(A11ii!,A22ii!,⋯ ,Annii!)=diag(∑i=0∞A11ii!,∑i=0∞A22ii!,⋯ ,∑i=0∞Annii!)=diag(eA11,eA22,⋯ ,eAnn)\begin{ ...
常见量子比特门
单量子比特门
Hadamard门
H=12[111−1]H=\frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix}
H=21[111−1]
H2=IH^2=I
H2=I
Pauli矩阵
X=σx=[0110]X=\sigma_x=\begin{bmatrix}0&1\\1&0\end{bmatrix}
X=σx=[0110]
Y=σy=[0−ii0]Y=\sigma_y=\begin{bmatrix}0&-i\\i&0\end{bmatrix}
Y=σy=[0i−i0]
Z=σz=[100−1]Z=\sigma_z=\begin{bmatrix}1&0\\0&-1\end{bmatrix}
Z=σz=[100−1]
旋转门
Rx(θ)=[cosθ2−isinθ2−isinθ2cosθ2]R_x(\theta)=\begin{bmatrix}\cos\frac{\theta}{2}&-i\sin\frac{\theta}{2}\ ...
基于osgEarth的简单数字地球
【软件工程作业】简单数字地球_哔哩哔哩_bilibili
TIFF文件
TIFF为图像格式,以tif为后缀,是一种位图格式。
同BMP一样,包含文件头、信息头、数据区。
地球纹理和高程图用到了TIFF。
用Global Mapper打开高程图可导出等高线。
Shape文件
Shape文件是以shp为后缀的二进制文件。
用arcview打开可以看到其信息为点线面的几何图形,还包括几何图形的坐标,同样也是一张数据表。
OSG文件
OSG文件是以osg后缀的文本文件。
使用osgviewer *.osg可快速浏览osg文件定义的模型。
OSG文件内规定了模型的节点层次,并设置了模型的属性,给出了模型各个顶点的坐标。
earth文件
earth文件本质是XML文本文件,后缀为earth。
map:文件的最外层标签,可认为是一个OSG节点,在代码中是osgEarth::MapNode。
type:给出使用的坐标,我设置为球心坐标geocentric,若平面投影为Projected。
version:osgEarth的大版本,我用的2.10,标记为2。
name:map的名称 ...
计算方法大纲
绪论
有效数字判断
有效数字 ddd 是满足 Ep<101−d2(1st)E_p<\frac{10^{1-d}}{2}(\text{1st})Ep<2101−d(1st) 或 Rp<101−d2(2nd)R_p<\frac{10^{1-d}}{2}(\text{2nd})Rp<2101−d(2nd) 的最大正整数。
0.005<101−220.005<\frac{10^{1-2}}{2}0.005<2101−2,有效数字 222 位;0.0015<101−320.0015<\frac{10^{1-3}}{2}0.0015<2101−3,有效数字 333 位。
非线性方程解法
收敛阶
设迭代 xk+1=g(xk)x_{k+1}=g(x_k)xk+1=g(xk) 收敛到不动点 x∗x^\astx∗,记绝对误差 ek=xk−x∗e_k=x_k-x^\astek=xk−x∗,若 limk→∞∣ek+1ekp∣=C≠0\lim\limits_{k\to\infty}\left|\fra ...
C# 基础
类型与变量
C# 的五大数据类型
类(class)
结构体(struct)
枚举(enum)
接口(interface)
委托(Delegates)
所有类型都由 Object 派生。
什么是变量
变量就是以变量名所对应的内存地址为起点,以其数据类型所要求的存储空间为长度的一块内存区域。
变量的用途是存储数据,变量表示了存储位置,并且每个变量都有一个类型,以决定什么样的值能够存入变量。
变量的分类
变量一共有 7 种:静态变量,实例变量(成员变量、字段),数组元素,值参数,引用参数(ref修饰),输出形参(out 修饰),局部变量。
值变量(byte/int/short/ushort...)没有实例,即所谓的实例与变量合而为一。引用类型变量存储的是对象的内存地址。引用参数作为实参的别名,对引用参数的改变都能在实参中体现;与引用参数不同,在方法内部,输出参数在能够被读取之前必须被赋值,这意味着参数的初始值是无关的,而且没有必要在方法调用之前为实参赋值, 方法返回之前,方法内部贯穿的任何可能路径都必须为所有输出参数进行一次赋值。
变量内存分配
值变量的实例与变量合而为一,直接按照数据 ...
类欧几里得算法
来源
类欧几里德算法由洪华敦大佬在 2016 年 NOI\text{NOI}NOI 冬令营营员交流中提出,其本质可以理解为,一个类似辗转相除法的函数求和的过程。截止 2020 年 4 月 29 日,百度百科和维基百科都尚未收录该词条 Orz\text{Orz}Orz。
前置知识
取整函数
⌊ab⌋\left\lfloor\frac{a}{b}\right\rfloor⌊ba⌋ 为 ab\frac{a}{b}ba 向下取整,⌈ab⌉\left\lceil\frac{a}{b}\right\rceil⌈ba⌉ 为 ab\frac{a}{b}ba 向上取整。
基与下面的类欧几里得算法的推导过程,需要掌握一些取整函数的技巧。
⌊ab⌋⩾c⇔a⩾bc ⌈ab⌉⩽c⇔a⩽bc ⌊ab⌋<c⇔a<bc ⌈ab⌉>c⇔a>bc\left\lfloor\frac{a}{b}\right\rfloor\geqslant c \Leftrightarrow a\geqslant bc\ \ \ \left\lceil\frac{a}{b}\right\rceil\ ...
AtCoder Beginner Contest 370
AtCoder Beginner Contest 370
A - Raise Both Hands
12345678910111213141516#include <iostream>using namespace std;int main(){ int l, r; cin >> l >> r; if (l == r) { cout << "Invalid" << endl; } else if (l == 1) { cout << "Yes" << endl; } else { cout << "No" << endl; } return 0;}
B - Binary Alchemy
按照题目说的意思模拟即可。
12345678910111213141516 ...
ParameterizedTypeReference详解
背景
在使用 RestTemplate 发送 HTTP 请求时,需要指定响应(如 User)类型将结果进行反序列化。
1restTemplate.exchange(url, HttpMethod.GET, null, User.class);
然而,现实中很多场景需要返回的是集合类型,像原来这样写直接报错,因为 Java 泛型是通过类型擦除来实现的,擦除后 List<User> 实际上是 List,而 User 类型信息丢失了。
123// ERROR: 错误代码restTemplate.exchange(url, HttpMethod.GET, null, List<User>.class);// ERROR: 错误代码
这时会用到 ParameterizedTypeReference 来指定返回值的类型。
123456restTemplate.exchange( "http://localhost:8080/hello", HttpMethod.GET, null, new ParameterizedTypeRefe ...
登陆校验的解决方案
会话技术
用户打开浏览器,访问服务器资源,则会话建立。直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。一般认为打开一个浏览器就是一次会话。HTTP是无状态的,服务器并不知道你之前登陆过没有,需要用会话跟踪技术记录状态。
会话跟踪是一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据。
会话跟踪方案包括客户端会话跟踪技术Cookie、服务端会话跟踪技术Session、令牌技术。
Cookie
第一次发送请求,服务端的响应头中包含 Set-Cookie,浏览器解析响应头,存储在本地。浏览器存储的 Cookie 可以在控制台的“应用->存储”中看到。接下来发送请求,就会在请求头中携带 Cookie 这一项。
优点
缺点
HTTP协议中支持。
移动端APP无法使用。
不安全、用户可以禁用。
不能跨域(协议、IP或域名、端口有一个不同就算)。
Session
浏览器第一次请求,服务器创建一个Session,用 ID 标识。服务器在响应时用 Set-Cookie 字段返回 ID,浏览器存储 ...
在 Ubuntu 上安装和使用 Spotify
安装
安装官方客户端
官方在这里提供了 Ubuntu 的下载方式。
推荐使用 apt 下载。
1234curl -sS https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpgecho "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.listsudo apt updatesudo apt install spotify-client
安装扩展工具
Spicetify 是对 Spotify 官方客户端进行增强和定制化的工具。
安装指引在这里查看。
在安装时会询问是否要顺便安装 Marketplace,建议确认。
定制化
需要注意的是,Linux 用户需要设置好 Spotify 的权限才能使其正常工作。
如果是用 apt 安装的 Sp ...