octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling development sources


From: Jaroslav Hajek
Subject: Re: compiling development sources
Date: Thu, 11 Feb 2010 10:21:26 +0100

On Thu, Feb 11, 2010 at 10:07 AM, Carlo de Falco
<address@hidden> wrote:
>
> On 11 Feb 2010, at 09:51, Jaroslav Hajek wrote:
>
>> Oh my. I should use g95 to verify the sources.
>> Please apply the following patch (only fixes test suite, so should be
>> irrelevant for Octave) and try again:
>
>
> I still get the following warning:
>
> ------------------------------------------------------------------------
> g95 -O3 -funroll-loops -c utils.f
> In file utils.f:58
>
>      call drandg(2*m,n,x,2*ldx)
>                        1
> In file utils.f:34
>
>      subroutine drandg(m,n,x,ldx)
>                            2
> Warning (155): Inconsistent types (COMPLEX(8)/REAL(8)) in actual argument
> lists at (1) and (2)
> In file utils.f:51
>
>      call srandg(2*m,n,x,2*ldx)
>                        1
> In file utils.f:21
>
>      subroutine srandg(m,n,x,ldx)
>                            2
> Warning (155): Inconsistent types (COMPLEX(4)/REAL(4)) in actual argument
> lists at (1) and (2)
> ------------------------------------------------------------------------
>

Yes, these two are intentional (Fortran guarantees this to work, and
it can't be so easily avoided because there is no CLARUV/ZLARUV in
LAPACK).


