様式9 +-------------------------------------+----------------+----------------------+ | システム名(コード): ALGOPAK | | システム報告書概要 | +-------------------------------------+ +----------------------+ | モジュール名(コード): WINGRAD (A503) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者・学生番号: 増沢善子21SS1159 | 文書作成者・学生番号: 増沢善子21SS1159 | +-------------------------------------+---------------------------------------+ | 作成期間: 62/01 / ー / / | 文書作成期間: 62/ 2/ ー / / | +-------------------------------------+---------------------------------------+ | 親モジュール: ALGOS | 子モジュール: | +-------------------------------------+---------------------------------------+ | 講義名・課題名: 卒業研究 | 参考文献(著者名、書名、出版社、発行年)| +-------------------------------------+ | | 開発形態: 移植 | SARA BAASE,COMPUTER ALGORITHMS, | +-------------------------------------+ | | 形式: サブルーチン | ADDISON WESLEY,1978. | +-------------------------------------+---------------------------------------+ | 利用対象者: 一般 | 格納メディア形式: フロッピーディスク | +-------------------------------------+---------------------------------------+ | 目的(問題解説、機能解説−制限事項)| 格納メディア番号、ファイル名: | | +---------------------------------------+ | | 記述言語・走行OS: TURBO PASCAL | | 行列式の計算 +---------------------------------------+ | | 走行条件(ハードウェア、ソフトウェア)| | A(M*N型) * B(N*Q型) | PC−9801,MS−DOS | | | | | | | +-------------------------------------+---------------------------------------+ | キーワード(適用分野、手法など) : | 分類コード(CRコードを使用) : | | MATRIX MULTIPLICATION-WINOGRAD | | +-------------------------------------+---------------------------------------+ | 呼び出し法: WINGRAD(M,N,Q,A,B,C) | | | +-----------------------------------------------------------------------------+ | 操作手順(コンプリートプログラム(メインプログラム)の場合:1.システム起動手順、2.データ入出力 | | 手順と形式、3.終了手順) | | (サブルーチンの場合:1.呼び出し形式-引き数の並べ方-、2.親ルーチン、3.子ルー | | チン、4.その他) | | | | | | 1. M,N,Q(入力):(整数型,1≦M,N,Q≦20) | | | | A(入出力):M*N型行列 (整数型 3桁まで,AA) | | | | B(入出力):N*Q型行列 (整数型 3桁まで,AA) | | | | C(出力):A*Bの値 (AA) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 注. システム1つにつき1枚作成 必要な場合モジュール1つにつき1枚作成(インターフェース仕様書-様式1-に追加) 様式7 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK | | 問題解説 | +-------------------------------------+ +----------------------+ | モジュール名: WINGRAD (A503) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 羽山明美 10SS1142 | 文書作成者: 羽山明美 10SS1142 | +-------------------------------------+---------------------------------------+ | 作成期間: 58/ 6/ ー 58/ 7/ | 文書作成期間: 59/11/ ー 59/12/ | +-------------------------------------+---------------------------------------+ | | | M*N型行列 A と、N*Q型行列 B のかけ算を行う。 | | | | P=[N/2」 とし、あらかじめ | | P P | | Ri = Ai,2j-1 * Ai,2j , Si = B2j-1,i * B2j,i | | j=1 j=1 | | (1≦i≦M) (1≦i≦Q) | | | | を計算しておく。 そして、 | | P | | Ci,j = (Ai,2k-1 + B2k,j)*(Ai,2k + B2k-1,j)- Ri - Cj | | K=1 | | (1≦i≦M, 1≦j≦Q) ・・・(1) | | | | ここで、Nが奇数の場合、 上の式(1)に、 Ai,n * Bn,j を加える。 | | | | この方法での乗算は、 (M*P+Q*P+M*Q*P) 回、 | | | | A,B共に正方行列であれば、 N/2 + N 回行う。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 様式6 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK | | アルゴリズム流れ図 | +-------------------------------------+ +----------------------+ | モジュール名: WINGRAD (A503) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 羽山明美 10SS1142 | 文書作成者: 羽山明美 10SS1142 | +-------------------------------------+---------------------------------------+ | 作成期間: 58/ 6/ ー 58/ 7/ | 文書作成期間: 59/11/ ー 59/12/ | +-------------------------------------+---------------------------------------+ | | | | | | | | | | | | | | | ++-------++ +---------+ | | !!WINOGRA!! ! ! | | !!D(A503)!!---->!P:= n/2」 ! | | !! !! ^ ! ! | | ++-------++ ! +---------+ | | ! ! | | ! +--------++ +---------+ | | ! !FOR i:=1!! !Ri:= ! | | ! ! TO m !!---->! Ai,2j-1 ! | | ! ! !! ! * A,2j ! | | ! +--------++ +---------+ | | ! ! | | ! +--------++ +---------+ | | ! !FOR i:=1!! !Si:= ! | | ! ! TO q !!---->! B2j-1,i! | | ! ! !! ! * B2j,i ! | | ! +--------++ +---------+ | | ! ! | | ! +--------++ +--------++ +-------------------------+ | | ! !FOR I:=1!! !FOR i:=1!! !Ci,j:= ! | | ! ! TO m !!---->! TO q !!---->!(Ai,2k-1 + B2k,j) * ! | | ! ! !! ! !! !(Ai,2k + B2k-1,j) -Ri-Si ! | | ! +--------++ +--------++ +-------------------------+ | | ! ! | | ! +-------+ +--------++ +--------++ +---------+ | | ! !IF n IS + !FOR i:=1!! !FOR j:=1!! !Ci,j:= ! | | !-! ODD +---->! TO m !!---->! TO q !!---->!Ci,j + Ai! | | ! + ! !! ! !! !,n * Bn,j! | | +-------+ +--------++ +--------++ +---------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 様式9 +-------------------------------------+----------------+----------------------+ | システム名(コード): ALGOPAK | | システム報告書概要 | +-------------------------------------+ +----------------------+ | モジュール名(コード): CWINGRAD (P503) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者・学生番号: 増沢善子21SS1159 | 文書作成者・学生番号: 増沢善子21SS1159 | +-------------------------------------+---------------------------------------+ | 作成期間: 62/ 1/ ー / / | 文書作成期間: 62/ 2/ ー / / | +-------------------------------------+---------------------------------------+ | 親モジュール: ALGOPAK | 子モジュール: WINGRAD (A503) | +-------------------------------------+---------------------------------------+ | 講義名・課題名: 卒業研究 | 参考文献(著者名、書名、出版社、発行年)| +-------------------------------------+ | | 開発形態: 移植 | SARA BAASE,COMPUTER ALGORITHMS, | +-------------------------------------+ | | 形式: コンプリート | ADDISON WESLEY,1978. | +-------------------------------------+---------------------------------------+ | 利用対象者: 一般 | 格納メディア形式: フロッピーディスク | +-------------------------------------+---------------------------------------+ | 目的(問題解説、機能解説−制限事項)| 格納メディア番号、ファイル名: | | +---------------------------------------+ | | 記述言語・走行OS: TURBO PASCAL | | 行列式の計算 +---------------------------------------+ | | 走行条件(ハードウェア、ソフトウェア)| | (A(M*N 型) * B(N*Q 型)) の | PC−9801,MS−DOS | | | | | サブルーチン プログラム | | +-------------------------------------+---------------------------------------+ | キーワード(適用分野、手法など) : | 分類コード(CRコードを使用) : | | MATRIX MULTIPLICATION-WINOGRAD | | +-------------------------------------+---------------------------------------+ | 呼び出し法: CWINGRAD | | データ | +-----------------------------------------------------------------------------+ | 操作手順(コンプリートプログラム(メインプログラム)の場合:1.システム起動手順、2.データ入出力 | | 手順と形式、3.終了手順) | | (サブルーチンの場合:1.呼び出し形式-引き数の並べ方-、2.親ルーチン、3.子ルー | | チン、4.その他) | | 1.> CWINGRAD.SRC       | | | |                           | | | |           | | | | データ | | | | 2. 1)入力データ | | | | M,N,Q (整数型,1≦M,N,Q≦20) | | | | M*N 型行列 A (整数型 3桁まで) | | | | N*Q 型行列 B (整数型 3桁まで) | | | | 2)出力データ | | | | M*N型行列 A | | | | N*Q型行列 B | | | | A*B の値 C | | | | | | | +-----------------------------------------------------------------------------+ 注. システム1つにつき1枚作成 必要な場合モジュール1つにつき1枚作成(インターフェース仕様書-様式1-に追加)