| 6 | 1/1 | 返回列表 |
| 查看: 1102 | 回復(fù): 5 | ||
songjunann銅蟲 (小有名氣)
|
[求助]
幫忙看一下,這兩個程序(關(guān)于點積的)講的是什么,為什么要寫的這么繁瑣
|
|
dot.f程序: function dot (x,y,n) cc-begin c c----------------------------------------------------------------------- c c dot (x,y,n) c c c purpose c ------- c c dot calculates the dot product of the two n-vectors c x and y. c cc-doc c input arguments c --------------- c c x = vector of length n. c y = vector of length n. c n = dimension of x and y. c c output arguments c ---------------- c c dot = value of the function, i.e. dot product of x and y. c c notes c ----- c c 1. dot contains a test for n = 0. c c----------------------------------------------------------------------- cc-end c implicit real*8 (a-h,o-z) dimension x(*),y(*) c dot = 0. if (n .le. 0) return c do 100 i = 1,n c dot = dot + x(i)*y(i) c 100 continue dot = ddot(n,x,1,y,1) end %%%%%%%%%%%%%%%%%%%%%%%%% 其中ddot.f子程序為: DOUBLE PRECISION FUNCTION DDOT(N,DX,INCX,DY,INCY) * .. Scalar Arguments .. INTEGER INCX,INCY,N * .. * .. Array Arguments .. DOUBLE PRECISION DX(*),DY(*) * .. * * Purpose * ======= * * DDOT forms the dot product of two vectors. * uses unrolled loops for increments equal to one. * * Further Details * =============== * * jack dongarra, linpack, 3/11/78. * modified 12/3/93, array(1) declarations changed to array(*) * * ===================================================================== * * .. Local Scalars .. DOUBLE PRECISION DTEMP INTEGER I,IX,IY,M,MP1 * .. * .. Intrinsic Functions .. INTRINSIC MOD * .. DDOT = 0.0d0 DTEMP = 0.0d0 IF (N.LE.0) RETURN IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN * * code for both increments equal to 1 * * * clean-up loop * M = MOD(N,5) IF (M.NE.0) THEN DO I = 1,M DTEMP = DTEMP + DX(I)*DY(I) END DO IF (N.LT.5) THEN DDOT=DTEMP RETURN END IF END IF MP1 = M + 1 DO I = MP1,N,5 DTEMP = DTEMP + DX(I)*DY(I) + DX(I+1)*DY(I+1) + $ DX(I+2)*DY(I+2) + DX(I+3)*DY(I+3) + DX(I+4)*DY(I+4) END DO ELSE * * code for unequal increments or equal increments * not equal to 1 * IX = 1 IY = 1 IF (INCX.LT.0) IX = (-N+1)*INCX + 1 IF (INCY.LT.0) IY = (-N+1)*INCY + 1 DO I = 1,N DTEMP = DTEMP + DX(IX)*DY(IY) IX = IX + INCX IY = IY + INCY END DO END IF DDOT = DTEMP RETURN END 個人感覺不就是兩個向量的點積,為什么兩個程序要寫的這么復(fù)雜呢,有什么特別的地方嗎,請大家多多指教,謝謝! |
至尊木蟲 (職業(yè)作家)
銅蟲 (小有名氣)
至尊木蟲 (職業(yè)作家)
銅蟲 (小有名氣)
至尊木蟲 (職業(yè)作家)
| 6 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 【考研調(diào)劑】化學(xué)專業(yè) 281分,一志愿四川大學(xué),誠心求調(diào)劑 +4 | 吃吃吃才有意義 2026-03-19 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 一志愿 西北大學(xué) ,070300化學(xué)學(xué)碩,總分287,雙非一本,求調(diào)劑。 +3 | 晨昏線與星海 2026-03-19 | 3/150 |
|
|
[考研] 一志愿西安交通大學(xué)材料工程專業(yè) 282分求調(diào)劑 +5 | 楓橋ZL 2026-03-18 | 6/300 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 10/500 |
|
|
[考研] 一志愿南昌大學(xué),327分,材料與化工085600 +3 | Ncdx123456 2026-03-19 | 3/150 |
|
|
[教師之家] 焦慮 +9 | 水冰月月野兔 2026-03-13 | 13/650 |
|
|
[考研] 求材料調(diào)劑 +10 | 隔壁陳先生 2026-03-12 | 10/500 |
|
|
[考研] 286求調(diào)劑 +6 | lemonzzn 2026-03-16 | 9/450 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +3 | 我愛生物生物愛?/a> 2026-03-17 | 3/150 |
|
|
[考研] 326求調(diào)劑 +5 | 上岸的小葡 2026-03-15 | 6/300 |
|
|
[考研] 26考研求調(diào)劑 +6 | 丶宏Sir 2026-03-13 | 6/300 |
|
|
[考博] 26申博 +4 | 八6八68 2026-03-16 | 4/200 |
|
|
[考研] 302求調(diào)劑 +4 | 小賈同學(xué)123 2026-03-15 | 8/400 |
|
|
[考研] 26考研一志愿中國石油大學(xué)(華東)305分求調(diào)劑 +3 | 嘉年新程 2026-03-15 | 3/150 |
|
|
[考研] 288求調(diào)劑 +4 | 奇點0314 2026-03-14 | 4/200 |
|
|
[考研] 一志愿哈工大材料324分求調(diào)劑 +5 | 閆旭東 2026-03-14 | 5/250 |
|
|
[考研] 266求調(diào)劑 +4 | 學(xué)員97LZgn 2026-03-13 | 4/200 |
|
|
[考研] 295求調(diào)劑 +3 | 小匕仔汁 2026-03-12 | 3/150 |
|
|
[考研] 289求調(diào)劑 +3 | 李政瑩 2026-03-12 | 3/150 |
|