numpy problem

本文通过使用Python的NumPy库及SciPy库进行了一系列矩阵运算实验,包括矩阵加法、乘法、求解线性方程组、计算矩阵范数等,并对随机矩阵的特征值分解进行了计时分析。此外,还探讨了随机0-1矩阵的范数与其期望值的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9.1

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz

def f(A,B,mylambda):
    size=B.shape[1]
    print(A.dot(B-mylambda*np.eye(size)))
    
n,m=200,500
A=np.random.normal(size=(n,m))
B=toeplitz(range(1,m+1),range(1,m+1))
print(A+A)
print(A.dot(A.T))
print(A.T.dot(A))
print(A.dot(B))
f(A,B,0.5)

9.2

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz

def f(A,B,mylambda):
    size=B.shape[1]
    print(A.dot(B-mylambda*np.eye(size)))
    
n,m=200,500
A=np.random.normal(size=(n,m))
B=toeplitz(range(1,m+1),range(1,m+1))

b=np.arange(1,m+1)
x=np.linalg.solve(B,b)
print(x)

9.3

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz

def f(A,B,mylambda):
    size=B.shape[1]
    print(A.dot(B-mylambda*np.eye(size)))
    
n,m=200,500
A=np.random.normal(size=(n,m))
B=toeplitz(range(1,m+1),range(1,m+1))

print(A)
print(np.linalg.norm(A))

print(B)
print(np.linalg.norm(B,ord=np.inf))
#largest
print(np.linalg.norm(B,ord=2))
#smallest
print(np.linalg.norm(B,ord=-2))

9.4

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz
import time

def f(A,B,mylambda):
    size=B.shape[1]
    print(A.dot(B-mylambda*np.eye(size)))
    
n,m=200,500
A=np.random.normal(size=(n,m))
B=toeplitz(range(1,m+1),range(1,m+1))

Z=np.random.normal(size=(n,n))
t1=time.clock()
eigenvalue,eigenvector=np.linalg.eig(Z)
t2=time.clock()
print(t2-t1)

9.5

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz
import time

n=200
p=np.random.random(1)
C=np.random.binomial(1,p,(n,n))

print(np.linalg.norm(C,ord=2))
print(n*p)

9.6

# -*- coding: utf-8 -*-
"""
Created on Mon May 21 20:55:33 2018

@author: 12046
"""
import numpy as np
from scipy.linalg import toeplitz
import time

n=200
A=np.random.normal(size=n)
z=np.random.random(1)
print(A)
print(z)
close_index=(np.abs(A-z)).argmin()
close_value=A[close_index]
print(close_value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值