logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇2.行阶梯矩阵与行化简矩阵

本文系统介绍了行阶梯型矩阵与行化简矩阵的概念及其在线性方程组求解中的应用。首先通过具体案例分析了线性方程组解的三种情况(唯一解、无穷解、无解),并从代数与几何角度进行解释。重点阐述了行阶梯型矩阵的判定标准(非零行在零行上方、先导元素位置关系等)及其化简为行化简矩阵的附加条件。文中指出,任何非零矩阵均可化为行阶梯型,但只有唯一对应的行化简矩阵,这一性质为判断线性方程组解的情况提供了有效工具。最后还讨

文章图片
#线性代数#人工智能#算法
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-5.矩阵方程

  在前四节中,我们学习了两种表示线性方程组的方法, 即线性方程组和向量方程,在本节将给出线性方程组的第三种表示方法:矩阵方程,并使用C++实现相应的表示。  考虑下方的向量方程:x1[232]+x2[435]+x3[452]+x4[512]=[744]x_1\begin{bmatrix} 2 \\ 3 \\ 2\end{bmatrix}+x_2 \begin{bmatrix}4\\ 3 \\ 5

文章图片
#算法#线性代数#人工智能
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-6.线性方程组的解集

  对于线性方程组的解集我们已经并不陌生了,无非就是唯一解,无数解和无解三种情况,在本节将会从另一个角度来看待线性方程组的解集。  考虑下方两个线性方程组:{x1+x2+x3=103x1+2x2+x3=9x1+x2=7\begin{cases}x_1 + x_2 + x_3 = 10\\3x_1 + 2x_2 +x_3 = 9\\x_1 + x_2 = 7\end{cases}⎩⎨⎧​x1​+x2

文章图片
#人工智能#算法#c++
C++模板元编程系列-2.类型转换与奇异的递归模板模式

  从本节开始正式介绍模板相关的高级设计和语法,要注意的是奇异的递归模板模式与混入都和继承有很强的联系。  我们都知道,在继承中派生类可以调用到基类的public成员和protected成员,但是在常规继承中,基类是不可能反过来调用到派生类中的任何派生类特有的成员的,但是在使用了奇异的递归模板模式的继承后,在基类中就可以调用到派生类特有的成员了,先来看看具体代码长什么样子:运行结果如下:  上方代

文章图片
#c++#开发语言
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-4.向量与向量方程

  在上三节中我们学习了线性方程组,解线性方程组,行阶梯型矩阵,行化简矩阵,主元等线性代数相关的知识并使用C++实现了相应的函数,在本小节将学习线性代数中的一个重要概念:向量。  从最简单的代数视角来看,向量本质上就是有序的一组数,在各个维度中都存在向量,其标准的定义是既有大小,又有方向的量,下面让我们从最简单的零维开始,逐步扩充到n维。  零维只存在一个点,没有方向的概念,那么自然也就不存在有向

文章图片
#人工智能#算法#c++
C++模板元编程系列-1.继承

随着对于编程的不断深入,笔者越发体会到自己的编程知识缺了一部分,那就是模板,对于模板的基础知识笔者是大概掌握的,比如函数模板,类模板,特化等基础知识,但是更进一步的类型萃取,模板元编程,混入等高阶模板的语法是完全无法理解的,因此在学习的途中写下这一系列的博客,要说明的是,本系列不会介绍模板的基础知识,最终的目标是掌握模板元编程这一高级编程技术。(注:笔者学习使用到的书籍有《C++新经典:模板与泛型

文章图片
#c++#开发语言
详谈C++中的类和对象

先抛开编程语言,直接想想看在生活中什么是类?

#c++#开发语言
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-7.线性相关与线性无关

  在前几节中,我们从各种角度学习了线性代数,比如线性方程组,向量方程,矩阵方程,线性组合等,尽管底层都是同一个东西,但是站在不同的视角使用不同的描述就可以起到完全不同的效果,这一点对于我们程序员来说应该并不难理解,毕竟我们平时在编程时,底层的内存都是一样的,只不过表层的类型和语法不同,然后就起到了完全不同的效果,和线性代数是一样的思路,在本节我们将从一个深入矩阵内部细节的重要新视角理解线性代数。

文章图片
#人工智能#算法#c++
AI底层系列:用C++实现线性代数的公式推导与算法设计-基础篇-7.线性相关与线性无关(编程部分)

  在上一节中我们利用目标导向的策略得出要先编写提供个用户使用的Geometry类,编写到了清晰数据的部分,下面让我们继续设计,先来回顾一下上一节中编写的代码:简单来说我们需要判断用户传入的端点释放合法并把用户传入的端点中重复部分的端点洗掉,剩下的全部保留,考虑到多个端点之间存在多种不同的连接方式,不同的连接方式能够构成不同的几何元素,我们决定把选择权交给用户,按照用户传入端点的顺序从左往右进行连

文章图片
#人工智能#算法#c++
    共 23 条
  • 1
  • 2
  • 3
  • 请选择