R4 欧氏空间Schmidt正交化方法

原创 2016年06月01日 20:34:42
#include<iostream>
using namespace std;

class Euclidean{
public:
	Euclidean(double x1 = 0, double x2 = 0, double x3 = 0, double x4 = 0) :
		x1(x1), x2(x2), x3(x3), x4(x4){}
	friend Euclidean operator-(Euclidean &a1, Euclidean &a2);
	friend Euclidean operator*(double a, Euclidean &a1);
	friend ostream & operator<<(ostream &out, const Euclidean &a);
	friend double Cal(Euclidean &a1, Euclidean &a2);
	void Assignment(double a1, double a2, double a3, double a4)
	{
		this->x1 = a1;
		this->x2 = a2;
		this->x3 = a3;
		this->x4 = a4;
	}
private:
	double x1,x2,x3,x4;
};

Euclidean operator-(Euclidean &a1, Euclidean &a2)
{
	return Euclidean(a1.x1 - a2.x1, a1.x2 - a2.x2, a1.x3 - a2.x3, a1.x4 - a2.x4);
}

Euclidean operator*(double a, Euclidean &a1)
{
	return Euclidean (a*a1.x1, a*a1.x2, a*a1.x3, a*a1.x4);
}

ostream & operator<<(ostream &out, const Euclidean &a)
{
	out << "(" << a.x1 << "," << a.x2 << "," << a.x3 << "," << a.x4 << ")";
	return out;
}

double Cal(Euclidean &a1, Euclidean &a2)
{
	return ((a1.x1*a2.x1 + a1.x2*a2.x2 + a1.x3*a2.x3 + a1.x4*a2.x4) /
		(a2.x1*a2.x1 + a2.x2*a2.x2 + a2.x3*a2.x3 + a2.x4*a2.x4));
}

int main()
{
	cout << "Please enter the number of vectors(n<=4): ";
	int n;
	cin >> n;

	Euclidean*a = new Euclidean[n];
	double aa[4];

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < 4; j++)
			cin >> aa[j];
		a[i].Assignment(aa[0], aa[1], aa[2], aa[3]);
	}

	Euclidean*p = new Euclidean[n];

	for (int i = 0; i < n; i++)
	{
		p[i] = a[i];
		for (int j = 0; j < i; j++)
			p[i] = p[i]-Cal(a[i], p[j])*p[j];
	}

	for (int i = 0; i < n; i++)
		cout << p[i] << endl;

	delete[]a;
	delete[]p;

	return 0;
}

正交矩阵和Gram-Schmidt正交化

在关于投影矩阵的部分,根据Strang的授课内容,我进行简单的归纳总结.知道了投影矩阵是什么,有什么用. 这篇文章仍然是关于投影矩阵的一个应用. 什么是正交矩阵和Gram-Schmidt正交化,相...
  • a130098300
  • a130098300
  • 2013年01月03日 20:41
  • 23378

【线性代数】标准正交矩阵与Gram-Schmidt正交化

1、标准正交矩阵     假设矩阵Q有列向量q1,q2,...,qn表示,且其列向量满足下式: 则 若Q为方阵,由上面的式子则有 我们举例说明上述概念: 2、标准正交矩阵的好处...
  • tengweitw
  • tengweitw
  • 2014年12月06日 15:04
  • 10442

正交矩阵和Gram-Schmidt正交化

正交矩阵和Gram-Schmidt正交化 在关于投影矩阵的部分,根据Strang的授课内容,我进行简单的归纳总结.知道了投影矩阵是什么,有什么用. 这篇文章仍然是关于投影矩阵的一个应用...
  • qq_39521554
  • qq_39521554
  • 2017年12月24日 21:50
  • 42

线性代数导论17——正交矩阵和Gram-Schmidt正交化

本文是Gilbert Strang的线性代数导论课程笔记。课程地址:http://v.163.com/special/opencourse/daishu.html   第十七课时:正交矩阵和Gram...
  • suqier1314520
  • suqier1314520
  • 2013年10月31日 11:52
  • 10006

施密特正交化的几何解释

线性代数中最头疼的公式恐怕就是施密特正交化了。但其实搞清楚它的几何原理之后公式的记忆就简单多了,数学重在理解!给定一组基α1,α2,...,αn\alpha_1,\alpha_2,...,\alpha...
  • newworld123made
  • newworld123made
  • 2016年05月19日 01:25
  • 8718

矩阵分析中的QR分解

定理1 (Gram-Schmidt 正交化方法): 对中子空间的一个基,定义 那么是的一个正交基,此外有 定理2: 一个的矩阵具有单位正...
  • OpenSpirit
  • OpenSpirit
  • 2013年10月31日 20:54
  • 9165

施密特(Schimidt)正交化与正交匹配追踪

上一篇《稀疏表示与匹配追踪》中详细的解释了匹配追踪(Matching Pursuit,MP)的流程,在最后给出了正交匹配追踪(Orthogonal Matching Pursuit,OMP)的流程,并...
  • jbb0523
  • jbb0523
  • 2015年04月17日 18:10
  • 7398

矩阵论笔记(三)——欧氏空间与正交变换

包括两种内积空间: (1)实内积空间(欧氏空间) (2)复内积空间(酉空间)本节讲欧氏空间,包括四个部分:(1)欧氏空间 (2)正交性 (3)正交变换与正交矩阵 (4)对称变换与对称矩阵 欧...
  • withchris
  • withchris
  • 2017年03月16日 11:38
  • 874

漫步线性代数十七——正交基和格拉姆-施密特正交化(上)

对于一个正交基,每个向量和其他所有向量垂直,坐标轴就是互相正交的。我们还可以进一步改善:每个向量除以它的长度得到单位向量,这样的话正交基变成了标准正交基:16、如果 qTiqj={01i≠j,给出正...
  • u010182633
  • u010182633
  • 2016年09月06日 23:09
  • 2964

C语言实现线性代数中基的标准正交化

线性代数中一个很重要的概念就是基,一组基是构成线性空间“最高效的方式“,即若多余这个向量个数会出现冗余,若少于这个向量个数会出现无法构成该向量空间。由一般向量构成的一组基往往不是标准正交的,所以需要进...
  • Nolan__Roronoa
  • Nolan__Roronoa
  • 2016年08月23日 18:10
  • 1032
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:R4 欧氏空间Schmidt正交化方法
举报原因:
原因补充:

(最多只允许输入30个字)