123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132(* File: common.ml
Copyright (C) 2001-
Markus Mottl
email: markus.mottl@gmail.com
WWW: http://www.ocaml.info
Liam Stewart
email: liam@cs.toronto.edu
WWW: http://www.cs.toronto.edu/~liam
Christophe Troestler
email: Christophe.Troestler@umons.ac.be
WWW: http://math.umh.ac.be/an/
Florent Hoareau
email: h.florent@gmail.com
WWW: none
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*)openBigarrayexceptionInternalErrorofstringtypeint_vec=(int,int_elt,fortran_layout)Array1.tletcreate_int_vecn=Array1.createintfortran_layoutntypeint32_vec=(int32,int32_elt,fortran_layout)Array1.tletcreate_int32_vecn=Array1.createint32fortran_layoutnletmat_from_vecv=array2_of_genarray(reshape(genarray_of_array1v)[|Array1.dimv;1|])typetrans2=[`N|`T]typeside=[`L|`R]typediag=[`U|`N]typenorm2=[`O|`I]typenorm4=[`M|`O|`I|`F]typesvd_job=[`A|`S|`O|`N]typeschur_vectors=[`No_Schur_vectors|`Compute_Schur_vectors]typeeigen_value_sort=[|`No_sort|`Select_left_plane|`Select_right_plane|`Select_interior_disk|`Select_exterior_disk|`Select_customofComplex.t->bool]moduleTypes=structmoduleVec=structtype'vecunop=?n:int->?ofsy:int->?incy:int->?y:'vec->?ofsx:int->?incx:int->'vec->'vectype'vecbinop=?n:int->?ofsz:int->?incz:int->?z:'vec->?ofsx:int->?incx:int->'vec->?ofsy:int->?incy:int->'vec->'vecend(* Vec *)moduleMat=structtypepatt=[|`Full(* Full matrix *)|`Utr(* Upper triangular or trapezoidal matrix *)|`Ltr(* lower triangular or trapezoidal matrix *)|`Upentofint(* Initial full rows of pentagonal matrix *)|`Lpentofint(* Initial full columns of pentagonal matrix *)]type'matunop=?patt:patt->?m:int->?n:int->?br:int->?bc:int->?b:'mat->?ar:int->?ac:int->'mat->'mattype'matbinop=?patt:patt->?m:int->?n:int->?cr:int->?cc:int->?c:'mat->?ar:int->?ac:int->'mat->?br:int->?bc:int->'mat->'matend(* Mat *)end(* Types *)