> But the tests now seem to pass (see below).
> Notice that I had to manually change permissions of the script
> test/report_results
> for 'make test' to work. Maybe you should change
>
>  ./report_results $(OUTS)
>
> to
>
>  $(SH) ./report_results $(OUTS)
>
> in test/Makefile ?
> c.
>
>
>
>  testing QR rank-1 update routines.
>  All residual errors are expected to be small.
>
>  sqr1up test (full factorization):
>      residual error =              0.122189521790E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqr1up test (full factorization):
>      residual error =              0.334454686168E-14       PASS
> orth. residual error =              0.999200722163E-15       PASS
>  cqr1up test (full factorization):
>      residual error =              0.133548405756E-05       PASS
> orth. residual error =              0.596046447754E-06       PASS
>  zqr1up test (full factorization):
>      residual error =              0.712296977776E-14       PASS
> orth. residual error =              0.177635683940E-14       PASS
>  sqr1up test (economized factorization):
>      residual error =              0.745058059692E-06       PASS
> orth. residual error =              0.536441802979E-06       PASS
>  dqr1up test (economized factorization):
>      residual error =              0.210942374679E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
>  cqr1up test (economized factorization):
>      residual error =              0.174107810835E-05       PASS
> orth. residual error =              0.596046447754E-06       PASS
>  zqr1up test (economized factorization):
>      residual error =              0.454852485457E-14       PASS
> orth. residual error =              0.144328993201E-14       PASS
>  sqr1up test (rows < columns):
>      residual error =              0.143446959555E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqr1up test (rows < columns):
>      residual error =              0.155431223448E-14       PASS
> orth. residual error =              0.111022302463E-14       PASS
>  cqr1up test (rows < columns):
>      residual error =              0.175077479980E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqr1up test (rows < columns):
>      residual error =              0.280501353073E-14       PASS
> orth. residual error =              0.133226762955E-14       PASS
> ----------------------------------------------------------------------
>  total:     PASSED  24     FAILED   0
>
>
>  testing QR column insert routines.
>  All residual errors are expected to be small.
>
>  sqrinc test (full factorization):
>      residual error =              0.834465026855E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqrinc test (full factorization):
>      residual error =              0.198452365652E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
>  cqrinc test (full factorization):
>      residual error =              0.954721485869E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqrinc test (full factorization):
>      residual error =              0.633102584584E-14       PASS
> orth. residual error =              0.133226762955E-14       PASS
>  sqrinc test (economized factorization):
>      residual error =              0.908970832825E-06       PASS
> orth. residual error =              0.417232513428E-06       PASS
>  dqrinc test (economized factorization):
>      residual error =              0.205391259556E-14       PASS
> orth. residual error =              0.999200722163E-15       PASS
>  cqrinc test (economized factorization):
>      residual error =              0.230040586757E-05       PASS
> orth. residual error =              0.683888231379E-06       PASS
>  zqrinc test (economized factorization):
>      residual error =              0.469955767903E-14       PASS
> orth. residual error =              0.111022302463E-14       PASS
> ----------------------------------------------------------------------
>  total:     PASSED  16     FAILED   0
>
>
>  testing QR column delete routines.
>  All residual errors are expected to be small.
>
>  sqrdec test (full factorization):
>      residual error =              0.834465026855E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqrdec test (full factorization):
>      residual error =              0.179023462721E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
>  cqrdec test (full factorization):
>      residual error =              0.213074417843E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqrdec test (full factorization):
>      residual error =              0.638465723566E-14       PASS
> orth. residual error =              0.111022302463E-14       PASS
>  sqrdec test (economized factorization):
>      residual error =              0.566244125366E-06       PASS
> orth. residual error =              0.357627868652E-06       PASS
>  dqrdec test (economized factorization):
>      residual error =              0.380251385934E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
>  cqrdec test (economized factorization):
>      residual error =              0.145934416196E-05       PASS
> orth. residual error =              0.596046447754E-06       PASS
>  zqrdec test (economized factorization):
>      residual error =              0.508800871843E-14       PASS
> orth. residual error =              0.133226762955E-14       PASS
> ----------------------------------------------------------------------
>  total:     PASSED  16     FAILED   0
>
>
>  testing QR column shift routines.
>  All residual errors are expected to be small.
>
>  sqrshc test (left shift, full factorization):
>      residual error =              0.834465026855E-06       PASS
> orth. residual error =              0.357627868652E-06       PASS
>  dqrshc test (left shift, full factorization):
>      residual error =              0.149880108324E-14       PASS
> orth. residual error =              0.122124532709E-14       PASS
>  cqrshc test (left shift, full factorization):
>      residual error =              0.149257743942E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqrshc test (left shift, full factorization):
>      residual error =              0.595205264017E-14       PASS
> orth. residual error =              0.133226762955E-14       PASS
>  sqrshc test (right shift, economized factorization):
>      residual error =              0.923871994019E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqrshc test (right shift, economized factorization):
>      residual error =              0.346944695195E-14       PASS
> orth. residual error =              0.777156117238E-15       PASS
>  cqrshc test (right shift, economized factorization):
>      residual error =              0.127628334212E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqrshc test (right shift, economized factorization):
>      residual error =              0.497870862620E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
> ----------------------------------------------------------------------
>  total:     PASSED  16     FAILED   0
>
>
>  testing QR row insert routines.
>  All residual errors are expected to be small.
>
>  sqrinr test (full factorization):
>      residual error =              0.894069671631E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqrinr test (full factorization):
>      residual error =              0.288657986403E-14       PASS
> orth. residual error =              0.111022302463E-14       PASS
>  cqrinr test (full factorization):
>      residual error =              0.147320042743E-05       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  zqrinr test (full factorization):
>      residual error =              0.513478148889E-14       PASS
> orth. residual error =              0.111022302463E-14       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   8     FAILED   0
>
>
>  testing QR row delete routines.
>  All residual errors are expected to be small.
>
>  sqrder test (full factorization):
>      residual error =              0.923871994019E-06       PASS
> orth. residual error =              0.476837158203E-06       PASS
>  dqrder test (full factorization):
>      residual error =              0.170696790036E-14       PASS
> orth. residual error =              0.888178419700E-15       PASS
>  cqrder test (full factorization):
>      residual error =              0.200354133995E-05       PASS
> orth. residual error =              0.596046447754E-06       PASS
>  zqrder test (full factorization):
>      residual error =              0.659374577221E-14       PASS
> orth. residual error =              0.999200722163E-15       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   8     FAILED   0
>
>
>  testing Cholesky rank-1 update routines.
>  All residual errors are expected to be small.
>
>  sch1up test:
>      residual error =              0.762939453125E-05       PASS
>  dch1up test:
>      residual error =              0.106581410364E-13       PASS
>  cch1up test:
>      residual error =              0.171682331711E-04       PASS
>  zch1up test:
>      residual error =              0.213578748579E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   4     FAILED   0
>
>
>  testing Cholesky rank-1 downdate routines.
>  All residual errors are expected to be small.
>
>  sch1dn test:
>      residual error =              0.572204589844E-05       PASS
>  dch1dn test:
>      residual error =              0.106581410364E-13       PASS
>  cch1dn test:
>      residual error =              0.133514404297E-04       PASS
>  zch1dn test:
>      residual error =              0.213209075002E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   4     FAILED   0
>
>
>  testing Cholesky symmetric insert routines.
>  All residual errors are expected to be small.
>
>  schinx test:
>      residual error =              0.381469726562E-05       PASS
>  dchinx test:
>      residual error =              0.710542735760E-14       PASS
>  cchinx test:
>      residual error =              0.114664217108E-04       PASS
>  zchinx test:
>      residual error =              0.143832810024E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   4     FAILED   0
>
>
>  testing Cholesky symmetric delete routines.
>  All residual errors are expected to be small.
>
>  schdex test:
>      residual error =              0.381469726562E-05       PASS
>  dchdex test:
>      residual error =              0.710542735760E-14       PASS
>  cchdex test:
>      residual error =              0.114465747174E-04       PASS
>  zchdex test:
>      residual error =              0.177691186420E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   4     FAILED   0
>
>
>  testing QR column shift routines.
>  All residual errors are expected to be small.
>
>  schshx test (left shift):
>      residual error =              0.381469726562E-05       PASS
>  dchshx test (left shift):
>      residual error =              0.710542735760E-14       PASS
>  cchshx test (left shift):
>      residual error =              0.152587890625E-04       PASS
>  zchshx test (left shift):
>      residual error =              0.142177919159E-13       PASS
>  schshx test (right shift):
>      residual error =              0.381469726562E-05       PASS
>  dchshx test (right shift):
>      residual error =              0.106581410364E-13       PASS
>  cchshx test (right shift):
>      residual error =              0.152587890625E-04       PASS
>  zchshx test (right shift):
>      residual error =              0.143214466922E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   8     FAILED   0
>
>
>  testing LU rank-1 update routines.
>  All residual errors are expected to be small.
>
>  slu1up test (rows > columns):
>      residual error =              0.286102294922E-05       PASS
>  dlu1up test (rows > columns):
>      residual error =              0.177635683940E-14       PASS
>  clu1up test (rows > columns):
>      residual error =              0.139148448852E-05       PASS
>  zlu1up test (rows > columns):
>      residual error =              0.113438501032E-13       PASS
>  slu1up test (rows < columns):
>      residual error =              0.143051147461E-05       PASS
>  dlu1up test (rows < columns):
>      residual error =              0.111022302463E-14       PASS
>  clu1up test (rows < columns):
>      residual error =              0.337174788001E-05       PASS
>  zlu1up test (rows < columns):
>      residual error =              0.650807585519E-14       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   8     FAILED   0
>
>
>  testing pivoted LU rank-1 update routines.
>  All residual errors are expected to be small.
>
>  slup1up test (rows > columns):
>      residual error =              0.631809234619E-05       PASS
>  dlup1up test (rows > columns):
>      residual error =              0.290739654574E-13       PASS
>  clup1up test (rows > columns):
>      residual error =              0.649834146316E-05       PASS
>  zlup1up test (rows > columns):
>      residual error =              0.848431244129E-14       PASS
>  slup1up test (rows < columns):
>      residual error =              0.594556331635E-05       PASS
>  dlup1up test (rows < columns):
>      residual error =              0.388578058619E-14       PASS
>  clup1up test (rows < columns):
>      residual error =              0.456277348349E-05       PASS
>  zlup1up test (rows < columns):
>      residual error =              0.145591686034E-13       PASS
> ----------------------------------------------------------------------
>  total:     PASSED   8     FAILED   0
>
>  TOTAL:     PASSED 128     FAILED   0
>
>

Great. Thanks for the impulse. You may try to vary the random seed at line 64

      data seed /4*3/
-->
      data seed /4*13/

the "4*" prefix is needed (it's not multiplication, just an ugly
Fortran feature), any integer will do as the second. Or you can supply
4 different integers separated by commas.
Prior to doing so, please apply this patch:

Index: test/Makefile
===================================================================
--- test/Makefile       (revision 22)
+++ test/Makefile       (revision 23)
@@ -31,6 +31,7 @@
        ./report_results $(OUTS)

 $(OUTS): %.out: %
+       echo > $@
        ./$< | tee $@

 $(PROGS): % : %.f utils.o ../libqrupdate.a


or delete the *.out files after each try, otherwise a segfault may
escape your attention.
If you can't produce a failure this way, the problem is probably not
in qrupdate.
The next step is to try to separate the Octave test that crashes.

-- 
RNDr. Jaroslav Hajek, PhD
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]