c将一组np向量从n+1坐标投影到0到n坐标。c使用标准输入/输出。c第33行中的print语句设置为打印四个坐标c每行。双精度a(30,30),bef(100),aft(100,30)双精度x、总和、刻度nmax=30npmax=100c读取n(实数维)和np(点数)读取(*,*)n,np如果(n.le.nmax.和.np.le.npmax)转到570写下(*,*)“n或np太大”停止570继续c构造投影矩阵,a,n+1 x n做10 i=1,n+1do 10 j=1,n10 a(i,j)=0.0d0do 11 j=1,nx=数据流(j*(j+1))x=1.0d0/dsqrt(x)做12 i=1,j12 a(i,j)=x11 a(j+1,j)=-dfloat(j)*x写(*,*)“a”做13 i=1,n+113写入(*,100)(a(i,j),j=1,n)在“之前”写入(*,*)c读取np向量,每个向量具有np+1坐标do 14 ip=1,np读取(*,*)(bef(i),i=1,n+1)写入(*,100)(bef(i),i=1,n+1)100格式(4d28.18)c校验和为0总和=0.0d0做1 i=1,n+11总和=总和+bef(i)如果(dabs(sum).lt.0.00001d0)转到2写入(*,*)“错误:总和不是0”,总和停止2继续做15 i=1,n总和=0.0d0做17 j=1,n+117总和=总和+bef(j)*a(j,i)aft(ip,i)=总和15继续c归一化为长度1总和=0.0d0做19 i=1,n19总和=总和+后(ip,i)**2比例=1.0d0/dsqrt(总和)做20 i=1,n20后(ip,i)=比例尺*后(ip,i)14继续将(*,*)写在“后面”do 16 ip=1,np写入(*,100)(后(ip,i),i=1,n)16继续停止结束