- 博客(58)
- 收藏
- 关注
原创 unity-1
可通过unity中的菜单栏中的Gameobject创建;也可在Hierarchy(层级)中创建,双击即可居中看到。在Hierarchy空白处右键即可看到,能创建游戏对象。在Scene框中,鼠标坐标选择物体;右键 旋转视角; unity是以左手坐标系。世界坐标系:类似地球的经纬度,你在场景中创建一个物体,都要有一个坐标原点把?以此确定相对位置,即(0,0,0)。可创建一个物体,修改其坐标为(0,0,0) 。 在Hierarchy(层级)栏中,可拖拽一个物体到另一个物体中,使其形成父子关系。有个小三角,表示其含
2024-03-03 20:00:47
1037
原创 18.Raising and Lower Indexs
两向量点乘是把对应位置的分量相乘再求和, 得到一个实数, 实数怎么是协向量(长得跟行向量一样)?而新方法,其变化时, 系数的变化是一致的。这种升高和降低操作不仅适用于向量和协向量分量,也可升高和降低其他张量分量的索引,首先,若横线是输入向量,毫无疑问是输出数,那就是一个从V到R的函数。熟悉,一个是向量所在的空间,一个是协向量所在的 对偶空间 ,, 就是利用度量张量(协变度量张量,因其分量是协变的),将。用一个向量v点乘另一个向量, 得到一个协向量?从左往右可以通过度量张量g , 而 从右往左呢?
2023-10-23 19:49:58
169
原创 17.Tensor Product Spaces
同样,本文仍采用非标准 的符号。在之前的文章里,已经展示了: 使用张量积将向量和协向量组合在一起可以为我们提供线性映射,这个线性映射的系数实际上只是一个数组的条目。还展示了:使用张量积组合两个协向量,可以得到一个双线性形式,该双线性形式的系数实际上只是与这些协向量关联的两个行向量的Kronecker 积 给出的数组的条目。
2023-10-22 15:58:17
195
原创 16.The Tensor Product:Vector/Covector combinations
但不幸的是,对于较大的张量,如前面的Q和D,具有高阶数(high type numbers),有几种可能的乘法规则,正如我们之前讨论的那样,因此,没有简单的方法来进行数组乘法来保证给我们 我们想要的答案,。需要说明的一点是, 随着张量越来越大,协变和逆变部分越来越多,我们最终会得到越来越多的求和方法以及越来越多的方法计算函数。处理高阶张量的张量乘法时,可将张量抽象地写出来,或者写成数组,通常最好用爱因斯坦分量符号写出来,因为它使得求和规则非常明显。(2,0)阶张量, 由两个向量生成的。
2023-10-21 22:27:21
363
原创 15.Tensor Product vs. Kronecker Product
这两个积基本上是在做同样的事情,只是张量积结合了代数符号领域的抽象向量和抽象协向量,而Kroneck 积 结合了向量数组 和 数组领域中的协向量数组。本文讨论的是:“张量积”,它是对张量的运算;该乘积将采用这两个数组(在这种情况下恰好是一个列向量和一个行向量),它将产生第三个数组。所以,实际上,张量积和Kroneck积有点像同一个运算,它们只是在不同的上下文中做工作,因此,它通过获得左侧的第一个数组,并将其分配给右侧数组中的每个元素来实现这一点。协向量是由这里的这些规则定义的线性函数,其中协向量。
2023-10-21 16:36:08
208
原创 14.Tensor Product:Covector-Covector Pairs
对线性映射,对下图左侧的列向量和右侧的行向量进行循环时间运算,但对于双线性形式,由于我们处理的是协向量-协向量对,我们将使用两个行向量代替,再次的,将左边的数组分配给右边数组的每个元素,最终我们得到的是一行行(a row of rows)使用的那个符号是 循环时间符号, 这个圆形时间符号 告诉 我们要做的是 : 获取左侧的数组,并将其分配给右侧数组的每一个组件。这里有个公式,即使有两个向量输入,也需将一个写成列,一个写成翻转的行,以使乘法工作能正常运行。左边的将是本文使用的 , 右边的是标准。
2023-10-21 15:49:39
111
原创 13.Tensor Product:Vector - Covector Pairs
(矩阵列告诉我们每个基向量副本的去向,当它通过线性映射时,如果所有矩阵列都是彼此的倍数,。这意味着通过线性映射的所有可能的矢量输入都被 发送到相同的方向, 这就是纯矩阵不太有趣的原因,它们可以做的转换集有限)但非纯矩阵是更有趣的矩阵,它们可以将基向量发送到不同的方向,因此我们可以获得更有趣的转换。需要注意的是:本文的一些内容使用的是非国际标准的符号,只是视频制作人的个人偏好。定义四个特殊的向量-协向量对,使用旧基ei,和旧对偶基εi ,而究其原因:对于纯矩阵,矩阵的列向量 都是彼此的标量倍数,
2023-10-20 21:31:17
270
原创 12.Bilinear Forms
可以看出,度量张量中输入向量的顺序无关,因此,使用度量张量,可在 不更改任何内容的情况下交换输入, 但我们不一定能用双线性形式做到这一点,。当说B是双线性时,这是因为它是一种形式,其中每个单独的输入都是线性的,而另一个输入保持不变。2. 度量张量测量向量长度时,我们将相同的向量放入两次,我们总是得到>=0的结果,事实上,度量张量具有 其他双线性形式 可能没有的两个额外的属性,所以,某些双线性形式是有效的度量张量,而另一些不是。所以,双线性形式的一些例子可能是有效的度量张量,但是,它们实际上并不相同,
2023-10-19 21:42:26
115
原创 10.Linear Map transformation rules
如果把这些在旧基上表示的分量 应用反向变换,可以得到其在新基中的分量,并注意,使用的是反向转换(Backward),因为向量分量是逆变的(contravariant)观察一下, 发现这些求和的字母符号,有一定规律,其实是可以假装那个求和符号是透明的。--------这个无法用L所表示的矩阵。-------------------------------由一个矩阵给出的线性映射在这,并且是在基底e上表示,在此,可能会问,新基中输出的向量的分量是多少?假设有个向量V,其分量是【1,1】,所以L(V)的分量是。
2023-10-16 22:28:26
445
原创 9.Linear Maps
列向量是向量的坐标表示。行向量是协向量的坐标表示。矩阵是线性映射的坐标表示。矩阵是如何转变向量的?例子现有一个作用于2x1列向量的2x2矩阵,输出的向量是?但仅通过查看矩阵中的数字来理解矩阵在做什么会让人感到困惑。但对所有这些数字的含义,有一个简单的解释:注意,若使用列向量作为输入,将得到矩阵的第一列作为输出。若使用列向量作为输入, 将得到矩阵的第二列作为输出。现这些列向量, 它们有点像基向量e1、e2的副本之所以说是像副本,是因为这里非常重要的一点:线性映射转换向量。
2023-10-14 23:03:40
888
原创 8.Covector Transformation Rules
上一节已知,任意的协向量都可以写成对偶基向量的线性组合,以及如何通过计算基向量穿过的协向量线来获得协向量分量,且看到 协向量分量 以 与向量分量 相反的方式进行变换。得到的最后一个式子,最后一个式子的左边就是一个单位阵E,即右边两个东西互逆,而F与B又是互逆的,等量代换,。现在,就可以明白为什么视频的老师 把协向量的索引 写在顶部, 因为它们的变换与基向量的方式相反。注意,是以向量那个为本,其他的转换方式都与向量的来进行比较, 反就弄上标,同就下标。以便可根据新的基向量写出旧的基向量。
2023-10-14 18:58:45
555
原创 7.Tensors For Beginneers - Convector Components
协向量是 一个 从向量到实数的函数,协向量并不存在向量空间V中,协向量只是将V中的向量作为输入,所以我们不能使用V中的基向量来构造协向量,假设有一个协向量α,一簇在e1、e2为基底的向量空间的线, 可通过把α应用到基底e1、e2上来获得α的组件,只需计算穿透的行数,协向量中:某个协向量的转换:利用旧基到利用新基---用F,利用新基到利用旧基--用B。你看上图, 对于利用正交基, 协向量你把它从列向量转置成行向量,2,1仍是2,1;但是协向量分量是通过计算 基向量 穿过的协向量线的数量来测量的。
2023-10-06 17:10:54
94
原创 6.Tensors For Beginners-What are Convector
在一定程度上,可认为 协向量就像 行向量。但简单地认为 这就是列向量进行转置!要理解这个,需将 行向量视为函数,因此,可将行向量 视为 列向量上的函数,row vectors are functions on (column) vectorseg:y=f(x) x就是输入行向量 [ 2,1 ]是函数,列向量 [ -3;4 ]是函数的输入,要得到函数的输出值,只需对该行向量和列向量进行矩阵乘法 或“点积”现如果,有 任意通用的协向量α 作用于 任意通用向量v上,
2023-10-05 22:03:33
952
原创 5.Vectors Transformation Rules
当向量分量的行为方式 与 基向量的行为 相反 时,当基变大时,这是 完全有意义的。基向量的索引是在右下角, 向量组件的索引在右上角,在某种程度上提醒了它们的行为方式相反。它们两个 做了相反的事, 基向量放大, 某向量的向量组件缩小。注意哦,把系数的i放到右上角, 其仍然是索引值,表示第 i 个,而不是 指数。基向量放大了两倍, 但对于向量v ,其向量组件缩小了两倍。当使用新的基向量测量V时,V看起来更小,因为基向量变大了两倍。证明 :(当然也是针对向量,旧基、新基的行为,组件的行为)
2023-10-04 22:00:00
1289
原创 4.Tensors For Beginners-Vector Definition
这很简洁,也通俗易懂。现有两个向量:如果要把这两个向量给加起来,只需把对应位置的元素(组件)给加起来。而要缩放向量,则可以通过缩放常数的方式来实现。通过这样的方式定义向量很简单,但是存在问题,这些数字列表实际上是 向量组件,而不是向量本身。向量本身 ≠ 向量组件!!!不要把二者混淆把它当作一列数字就会错失向量背后的几何意义向量是具有几何意义的几何对象空间中的箭头像定义1中, 也可以把两个向量进行相加,只要进行首尾相接也可以进行缩放。
2023-10-04 16:36:08
117
原创 3.Tensors For Beginners- Forward and Backward Transformations
观察上面最底下的这个式子, 其不就是在用 n个旧基向量的求和 来 构建一个 旧基向量吗,之前说过,张量在坐标系变化下是不变的,故了解如何在坐标系之间来回移动对理解张量很重要。当然是 k==i 时,中间那部分就为1, 当 k ≠ i 时,中间那块为0.知道这个矩阵B后,就知道如何进行后向转换了,如何从新基转移到旧基。--------------利用旧基向量 构建 新基向量。用新基的所有向量的线性组合来表示 旧基中的任一向量。一个新基 由 旧基中的所有向量的线性组合表示。这是在二维坐标系下的两组基。
2023-10-03 21:44:04
179
原创 2.Tensor For Beginner -Tensor Definition
张量是一个在变化的坐标下“不变”的对象,并且具有在变化的坐标下 以“特定的可预测方式”变化的组件。拿起一支笔,让笔指向离你最近的门。铅笔的长度不会取决于我们选择的坐标系。长度是“固有”的或者是“不变”量;这支铅笔也指向门,这是事实,它不取决于我们使用什么坐标系,铅笔的方向在坐标系的选择下是 “固有的”或“不变的“。首先,假设这有个xyz三维坐标系,我们可以利用该坐标系来测量铅笔,可以看出,该铅笔由2个黄色箭头,1个绿色箭头,2个蓝色箭头组成。
2023-10-02 21:36:55
85
原创 1.Tensor For Beginner - Motivation
事实证明,在量子力学中,物理状态、物理量子状态 实际上只是向量,因此,可以使用线性组合的方式将更简单的状态组合一起,从而为我们提供更复杂的状态。这就是所有的量子叠加。量子纠缠:两粒子即使被分离数千公里,它们都能用一种奇特的方式相互影响,使用这种奇特的量子纠缠特性连接起来。时空是如何弯曲的,宇宙是如何膨胀的。几何的一个例子:爱因斯坦广义相对论中的时空几何。而叠加只是 “线性组合”的一种花哨的说法。量子叠加:量子系统可以同时处于两种状态。了解张量后,可深入了解几何的工作原理。--主要原因是几何。
2023-10-02 16:26:10
88
转载 牛顿法+++
牛顿法的雏形就是「求平方根」。特别地,牛顿法在「计算平方根的倒数」应用领域也是相当的广泛,也就是求解函数: 比如在计算机图形学领域中,相关图像匹配需要计算结果的归一化,这时就要对整个矩阵的每个元素求平方根倒数。 先看个小例子: 这个函数是一个5次多项式的,比起大家熟悉的二次多项式复杂多了。令g(x) = 0 ,就能得到一个方程,如
2023-09-24 22:15:15
131
原创 CSS进阶
而你把一张600*600的图片作为背景图放进div盒子中,div盒子只会显示图片中300*300的部分,不会完整显示图片。另外,若不知道一个标签是块级还是行内,可以自己使用代码进行测试,首先测试能否独占一行,再测试宽高能否设置生效。超链接自己有颜色,就不会继承它爹的颜色, h1有自己固定的字号大小,就不会继承它爹的字号。设置了它的宽高,虽然行内后面还有空位,但因为独占一行,不能让其他标签来空位处。其实就是提示,当使用英文输入法输入:div,再回车,直接出现div完整标签。代码确实没报错, ,我们看效果。
2023-09-03 11:15:27
114
原创 CSS基础
CSS:层叠样式表(Cascading style sheets)CSS的作用: 写法就是:由一个选择器和一个{} 组成。 p表示选择器的意思。我的理解是:自己创造出一个新的标签,该标签是用来美化 网页body的主体内容的。而创造的这个新标签,开发者规定 只能在head标签里头,title标签下面,body标签前面 书写,并且要用style标签来括住你这个新创造的标签。新标签的标签名自取。 效果确实是都有了,但是上面的理解可能有点失误。注意看上图的代码,style标签里面,p、m、k都是我认为是我新创造
2023-08-29 17:10:59
45
原创 统计学习第五章下半
从名字也可看出,是用树来进行分类与回归。CART算法的树 是 二叉树!之前那些多叉的决策树是可以转成二叉树的:对于特征:纹理。可分为清晰,与非清晰,这就变为二叉了;非清晰再分为模糊与否。这样,就把多叉变为二叉了。
2023-08-24 20:57:50
45
原创 统计学习第五章
类似的,由于它所有样本都是归属于同一类(同意贷款),那么对于后面这部分,是完全确定的事件,也不携带信息。决策树可以看作是 由 if--Then规则所构成的集合,那么,多个if--then规则能组成一条又一条的路径,每条路径对应着特征空间中的一个又一个的小单元,所以,决策树还可以看成 是由给定条件下类的条件概率分布组成的。决策树是通过训练数据集一步一步生成的,所以,我们往往生成过程中,过于强调对于训练数据集的预测能力,就容易出现过拟合现象,因此,剪枝的目的:防止过拟合,处理决策树的过拟合问题。
2023-08-21 22:50:24
163
原创 统计学习第三章
其实也可,计算每一个特征上的方差来进行选择,例如上图中,已有N个实例点,每个实例点都有k个特征,可以计算每一个特征上的N个值(对于某一个特征,N个实例就有N个对应位置的特征)得到的方差, 那么就能得到k个方差,选择其中最大的方差所对应的序号。看绘制的圆, 与“当前最近点”的父节点(5,4)划分的超平面 是没有交集的, 说明, 不可能在(5,4)的右子区域 找到 更近的点了,首先,根节点(7,2),目标点(2.1,3.1) ,目标点的2.1
2023-07-19 15:00:53
61
原创 统计学习第二章
一、模型介绍感知机是一个二分类的线性分类模型。线性:模型是线性形式的。下图输入空间到输出空间的函数就称为感知机w是法向量,垂直于超平面S。学习策略其实就是 最小化损失函数,然后求得参数。
2023-07-16 15:45:27
59
原创 统计学习第一章
定义:统计学习(statistical machine learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习方法的步骤:1.得到一个 有限的训练数据集合2.确定学习模型的集合------模型3.确定模型选择的准则------策略4.实现求解最优模型的算法---算法5.通过学习方法选择最优模型6.利用学习的最优模型对新数据进行预测或分析。
2023-07-15 19:59:39
61
原创 模电筱筱学
半导体的概念:导电能力介于导体和绝缘体之间。本征半导体:纯净的,具有晶体结构的半导体由于四价原子周围本身只有四个电子,可以和四个原子形成这种结构状态,三.载流子半导体,终归是有一点导电能力的,但是上图中的价电子是不导电的,自由电子才是导电的。那么,在上图的结构下,怎么导电呢?本征半导体中的载流子是什么,即承载电流的东西是什么?1.本征激发由于热运动的存在,上图结构中的价电子有可能会逃离共价键的束缚,逃离出来变为了自由电子,而该电子原来的地方就会形成一个空穴。2.自由电子。
2023-06-26 16:17:59
1106
原创 代理模式1
代理类和目标类的公共接口(抽象主题):客户端 在使用代理类时, 就感觉自己像是在使用 目标类,客户端察觉不到 自己实际上 使用的是 代理类,而不是 目标类。通过 引入一个新的对象 来实现 对真实对象的操作 或者 将新的对象作为真实对象的一个替身,这种实现机制即为代理模式,通过引入代理对象间接访问一个对象,这就是代理模式的模式动机。//这就是目标对象。代理对象 在客户端和目标对象之间 起到中介的作用, 并且可以 通过代理对象 去掉 客户不应该看到的内容 或 添加客户需要的额外服务。但会导致耦合度很高。
2023-05-17 17:07:56
56
原创 spring|面向切面编程AOP
一般一个系统中都会有一些系统服务,例如:日志、事务管理、安全等。交叉业务这些交叉业务几乎是通用的,不管你是做银行账户转账,还是删除用户数据。日志、事务管理、安全 这些都是要做的。像事务:事务的代码永远是那三部分:开启事务,提交事务,(遇到异常)回滚事务如果在每一个业务处理过程中,都掺杂这些交叉业务代码进去的话,会存在两方面问题:交叉业务代码在多个业务流程中反复出现,显然这个交叉业务代码没有得到复用。并且修改这些交叉业务代码的话,需要修改多处*二:程序员无法专注于核心业务代码的编写。
2023-03-22 21:24:38
71
原创 spring对事务的支持
什么是事务在一个业务流程中,通常要多条DML(insert delete update )语句共同联合才能完成,这多条DML语句,这样。多条DML要么同时成功,要么同时失败,这叫做事务。事务:Transaction(tx)事务的四个处理步骤:第一步:开启事务(start transaction)第二步:执行核心业务代码第三步:提交事务(如果核心业务处理过程中没有出现异常)(commit transaction)
2023-03-19 21:07:58
172
原创 spring学习1
也就是说,Bean都是单例的,我们可以先把所有的单例Bean实例化出来,放到一个集合中去(我们可以称之为缓存),所有的单例Bean全部实例化完成后,以后我们再慢慢调用Setter方法给属性赋值。第一个阶段:在Spring容器加载的时候,实例化Bean,只要其中任意一个Bean实例化之后,马上进行“曝光”(不等属性赋值就曝光--我有对象了,你可以用我,虽现在没赋值,但我是唯一的,之后会赋值)当你扩展一个产品的时候,符合OCP原则,因为只需要添加两个类,一个类是具体产品类,一个类是具体工厂类。
2023-03-07 19:37:45
118
原创 Java|泛型之extends通配符
不是的子类。假设我们定义了Pair然后,我们又针对类型写了一个静态方法,它接收的参数类型是上述代码是可以正常编译的。注意:传入的类型是,实际参数类型是。既然实际参数是Integer类型,试试传入原因很明显,因为不是的子类,因此,不接受参数类型。但是从add()方法的代码可知,传入实际类型是Integer,引用类型是Number,没有问题。问题在于方法参数类型定死了只能传入。有没有办法使得方法参数接受?办法是有的,这就是使用使得方法接收所有泛型类型为。
2023-03-06 19:44:21
840
原创 Java|泛型之擦拭法
泛型是一种类似”模板代码“的技术,不同语言的泛型实现方式不一定相同。Java语言的泛型实现方式是擦拭法(Type Erasure)。所谓擦拭法是指,虚拟机对泛型其实一无所知,所有的工作都是编译器做的。例如,我们编写了一个泛型类,这是编译器看到的代码:而虚拟机根本不知道泛型。这是虚拟机执行的代码:因此,Java使用擦拭法实现泛型,导致了:使用泛型的时候,我们编写的代码也是编译器看到的代码:而虚拟机执行的代码并没有泛型:所以,Java的泛型是由编译器在编译时实行的,编译器内部永远把所有类
2023-03-06 18:23:09
93
原创 Java|泛型之编写泛型
编写泛型类比普通类要复杂。通常来说,泛型类一般用在集合类中,例如,我们很少需要编写泛型类。如果我们确实需要编写一个泛型类,那么,应该如何编写它?可以按照以下步骤来编写一个泛型类。String然后,标记所有的特定类型,这里是String最后,把特定类型String替换为T,并申明熟练后即可直接从T开始编写。
2023-03-06 12:54:28
171
原创 Java|泛型之使用泛型
ArrayList时,ObjectObject,没有发挥泛型的优势。当我们后,List的泛型接口变为强类型当我们定义泛型类型后,List的泛型接口变为强类型综上,也就是说,编译器如果能自动推断出泛型类型,就可以省略后面的泛型类型。编译器看到泛型类型就可以自动推断出后面的的泛型类型必须是。
2023-03-06 12:46:08
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人