Evgenii B. Rudnyi

Blog http://blog.rudnyi.ru

Home Teaching Programming Publications
      Name                    Last modified       Size  

[DIR] Parent Directory 20-Apr-2011 23:50 - [DIR] aluminates/ 06-Apr-2011 04:18 - [DIR] bacuy/ 06-Apr-2011 04:18 - [DIR] kcl/ 06-Apr-2011 04:18 - [DIR] line/ 06-Apr-2011 04:18 - [DIR] varcomp/ 06-Apr-2011 04:18 - [DIR] y123/ 06-Apr-2011 04:18 - [TXT] COPYING 05-Jan-2005 18:36 18k [TXT] FREE_LICENSE 05-Jan-2005 18:36 1k

Copyright (C) 1994-1998 Evgenii Rudnyi, http://Evgenii.Rudnyi.Ru/

This software is a copyrighted work licensed under the terms,
described in the file "FREE_LICENSE". 

Note that the license written as the code output concerns the binary.
The source code is covered by "FREE_LICENSE".

Use at your own risk.

This file is written in 2005.

2 July 2006 - small changes in README

varcomp: Library for the Maximum Likelihood Method under the Linear Error Model
===============================================================================

I wrote varcomp during the work on [1] and then I used it for papers
[2] to [7].  Eventually, I switched to tdlib. It includes the new
version of varcomp, much more flexible, yet incompatible with the
application code. I have migrated some example to tdlib but not all of
them. 

Important note: makefiles do not include dependence on the headers. If
you change headers, make everything clean. Sorry.

The archive contains the varcomp library as well as the application
code and datafiles for papers [1] to [7].

Let us start with the library although it order to understand it it
may be simpler to start with applications (for example, see
directories line and kcl). The goal of the library is to simplify the
development of similar applications.

Learning path
-------------

1) Paper [1].
2) readme.txt in the directory line.
3) Browsing the application code and datafiles.
4) The tdlib manual: Sections 2.3, 3.5.3, and 3.5.4.

Directory varcomp/
------------------

The library requires ZXSSQ from IMSL as well as some other routines
(see imsl.h). ZXSSQ is the main computational engine in my algorithm
[1] as it happened that the inverse of D(e) can be found in the closed
form under the linear error model. The new version of varcomp in tdlib
is more flexible in respect that one can choose from several
minimizers.

The code is under 2400 lines. Is not that big. Now I needed to make
some changes to work it under gcc 3.3 on my Mac. Mostly this was
related to the string class. In 1994, I started with the string from
NCS String Library by Namir Clement Shammas, then I switched to
Borland's string, and now it is converted to the Standard Library
string. Another change was related to the data structure in data.h and
data.cpp. When I started, my philosophy was to save each byte of
memory. Yet, this happened to be tricky with modern 64-bits computers.
My original code in data.h lead to "Bus error" on Sun because they
cannot work with a double aligned at the arbitrary byte.

sumsqr.cpp contains the main function. Yes, varcomp contains main as a
user is supposed to write pre-defined functions only. Not an ideal
solution, well. Still, this is the right starting point to learn the
library.

sumsqrin.cpp contains input functions.

sumsqrpr.cpp contains output functions.

sumsqrut.cpp contains computational functions.

data.cpp and common.cpp define low-level objects (quite naive from a
modern viewpoint).

Directory line/
---------------

An application for [1]. See README in this directory.

Directory kcl/
--------------

Another application for [1]. See README in this directory.

Directory bacuy/
----------------

Applications for [2] to [5]. See README in this directory.

Directory aluminates/
---------------------

Application for [6]. See README in this directory.

Directory y123/
---------------

Application for [7]. See README in this directory.




If you have a question, please contact me. My e-mail address can be found 
at http://Evgenii.Rudnyi.Ru/. 

[1] E.B. Rudnyi. Statistical model of systematic errors: linear error
model. Chemometrics and Intelligent Laboratory Systems. 1996, V. 34, N
1, p. 41-54. 

[2] E. B. Rudnyi. Thermodynamic assessment of the Ba-Cu system. Zh.
Fiz. Khim. 1996, v. 70, N 6, p. 986-990 (in Russian). Russ. J. Phys.
Chem. (English transl.), 1996, v. 70, N 6. 

[3] E. B. Rudnyi. Thermodynamic assessment of the Cu-Y system. Zh.
Fiz. Khim. 1996, v. 70, N 6, p. 1007-1011 (in Russian). Russ. J. Phys.
Chem. (English transl.), 1996, v. 70, N 6. 

[4] E. B. Rudnyi. Statistical model of systematic errors: An
assessment of the Ba-Cu and Cu-Y phase diagram. Chemometrics and
Intelligent Laboratory Systems, 1997, v. 36, p. 213-227.

[5] E. B. Rudnyi, G. F. Voronin. Thermodynamic assessment of the
ternary Ba-Cu-Y system. Direct optimization of the miscibility gap.
CALPHAD, 1996, v. 20, N 3, p. 297-305. 

[6] V. V. Kuzmenko, I. A. Uspenskaya, E. B. Rudnyi. Simultaneous
assessment of calcium aluminates.  Bull. Soc. Chim. Belg. 1997, v.
106, N5, p. 235-243. 

[7] E. B. Rudnyi, V. V. Kuzmenko, G. V. Voronin. Simultaneous
assessment of the YBa2Cu6O6+z thermodynamics under the linear error
model. J. Phys. Chem. Ref. Data, 1998, v. 27, N 5, p. 855-888.