det

行列式及其应用

吃可爱长大的小学妹 提交于 2020-03-06 15:50:19
行列式 注意   本文参照 M I T MIT M I T 公开课, 可以看成是笔记。 什么是行列式   一个矩阵通常包括很多信息, 比如是否可逆等等。而对于每一个方阵, 都有一个数能够表示关于矩阵的很多信息, 这个数就叫做行列式。(本文从性质入手讲, 推导并不严谨, 不过这些性质都是经过严格证明了的)行列式也可以看做是从矩阵到实数的一个映射。要注意的是只有方阵才有行列式!!! 行列式的表示法   若 A A A 为方阵, 则其行列式可表示为: d e t ( A ) 或 ∣ A ∣ det(A)或\\ \left| A \right| d e t ( A ) 或 ∣ A ∣ 行列式的基本性质   行列式的基本性质有3条, 并且从这三条基本性质能够推出其他性质以及行列式的表达式。下面给出三条基本性质。    ① 单 位 矩 阵 的 行 列 式 为 1 ①单位矩阵的行列式为1 ① 单 位 矩 阵 的 行 列 式 为 1   对于这条性质没有过多的解释, 有点类似于定义, 将单位矩阵映射成为实数中的1, 也符合简便性。    ② 交 换 矩 阵 中 的 任 意 两 行 , 所 得 的 矩 阵 的 行 列 式 符 号 变 号 ②交换矩阵中的任意两行, 所得的矩阵的行列式符号变号 ② 交 换 矩 阵 中 的 任 意 两 行 , 所 得 的 矩 阵 的 行 列 式 符 号 变 号  

计算机图形学——光线追踪算法分析

拟墨画扇 提交于 2020-02-10 17:41:56
1.求交 光线追踪主要的计算量来源于大量的求交计算。设O代表射线起点,D方向 ,P为圆上的点,C为圆心,r半径。球的方程为:(P - C)(P - C) = r * r ,直线的参数方程: p(t) = O + tD。 将直线方程代入后得D 2t 2+2(O-C)Dt+(O-C) 2-r 2=0,随后利用一元二次方程求根公式,判断有无解,有两个解时,选择>0且较小的t。 求交的基本原理就是将射线的参数方程代入到圆的函数中,求t的值。 将P(t) = O + tD 代入圆方程,会得到 t 的一元二次方程。 先求出Vec op,op是用球心p的坐标减去射线的起点 (O - C)。 b = op.dot(r.d)指代 ” D * (O - C) ” 求det,这里要注意我们求的b和原理中的b差了两倍,所以可以直接用 double det = b * b - op.dot(op) + rad * rad; 如果det<0说明无解,直接return 0; 否则求根号的det; 最终的解有一个或两个,可能在 t = b - det,或者t = b + det中,选择t大于0并且两个中较小的t。 2.绘制 用6个很大的球体当做平面(DIFF属性,只有漫反射),因为半径很大的话,你在近距离看起来,球面就很像一个平面。 作者这样做应该是为了避免去写平面求交,平面类等函数。 用1个球表示光源

奇数阶反对称矩阵不满秩

