BENDOPT and BENDPDF V1.1 User's Manual ===================== = B E N D O P T = ===================== =================================================== Fortran-Program for two optional bending approches: Use of: (i) an "optimized" procedure, or (ii) a "fixed" bending factor. =================================================== Copyright by A. Essl, Vienna; April, 1996. Some general remarks: ===================== For the theoretical background of this program see Essl (1991): "Choice of an appropriate bending factor using prior knowledge of the parameters". J.Anim.Breed.Genet. 108, 89-101. The cited bending approach was originally meant for optimizing index selection when there are only small-sample parameter estimates available. But the recommended procedure can be used quite generally for an appropriate adjustment of any poor genetic variance-covariance (VC) matrix to get more reliable parameter estimates (although biased, mean squared errors (MSE) are lower on average; see Essl (1991), page 95). The use of the "optimized" procedure requires the entry of some priors in the input file for those heritabilities and genetic correlations which should be re-estimated by bending. However, if there is no useful prior knowledge about the desired parameters available, a bending procedure with a freely chosen "fixed" bending factor can also be carried through by this program. For an appropriate choice of that factor in dependence of some sample properties see Essl (1991), Table 2. Warning: Useful results from this bending procedure can be expected only if the available reference matrix (i.e. residual VC-matrix) is positive definite in a sufficient degree (some problems in this respect may arise when the data analysis is based on an animal model and the sample size is very small). Program input: ============== This program is directed as well by the entries of an input-file as by some additional screen input informations via program dialogue. The common form of the input file (with freely chosen name) must be as following (no specific format of all figures is required): --------------------------------------------------------------------------- First line: Title of the problem (mandatory, max. length 79 col.). Second line: Dimension of VC-matrix which should be adjusted by bending (equal to the number of traits involved). Next lines: - Lower triangle of the estimated additive genetic VC-matrix (animal model) or "variance among" VC-matrix (Henderson 3). - Lower triangle of the respective residual VC-matrix (= reverence matrix for bending). - Optional: Lower triangle of the matrix with priors for all heritabilities (diagonals) and genetic correlations (off diagonals) in question (mandatory for "optimized" procedure). --------------------------------------------------------------------------- All three triangles have to be written 'line by line'. An example for a possible input file is given below (see file "in.opt"): ------------------------------------------------------------------------ Test Example for program "bendopt.for" 3 .00151 -.00312 .00797 .01507 .11564 14.05649 .12961 .00745 .61631 .22806 .21539 103.05261 .05 -.2 .05 .0 .1 .25 ------------------------------------------------------------------------- Coefficient of relationsship ---------------------------- The approriate "coefficient of relationship" (cr-value) is asked via program dialogue and is equivalent to that relationship-constant by which an "among" VC-matrix has to be divided to get an estimate of the full additive genetic VC-matrix (e.g. halfsib-analyses: cr = 0.25). Any procedure on the base of an "animal model" delivers an estimate of the full additive genetic VC-matrix so that cr = 1 in all such situations. Choice of different trait weights (optional): --------------------------------------------- According the initial objective of the underlying bending approach (maximizing the response to index selection) the "optimized" bending procedure allows also the use of different trait weights. In this context these weights are to be interpreted as the relative economic values of a genetic standard deviation of the respective traits. Program output: =============== The results (including all relevant input terms) are written on an output file whose name can be freely chosen by the user (see file "out.opt" for example, which is according to the input file "in.opt" using the "optimized" procedure and a coefficient of relationship (cr) of 0.25. ========================================================================= ===================== = B E N D P D F = ===================== ======================================================== Fortran-Program for a stepwise bending procedure applied to (e.g. negative-definite) variance-covariance matrices until their lowest eigenvalue exceeds a preset limit ======================================================== Copyright by A. Essl, Vienna; January, 1996. ======================================================== This fortran program can be used either stand-alone or - after some suitable adaptions by the user - for instance as a subroutine in simulation programs requiring positive-definite variance-covariance matrices in multiple trait approaches. Program input ============= If the program is used stand-alone, the e.g. negative-definite variance-covariance (VC) matrix (e.g. a "between" VC-matrix) and a positive-definite reference VC-matrix to which the negative-definite VC-matrix should be bended (e.g. an according "within" VC-matrix) must be written on an input file, which name is asked via program dialogue. Warning: This bending procedure will only work satisfactoriely if the used reference VC-matrix is distinct positive definite (the eigenvalues of the used reference VC-matrix are calculated and presented in the output file!). If there is no proper reference VC-matrix available an identity matrix of suitable dimension can be used instead. This identity matrix will be generated by the program itself and don't need to be written on the input file (selection of this possibility via program dialog). The general form of the input file must be as following: (no specific format of all figures is required) ----------------------------------------------------------------------- First line: Title of the problem (mandatory, max. length 79 col.). Second line: Dimension of VC-matrix which should be adjusted by bending. Next lines: - Lower triangle of the VC-matrix which should be bended. - Lower triangle of the reference VC-matrix (only necessary if the reference VC-matrix is not an identity matrix). Both triangles have to be written 'line by line'. An example for an possible input file is given below (see file "in.pdf"): ------------------------------------------------------------------------- Test Example for program bendpdf.for 3 1.3911 -.2646 1.0572 -.9265 -.8812 1.3219 1.0026 .0819 .9215 -.1097 -.1806 .8871 ------------------------------------------------------------------------- Input of preset limit of lowest eigenvalue ------------------------------------------ The preset limit of the lowest eigenvalue for the VC-matrix after bending is asked via program dialogue. For an appropriate choice of this value it should be noticed that there are theoretical limits (the lowest eigenvalue of a bended VC-matrix can never exeed the average of all eigenvalues of the original VC-matrix; and it must not be negative to get for instance, the original VC-matrix positive-definite). Dimension features ------------------ If the dimension of the VC-matrix exceeds 30, the concerning parameter statement in the program and the dimension entries in the subroutines "MINV" and "MPRO" have to be adapted correspondingly. Program output ============== The results (eigenvalues of original VC-matrix and corresponding reference matrix as well as the adjusted values of VC-matrix after bending with new eigenvalues) are written on an output file (name is asked via program dialogue) like "out.pdf", which is according to the input test example given above. ========================================================================