2023-03-27 Jaroslav Fowkes Version 6.4.0 When finding free unit numbers only search up to huge(0_short)-1. 2023-02-23 Jennifer Scott Version 6.3.1 Minor changes to spec sheet examples to ensure portable output. 2022-04-07 Jaroslav Fowkes Version 6.3.0 When finding free unit numbers only search up to huge(0)-1. 2022-01-24 Jaroslav Fowkes Version 6.2.1 Standardise internal C interface module names and fix strlen return type. 2021-03-18 John Reid and Tyrone Rees Version 6.2.0 Explicitly define loop indices. Update examples in C spec sheets 2013-04-24 Jennifer Scott Version 6.1.0 Bug fixed in solve phase where some integers needed to be declared as long integers. 2013-03-25 Jonathan Hogg and Jennifer Scott Version 6.0.0 * Add two new routines ma77_solve_fredholm and ma77_lmultiply. * Fix some issues around long/short integer conversions. * Add some padding to C interface structures to allow for future growth. 2012-01-03 Jonathan Hogg Version 5.8.0 Change default value of control%small = 1e-20 based on experience with HSL_MA86 and HSL_MA97. 2011-05-18 Jonathan Hogg and Jennifer Scott Version 5.7.0 * C interface added * Bug fixed in ma77_enquire_indef and ma77_alter 2010-12-21 Version 5.6.0 Default value of cntl%usmall changed to epsilon(1.0_wp) and info%usmall renamed as info%u. Also fix a small but with overwriting of unit_error. 2010-12-15 Version 5.5.1 Change optional argument name for ma77_resid from anorm to anorm_bnd to match spec sheet. Remove dead code from spec sheet examples. Fix ma77_alter description on specsheet. 2010-10-19 Jennifer Scott Version 5.5.0 Minor bug fix in case of a subsequent factorization. info%minstore and info%storage(2) were not set correctly in this case. 2010-05-11 Jennifer Scott and Jonathan Hogg Version 5.4.0 Minor bug fix. Skip correct number of entries for out-of-range indices. 2010-04-26 Version 5.3.0 Minor bug fix. Avoid preserving a singular flag from a previous factorization. 2010-04-08 Jonathan Hogg Version 5.2.0 Change default value of control%umin from 0.01 to 1.0, restoring expected behaviour of programs changing control%u prior to version 5.0.0. 2009-08-14 Version 5.1.0 * Minor bug fixes related to scaling. * Some minor corrections to spec sheet. 2009-08-04 Version 5.0.0 * JKR altered hsl_ma64 (included new control parameter umin and modified static pivoting, and allow u in range [0.0, 1.0]). hsl_ma77 modified to allow for these changes. * Simplified ma77_enquire_indef and ma77_alter to work with D^{-1} (rather than D). * Also fixed bugs in ma77_solve (and job = 4 added in indefinite case) and ma77_alter. 2008-10-30 Version 4.4.0 * Rewritten code for doing depth-first search of tree (was not a bug fix but simplifies code). * Removed a couple of lines of redundant code from scale77. * Added error return -41 (failure in Fortran close). 2008-10-10 Version 4.3.0 * Removed variable itopd (was not used since integer info. on delayed pivots not held in a stack). * Removed scalar size_fa and array ip from keep. * Added error return -40 (IEEE infinities). 2008-09-10 Version 4.2.0 * info%nfactor now returns no. of entries in L rather than L and D. * Corrected a format statement and removed a recursive statement. 2008-09-03 Version 4.1.0 Match JKR alteration of hsl_ma54 2008-08-04 Version 4.0.0 * JKR altered hsl_ma64 (included inner block size and optionally allows only the first p columns to be rearranged during factorization). hsl_ma77 modified to allow for these changes. * control%nbi added. control%nb now has default 120. * keep is no longer private since hsl_ma79 needs to be able to access some components of keep. * Bug fixed so that warning info%flag = 4 gets returned to user. * ma77_scale has been added (allows matrix to be scaled out of core). 2008-06-30 Version 3.1.0 Bug fixed in factorize54 (error introduced when we modified for 64-bits) 2008-05-12 Version 3.0.0 Long integer addressing + bug fix * Use of long integers modified to allow code to run on 64-bit architectures. In particular, the frontal matrix is addressed with a long integer (and so too is maxstore). * Bug fixed in restarting. 2008-04-14 Version 2.2.0 * Bug fixed to allow ma77_input_reals to be called after a previous factorization. * control%p added to enable us to experiment with different choices of split point ... but this control is NOT documented as we do not intend users to change it. * Also minor bugs in spec fixed. 2008-03-28 Version 2.1.0 Minor bug fixes 2008-03-14 Version 2.0.0 Add indefinite case + bug fixes. * Code may be used for positive definite and indefinite systems. HSL_MA64 used in the indefinite case. * A number of other minor bugs fixed. * In MA77_allocate, now use reals for computing lfa_long. 2008-03-04 Error -16 extended to include Fortran open unsuccessful for all elements of path. 2008-02-12 Removed all recursive subroutines (since a very large number of levels of recursion can cause code to fail) 2008-02-04 hsl_ma64 changed so that no wasted space (reduces factor storage) 2007-12-10 Version 1.3.0 hsl_of01 updated. * inactive parameter for of01_write used when writing factor data. * discard parameter used when reading stack data 2007-11-20 Version 1.2.0 computation of info%detlog/info%detsign added (had been omitted by mistake!) 2007-11-16 * bug fixed in MA77_write_real and MA77_write_integer when switching from an array to a file. * Also, new version of HSL_MA54 used. 2007-10-16 Version 1.1.0 2007-08-?? now have ma77_factor to factorise matrix and ma77_factor_solve to perform factorization and solve at same time. 2007-07-?? added routines to obtain the diagonal entries of factor (D) and, in the indefinite case, to alter them. Involved changing main real superfile to hold D separately, before the rest of the factor data. 2007-06-20 removed the use of an integer file for delayed pivots 2007-04-16 construction of tree in analyse put into two subroutines: * construct_tree1 for the case of no 2x2 pivots * construct_tree2 for the case when user has supplied at least one 2x2 pivot (eg if analyse phase of ma47 used). Aim of doing this was to simplify code in the common case of no 2x2 pivots supplied by user. 2007-03-?? two recursive factorization routines (one for positive definite case and one more complicated one for indefinite case that deals with delayed pivots). Factorization amended to avoid some copying to and from stack 2006-09-05 Version 1.0.0 Original Date.