任务清单
- 实现三维空间中绕 \(z\) 轴旋转, 构造变换矩阵
- 构造透视投影变换矩阵
- (提高作业)绕任意过原点的轴旋转, 构造变换矩阵
狄拉克符号有两种态矢量: \(\langle\cdot|\) 和 \(|\cdot\rangle\), 它们分别被称为左矢和右矢, 代表着行向量和列向量
以下是一些常见的表示:
\[ \begin{align*} |0\rangle &= \begin{bmatrix}1 \\ 0\end{bmatrix}, \\ |1\rangle &= \begin{bmatrix}0 \\ 1\end{bmatrix}, \\ |+\rangle &= \frac{1}{\sqrt{2}}\Big(|0\rangle+|1\rangle\Big) = &\frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ 1\end{bmatrix}, \\ |-\rangle &= \frac{1}{\sqrt{2}}\Big(|0\rangle-|1\rangle\Big) = &\frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ -1\end{bmatrix} \end{align*} \]
\(\langle a |\) 和 \(| b \rangle\) 的内积可简记作: \(\langle a | b \rangle\)
每个量子比特都是一个向量空间, 因此不能简单的相乘, 张量积就是从各个向量空间创建新的向量空间的操作, 其符号为 \(\otimes\)
\[ \begin{align*} \begin{bmatrix}a \\ b\end{bmatrix} \otimes \begin{bmatrix}c \\ d\end{bmatrix} = \begin{bmatrix} a\begin{bmatrix}c \\ d\end{bmatrix} \\\\ b\begin{bmatrix}c \\ d\end{bmatrix} \end{bmatrix} = \begin{bmatrix}ac \\ ad \\ bc \\ bd\end{bmatrix} \end{align*} \]
期权是投资者约定在未来买入或者卖出某项资产的权利.
这里的权利就是期权与期货的最大不同: 期权可以选择行使权利或者不行使权利.
期权主要分两种类型: 看涨期权(Call)和看跌期权(Put), 分别对应以某一固定价格买入和卖出资产的权利.
看涨期权的收益=相关市场价-执行价-溢价; 看跌期权的收益=执行价-相关市场价-溢价. (此处的溢价就是购买期权的费用)
而根据行使权利的时间限制又可以把期权分为美式期权(到期日之前任意交易日都可)和欧式期权(只能在到期日行使权利), 二者的共同点是如果不行使权利, 在到期后都自动作废.
用尽各种方法都不行, 最后用了一个比较脏的方法: 放两个透明按钮, 通过循环设置焦点的方法让浏览器自动滚动到焦点处.
1 | <button @ref="myrefA" style="background:transparent; border-width:0px; outline:none; width:1px; height:1px;"></button> |
1 | private ElementReference myrefA; |
主要是一些基础知识, 没什么好说的.
比较有意思的有:
习题1-26
里面的图, 学到了一些建筑词汇,
比如"望板", 指的是房椽上的木板.习题3-33~38
, 认为其中利率十分之高,
看了答案才明白给的是年化利率前面的非正式定义对于引出\(\varepsilon-\delta\)语言是大有裨益的, 例题还指出了极限不存在的三种情况: 函数跳跃, 函数趋于\(\pm \infty\), 函数无限震荡.
复习一下极限的\(\varepsilon-\delta\)定义:
\[ \lim_{x\to a}f(x)=L\quad \Leftrightarrow \quad \forall \varepsilon > 0, \exists \delta > 0 \mathrm{\ s.t.\ } \left|f(x)-L\right|<\varepsilon \]
在给Petpet生成器添加新功能的时候发现需要对图片进行投影变换, 但是SixLabors的投影变换不能直接使用四角坐标, 而是需要使用变换矩阵, 因此有了这篇文章.
坐标变换的形式如下:
\[ \begin{pmatrix} x' \\ y' \\ z' \\ k \end{pmatrix} = \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ a_{31} & a_{32} & a_{33} & a_{34} \\ a_{41} & a_{42} & a_{43} & a_{44} \end{bmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \]
其中的\(k\)可视作缩放系数, 最终的坐标应当是\((\frac{x'}{k}, \frac{y'}{k}, \frac{z'}{k})\).
起因是想写一个教务系统验证码自动填写脚本, 也就是这个仓库, 花了一天时间研究TorchSharp怎么用之后就陷入了参数传递和CORS的泥淖中, 因此写下这篇博客记录一下.
首先看看著名的MSDN是怎么说的: Parameter Binding in ASP.NET Web API
默认情况下, 对于 "简单" 类型, ASP.NET Core会尝试从URL中获取, 但是这个项目中我们需要传递的参数是一张图片的base64, 大概率会出现URL过长的问题.
因此需要使用[FromBody]
属性限定参数从请求体中获取,
接着使用Postman就是各种尝试都没办法调用接口. 经过一番尝试,
终于找到了正确方法(适用于string
类型):
Content-Type
为application/json
Body
中只放一个用双引号包裹的字符串起因是在剥离bot的Petpet生成器作为可独立部署的项目时需要将资源文件夹一并复制到输出目录下, 然后发现VS竟然不能对文件夹设置"复制到输出目录".
一番查找, 在MSDN找到了两篇文章: MSBuild reference for .NET SDK projects, Common MSBuild project items
简单来说,
CopyToOutputDirectory
和CopyToPublishDirectory
两个属性可以分别配置是否复制到输出目录和发布目录中,
取值可以是:
Always
: 始终复制Never
: 从不复制PreserveNewest
: 仅在项目发生更改时复制示例代码如下, 其中Update
属性是文件夹路径:
1 | <ItemGroup> |
皮萨诺周期(Pisano period), 即斐波那契数列对\(n\)取模的最小循环节, 通常用\(\pi(n)\)表示.
要解决P4000首先需要知道一些定理(具体证明):
\[ \begin{align} \pi(mn) &= \pi(m)\cdot\pi(n), && (m, n互质)\\ \pi(p^{k}) &\mid \pi(p)\cdot p^{k-1}, &&(p是质数) \\ \pi(p) &\mid p-1, &&(p是质数, 且5对p存在二次剩余) \\ \pi(p) &\mid 2(p+1), &&(p是质数, 且5对p不存在二次剩余) \end{align} \]
将上述定理中的整除换成等号计算, 接着枚举因数即可找出最小循环节, 也即皮萨诺周期.
论文地址: Number Parsing at a Gigabyte per Second
符号 | 说明 |
---|---|
\(m\) | 二进制有效数字(非负整数, 通常在\([2^{52}, 2^{53})\))间 |
\(p\) | 二进制指数(可正可负的整数) |
\(m \times 2^{p}\) | 非负浮点数的一般形式 |
\(w\) | 十进制有效数字(非负整数, 通常在\([0, 2^{64})\))间 |
\(q\) | 十进制指数(可正可负的整数) |
\(w \times 10^{q}\) | 十进制非负小数的一般形式 |
\([x]\) | 最接近\(x\)的整数, 四舍六入五成双 |
\(\lfloor x\rfloor\) | \(x\)下取整 |
\(\lceil x \rceil\) | \(x\)上取整 |
后缀0 | 当\(x\)可被\(2^{k}\)整除时, 称\(x\)有\(k\in \mathbb{N}\)个后缀0 |