Python iteration

Python 的 迭代协议 (iteration protocol):

请注意 术语 iterator 和 术语 iterable 的区别:

所谓 iterable, 顾名思义,就是可迭代的。什么对象是可迭代的 ? 就是支持 iter 函数调用 (参考 python built-in function : iter)的对象,执行该函数调用,会返回一个 iterator 迭代器对象 (object)。

iterator 迭代器对象 (object),一定包含 __next__ 方法,或者说支持 next 函数调用 (同样参考 python built-in function: next) ,可以递进到下一个值 (这里不知道怎么翻译比较好 , advance to a next result),并在结果序列的末尾抛出 StopIteration 异常,那么这个对象是 迭代器 (iterator)

Continue reading “Python iteration”

Python Object

这是我在看 “Learning Python 5 edition” 感受最深刻的一点: everything is object, the type of an object is an object of type type

学过 C 的读者可以将所有 variable 视为指向内存中一个 Object 的 void * 类型指针,指针即引用(reference)。这样 variable 就可以是 C 语言意思上任意类型了,但我们必须指出 , type 是说 object 的 type, variable 没有 type 的说法。 还有 immutable object 和 mutable object 的不同千万别混淆了。

Continue reading “Python Object”

矩阵的4个子空间的关系

如果 \(A: \mathbb C^n \to \mathbb C^m\) ,即 \(A\) 是一个 \(m \times n\) 阶矩阵,子空间定义如下:

  1. 列空间 (column space): $C(A) = {A ^n } ^m $
  2. 行空间 (row space): \(C(A^T) = \{A^T \mathbf {y} \vert \mathbf {y} \in \mathbb {C}^m \} \subseteq \mathbb {C}^n\)

  3. 零空间 (nullspace): \(N(A) = \{ \mathbf {x} \in \mathbb {C}^n\vert A \mathbf {x} = \mathbf {0}\} \subseteq \mathbb {C}^n\)
    零度: \(\mathrm {nullity} A = \dim N(A)\)

  4. 左零空间 (left nullspace): \(N(A^T) = \{ \mathbf {y} \in \mathbb {C}^m\vert A^T \mathbf {y} = \mathbf {0}\} \subseteq \mathbb {C}^m\)

这里会探索这四个子空间的关系

Continue reading “矩阵的4个子空间的关系”

商空间

在学习泛函的时候,无法理解商空间 (quotient space)的概念,偶然看到周老师的博客,恍然大悟,非常感谢他的知识传授。

这里先写下我的最重要的心得:

商空间 \(\mathcal{V}/ \mathcal {X}\) 是向量空间,但不是 \(\mathcal {V}\) 的子空间,但它的每个元素 (element) 并不是向量,而是一个空间(或者说 集合),自然的,它的零元素也是一个空间,可以想一下这个空间是什么。

也就是说,\(\mathcal{V}/ \mathcal {X}\)空间组成的空间 ,而不是向量组成的空间。而且它和 \(\mathcal {X}\)任何补子空间同构 (isomorphic)

Continue reading “商空间”