== GMathLibについて

* GMaththLib は，大気循環モデル等を構築するための数値計算及びユーティリティーライブラリです．言語は C++ を利用し，オブジェクト指向を意識した設計を行っています．


== バージョン情報(2010.10.11)

* 現バージョンは，1.0 beta 10 (ベータ版)です．


== 作成者・功労者

* 河合 佑太 ( 神戸大学地球惑星科学科　地球および惑星大気科学研究室 B4 )


== ライブラリの開発・公開方針

* 非ベータ版で同メジャーバージョンのライブラリでは, どのマイナーチェンジにおいても
  同メジャーバージョン内での下位互換性を必ず保つようにします.

* ベータ版で提供しているクラスおよびそのメンバー関数には, 仕様に変更が加えられる可能性があります. 

* このライブラリの利用によって生じるいかなる損害も, 責任を負うことはできません. ご了承ください. 

* ソースの改変・再配布は自由ですが, 外部公開の際には,オリジナルに対してどのような点を
  改変したかを明示してください. 


== 静的ライブラリの作成方法
* GMathLib のトップディレクトリにて, make コマンドを実行すれば静的ライブラリ( gmathlibcore.a 等)を
  lib ディレクトリ内に作成することができます．

* なお, この作業を行うにはあらかじめ C++ コンパイラや make 環境が計算機にインストールされている必要があります. 
  C++ コンパイラはどのベンダーのものでも良いとは思いますが, Makefile の書式は GNU の make の仕様に合わせています．
  そのため，推奨のビルド環境は，g++ と GNU の make となります．

* 静的ライブラリ作成の詳細については，fourtran 勉強会 HikiWiki 内の「 GMathLib を使った数値計算レシピ 」の
 「基礎編レシピ 0.5」をご覧ください．


== GMathLib のドキュメント

* GMathLib のドキュメントを doxygen を利用して作成しました. 
  doc/html/index.html をブラウザで開くと, ドキュメントのトップページを開けます.


== 更新履歴

* 2010.10.11
  * GMathLib::GMatrix_Util::GLU_Composition クラスの追加. 
  * GmathLib::GLinear_Homo_Eq クラスの強化( LU 分解法による連立一次方程式ソルバを提供). 
  * GMathLib::GMatrix, GMathLib::GVector クラスの機能強化. 行列に関する各演算子を提供. 
    * 行列成分の取得や設定を追加した演算子によって指定するように変更.  
  * プロジェクトのファイルおよびバージョン管理に git を利用. 
  * Makefile に配布用の make ターゲットを追加. 

* 2010.09.25
  * メンバー変数の初期化に伴う警告が出ていた個所を修正. 
  * GMathLib::Util::GMatrixList_Manager クラスの追加.
  * GMathLib::GMatrix クラスの機能強化.
  * ヘッダーファイルの include に関するバグを修正. 

* 2010.09.06
  * GError_Output を名前空間 GMathLib::IO に移動. GMathLib::IO::GStd_Output を追加.
  * GMathLib 内の出力機構を GMathLib::IO 内の関数に統一
  * GMathLib::GVector クラス, GMathLib::Util::GProperties クラスの機能強化
  * GMathLib::GMatrix クラスの機能強化・致命度の低いバグ修正.
  * ソースファイルのエンコードを utf-8 に統一(ドキュメントをブラウザで閲覧する際の文字化けを改善)
  
* 2010.07.16
  * 全ての基底クラスとなる GMathLib::GObject クラスを作成し, 全クラスを派生させた.
  * GMathLib::GVector クラスの追加, GMathLib::GMatrix クラスの機能強化・バグ修正. 
  * GMatrix クラスに追加された関数を使用して, 他クラスのコードを簡潔に書き換えた.

* 2010.07.03
  * 全ソースディレクトリを src ディレクトリ内に統合.
  * GMathLib のドキュメントを作成( doxygen を利用). 
  * GMathLib::GFD::GGFD_Constants を追加.
  * ソースのリファクタリング, コメントの整理を行った.

* 2010.05.28 
  * GMathLib::GMatrix_Util の追加, GMathLib::GMatrix クラスの機能強化
  * ソースのリファクタリング, コメントの整理を行った.

* 2010.05.02 
  * GMathLib::GCIP_CSL_Calc1D クラス, GMathLib::GCIP_Method_Calc2D クラス，GMathLib::Util::GProgress_Bar クラスの追加
  * GMathLib::GMatrix クラスの機能強化
  * CIP法関連クラスの移流相計算ループを並列化

* 2010.04.14
　* GMathLib::GCIP_Method_Calc1D クラスの修正

* 2010.04.10
  * GMathLib::GCIP_Method_Calc1D クラス，GMathLib::GDiff_Util, GMathLib::GError_Output 内の関数，
    GMathLib::Util::GProperties クラスの追加
  * Makefile の修正
  * gmathcore 内の一部のメンバー関数をOpenMPを使って並列化

* 2010.04.02
  * GMathLib::GCubic_Spline_Interpolation クラスの追加
  * GMathLib のディレクトリ構造を構造化. *_src ( ソースディレクトリ ), lib（生成される静的ライブラリを置くディレクトリ ),
    include（ライブラリを呼び出すために include するヘッダーを置くディレクトリ）を作成.
  * GMathLib のトップディレクトリで make すれば, 各 *_src フォルダ内にある Makefile を呼び出し, 
    最終的な生成物を lib ディレクトリに集める仕様に変更.

