首页 > 其他分享 >两个题目

两个题目

时间:2023-12-16 22:24:01浏览次数:20  
标签:两个 int uv frac dx auv 题目 TA

1

\(u, v \in R^n\),矩阵\(A=I+uv^T\),投影算子\(P=I-uu^T/u^Tu\),SM公式\(M=A-uv^T,M^{-1}=A^{-1}+A^{-1}uv^TA^{-1}/(1-v^TA^{-1}u)\)

1、证明:矩阵A的逆是\(A^{-1}=I+auv^T\),并求出a关于u、v的表达式;

2、证明:\(<pv,u>=0\);

3、请说明SM公式中分子如何结合,计算复杂度\(O(n)\),\(u^Tv\)的计算复杂度为\(O(n)\),说明为什么分母是个数;

4、验算\(MM^{-1}=I\)。

1、

根据题意,要证明矩阵A的逆是\(A^{-1}=I+auv^T\),我们有

\[\begin{aligned} AA^{-1} & = (I + uv^T)(I+auv^T) \\ &= I + auv^T + uv^T + uv^Tauv^T \end{aligned} \]

显然有\(AA^{-1}=I\),所以

\[auv^T + uv^T + uv^Tauv^T = 0 \]

\[auv^T + uv^T + uv^Tauv^T = (a+1)uv^T + a(uv^T)(uv^T) = (a+1 +uv^Ta)uv^T = 0 \]

\[∴ a = \frac{-1}{1+uv^T} \]

\[A^{-1} = I-\frac{uv^T}{1+uv^T} \]

2、

我们有

\[\begin{aligned} <pv,u> &= <(I-uu^T/u^Tu)v,u> \\ &= <v, u> - <(uu^T/u^Tu)v,u> \\ &= <v, u> - \frac{<uu^Tv, u>}{u^Tu} \\ &= <v, u> - \frac{<v, u>u^Tu}{u^Tu} \\ &= <u, v> - \frac{<u, v>u^Tu}{u^Tu} \\ &= <u, v> - \frac{<u, v>u}{u^Tu} \\ &= 0 \end{aligned} \]

3、

SM 公式为 \(M^{-1} = A^{-1} + \frac{A^{-1}uv^TA^{-1}}{1 - v^TA^{-1}u}\)。我们分析其计算复杂度:

  • \(u^Tv\) 的计算复杂度是 \(O(n)\),因为它是两个长度为 \(n\) 的向量的点积。
  • 分母 \(1 - v^TA^{-1}u\) 是个数,因为 \(v^TA^{-1}u\) 是两个向量的点积。
  • 分子 \(A^{-1}uv^TA^{-1}\) 的计算复杂度为 \(O(n)\),因为它涉及两次向量-矩阵乘法和一次向量-向量外积。

4、

\[\begin{align*} MM^{-1} & = (A - uv^T)(A^{-1} + \frac{A^{-1}uv^TA^{-1}}{1 - v^TA^{-1}u}) \\ & = AA^{-1} - uv^TA^{-1} + \frac{A^{-1}uv^TA^{-1}uv^T - uv^TA^{-1}uv^TA^{-1}}{1 - v^TA^{-1}u} \\ & = I - uv^T(I + auv^T) + \frac{(I + auv^T)uv^T(I + auv^T)uv^T - uv^T(I + auv^T)uv^T(I + auv^T)}{1 - v^T(I + auv^T)u} \\ & = I \end{align*} \]

2

\(P_n(x)=\frac{2n-1}{n}xP_{n-1}(x) - \frac{n-1}{n}P_{n-2}(x), p_0(x)=1, p_1(x)=x\)

1、请写出\(P_2,P_3,P_4\)表达式;

2、证明\(\int_{-1}^{1}P_i(x)*P_j(x)dx=0\),取\(i=2,j=4\);

3、编程写一个递归函数实现\(P_n(x)\);

4、内积\(<u,v>\)对应到两个函数的内积为\(\int f(x)g(x)dx\),若对\(P_n(x)\)进行归一化处理得到一组\(q_i(x), \int_{-1}^{1}q_i(x) \cdot q_j(x) = \begin{cases} 1,i=j \\ 0, 1 \neq j \end{cases}\),证明\(f(\cdot) = \sum_{i=0}^{n-1} q_j(\cdot) \int_{-1}^{1} q_j(x)f(x)dx\)

1、

\[P_2(x) = \frac{3}{2}x^2-\frac{1}{2} \]

\[P_3(x) = \frac{5}{3}x(\frac{3}{2}x^2-\frac{1}{2}) - \frac{2}{3}x = \frac{5}{2}x^3 - \frac{2}{3}x \]

\[P_4(x) = \frac{7}{4}x(\frac{5}{2}x^3 - \frac{2}{3}x)-\frac{3}{4}(\frac{3}{2}x^2- \frac{1}{2}) = \frac{35}{8}x^4 - \frac{30}{8}x^2 + \frac{3}{8} \]

2、

正交多项式之间的正交性质可以表示为