核能气质少年 提交于 2020-02-08 01:35:31
命题 奇数阶反对称矩阵不满秩。 证明 设A为n阶反对称矩阵,n为奇数。 则 d e t ( A ) = d e t ( A ′ ) = d e t ( − A ) = ( − 1 ) n d e t ( A ) = − d e t ( A ) det(A)=det(A')=det(-A)=(-1)^ndet(A)=-det(A) d e t ( A ) = d e t ( A ′ ) = d e t ( − A ) = ( − 1 ) n d e t ( A ) = − d e t ( A ) , 上式中A’表示A的转置。 从而 d e t ( A ) = 0 det(A)=0 d e t ( A ) = 0 ,即A不满秩。 出处 本题改编自蓝以中《高等代数简明教程》第二版上册第三章习题一第16题。 来源: CSDN 作者: 颜廷震 链接: https://blog.csdn.net/Frank_Yan_/article/details/104214647

线性代数《Linear Algebra and Its Application》学习总结

£可爱£侵袭症+ 提交于 2020-01-05 22:13:44
此文仅为学习记录,内容会包括一些数学概念,定义,个人理解的摘要。希望能够分享一些学习内容。 第一节:Row Reduction and Echelon Forms Echelon form: 行消元后的矩阵 Reduced echelon form: 行消元并且leading entry为1的矩阵。 Echelon form and reduced echelon form are row equivalent to the original form. Span{v1, v2, v3,...... vp} is the collection of all vectors that can be written in the form c1*v1 + c2*v2 + ...... cp*vp with c1, .... cp scalars. Ax = 0 has a nontrival solution if and only if the equation has at least one free variable.(not full column rank) Ax = b 的解等于 Ax = 0 和 特解的和。 解线性方程组流程P54。 线性无关指任何向量不能组合成其中一个向量。 Ax = b : ColA1 * x1 + ColA2 * x2 +.... ColAm *

线性代数《Linear Algebra and Its Application》学习总结

我是研究僧i 提交于 2020-01-05 22:13:28
此文仅为学习记录,内容会包括一些数学概念,定义,个人理解的摘要。希望能够分享一些学习内容。 第一节:Row Reduction and Echelon Forms Echelon form: 行消元后的矩阵 Reduced echelon form: 行消元并且leading entry为1的矩阵。 Echelon form and reduced echelon form are row equivalent to the original form. Span{v1, v2, v3,...... vp} is the collection of all vectors that can be written in the form c1*v1 + c2*v2 + ...... cp*vp with c1, .... cp scalars. Ax = 0 has a nontrival solution if and only if the equation has at least one free variable.(not full column rank) Ax = b 的解等于 Ax = 0 和 特解的和。 解线性方程组流程P54。 线性无关指任何向量不能组合成其中一个向量。 Ax = b : ColA1 * x1 + ColA2 * x2 +.... ColAm *

python+opencv+dlib+Intel RealSense D435 实现人脸检测和跟踪

情到浓时终转凉″ 提交于 2019-12-11 03:09:58
https://blog.csdn.net/cherry_yu08/article/details/84551326 视频人脸跟踪 这里用Intel RealSense D435获取图片,用opencv显示图片,用dlib的算法实现人脸跟踪。 使用Intel RealSense D435获取RGB图像,并使用dlib的get_frontal_face_detector检测人脸,代码: import dlib import cv2 import pyrealsense2 as rs import numpy as np if __name__ == "__main__" : # Configure depth and color streams pipeline = rs . pipeline ( ) config = rs . config ( ) config . enable_stream ( rs . stream . depth , 640 , 480 , rs . format . z16 , 30 ) config . enable_stream ( rs . stream . color , 640 , 480 , rs . format . bgr8 , 30 ) # Start streaming pipeline . start ( config )

POJ 2826 An Easy Problem?!(线段关系)

五迷三道 提交于 2019-11-26 16:36:30
题意: 给出两根木棍,求最多能接到多少水 思路: 疯狂判断 1. 判断两个线段是否平行 2. 判断是否有交点 3. 求交点和较短木棍的点 4. 判断斜率大的直线会不会覆盖斜率小的直线 求 \(dis(e,d)>dis(c,d)\) 即可 #include<string> #include<vector> #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<cmath> #define ll long long #define FOR(i,l,r) for(int i = l ; i <= r ;++i ) using namespace std; const int maxn = 101; const double eps = 1e-6; int sgn(double k){ if(fabs(k)<eps) return 0; if(k>0) return 1; return -1; } struct point{ double x,y; point(){} point(double _x,double _y):x(_x),y(_y){} void input(){ scanf("%lf%lf",&x,&y); } point

POJ 1511 Pick-up sticks(线段相交)

与世无争的帅哥 提交于 2019-11-26 10:21:53
题意: 在二维平面给出很多棍子,求在最上面的棍子(不被覆盖) 思路: 从前向后枚举线段是否跟后面线段有交点即可 #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <string> #include <stdlib.h> #include <vector> #include <queue> #include <cmath> #include <stack> #include <map> #include <set> #define ll long long #define FOR(i,l,r) for(int i = l ; i <= r ;++i ) #define inf 1<<30 #define eps (1e-9) #define ALL(T) T.begin(),T.end() #define lson(i) i<<1 #define rson(i) (i<<1|1) using namespace std; typedef pair<int,int> pii; const int maxn = 100010; int sgn(double a){ if(fabs(a)<eps) return 0; if(a>0) return 1; return