线性代数学习笔记(二十五)——向量组的秩(二)

本篇笔记首介绍了矩阵的行秩和列秩,即矩阵的行秩等于矩阵的列秩等于矩阵的秩,而且矩阵乘积的秩不大于每个因子的秩;还介绍了求矩阵行秩和列秩的方法,即化为阶梯形矩阵;最后重点介绍了极大线性无关组的求法,根据矩阵的初等行(列)变换不改变其列(行)向量间的线性关系,将矩阵化为行简化阶梯形,然后直接写出极大线性无关组和其向量的线性表示。

1 矩阵的行秩和列秩

举例:矩阵 A = [ 1 1 1 1 1 3 0 2 1 1 5 6 9 1 0 0 1 1 ] A=\begin{bmatrix}1&1&1&1&1&3\\0&2&1&1&5&6\\9&1&0&0&1&1\end{bmatrix} A= 109121110110151361

取出所有的行形成行向量
α 1 = ( 1 1 1 1 1 3 ) \alpha_1=\begin{pmatrix}1&1&1&1&1&3\end{pmatrix} α1=(111113)
α 2 = ( 0 2 1 1 5 6 ) \alpha_2=\begin{pmatrix}0&2&1&1&5&6\end{pmatrix} α2=(021156)
α 3 = ( 9 1 0 0 1 1 ) \alpha_3=\begin{pmatrix}9&1&0&0&1&1\end{pmatrix} α3=(910011)

全体 α 1 , α 2 , α 3 \alpha_1,\alpha_2,\alpha_3 α1,α2,α3称为矩阵 A A A行向量组

取出所有的列形成列向量
β 1 = ( 1 0 9 ) , β 2 = ( 1 2 1 ) , β 3 = ( 1 1 0 ) \beta_1=\begin{pmatrix}1\\0\\9\end{pmatrix},\beta_2=\begin{pmatrix}1\\2\\1\end{pmatrix},\beta_3=\begin{pmatrix}1\\1\\0\end{pmatrix} β1= 109 ,β2= 121 ,β3= 110

β 4 = ( 1 1 0 ) , β 5 = ( 1 5 1 ) , β 6 = ( 3 6 1 ) \beta_4=\begin{pmatrix}1\\1\\0\end{pmatrix},\beta_5=\begin{pmatrix}1\\5\\1\end{pmatrix},\beta_6=\begin{pmatrix}3\\6\\1\end{pmatrix} β4= 110 ,β5= 151 ,β6= 361

全体 β 1 , β 2 , β 3 , β 4 , β 5 , β 6 \beta_1,\beta_2,\beta_3,\beta_4,\beta_5,\beta_6 β1,β2,β3,β4,β5,β6称为矩阵 A A A列向量组

定义:矩阵 行向量组的秩 ‾ \underline{行向量组的秩} 行向量组的秩称为矩阵的行秩,矩阵 列向量组的秩 ‾ \underline{列向量组的秩} 列向量组的秩称为矩阵的列秩

上述例子中,行向量有 3 3 3个,行向量组的秩最大为 3 3 3;而列向量有 6 6 6个,列向量组的秩最大为 6 6 6。那么矩阵的行秩和列秩会不会不一样呢?
答案是否定的。
因为列向量虽然有 6 6 6个,但它是 3 3 3维的,所以秩最大也是 3 3 3
那么矩阵的行秩和列秩是否相等呢?

定理3.3.4:对任何矩阵 A A A,均有: A 的行秩 = A 的列秩 = r ( A ) \color{red}{A的行秩=A的列秩=r(A)} A的行秩=A的列秩=r(A)

矩阵的秩是用非零子式定义的,而向量组的秩是用极大无关组定义的,定义方式完全不同,但最终竟然相等!

举例:矩阵 A = [ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ] A=\begin{bmatrix}\color{red}{1}&\color{red}{0}&0&0\\\color{red}{0}&\color{red}{1}&0&0\\0&0&0&0\\0&0&0&0\end{bmatrix} A= 1000010000000000
其最高阶数的非0子式为 [

在开始体验 Kafka 之前,我们需要先下载并安装 Kafka。 Kafka 的官方网站为:https://kafka.apache.org/ ,在该网站的“Downloads”页面中,我们可以找到 Kafka 的进制文件,选择合适的版本进行下载。 本篇文章将以 Kafka 2.8.0 版本为例进行演示。 ## 安装 Kafka 1. 解压 Kafka 压缩包 将下载的 Kafka 压缩包解压到本地文件夹中,例如:`/usr/local/kafka_2.13-2.8.0/`。 2. 配置环境变量 将 Kafka 的 bin 目录添加到 PATH 环境变量中,以便在终端中能够直接执行 Kafka 的命令。 ```bash export PATH=/usr/local/kafka_2.13-2.8.0/bin:$PATH ``` 可以将该命令添加到 `~/.bashrc` 或 `~/.zshrc` 文件中,以便每次打开终端时自动加载。 ## 启动 Kafka Kafka 的启动需要同时启动 ZooKeeper 和 Kafka 服务。 ### 启动 ZooKeeper Kafka 使用 ZooKeeper 来存储集群的元数据和状态信息。在启动 Kafka 之前,我们需要先启动 ZooKeeper。 在终端中执行以下命令来启动 ZooKeeper: ```bash zookeeper-server-start.sh config/zookeeper.properties ``` 该命令将会默认使用 Kafka 的配置文件中的 `zookeeper.properties` 进行启动,该文件位于 Kafka 的安装目录下的 `config` 目录中。 ### 启动 Kafka 在启动 Kafka 之前,我们需要先创建一个 Kafka 主题(Topic),用于存储消息。 在终端中执行以下命令来创建一个名为 `test` 的主题: ```bash kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test ``` 该命令将会使用默认配置,在本地的 Kafka 服务中创建一个名为 `test` 的主题。 接下来,在终端中执行以下命令来启动 Kafka: ```bash kafka-server-start.sh config/server.properties ``` 该命令将会默认使用 Kafka 的配置文件中的 `server.properties` 进行启动,该文件位于 Kafka 的安装目录下的 `config` 目录中。 ### 发送和接收消息 Kafka 提供了一个命令行工具 `kafka-console-producer.sh`,用于向 Kafka 主题中发送消息。 在终端中执行以下命令来发送消息: ```bash kafka-console-producer.sh --broker-list localhost:9092 --topic test ``` 该命令将会打开一个新的终端窗口,在该窗口中输入要发送的消息,按下回车键即可发送。 Kafka 还提供了一个命令行工具 `kafka-console-consumer.sh`,用于从 Kafka 主题中接收消息。 在终端中执行以下命令来接收消息: ```bash kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning ``` 该命令将会打开一个新的终端窗口,用于显示从 Kafka 主题中接收到的消息。 在上述两个终端窗口中,可以分别输入和接收消息,进行 Kafka 的体验和测试。 ## 关闭 Kafka 在终端中执行以下命令来关闭 Kafka: ```bash kafka-server-stop.sh ``` 该命令将会停止当前正在运行的 Kafka 服务。 同样地,我们也需要关闭 ZooKeeper 服务: ```bash zookeeper-server-stop.sh ``` ## 总结 通过本篇文章的演示,我们学习了如何下载、安装和启动 Kafka,并且体验了 Kafka 的基本功能,包括创建主题、发送消息和接收消息等。 在实际的生产环境中,我们需要对 Kafka 进行更加详细的配置和管理,以便保证 Kafka 的高可用性、高性能和高可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值