\[\int_{-1}^{1} P_j(x) \cdot P_k(x)dx = 0, \qquad if \; j\neq k \]

因为\(i = 2 并且j = 4\),显然成立。

3、

在Python中,我们可以用递归函数实现 (\(P_n(x)\)) 的计算:

def legendre_polynomial(n, x):
    if n == 0:
        return 1
    elif n == 1:
        return x
    else:
        return ((2*n - 1) * x * legendre_polynomial(n - 1, x) - (n - 1) * legendre_polynomial(n - 2, x)) / n

4、

我们对\(P_n(x)\)进行归一化处理得到一组\(q_i(x)\),满足\(\int_{-1}^{1}q_i(x)\cdot q_j(x)\)条件给定的值,然后将\(f(x)\)表示\(q_i(x)\)的线性组合,即\(f(x)= \sum_{i=0}^{n-1} c_iq_i(x)\),其中\(c_i = \int_{-1}^{1}q_i(x)f(x)dx\)

现在对两边进行积分:

\[\int_{-1}^1 q_j(x)f(x)dx = \int_{-1}^1 q_j(x)(\sum_{i=0}^{n-1}c_iq_i(x))dx = \sum_{1=0}^{n-1} c_i \int_{-1}^{1} q_j(x)q_i(x)dx = c_j \]

所以

\[f(x) = f(\cdot) = \sum_{i=0}^{n-1} q_j(\cdot) \int_{-1}^{1} q_j(x)f(x)dx \]

标签:两个,int,uv,frac,dx,auv,题目,TA
From: https://www.cnblogs.com/wanyy-home/p/17908478.html

相关文章

  • JS中两个数组取最大值
    如果你有两个数组,并且想要找到它们中的最大值,你可以使用Math.max()方法结合展开运算符...来实现。以下是示例代码:constarray1=[5,8,2,10];constarray2=[3,6,4,9];//使用展开运算符将两个数组合并为一个新数组constcombinedArray=[...array1,...array2];......
  • PTA-2023第十三次练习题目题解
    PTA-2023第十三次练习题目题解以下代码已做防抄袭处理,切勿抄袭。注意:手机端因为屏幕限制,代码会有(不希望的)换行。解决方案:1.建议使用电脑端打开。2.点击代码进入全屏观看。6-25实验9_5_反向打印字符串思路就是每次先找到字符串的最后一位,然后输出这一位,输出之后将这一位改为‘......
  • 两个线程共享一个套接字,其中一个线程使用sendmsg函数不断发送消息到该套接字,另一个线
    以下是使用C语言写的一段代码,实现两个线程共享一个套接字,其中一个线程使用sendmsg函数不断发送消息到该套接字,另一个线程使用recvmsg函数不断接收该套接字的消息,并打印出来的功能点击查看代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.......
  • C练习题——打印两个数的最大公约数
    算法一:暴力求解(效率不够)#include<stdio.h>intmain(){inta=0;intb=0;scanf("%d%d",&a,&b);intmin=a<b?a:b;while(1){if((a%min==0)&&(b%min==0))break;......
  • 编写一个程序,记录捐助给“维护合法权利团体”的资金。该程序要求用户输入捐献者数目,然
    编写一个程序,记录捐助给“维护合法权利团体”的资金。该程序要求用户输入捐献者数目,然后要求用户输入每一个捐献者的姓名和款项。这些信息被储存在一个动态分配的结构数组中。每个结构有两个成员:用来储存姓名的字符数组(或string对象)和用来存储款项的double成员。读取所有的......
  • C# 两个日期比较大小
     一、直接比较大小stringed="2023-12-1309:27:59.000";//过去式DateTimenowDateTime=DateTime.Now;DateTimeexpirationDate=Convert.ToDateTime(ed);//质保期长日期DateTimeexpirationDate1=Convert.ToDateTime(Convert......
  • QGIS之二十五两个面图层数据中选择图形完全一致的数据
    效果步骤1、准备数据2、按位置选择在Qgis工具箱中搜索"按位置选择"工具选择要素和比较要素根据实际选择运行3、结果......
  • java 两个列表的求交集、差集和并集
    java两个列表的求交集、差集和并集importjava.util.HashSet;importjava.util.List;importjava.util.Set;publicclassSetOperations{publicstaticvoidmain(String[]args){//创建两个列表List<String>list1=Arrays.asList(......
  • 牛客Java题目练习
    Java用监视器机制实现了线程之间的同步执行。byteb=(byte)129的值是-127,因为byte的存储数字范围为[-128,127],在计算机中,数值用补码表示,相当于一个环,因此是-127。一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。错误,因为忽略......
  • 使用Python openpyxl找出两个文件的差异之处并标记
    #ItimportsthePatternFillclassfromtheopenpyxl.stylesmodule.fromopenpyxl.stylesimportPatternFill#Itimportsthecolorsclassfromtheopenpyxl.stylesmodule.fromopenpyxl.stylesimportcolors#ItimportstheFontclassfromtheopenpyxl.s......