home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fb.zip / octave / doc / liboct.INF (.txt) < prev    next >
OS/2 Help File  |  2000-01-15  |  116KB  |  2,595 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Title page ΓòÉΓòÉΓòÉ
  3.  
  4.                                Octave C++ Classes
  5.  
  6.                       Edition 1.0 for Octave version 2.1.23
  7.  
  8.                                  September 1993
  9.  
  10.                                   John W. Eaton
  11.  
  12. Copyright (C) 1996, 1997 John W. Eaton. 
  13.  
  14. This is the first edition of the documentation for Octave's C++ classes, and is 
  15. consistent with version 2.1.23 of Octave. 
  16.  
  17. Permission is granted to make and distribute verbatim copies of this manual 
  18. provided the copyright notice and this permission notice are preserved on all 
  19. copies. 
  20.  
  21. Permission is granted to copy and distribute modified versions of this manual 
  22. under the conditions for verbatim copying, provided that the entire resulting 
  23. derived work is distributed under the terms of a permission notice identical to 
  24. this one. 
  25.  
  26. Permission is granted to copy and distribute translations of this manual into 
  27. another language, under the same conditions as for modified versions. 
  28.  
  29.  
  30. ΓòÉΓòÉΓòÉ 2. Top ΓòÉΓòÉΓòÉ
  31.  
  32. This manual documents how to use, install and port Octave's C++ class library, 
  33. and how to report bugs.  It corresponds to Octave version 2.1.23. 
  34.  
  35.  Acknowledgements 
  36.  Copying 
  37.  Introduction 
  38.  Arrays 
  39.  Matrix and Vector Operations 
  40.  Matrix Factorizations 
  41.  Ranges 
  42.  Nonlinear Functions 
  43.  Nonlinear Equations 
  44.  Optimization 
  45.  Quadrature 
  46.  Ordinary Differential Equations 
  47.  Differential Algebraic Equations 
  48.  Error Handling 
  49.  Installation 
  50.  Bugs 
  51.  Concept Index 
  52.  Function Index 
  53.  
  54.   --- The Detailed Node Listing --- 
  55.  
  56.  Acknowledgements 
  57.  
  58.  Contributors                            People who contributed to developing 
  59.                                          of Octave. 
  60.  
  61.  Arrays 
  62.  
  63.  Constructors and Assignment 
  64.  
  65.  Optimization 
  66.  
  67.  Objective Functions 
  68.  Bounds 
  69.  Linear Constraints 
  70.  Nonlinear Constraints 
  71.  Quadratic Programming 
  72.  Nonlinear Programming 
  73.  
  74.  Quadrature 
  75.  
  76.  Collocation Weights 
  77.  
  78.  
  79. ΓòÉΓòÉΓòÉ 3. Acknowledgements ΓòÉΓòÉΓòÉ
  80.  
  81.  Contributors                            People who contributed to developing 
  82.                                          of Octave. 
  83.  
  84.  
  85. ΓòÉΓòÉΓòÉ 3.1. Contributors to Octave ΓòÉΓòÉΓòÉ
  86.  
  87. In addition to John W. Eaton, several people have written parts of liboctave. 
  88. (This has been removed because it is the same as what is in the Octave manual.) 
  89.  
  90.  
  91. ΓòÉΓòÉΓòÉ 4. GNU GENERAL PUBLIC LICENSE ΓòÉΓòÉΓòÉ
  92.  
  93.                               Version 2, June 1991
  94.  
  95. Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  96. 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
  97.  
  98. Everyone is permitted to copy and distribute verbatim copies
  99. of this license document, but changing it is not allowed.
  100.  
  101.  
  102. ΓòÉΓòÉΓòÉ 4.1. Preamble ΓòÉΓòÉΓòÉ
  103.  
  104.  The licenses for most software are designed to take away your freedom to share 
  105. and change it.  By contrast, the GNU General Public License is intended to 
  106. guarantee your freedom to share and change free software---to make sure the 
  107. software is free for all its users.  This General Public License applies to 
  108. most of the Free Software Foundation's software and to any other program whose 
  109. authors commit to using it.  (Some other Free Software Foundation software is 
  110. covered by the GNU Library General Public License instead.)  You can apply it 
  111. to your programs, too. 
  112.  
  113.  When we speak of free software, we are referring to freedom, not price.  Our 
  114. General Public Licenses are designed to make sure that you have the freedom to 
  115. distribute copies of free software (and charge for this service if you wish), 
  116. that you receive source code or can get it if you want it, that you can change 
  117. the software or use pieces of it in new free programs; and that you know you 
  118. can do these things. 
  119.  
  120.  To protect your rights, we need to make restrictions that forbid anyone to 
  121. deny you these rights or to ask you to surrender the rights. These restrictions 
  122. translate to certain responsibilities for you if you distribute copies of the 
  123. software, or if you modify it. 
  124.  
  125.  For example, if you distribute copies of such a program, whether gratis or for 
  126. a fee, you must give the recipients all the rights that you have.  You must 
  127. make sure that they, too, receive or can get the source code.  And you must 
  128. show them these terms so they know their rights. 
  129.  
  130.  We protect your rights with two steps: (1) copyright the software, and (2) 
  131. offer you this license which gives you legal permission to copy, distribute 
  132. and/or modify the software. 
  133.  
  134.  Also, for each author's protection and ours, we want to make certain that 
  135. everyone understands that there is no warranty for this free software.  If the 
  136. software is modified by someone else and passed on, we want its recipients to 
  137. know that what they have is not the original, so that any problems introduced 
  138. by others will not reflect on the original authors' reputations. 
  139.  
  140.  Finally, any free program is threatened constantly by software patents.  We 
  141. wish to avoid the danger that redistributors of a free program will 
  142. individually obtain patent licenses, in effect making the program proprietary. 
  143. To prevent this, we have made it clear that any patent must be licensed for 
  144. everyone's free use or not licensed at all. 
  145.  
  146.  The precise terms and conditions for copying, distribution and modification 
  147. follow. 
  148.  
  149.          TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  150.  
  151.    1. This License applies to any program or other work which contains a notice 
  152.       placed by the copyright holder saying it may be distributed under the 
  153.       terms of this General Public License.  The ``Program'', below, refers to 
  154.       any such program or work, and a ``work based on the Program'' means 
  155.       either the Program or any derivative work under copyright law: that is to 
  156.       say, a work containing the Program or a portion of it, either verbatim or 
  157.       with modifications and/or translated into another language. 
  158.       (Hereinafter, translation is included without limitation in the term 
  159.       ``modification''.)  Each licensee is addressed as ``you''. 
  160.  
  161.       Activities other than copying, distribution and modification are not 
  162.       covered by this License; they are outside its scope.  The act of running 
  163.       the Program is not restricted, and the output from the Program is covered 
  164.       only if its contents constitute a work based on the Program (independent 
  165.       of having been made by running the Program). Whether that is true depends 
  166.       on what the Program does. 
  167.  
  168.    2. You may copy and distribute verbatim copies of the Program's source code 
  169.       as you receive it, in any medium, provided that you conspicuously and 
  170.       appropriately publish on each copy an appropriate copyright notice and 
  171.       disclaimer of warranty; keep intact all the notices that refer to this 
  172.       License and to the absence of any warranty; and give any other recipients 
  173.       of the Program a copy of this License along with the Program. 
  174.  
  175.       You may charge a fee for the physical act of transferring a copy, and you 
  176.       may at your option offer warranty protection in exchange for a fee. 
  177.  
  178.    3. You may modify your copy or copies of the Program or any portion of it, 
  179.       thus forming a work based on the Program, and copy and distribute such 
  180.       modifications or work under the terms of Section 1 above, provided that 
  181.       you also meet all of these conditions: 
  182.  
  183.         a. You must cause the modified files to carry prominent notices stating 
  184.            that you changed the files and the date of any change. 
  185.  
  186.         b. You must cause any work that you distribute or publish, that in 
  187.            whole or in part contains or is derived from the Program or any part 
  188.            thereof, to be licensed as a whole at no charge to all third parties 
  189.            under the terms of this License. 
  190.  
  191.         c. If the modified program normally reads commands interactively when 
  192.            run, you must cause it, when started running for such interactive 
  193.            use in the most ordinary way, to print or display an announcement 
  194.            including an appropriate copyright notice and a notice that there is 
  195.            no warranty (or else, saying that you provide a warranty) and that 
  196.            users may redistribute the program under these conditions, and 
  197.            telling the user how to view a copy of this License.  (Exception: if 
  198.            the Program itself is interactive but does not normally print such 
  199.            an announcement, your work based on the Program is not required to 
  200.            print an announcement.) 
  201.  
  202.       These requirements apply to the modified work as a whole.  If 
  203.       identifiable sections of that work are not derived from the Program, and 
  204.       can be reasonably considered independent and separate works in 
  205.       themselves, then this License, and its terms, do not apply to those 
  206.       sections when you distribute them as separate works.  But when you 
  207.       distribute the same sections as part of a whole which is a work based on 
  208.       the Program, the distribution of the whole must be on the terms of this 
  209.       License, whose permissions for other licensees extend to the entire 
  210.       whole, and thus to each and every part regardless of who wrote it. 
  211.  
  212.       Thus, it is not the intent of this section to claim rights or contest 
  213.       your rights to work written entirely by you; rather, the intent is to 
  214.       exercise the right to control the distribution of derivative or 
  215.       collective works based on the Program. 
  216.  
  217.       In addition, mere aggregation of another work not based on the Program 
  218.       with the Program (or with a work based on the Program) on a volume of a 
  219.       storage or distribution medium does not bring the other work under the 
  220.       scope of this License. 
  221.  
  222.    4. You may copy and distribute the Program (or a work based on it, under 
  223.       Section 2) in object code or executable form under the terms of Sections 
  224.       1 and 2 above provided that you also do one of the following: 
  225.  
  226.         a. Accompany it with the complete corresponding machine-readable source 
  227.            code, which must be distributed under the terms of Sections 1 and 2 
  228.            above on a medium customarily used for software interchange; or, 
  229.  
  230.         b. Accompany it with a written offer, valid for at least three years, 
  231.            to give any third party, for a charge no more than your cost of 
  232.            physically performing source distribution, a complete 
  233.            machine-readable copy of the corresponding source code, to be 
  234.            distributed under the terms of Sections 1 and 2 above on a medium 
  235.            customarily used for software interchange; or, 
  236.  
  237.         c. Accompany it with the information you received as to the offer to 
  238.            distribute corresponding source code.  (This alternative is allowed 
  239.            only for noncommercial distribution and only if you received the 
  240.            program in object code or executable form with such an offer, in 
  241.            accord with Subsection b above.) 
  242.  
  243.       The source code for a work means the preferred form of the work for 
  244.       making modifications to it.  For an executable work, complete source code 
  245.       means all the source code for all modules it contains, plus any 
  246.       associated interface definition files, plus the scripts used to control 
  247.       compilation and installation of the executable.  However, as a special 
  248.       exception, the source code distributed need not include anything that is 
  249.       normally distributed (in either source or binary form) with the major 
  250.       components (compiler, kernel, and so on) of the operating system on which 
  251.       the executable runs, unless that component itself accompanies the 
  252.       executable. 
  253.  
  254.       If distribution of executable or object code is made by offering access 
  255.       to copy from a designated place, then offering equivalent access to copy 
  256.       the source code from the same place counts as distribution of the source 
  257.       code, even though third parties are not compelled to copy the source 
  258.       along with the object code. 
  259.  
  260.    5. You may not copy, modify, sublicense, or distribute the Program except as 
  261.       expressly provided under this License.  Any attempt otherwise to copy, 
  262.       modify, sublicense or distribute the Program is void, and will 
  263.       automatically terminate your rights under this License. However, parties 
  264.       who have received copies, or rights, from you under this License will not 
  265.       have their licenses terminated so long as such parties remain in full 
  266.       compliance. 
  267.  
  268.    6. You are not required to accept this License, since you have not signed 
  269.       it.  However, nothing else grants you permission to modify or distribute 
  270.       the Program or its derivative works.  These actions are prohibited by law 
  271.       if you do not accept this License.  Therefore, by modifying or 
  272.       distributing the Program (or any work based on the Program), you indicate 
  273.       your acceptance of this License to do so, and all its terms and 
  274.       conditions for copying, distributing or modifying the Program or works 
  275.       based on it. 
  276.  
  277.    7. Each time you redistribute the Program (or any work based on the 
  278.       Program), the recipient automatically receives a license from the 
  279.       original licensor to copy, distribute or modify the Program subject to 
  280.       these terms and conditions.  You may not impose any further restrictions 
  281.       on the recipients' exercise of the rights granted herein. You are not 
  282.       responsible for enforcing compliance by third parties to this License. 
  283.  
  284.    8. If, as a consequence of a court judgment or allegation of patent 
  285.       infringement or for any other reason (not limited to patent issues), 
  286.       conditions are imposed on you (whether by court order, agreement or 
  287.       otherwise) that contradict the conditions of this License, they do not 
  288.       excuse you from the conditions of this License.  If you cannot distribute 
  289.       so as to satisfy simultaneously your obligations under this License and 
  290.       any other pertinent obligations, then as a consequence you may not 
  291.       distribute the Program at all.  For example, if a patent license would 
  292.       not permit royalty-free redistribution of the Program by all those who 
  293.       receive copies directly or indirectly through you, then the only way you 
  294.       could satisfy both it and this License would be to refrain entirely from 
  295.       distribution of the Program. 
  296.  
  297.       If any portion of this section is held invalid or unenforceable under any 
  298.       particular circumstance, the balance of the section is intended to apply 
  299.       and the section as a whole is intended to apply in other circumstances. 
  300.  
  301.       It is not the purpose of this section to induce you to infringe any 
  302.       patents or other property right claims or to contest validity of any such 
  303.       claims; this section has the sole purpose of protecting the integrity of 
  304.       the free software distribution system, which is implemented by public 
  305.       license practices.  Many people have made generous contributions to the 
  306.       wide range of software distributed through that system in reliance on 
  307.       consistent application of that system; it is up to the author/donor to 
  308.       decide if he or she is willing to distribute software through any other 
  309.       system and a licensee cannot impose that choice. 
  310.  
  311.       This section is intended to make thoroughly clear what is believed to be 
  312.       a consequence of the rest of this License. 
  313.  
  314.    9. If the distribution and/or use of the Program is restricted in certain 
  315.       countries either by patents or by copyrighted interfaces, the original 
  316.       copyright holder who places the Program under this License may add an 
  317.       explicit geographical distribution limitation excluding those countries, 
  318.       so that distribution is permitted only in or among countries not thus 
  319.       excluded.  In such case, this License incorporates the limitation as if 
  320.       written in the body of this License. 
  321.  
  322.   10. The Free Software Foundation may publish revised and/or new versions of 
  323.       the General Public License from time to time.  Such new versions will be 
  324.       similar in spirit to the present version, but may differ in detail to 
  325.       address new problems or concerns. 
  326.  
  327.       Each version is given a distinguishing version number.  If the Program 
  328.       specifies a version number of this License which applies to it and ``any 
  329.       later version'', you have the option of following the terms and 
  330.       conditions either of that version or of any later version published by 
  331.       the Free Software Foundation.  If the Program does not specify a version 
  332.       number of this License, you may choose any version ever published by the 
  333.       Free Software Foundation. 
  334.  
  335.   11. If you wish to incorporate parts of the Program into other free programs 
  336.       whose distribution conditions are different, write to the author to ask 
  337.       for permission.  For software which is copyrighted by the Free Software 
  338.       Foundation, write to the Free Software Foundation; we sometimes make 
  339.       exceptions for this.  Our decision will be guided by the two goals of 
  340.       preserving the free status of all derivatives of our free software and of 
  341.       promoting the sharing and reuse of software generally. 
  342.  
  343.                                       NO WARRANTY
  344.  
  345.   12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR 
  346.       THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN 
  347.       OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 
  348.       PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER 
  349.       EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
  350.       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE 
  351.       ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. 
  352.       SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY 
  353.       SERVICING, REPAIR OR CORRECTION. 
  354.  
  355.   13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 
  356.       WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 
  357.       REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR 
  358.       DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 
  359.       DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING 
  360.       BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR 
  361.       LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO 
  362.       OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS 
  363.       BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 
  364.  
  365.                            END OF TERMS AND CONDITIONS
  366.  
  367.  
  368. ΓòÉΓòÉΓòÉ 4.2. Appendix: How to Apply These Terms to Your New Programs ΓòÉΓòÉΓòÉ
  369.  
  370.  If you develop a new program, and you want it to be of the greatest possible 
  371. use to the public, the best way to achieve this is to make it free software 
  372. which everyone can redistribute and change under these terms. 
  373.  
  374.  To do so, attach the following notices to the program.  It is safest to attach 
  375. them to the start of each source file to most effectively convey the exclusion 
  376. of warranty; and each file should have at least the ``copyright'' line and a 
  377. pointer to where the full notice is found. 
  378.  
  379. one line to give the program's name and a brief idea of what it does.
  380. Copyright (C) 19yy  name of author
  381.  
  382. This program is free software; you can redistribute it and/or modify
  383. it under the terms of the GNU General Public License as published by
  384. the Free Software Foundation; either version 2 of the License, or
  385. (at your option) any later version.
  386.  
  387. This program is distributed in the hope that it will be useful,
  388. but WITHOUT ANY WARRANTY; without even the implied warranty of
  389. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  390. GNU General Public License for more details.
  391.  
  392. You should have received a copy of the GNU General Public License
  393. along with this program; if not, write to the Free Software
  394. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  395.  
  396. Also add information on how to contact you by electronic and paper mail. 
  397.  
  398. If the program is interactive, make it output a short notice like this when it 
  399. starts in an interactive mode: 
  400.  
  401. Gnomovision version 69, Copyright (C) 19yy name of author
  402. Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  403. This is free software, and you are welcome to redistribute it
  404. under certain conditions; type `show c' for details.
  405.  
  406. The hypothetical commands `show w' and `show c' should show the appropriate 
  407. parts of the General Public License.  Of course, the commands you use may be 
  408. called something other than `show w' and `show c'; they could even be 
  409. mouse-clicks or menu items---whatever suits your program. 
  410.  
  411. You should also get your employer (if you work as a programmer) or your school, 
  412. if any, to sign a ``copyright disclaimer'' for the program, if necessary.  Here 
  413. is a sample; alter the names: 
  414.  
  415. Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  416. `Gnomovision' (which makes passes at compilers) written by James Hacker.
  417.  
  418. signature of Ty Coon, 1 April 1989
  419. Ty Coon, President of Vice
  420.  
  421. This General Public License does not permit incorporating your program into 
  422. proprietary programs.  If your program is a subroutine library, you may 
  423. consider it more useful to permit linking proprietary applications with the 
  424. library.  If this is what you want to do, use the GNU Library General Public 
  425. License instead of this License. 
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ 5. A Brief Introduction to Octave ΓòÉΓòÉΓòÉ
  429.  
  430. This manual documents how to run, install and port Octave's C++ classes, and 
  431. how to report bugs. 
  432.  
  433.  
  434. ΓòÉΓòÉΓòÉ 6. Arrays ΓòÉΓòÉΓòÉ
  435.  
  436.  Constructors and Assignment 
  437.  
  438.  
  439. ΓòÉΓòÉΓòÉ 6.1. Constructors and Assignment ΓòÉΓòÉΓòÉ
  440.  
  441. Constructor:  Array<T>::Array (void) 
  442. Create an array with no elements. 
  443.  
  444. Constructor:  Array<T>::Array (int n [, const T &val]) 
  445. Create an array with n elements.  If the optional argument val is supplied, the 
  446. elements are initialized to val; otherwise, they are left uninitialized.  If n 
  447. is less than zero, the current error handler is invoked (see Error Handling). 
  448.  
  449. Constructor:  Array<T>::Array (const Array<T> &a) 
  450. Create a copy of the Array<T> object a.  Memory for the Array<T> class is 
  451. managed using a reference counting scheme, so the cost of this operation is 
  452. independent of the size of the array. 
  453.  
  454. Operator: Array<T>& Array<T>::operator = (const Array<T> &a) 
  455. Assignment operator.  Memory for the Array<T> class is managed using a 
  456. reference counting scheme, so the cost of this operation is independent of the 
  457. size of the array. 
  458.  
  459. Method: int Array<T>::capacity (void) const 
  460.  
  461. Method: int Array<T>::length (void) const 
  462. Return the length of the array. 
  463.  
  464. Method: T& Array<T>::elem (int n) 
  465.  
  466. Method: T& Array<T>::checkelem (int n) 
  467.  
  468. Method: T& Array<T>::operator () (int n) 
  469. If n is within the bounds of the array, return a reference to the element 
  470. indexed by n; otherwise, the current error handler is invoked (see Error 
  471. Handling). 
  472.  
  473. Method: T Array<T>::elem (int n) const 
  474.  
  475. Method: T Array<T>::checkelem (int n) const 
  476.  
  477. Method: T Array<T>::operator () (int n) const 
  478. If n is within the bounds of the array, return the value indexed by n; 
  479. otherwise, call the current error handler. See Error Handling. 
  480.  
  481. Method: T& Array<T>::xelem (int n) 
  482.  
  483. Method: T Array<T>::xelem (int n) const 
  484. Return a reference to, or the value of, the element indexed by n. These methods 
  485. never perform bounds checking. 
  486.  
  487. Method: void Array<T>::resize (int n [, const T &val]) 
  488. Change the size of the array to be n elements.  All elements are unchanged, 
  489. except that if n is greater than the current size and the optional argument val 
  490. is provided, the additional elements are initialized to val; otherwise, any 
  491. additional elements are left uninitialized.  In the current implementation, if 
  492. n is less than the current size, the length is updated but no memory is 
  493. released. 
  494.  
  495. Method: const T* Array<T>::data (void) const 
  496.  
  497. :  Array2 (void) 
  498.  
  499. :  Array2 (int n, int m) 
  500.  
  501. :  Array2 (int n, int m, const T &val) 
  502.  
  503. :  Array2 (const Array2<T> &a) 
  504.  
  505. :  Array2 (const DiagArray<T> &a) 
  506.  
  507. : Array2<T>& operator = (const Array2<T> &a) 
  508.  
  509. : int dim1 (void) const 
  510.  
  511. : int rows (void) const 
  512.  
  513. : int dim2 (void) const 
  514.  
  515. : int cols (void) const 
  516.  
  517. : int columns (void) const 
  518.  
  519. : T& elem (int i, int j) 
  520.  
  521. : T& checkelem (int i, int j) 
  522.  
  523. : T& operator () (int i, int j) 
  524.  
  525. : void resize (int n, int m) 
  526.  
  527. : void resize (int n, int m, const T &val) 
  528.  
  529. : Array3 (void) 
  530.  
  531. : Array3 (int n, int m, int k) 
  532.  
  533. : Array3 (int n, int m, int k, const T &val) 
  534.  
  535. : Array3 (const Array3<T> &a) 
  536.  
  537. : Array3<T>& operator = (const Array3<T> &a) 
  538.  
  539. : int dim1 (void) const 
  540.  
  541. : int dim2 (void) const 
  542.  
  543. : int dim3 (void) const 
  544.  
  545. : T& elem (int i, int j, int k) 
  546.  
  547. : T& checkelem (int i, int j, int k) 
  548.  
  549. : T& operator () (int i, int j, int k) 
  550.  
  551. : void resize (int n, int m, int k) 
  552.  
  553. : void resize (int n, int m, int k, const T &val) 
  554.  
  555. : DiagArray (void) 
  556.  
  557. : DiagArray (int n) 
  558.  
  559. : DiagArray (int n, const T &val) 
  560.  
  561. : DiagArray (int r, int c) 
  562.  
  563. : DiagArray (int r, int c, const T &val) 
  564.  
  565. : DiagArray (const Array<T> &a) 
  566.  
  567. : DiagArray (const DiagArray<T> &a) 
  568.  
  569. : DiagArray<T>& operator = (const DiagArray<T> &a) 
  570.  
  571. : int dim1 (void) const 
  572.  
  573. : int rows (void) const 
  574.  
  575. : int dim2 (void) const 
  576.  
  577. : int cols (void) const 
  578.  
  579. : int columns (void) const 
  580.  
  581. : T& elem (int r, int c) 
  582.  
  583. : T& checkelem (int r, int c) 
  584.  
  585. : T& operator () (int r, int c) 
  586.  
  587. : void resize (int n, int m) 
  588.  
  589. : void resize (int n, int m, const T &val) 
  590. The real and complex ColumnVector and RowVector classes all have the following 
  591. functions.  These will eventually be part of an MArray<T> class, derived from 
  592. the Array<T> class.  Then the ColumnVector and RowVector classes will be 
  593. derived from the MArray<T> class. 
  594.  
  595. Element by element vector by scalar ops. 
  596.  
  597. : RowVector operator + (const RowVector &a, const double &s) 
  598.  
  599. : RowVector operator - (const RowVector &a, const double &s) 
  600.  
  601. : RowVector operator * (const RowVector &a, const double &s) 
  602.  
  603. : RowVector operator / (const RowVector &a, const double &s) 
  604.  
  605. Element by element scalar by vector ops. 
  606.  
  607. : RowVector operator + (const double &s, const RowVector &a) 
  608.  
  609. : RowVector operator - (const double &s, const RowVector &a) 
  610.  
  611. : RowVector operator * (const double &s, const RowVector &a) 
  612.  
  613. : RowVector operator / (const double &s, const RowVector &a) 
  614.  
  615. Element by element vector by vector ops. 
  616.  
  617. : RowVector operator + (const RowVector &a, const RowVector &b) 
  618.  
  619. : RowVector operator - (const RowVector &a, const RowVector &b) 
  620.  
  621. : RowVector product (const RowVector &a, const RowVector &b) 
  622.  
  623. : RowVector quotient (const RowVector &a, const RowVector &b) 
  624.  
  625. Unary MArray ops. 
  626.  
  627. : RowVector operator - (const RowVector &a) 
  628.  
  629. The Matrix classes share the following functions.  These will eventually be 
  630. part of an MArray2<T> class, derived from the Array2<T> class.  Then the Matrix 
  631. class will be derived from the MArray<T> class. 
  632.  
  633. Element by element matrix by scalar ops. 
  634.  
  635. : Matrix operator + (const Matrix &a, const double &s) 
  636.  
  637. : Matrix operator - (const Matrix &a, const double &s) 
  638.  
  639. : Matrix operator * (const Matrix &a, const double &s) 
  640.  
  641. : Matrix operator / (const Matrix &a, const double &s) 
  642.  
  643. Element by element scalar by matrix ops. 
  644.  
  645. : Matrix operator + (const double &s, const Matrix &a) 
  646.  
  647. : Matrix operator - (const double &s, const Matrix &a) 
  648.  
  649. : Matrix operator * (const double &s, const Matrix &a) 
  650.  
  651. : Matrix operator / (const double &s, const Matrix &a) 
  652.  
  653. Element by element matrix by matrix ops. 
  654.  
  655. : Matrix operator + (const Matrix &a, const Matrix &b) 
  656.  
  657. : Matrix operator - (const Matrix &a, const Matrix &b) 
  658.  
  659. : Matrix product (const Matrix &a, const Matrix &b) 
  660.  
  661. : Matrix quotient (const Matrix &a, const Matrix &b) 
  662.  
  663. Unary matrix ops. 
  664.  
  665. : Matrix operator - (const Matrix &a) 
  666.  
  667. The DiagMatrix classes share the following functions.  These will eventually be 
  668. part of an MDiagArray<T> class, derived from the DiagArray<T> class.  Then the 
  669. DiagMatrix class will be derived from the MDiagArray<T> class. 
  670.  
  671. Element by element MDiagArray by scalar ops. 
  672.  
  673. : DiagMatrix operator * (const DiagMatrix &a, const double &s) 
  674.  
  675. : DiagMatrix operator / (const DiagMatrix &a, const double &s) 
  676.  
  677. Element by element scalar by MDiagArray ops. 
  678.  
  679. : DiagMatrix operator * (const double &s, const DiagMatrix &a) 
  680.  
  681. Element by element MDiagArray by MDiagArray ops. 
  682.  
  683. : DiagMatrix operator + (const DiagMatrix &a, const DiagMatrix &b) 
  684.  
  685. : DiagMatrix operator - (const DiagMatrix &a, const DiagMatrix &b) 
  686.  
  687. : DiagMatrix product (const DiagMatrix &a, const DiagMatrix &b) 
  688.  
  689. Unary MDiagArray ops. 
  690.  
  691. : DiagMatrix operator - (const DiagMatrix &a) 
  692.  
  693.  
  694. ΓòÉΓòÉΓòÉ 7. Matrix and Vector Operations ΓòÉΓòÉΓòÉ
  695.  
  696. : Matrix (void) 
  697.  
  698. : Matrix (int r, int c) 
  699.  
  700. : Matrix (int r, int c, double val) 
  701.  
  702. : Matrix (const Array2<double> &a) 
  703.  
  704. : Matrix (const Matrix &a) 
  705.  
  706. : Matrix (const DiagArray<double> &a) 
  707.  
  708. : Matrix (const DiagMatrix &a) 
  709.  
  710. : Matrix& operator = (const Matrix &a) 
  711.  
  712. : int operator == (const Matrix &a) const 
  713.  
  714. : int operator != (const Matrix &a) const 
  715.  
  716. : Matrix& insert (const Matrix &a, int r, int c) 
  717.  
  718. : Matrix& insert (const RowVector &a, int r, int c) 
  719.  
  720. : Matrix& insert (const ColumnVector &a, int r, int c) 
  721.  
  722. : Matrix& insert (const DiagMatrix &a, int r, int c) 
  723.  
  724. : Matrix& fill (double val) 
  725.  
  726. : Matrix& fill (double val, int r1, int c1, int r2, int c2) 
  727.  
  728. : Matrix append (const Matrix &a) const 
  729.  
  730. : Matrix append (const RowVector &a) const 
  731.  
  732. : Matrix append (const ColumnVector &a) const 
  733.  
  734. : Matrix append (const DiagMatrix &a) const 
  735.  
  736. : Matrix stack (const Matrix &a) const 
  737.  
  738. : Matrix stack (const RowVector &a) const 
  739.  
  740. : Matrix stack (const ColumnVector &a) const 
  741.  
  742. : Matrix stack (const DiagMatrix &a) const 
  743.  
  744. : Matrix transpose (void) const 
  745.  
  746. : Matrix extract (int r1, int c1, int r2, int c2) const 
  747.  
  748. : RowVector row (int i) const 
  749.  
  750. : RowVector row (char *s) const 
  751.  
  752. : ColumnVector column (int i) const 
  753.  
  754. : ColumnVector column (char *s) const 
  755.  
  756. : Matrix inverse (void) const 
  757.  
  758. : Matrix inverse (int &info) const 
  759.  
  760. : Matrix inverse (int &info, double &rcond) const 
  761.  
  762. : ComplexMatrix fourier (void) const 
  763.  
  764. : ComplexMatrix ifourier (void) const 
  765.  
  766. : DET determinant (void) const 
  767.  
  768. : DET determinant (int &info) const 
  769.  
  770. : DET determinant (int &info, double &rcond) const 
  771.  
  772. : Matrix solve (const Matrix &b) const 
  773.  
  774. : Matrix solve (const Matrix &b, int &info) const 
  775.  
  776. : Matrix solve (const Matrix &b, int &info, double &rcond) const 
  777.  
  778. : ComplexMatrix solve (const ComplexMatrix &b) const 
  779.  
  780. : ComplexMatrix solve (const ComplexMatrix &b, int &info) const 
  781.  
  782. : ComplexMatrix solve (const ComplexMatrix &b, int &info, double &rcond) const 
  783.  
  784. : ColumnVector solve (const ColumnVector &b) const 
  785.  
  786. : ColumnVector solve (const ColumnVector &b, int &info) const 
  787.  
  788. : ColumnVector solve (const ColumnVector &b, int &info, double &rcond) const 
  789.  
  790. : ComplexColumnVector solve (const ComplexColumnVector &b) const 
  791.  
  792. : ComplexColumnVector solve (const ComplexColumnVector &b, int &info) const 
  793.  
  794. : ComplexColumnVector solve (const ComplexColumnVector &b, int &info, double 
  795. &rcond) const 
  796.  
  797. : Matrix lssolve (const Matrix &b) const 
  798.  
  799. : Matrix lssolve (const Matrix &b, int &info) const 
  800.  
  801. : Matrix lssolve (const Matrix &b, int &info, int &rank) const 
  802.  
  803. : ComplexMatrix lssolve (const ComplexMatrix &b) const 
  804.  
  805. : ComplexMatrix lssolve (const ComplexMatrix &b, int &info) const 
  806.  
  807. : ComplexMatrix lssolve (const ComplexMatrix &b, int &info, int &rank) const 
  808.  
  809. : ColumnVector lssolve (const ColumnVector &b) const 
  810.  
  811. : ColumnVector lssolve (const ColumnVector &b, int &info) const 
  812.  
  813. : ColumnVector lssolve (const ColumnVector &b, int &info, int &rank) const 
  814.  
  815. : ComplexColumnVector lssolve (const ComplexColumnVector &b) const 
  816.  
  817. : ComplexColumnVector lssolve (const ComplexColumnVector &b, int &info) const 
  818.  
  819. : ComplexColumnVector lssolve (const ComplexColumnVector &b, int &info, int 
  820. &rank) const 
  821.  
  822. : Matrix& operator += (const Matrix &a) 
  823.  
  824. : Matrix& operator -= (const Matrix &a) 
  825.  
  826. : Matrix& operator += (const DiagMatrix &a) 
  827.  
  828. : Matrix& operator -= (const DiagMatrix &a) 
  829.  
  830. : Matrix operator ! (void) const 
  831.  
  832. : ComplexMatrix operator + (const Matrix &a, const Complex &s) 
  833.  
  834. : ComplexMatrix operator - (const Matrix &a, const Complex &s) 
  835.  
  836. : ComplexMatrix operator * (const Matrix &a, const Complex &s) 
  837.  
  838. : ComplexMatrix operator / (const Matrix &a, const Complex &s) 
  839.  
  840. : ComplexMatrix operator + (const Complex &s, const Matrix &a) 
  841.  
  842. : ComplexMatrix operator - (const Complex &s, const Matrix &a) 
  843.  
  844. : ComplexMatrix operator * (const Complex &s, const Matrix &a) 
  845.  
  846. : ComplexMatrix operator / (const Complex &s, const Matrix &a) 
  847.  
  848. : ColumnVector operator * (const Matrix &a, const ColumnVector &b) 
  849.  
  850. : ComplexColumnVector operator * (const Matrix &a, const ComplexColumnVector 
  851. &b) 
  852.  
  853. : Matrix operator + (const Matrix &a, const DiagMatrix &b) 
  854.  
  855. : Matrix operator - (const Matrix &a, const DiagMatrix &b) 
  856.  
  857. : Matrix operator * (const Matrix &a, const DiagMatrix &b) 
  858.  
  859. : ComplexMatrix operator + (const Matrix &a, const ComplexDiagMatrix &b) 
  860.  
  861. : ComplexMatrix operator - (const Matrix &a, const ComplexDiagMatrix &b) 
  862.  
  863. : ComplexMatrix operator * (const Matrix &a, const ComplexDiagMatrix &b) 
  864.  
  865. : Matrix operator * (const Matrix &a, const Matrix &b) 
  866.  
  867. : ComplexMatrix operator * (const Matrix &a, const ComplexMatrix &b) 
  868.  
  869. : ComplexMatrix operator + (const Matrix &a, const ComplexMatrix &b) 
  870.  
  871. : ComplexMatrix operator - (const Matrix &a, const ComplexMatrix &b) 
  872.  
  873. : ComplexMatrix product (const Matrix &a, const ComplexMatrix &b) 
  874.  
  875. : ComplexMatrix quotient (const Matrix &a, const ComplexMatrix &b) 
  876.  
  877. : Matrix map (d_d_Mapper f, const Matrix &a) 
  878.  
  879. : void map (d_d_Mapper f) 
  880.  
  881. : Matrix all (void) const 
  882.  
  883. : Matrix any (void) const 
  884.  
  885. : Matrix cumprod (void) const 
  886.  
  887. : Matrix cumsum (void) const 
  888.  
  889. : Matrix prod (void) const 
  890.  
  891. : Matrix sum (void) const 
  892.  
  893. : Matrix sumsq (void) const 
  894.  
  895. : ColumnVector diag (void) const 
  896.  
  897. : ColumnVector diag (int k) const 
  898.  
  899. : ColumnVector row_min (void) const 
  900.  
  901. : ColumnVector row_min_loc (void) const 
  902.  
  903. : ColumnVector row_max (void) const 
  904.  
  905. : ColumnVector row_max_loc (void) const 
  906.  
  907. : RowVector column_min (void) const 
  908.  
  909. : RowVector column_min_loc (void) const 
  910.  
  911. : RowVector column_max (void) const 
  912.  
  913. : RowVector column_max_loc (void) const 
  914.  
  915. : ostream& operator << (ostream &os, const Matrix &a) 
  916.  
  917. : istream& operator >> (istream &is, Matrix &a) 
  918.  
  919. : ColumnVector (void) 
  920.  
  921. : ColumnVector (int n) 
  922.  
  923. : ColumnVector (int n, double val) 
  924.  
  925. : ColumnVector (const Array<double> &a) 
  926.  
  927. : ColumnVector (const ColumnVector &a) 
  928.  
  929. : ColumnVector& operator = (const ColumnVector &a) 
  930.  
  931. : int operator == (const ColumnVector &a) const 
  932.  
  933. : int operator != (const ColumnVector &a) const 
  934.  
  935. : ColumnVector& insert (const ColumnVector &a, int r) 
  936.  
  937. : ColumnVector& fill (double val) 
  938.  
  939. : ColumnVector& fill (double val, int r1, int r2) 
  940.  
  941. : ColumnVector stack (const ColumnVector &a) const 
  942.  
  943. : RowVector transpose (void) const 
  944.  
  945. : ColumnVector extract (int r1, int r2) const 
  946.  
  947. : ColumnVector& operator += (const ColumnVector &a) 
  948.  
  949. : ColumnVector& operator -= (const ColumnVector &a) 
  950.  
  951. : ComplexColumnVector operator + (const ColumnVector &a, const Complex &s) 
  952.  
  953. : ComplexColumnVector operator - (const ColumnVector &a, const Complex &s) 
  954.  
  955. : ComplexColumnVector operator * (const ColumnVector &a, const Complex &s) 
  956.  
  957. : ComplexColumnVector operator / (const ColumnVector &a, const Complex &s) 
  958.  
  959. : ComplexColumnVector operator + (const Complex &s, const ColumnVector &a) 
  960.  
  961. : ComplexColumnVector operator - (const Complex &s, const ColumnVector &a) 
  962.  
  963. : ComplexColumnVector operator * (const Complex &s, const ColumnVector &a) 
  964.  
  965. : ComplexColumnVector operator / (const Complex &s, const ColumnVector &a) 
  966.  
  967. : Matrix operator * (const ColumnVector &a, const RowVector &a) 
  968.  
  969. : ComplexMatrix operator * (const ColumnVector &a, const ComplexRowVector &b) 
  970.  
  971. : ComplexColumnVector operator + (const ComplexColumnVector &a, const 
  972. ComplexColumnVector &b) 
  973.  
  974. : ComplexColumnVector operator - (const ComplexColumnVector &a, const 
  975. ComplexColumnVector &b) 
  976.  
  977. : ComplexColumnVector product (const ComplexColumnVector &a, const 
  978. ComplexColumnVector &b) 
  979.  
  980. : ComplexColumnVector quotient (const ComplexColumnVector &a, const 
  981. ComplexColumnVector &b) 
  982.  
  983. : ColumnVector map (d_d_Mapper f, const ColumnVector &a) 
  984.  
  985. : void map (d_d_Mapper f) 
  986.  
  987. : double min (void) const 
  988.  
  989. : double max (void) const 
  990.  
  991. : ostream& operator << (ostream &os, const ColumnVector &a) 
  992.  
  993. : RowVector (void) 
  994.  
  995. : RowVector (int n) 
  996.  
  997. : RowVector (int n, double val) 
  998.  
  999. : RowVector (const Array<double> &a) 
  1000.  
  1001. : RowVector (const RowVector &a) 
  1002.  
  1003. : RowVector& operator = (const RowVector &a) 
  1004.  
  1005. : int operator == (const RowVector &a) const 
  1006.  
  1007. : int operator != (const RowVector &a) const 
  1008.  
  1009. : RowVector& insert (const RowVector &a, int c) 
  1010.  
  1011. : RowVector& fill (double val) 
  1012.  
  1013. : RowVector& fill (double val, int c1, int c2) 
  1014.  
  1015. : RowVector append (const RowVector &a) const 
  1016.  
  1017. : ColumnVector transpose (void) const 
  1018.  
  1019. : RowVector extract (int c1, int c2) const 
  1020.  
  1021. : RowVector& operator += (const RowVector &a) 
  1022.  
  1023. : RowVector& operator -= (const RowVector &a) 
  1024.  
  1025. : ComplexRowVector operator + (const RowVector &a, const Complex &s) 
  1026.  
  1027. : ComplexRowVector operator - (const RowVector &a, const Complex &s) 
  1028.  
  1029. : ComplexRowVector operator * (const RowVector &a, const Complex &s) 
  1030.  
  1031. : ComplexRowVector operator / (const RowVector &a, const Complex &s) 
  1032.  
  1033. : ComplexRowVector operator + (const Complex &s, const RowVector &a) 
  1034.  
  1035. : ComplexRowVector operator - (const Complex &s, const RowVector &a) 
  1036.  
  1037. : ComplexRowVector operator * (const Complex &s, const RowVector &a) 
  1038.  
  1039. : ComplexRowVector operator / (const Complex &s, const RowVector &a) 
  1040.  
  1041. : double operator * (const RowVector &a, ColumnVector &b) 
  1042.  
  1043. : Complex operator * (const RowVector &a, const ComplexColumnVector &b) 
  1044.  
  1045. : RowVector operator * (const RowVector &a, const Matrix &b) 
  1046.  
  1047. : ComplexRowVector operator * (const RowVector &a, const ComplexMatrix &b) 
  1048.  
  1049. : ComplexRowVector operator + (const RowVector &a, const ComplexRowVector &b) 
  1050.  
  1051. : ComplexRowVector operator - (const RowVector &a, const ComplexRowVector &b) 
  1052.  
  1053. : ComplexRowVector product (const RowVector &a, const ComplexRowVector &b) 
  1054.  
  1055. : ComplexRowVector quotient (const RowVector &a, const ComplexRowVector &b) 
  1056.  
  1057. : RowVector map (d_d_Mapper f, const RowVector &a) 
  1058.  
  1059. : void map (d_d_Mapper f) 
  1060.  
  1061. : double min (void) const 
  1062.  
  1063. : double max (void) const 
  1064.  
  1065. : ostream& operator << (ostream &os, const RowVector &a) 
  1066.  
  1067. : DiagMatrix (void) 
  1068.  
  1069. : DiagMatrix (int n) 
  1070.  
  1071. : DiagMatrix (int n, double val) 
  1072.  
  1073. : DiagMatrix (int r, int c) 
  1074.  
  1075. : DiagMatrix (int r, int c, double val) 
  1076.  
  1077. : DiagMatrix (const RowVector &a) 
  1078.  
  1079. : DiagMatrix (const ColumnVector &a) 
  1080.  
  1081. : DiagMatrix (const DiagArray<double> &a) 
  1082.  
  1083. : DiagMatrix (const DiagMatrix &a) 
  1084.  
  1085. : DiagMatrix& operator = (const DiagMatrix &a) 
  1086.  
  1087. : int operator == (const DiagMatrix &a) const 
  1088.  
  1089. : int operator != (const DiagMatrix &a) const 
  1090.  
  1091. : DiagMatrix& fill (double val) 
  1092.  
  1093. : DiagMatrix& fill (double val, int beg, int end) 
  1094.  
  1095. : DiagMatrix& fill (const ColumnVector &a) 
  1096.  
  1097. : DiagMatrix& fill (const RowVector &a) 
  1098.  
  1099. : DiagMatrix& fill (const ColumnVector &a, int beg) 
  1100.  
  1101. : DiagMatrix& fill (const RowVector &a, int beg) 
  1102.  
  1103. : DiagMatrix transpose (void) const 
  1104.  
  1105. : Matrix extract (int r1, int c1, int r2, int c2) const 
  1106.  
  1107. : RowVector row (int i) const 
  1108.  
  1109. : RowVector row (char *s) const 
  1110.  
  1111. : ColumnVector column (int i) const 
  1112.  
  1113. : ColumnVector column (char *s) const 
  1114.  
  1115. : DiagMatrix inverse (void) const 
  1116.  
  1117. : DiagMatrix inverse (int &info) const 
  1118.  
  1119. : DiagMatrix& operator += (const DiagMatrix &a) 
  1120.  
  1121. : DiagMatrix& operator -= (const DiagMatrix &a) 
  1122.  
  1123. : Matrix operator + (const DiagMatrix &a, double s) 
  1124.  
  1125. : Matrix operator - (const DiagMatrix &a, double s) 
  1126.  
  1127. : ComplexMatrix operator + (const DiagMatrix &a, const Complex &s) 
  1128.  
  1129. : ComplexMatrix operator - (const DiagMatrix &a, const Complex &s) 
  1130.  
  1131. : ComplexDiagMatrix operator * (const DiagMatrix &a, const Complex &s) 
  1132.  
  1133. : ComplexDiagMatrix operator / (const DiagMatrix &a, const Complex &s) 
  1134.  
  1135. : Matrix operator + (double s, const DiagMatrix &a) 
  1136.  
  1137. : Matrix operator - (double s, const DiagMatrix &a) 
  1138.  
  1139. : ComplexMatrix operator + (const Complex &s, const DiagMatrix &a) 
  1140.  
  1141. : ComplexMatrix operator - (const Complex &s, const DiagMatrix &a) 
  1142.  
  1143. : ComplexDiagMatrix operator * (const Complex &s, const DiagMatrix &a) 
  1144.  
  1145. : ColumnVector operator * (const DiagMatrix &a, const ColumnVector &b) 
  1146.  
  1147. : ComplexColumnVector operator * (const DiagMatrix &a, const 
  1148. ComplexColumnVector &b) 
  1149.  
  1150. : ComplexDiagMatrix operator + (const DiagMatrix &a, const ComplexDiagMatrix 
  1151. &b) 
  1152.  
  1153. : ComplexDiagMatrix operator - (const DiagMatrix &a, const ComplexDiagMatrix 
  1154. &b) 
  1155.  
  1156. : ComplexDiagMatrix product (const DiagMatrix &a, const ComplexDiagMatrix &b) 
  1157.  
  1158. : Matrix operator + (const DiagMatrix &a, const Matrix &b) 
  1159.  
  1160. : Matrix operator - (const DiagMatrix &a, const Matrix &b) 
  1161.  
  1162. : Matrix operator * (const DiagMatrix &a, const Matrix &b) 
  1163.  
  1164. : ComplexMatrix operator + (const DiagMatrix &a, const ComplexMatrix &b) 
  1165.  
  1166. : ComplexMatrix operator - (const DiagMatrix &a, const ComplexMatrix &b) 
  1167.  
  1168. : ComplexMatrix operator * (const DiagMatrix &a, const ComplexMatrix &b) 
  1169.  
  1170. : ColumnVector diag (void) const 
  1171.  
  1172. : ColumnVector diag (int k) const 
  1173.  
  1174. : ostream& operator << (ostream &os, const DiagMatrix &a) 
  1175.  
  1176. : ComplexMatrix (void) 
  1177.  
  1178. : ComplexMatrix (int r, int c) 
  1179.  
  1180. : ComplexMatrix (int r, int c, const Complex &val) 
  1181.  
  1182. : ComplexMatrix (const Matrix &a) 
  1183.  
  1184. : ComplexMatrix (const Array2<Complex> &a) 
  1185.  
  1186. : ComplexMatrix (const ComplexMatrix &a) 
  1187.  
  1188. : ComplexMatrix (const DiagMatrix &a) 
  1189.  
  1190. : ComplexMatrix (const DiagArray<Complex> &a) 
  1191.  
  1192. : ComplexMatrix (const ComplexDiagMatrix &a) 
  1193.  
  1194. : ComplexMatrix& operator = (const ComplexMatrix &a) 
  1195.  
  1196. : int operator == (const ComplexMatrix &a) const 
  1197.  
  1198. : int operator != (const ComplexMatrix &a) const 
  1199.  
  1200. : ComplexMatrix& insert (const Matrix &a, int r, int c) 
  1201.  
  1202. : ComplexMatrix& insert (const RowVector &a, int r, int c) 
  1203.  
  1204. : ComplexMatrix& insert (const ColumnVector &a, int r, int c) 
  1205.  
  1206. : ComplexMatrix& insert (const DiagMatrix &a, int r, int c) 
  1207.  
  1208. : ComplexMatrix& insert (const ComplexMatrix &a, int r, int c) 
  1209.  
  1210. : ComplexMatrix& insert (const ComplexRowVector &a, int r, int c) 
  1211.  
  1212. : ComplexMatrix& insert (const ComplexColumnVector &a, int r, int c) 
  1213.  
  1214. : ComplexMatrix& insert (const ComplexDiagMatrix &a, int r, int c) 
  1215.  
  1216. : ComplexMatrix& fill (double val) 
  1217.  
  1218. : ComplexMatrix& fill (const Complex &val) 
  1219.  
  1220. : ComplexMatrix& fill (double val, int r1, int c1, int r2, int c2) 
  1221.  
  1222. : ComplexMatrix& fill (const Complex &val, int r1, int c1, int r2, int c2) 
  1223.  
  1224. : ComplexMatrix append (const Matrix &a) const 
  1225.  
  1226. : ComplexMatrix append (const RowVector &a) const 
  1227.  
  1228. : ComplexMatrix append (const ColumnVector &a) const 
  1229.  
  1230. : ComplexMatrix append (const DiagMatrix &a) const 
  1231.  
  1232. : ComplexMatrix append (const ComplexMatrix &a) const 
  1233.  
  1234. : ComplexMatrix append (const ComplexRowVector &a) const 
  1235.  
  1236. : ComplexMatrix append (const ComplexColumnVector &a) const 
  1237.  
  1238. : ComplexMatrix append (const ComplexDiagMatrix &a) const 
  1239.  
  1240. : ComplexMatrix stack (const Matrix &a) const 
  1241.  
  1242. : ComplexMatrix stack (const RowVector &a) const 
  1243.  
  1244. : ComplexMatrix stack (const ColumnVector &a) const 
  1245.  
  1246. : ComplexMatrix stack (const DiagMatrix &a) const 
  1247.  
  1248. : ComplexMatrix stack (const ComplexMatrix &a) const 
  1249.  
  1250. : ComplexMatrix stack (const ComplexRowVector &a) const 
  1251.  
  1252. : ComplexMatrix stack (const ComplexColumnVector &a) const 
  1253.  
  1254. : ComplexMatrix stack (const ComplexDiagMatrix &a) const 
  1255.  
  1256. : ComplexMatrix transpose (void) const 
  1257.  
  1258. : Matrix real (const ComplexMatrix &a) 
  1259.  
  1260. : Matrix imag (const ComplexMatrix &a) 
  1261.  
  1262. : ComplexMatrix conj (const ComplexMatrix &a) 
  1263.  
  1264. : ComplexMatrix extract (int r1, int c1, int r2, int c2) const 
  1265.  
  1266. : ComplexRowVector row (int i) const 
  1267.  
  1268. : ComplexRowVector row (char *s) const 
  1269.  
  1270. : ComplexColumnVector column (int i) const 
  1271.  
  1272. : ComplexColumnVector column (char *s) const 
  1273.  
  1274. : ComplexMatrix inverse (void) const 
  1275.  
  1276. : ComplexMatrix inverse (int &info) const 
  1277.  
  1278. : ComplexMatrix inverse (int &info, double &rcond) const 
  1279.  
  1280. : ComplexMatrix fourier (void) const 
  1281.  
  1282. : ComplexMatrix ifourier (void) const 
  1283.  
  1284. : ComplexDET determinant (void) const 
  1285.  
  1286. : ComplexDET determinant (int &info) const 
  1287.  
  1288. : ComplexDET determinant (int &info, double &rcond) const 
  1289.  
  1290. : ComplexMatrix solve (const Matrix &b) const 
  1291.  
  1292. : ComplexMatrix solve (const Matrix &b, int &info) const 
  1293.  
  1294. : ComplexMatrix solve (const Matrix &b, int &info, double &rcond) const 
  1295.  
  1296. : ComplexMatrix solve (const ComplexMatrix &b) const 
  1297.  
  1298. : ComplexMatrix solve (const ComplexMatrix &b, int &info) const 
  1299.  
  1300. : ComplexMatrix solve (const ComplexMatrix &b, int &info, double &rcond) const 
  1301.  
  1302. : ComplexColumnVector solve (const ComplexColumnVector &b) const 
  1303.  
  1304. : ComplexColumnVector solve (const ComplexColumnVector &b, int &info) const 
  1305.  
  1306. : ComplexColumnVector solve (const ComplexColumnVector &b, int &info, double 
  1307. &rcond) const 
  1308.  
  1309. : ComplexMatrix lssolve (const ComplexMatrix &b) const 
  1310.  
  1311. : ComplexMatrix lssolve (const ComplexMatrix &b, int &info) const 
  1312.  
  1313. : ComplexMatrix lssolve (const ComplexMatrix &b, int &info, int &rank) const 
  1314.  
  1315. : ComplexColumnVector lssolve (const ComplexColumnVector &b) const 
  1316.  
  1317. : ComplexColumnVector lssolve (const ComplexColumnVector &b, int &info) const 
  1318.  
  1319. : ComplexColumnVector lssolve (const ComplexColumnVector &b, int &info, int 
  1320. &rank) const 
  1321.  
  1322. : ComplexMatrix& operator += (const DiagMatrix &a) 
  1323.  
  1324. : ComplexMatrix& operator -= (const DiagMatrix &a) 
  1325.  
  1326. : ComplexMatrix& operator += (const ComplexDiagMatrix &a) 
  1327.  
  1328. : ComplexMatrix& operator -= (const ComplexDiagMatrix &a) 
  1329.  
  1330. : ComplexMatrix& operator += (const Matrix &a) 
  1331.  
  1332. : ComplexMatrix& operator -= (const Matrix &a) 
  1333.  
  1334. : ComplexMatrix& operator += (const ComplexMatrix &a) 
  1335.  
  1336. : ComplexMatrix& operator -= (const ComplexMatrix &a) 
  1337.  
  1338. : Matrix operator ! (void) const 
  1339.  
  1340. : ComplexMatrix operator + (const ComplexMatrix &a, double s) 
  1341.  
  1342. : ComplexMatrix operator - (const ComplexMatrix &a, double s) 
  1343.  
  1344. : ComplexMatrix operator * (const ComplexMatrix &a, double s) 
  1345.  
  1346. : ComplexMatrix operator / (const ComplexMatrix &a, double s) 
  1347.  
  1348. : ComplexMatrix operator + (double s, const ComplexMatrix &a) 
  1349.  
  1350. : ComplexMatrix operator - (double s, const ComplexMatrix &a) 
  1351.  
  1352. : ComplexMatrix operator * (double s, const ComplexMatrix &a) 
  1353.  
  1354. : ComplexMatrix operator / (double s, const ComplexMatrix &a) 
  1355.  
  1356. : ComplexColumnVector operator * (const ComplexMatrix &a, const ColumnVector 
  1357. &b) 
  1358.  
  1359. : ComplexColumnVector operator * (const ComplexMatrix &a, const 
  1360. ComplexColumnVector &b) 
  1361.  
  1362. : ComplexMatrix operator + (const ComplexMatrix &a, const DiagMatrix &b) 
  1363.  
  1364. : ComplexMatrix operator - (const ComplexMatrix &a, const DiagMatrix &b) 
  1365.  
  1366. : ComplexMatrix operator * (const ComplexMatrix &a, const DiagMatrix &b) 
  1367.  
  1368. : ComplexMatrix operator + (const ComplexMatrix &a, const ComplexDiagMatrix &b) 
  1369.  
  1370. : ComplexMatrix operator - (const ComplexMatrix &a, const ComplexDiagMatrix &b) 
  1371.  
  1372. : ComplexMatrix operator * (const ComplexMatrix &a, const ComplexDiagMatrix &b) 
  1373.  
  1374. : ComplexMatrix operator + (const ComplexMatrix &a, const Matrix &b) 
  1375.  
  1376. : ComplexMatrix operator - (const ComplexMatrix &a, const Matrix &b) 
  1377.  
  1378. : ComplexMatrix operator * (const ComplexMatrix &a, const Matrix &b) 
  1379.  
  1380. : ComplexMatrix operator * (const ComplexMatrix &a, const ComplexMatrix &b) 
  1381.  
  1382. : ComplexMatrix product (const ComplexMatrix &a, const Matrix &b) 
  1383.  
  1384. : ComplexMatrix quotient (const ComplexMatrix &a, const Matrix &b) 
  1385.  
  1386. : ComplexMatrix map (c_c_Mapper f, const ComplexMatrix &a) 
  1387.  
  1388. : Matrix map (d_c_Mapper f, const ComplexMatrix &a) 
  1389.  
  1390. : void map (c_c_Mapper f) 
  1391.  
  1392. : Matrix all (void) const 
  1393.  
  1394. : Matrix any (void) const 
  1395.  
  1396. : ComplexMatrix cumprod (void) const 
  1397.  
  1398. : ComplexMatrix cumsum (void) const 
  1399.  
  1400. : ComplexMatrix prod (void) const 
  1401.  
  1402. : ComplexMatrix sum (void) const 
  1403.  
  1404. : ComplexMatrix sumsq (void) const 
  1405.  
  1406. : ComplexColumnVector diag (void) const 
  1407.  
  1408. : ComplexColumnVector diag (int k) const 
  1409.  
  1410. : ComplexColumnVector row_min (void) const 
  1411.  
  1412. : ComplexColumnVector row_min_loc (void) const 
  1413.  
  1414. : ComplexColumnVector row_max (void) const 
  1415.  
  1416. : ComplexColumnVector row_max_loc (void) const 
  1417.  
  1418. : ComplexRowVector column_min (void) const 
  1419.  
  1420. : ComplexRowVector column_min_loc (void) const 
  1421.  
  1422. : ComplexRowVector column_max (void) const 
  1423.  
  1424. : ComplexRowVector column_max_loc (void) const 
  1425.  
  1426. : ostream& operator << (ostream &os, const ComplexMatrix &a) 
  1427.  
  1428. : istream& operator >> (istream &is, ComplexMatrix &a) 
  1429.  
  1430. : ComplexColumnVector (void) 
  1431.  
  1432. : ComplexColumnVector (int n) 
  1433.  
  1434. : ComplexColumnVector (int n, const Complex &val) 
  1435.  
  1436. : ComplexColumnVector (const ColumnVector &a) 
  1437.  
  1438. : ComplexColumnVector (const Array<Complex> &a) 
  1439.  
  1440. : ComplexColumnVector (const ComplexColumnVector &a) 
  1441.  
  1442. : ComplexColumnVector& operator = (const ComplexColumnVector &a) 
  1443.  
  1444. : int operator == (const ComplexColumnVector &a) const 
  1445.  
  1446. : int operator != (const ComplexColumnVector &a) const 
  1447.  
  1448. : ComplexColumnVector& insert (const ColumnVector &a, int r) 
  1449.  
  1450. : ComplexColumnVector& insert (const ComplexColumnVector &a, int r) 
  1451.  
  1452. : ComplexColumnVector& fill (double val) 
  1453.  
  1454. : ComplexColumnVector& fill (const Complex &val) 
  1455.  
  1456. : ComplexColumnVector& fill (double val, int r1, int r2) 
  1457.  
  1458. : ComplexColumnVector& fill (const Complex &val, int r1, int r2) 
  1459.  
  1460. : ComplexColumnVector stack (const ColumnVector &a) const 
  1461.  
  1462. : ComplexColumnVector stack (const ComplexColumnVector &a) const 
  1463.  
  1464. : ComplexRowVector transpose (void) const 
  1465.  
  1466. : ColumnVector real (const ComplexColumnVector &a) 
  1467.  
  1468. : ColumnVector imag (const ComplexColumnVector &a) 
  1469.  
  1470. : ComplexColumnVector conj (const ComplexColumnVector &a) 
  1471.  
  1472. : ComplexColumnVector extract (int r1, int r2) const 
  1473.  
  1474. : ComplexColumnVector& operator += (const ColumnVector &a) 
  1475.  
  1476. : ComplexColumnVector& operator -= (const ColumnVector &a) 
  1477.  
  1478. : ComplexColumnVector& operator += (const ComplexColumnVector &a) 
  1479.  
  1480. : ComplexColumnVector& operator -= (const ComplexColumnVector &a) 
  1481.  
  1482. : ComplexColumnVector operator + (const ComplexColumnVector &a, double s) 
  1483.  
  1484. : ComplexColumnVector operator - (const ComplexColumnVector &a, double s) 
  1485.  
  1486. : ComplexColumnVector operator * (const ComplexColumnVector &a, double s) 
  1487.  
  1488. : ComplexColumnVector operator / (const ComplexColumnVector &a, double s) 
  1489.  
  1490. : ComplexColumnVector operator + (double s, const ComplexColumnVector &a) 
  1491.  
  1492. : ComplexColumnVector operator - (double s, const ComplexColumnVector &a) 
  1493.  
  1494. : ComplexColumnVector operator * (double s, const ComplexColumnVector &a) 
  1495.  
  1496. : ComplexColumnVector operator / (double s, const ComplexColumnVector &a) 
  1497.  
  1498. : ComplexMatrix operator * (const ComplexColumnVector &a, const 
  1499. ComplexRowVector &b) 
  1500.  
  1501. : ComplexColumnVector operator + (const ComplexColumnVector &a, const 
  1502. ColumnVector &b) 
  1503.  
  1504. : ComplexColumnVector operator - (const ComplexColumnVector &a, const 
  1505. ColumnVector &b) 
  1506.  
  1507. : ComplexColumnVector product (const ComplexColumnVector &a, const ColumnVector 
  1508. &b) 
  1509.  
  1510. : ComplexColumnVector quotient (const ComplexColumnVector &a, const 
  1511. ColumnVector &b) 
  1512.  
  1513. : ComplexColumnVector map (c_c_Mapper f, const ComplexColumnVector &a) 
  1514.  
  1515. : ColumnVector map (d_c_Mapper f, const ComplexColumnVector &a) 
  1516.  
  1517. : void map (c_c_Mapper f) 
  1518.  
  1519. : Complex min (void) const 
  1520.  
  1521. : Complex max (void) const 
  1522.  
  1523. : ostream& operator << (ostream &os, const ComplexColumnVector &a) 
  1524.  
  1525. : ComplexRowVector (void) 
  1526.  
  1527. : ComplexRowVector (int n) 
  1528.  
  1529. : ComplexRowVector (int n, const Complex &val) 
  1530.  
  1531. : ComplexRowVector (const RowVector &a) 
  1532.  
  1533. : ComplexRowVector (const Array<Complex> &a) 
  1534.  
  1535. : ComplexRowVector (const ComplexRowVector &a) 
  1536.  
  1537. : ComplexRowVector& operator = (const ComplexRowVector &a) 
  1538.  
  1539. : int operator == (const ComplexRowVector &a) const 
  1540.  
  1541. : int operator != (const ComplexRowVector &a) const 
  1542.  
  1543. : ComplexRowVector& insert (const RowVector &a, int c) 
  1544.  
  1545. : ComplexRowVector& insert (const ComplexRowVector &a, int c) 
  1546.  
  1547. : ComplexRowVector& fill (double val) 
  1548.  
  1549. : ComplexRowVector& fill (const Complex &val) 
  1550.  
  1551. : ComplexRowVector& fill (double val, int c1, int c2) 
  1552.  
  1553. : ComplexRowVector& fill (const Complex &val, int c1, int c2) 
  1554.  
  1555. : ComplexRowVector append (const RowVector &a) const 
  1556.  
  1557. : ComplexRowVector append (const ComplexRowVector &a) const 
  1558.  
  1559. : ComplexColumnVector transpose (void) const 
  1560.  
  1561. : RowVector real (const ComplexRowVector &a) 
  1562.  
  1563. : RowVector imag (const ComplexRowVector &a) 
  1564.  
  1565. : ComplexRowVector conj (const ComplexRowVector &a) 
  1566.  
  1567. : ComplexRowVector extract (int c1, int c2) const 
  1568.  
  1569. : ComplexRowVector& operator += (const RowVector &a) 
  1570.  
  1571. : ComplexRowVector& operator -= (const RowVector &a) 
  1572.  
  1573. : ComplexRowVector& operator += (const ComplexRowVector &a) 
  1574.  
  1575. : ComplexRowVector& operator -= (const ComplexRowVector &a) 
  1576.  
  1577. : ComplexRowVector operator + (const ComplexRowVector &a, double s) 
  1578.  
  1579. : ComplexRowVector operator - (const ComplexRowVector &a, double s) 
  1580.  
  1581. : ComplexRowVector operator * (const ComplexRowVector &a, double s) 
  1582.  
  1583. : ComplexRowVector operator / (const ComplexRowVector &a, double s) 
  1584.  
  1585. : ComplexRowVector operator + (double s, const ComplexRowVector &a) 
  1586.  
  1587. : ComplexRowVector operator - (double s, const ComplexRowVector &a) 
  1588.  
  1589. : ComplexRowVector operator * (double s, const ComplexRowVector &a) 
  1590.  
  1591. : ComplexRowVector operator / (double s, const ComplexRowVector &a) 
  1592.  
  1593. : Complex operator * (const ComplexRowVector &a, const ColumnVector &b) 
  1594.  
  1595. : Complex operator * (const ComplexRowVector &a, const ComplexColumnVector &b) 
  1596.  
  1597. : ComplexRowVector operator * (const ComplexRowVector &a, const ComplexMatrix 
  1598. &b) 
  1599.  
  1600. : ComplexRowVector operator + (const ComplexRowVector &a, const RowVector &b) 
  1601.  
  1602. : ComplexRowVector operator - (const ComplexRowVector &a, const RowVector &b) 
  1603.  
  1604. : ComplexRowVector product (const ComplexRowVector &a, const RowVector &b) 
  1605.  
  1606. : ComplexRowVector quotient (const ComplexRowVector &a, const RowVector &b) 
  1607.  
  1608. : ComplexRowVector map (c_c_Mapper f, const ComplexRowVector &a) 
  1609.  
  1610. : RowVector map (d_c_Mapper f, const ComplexRowVector &a) 
  1611.  
  1612. : void map (c_c_Mapper f) 
  1613.  
  1614. : Complex min (void) const 
  1615.  
  1616. : Complex max (void) const 
  1617.  
  1618. : ostream& operator << (ostream &os, const ComplexRowVector &a) 
  1619.  
  1620. : ComplexDiagMatrix (void) 
  1621.  
  1622. : ComplexDiagMatrix (int n) 
  1623.  
  1624. : ComplexDiagMatrix (int n, const Complex &val) 
  1625.  
  1626. : ComplexDiagMatrix (int r, int c) 
  1627.  
  1628. : ComplexDiagMatrix (int r, int c, const Complex &val) 
  1629.  
  1630. : ComplexDiagMatrix (const RowVector &a) 
  1631.  
  1632. : ComplexDiagMatrix (const ComplexRowVector &a) 
  1633.  
  1634. : ComplexDiagMatrix (const ColumnVector &a) 
  1635.  
  1636. : ComplexDiagMatrix (const ComplexColumnVector &a) 
  1637.  
  1638. : ComplexDiagMatrix (const DiagMatrix &a) 
  1639.  
  1640. : ComplexDiagMatrix (const DiagArray<Complex> &a) 
  1641.  
  1642. : ComplexDiagMatrix (const ComplexDiagMatrix &a) 
  1643.  
  1644. : ComplexDiagMatrix& operator = (const ComplexDiagMatrix &a) 
  1645.  
  1646. : int operator == (const ComplexDiagMatrix &a) const 
  1647.  
  1648. : int operator != (const ComplexDiagMatrix &a) const 
  1649.  
  1650. : ComplexDiagMatrix& fill (double val) 
  1651.  
  1652. : ComplexDiagMatrix& fill (const Complex &val) 
  1653.  
  1654. : ComplexDiagMatrix& fill (double val, int beg, int end) 
  1655.  
  1656. : ComplexDiagMatrix& fill (const Complex &val, int beg, int end) 
  1657.  
  1658. : ComplexDiagMatrix& fill (const ColumnVector &a) 
  1659.  
  1660. : ComplexDiagMatrix& fill (const ComplexColumnVector &a) 
  1661.  
  1662. : ComplexDiagMatrix& fill (const RowVector &a) 
  1663.  
  1664. : ComplexDiagMatrix& fill (const ComplexRowVector &a) 
  1665.  
  1666. : ComplexDiagMatrix& fill (const ColumnVector &a, int beg) 
  1667.  
  1668. : ComplexDiagMatrix& fill (const ComplexColumnVector &a, int beg) 
  1669.  
  1670. : ComplexDiagMatrix& fill (const RowVector &a, int beg) 
  1671.  
  1672. : ComplexDiagMatrix& fill (const ComplexRowVector &a, int beg) 
  1673.  
  1674. : ComplexDiagMatrix transpose (void) const 
  1675.  
  1676. : DiagMatrix real (const ComplexDiagMatrix &a) 
  1677.  
  1678. : DiagMatrix imag (const ComplexDiagMatrix &a) 
  1679.  
  1680. : ComplexDiagMatrix conj (const ComplexDiagMatrix &a) 
  1681.  
  1682. : ComplexMatrix extract (int r1, int c1, int r2, int c2) const 
  1683.  
  1684. : ComplexRowVector row (int i) const 
  1685.  
  1686. : ComplexRowVector row (char *s) const 
  1687.  
  1688. : ComplexColumnVector column (int i) const 
  1689.  
  1690. : ComplexColumnVector column (char *s) const 
  1691.  
  1692. : ComplexDiagMatrix inverse (int &info) const 
  1693.  
  1694. : ComplexDiagMatrix inverse (void) const 
  1695.  
  1696. : ComplexDiagMatrix& operator += (const DiagMatrix &a) 
  1697.  
  1698. : ComplexDiagMatrix& operator -= (const DiagMatrix &a) 
  1699.  
  1700. : ComplexDiagMatrix& operator += (const ComplexDiagMatrix &a) 
  1701.  
  1702. : ComplexDiagMatrix& operator -= (const ComplexDiagMatrix &a) 
  1703.  
  1704. : ComplexMatrix operator + (const ComplexDiagMatrix &a, double s) 
  1705.  
  1706. : ComplexMatrix operator - (const ComplexDiagMatrix &a, double s) 
  1707.  
  1708. : ComplexMatrix operator + (const ComplexDiagMatrix &a, const Complex &s) 
  1709.  
  1710. : ComplexMatrix operator - (const ComplexDiagMatrix &a, const Complex &s) 
  1711.  
  1712. : ComplexDiagMatrix operator * (const ComplexDiagMatrix &a, double s) 
  1713.  
  1714. : ComplexDiagMatrix operator / (const ComplexDiagMatrix &a, double s) 
  1715.  
  1716. : ComplexMatrix operator + (double s, const ComplexDiagMatrix &a) 
  1717.  
  1718. : ComplexMatrix operator - (double s, const ComplexDiagMatrix &a) 
  1719.  
  1720. : ComplexMatrix operator + (const Complex &s, const ComplexDiagMatrix &a) 
  1721.  
  1722. : ComplexMatrix operator - (const Complex &s, const ComplexDiagMatrix &a) 
  1723.  
  1724. : ComplexDiagMatrix operator * (double s, const ComplexDiagMatrix &a) 
  1725.  
  1726. : ComplexColumnVector operator * (const ComplexDiagMatrix &a, const 
  1727. ColumnVector &b) 
  1728.  
  1729. : ComplexColumnVector operator * (const ComplexDiagMatrix &a, const 
  1730. ComplexColumnVector &b) 
  1731.  
  1732. : ComplexDiagMatrix operator + (const ComplexDiagMatrix &a, const DiagMatrix 
  1733. &b) 
  1734.  
  1735. : ComplexDiagMatrix operator - (const ComplexDiagMatrix &a, const DiagMatrix 
  1736. &b) 
  1737.  
  1738. : ComplexDiagMatrix product (const ComplexDiagMatrix &a, const DiagMatrix &b) 
  1739.  
  1740. : ComplexMatrix operator + (const ComplexDiagMatrix &a, const Matrix &b) 
  1741.  
  1742. : ComplexMatrix operator - (const ComplexDiagMatrix &a, const Matrix &b) 
  1743.  
  1744. : ComplexMatrix operator * (const ComplexDiagMatrix &a, const Matrix &b) 
  1745.  
  1746. : ComplexMatrix operator + (const ComplexDiagMatrix &a, const ComplexMatrix &b) 
  1747.  
  1748. : ComplexMatrix operator - (const ComplexDiagMatrix &a, const ComplexMatrix &b) 
  1749.  
  1750. : ComplexMatrix operator * (const ComplexDiagMatrix &a, const ComplexMatrix &b) 
  1751.  
  1752. : ComplexColumnVector diag (void) const 
  1753.  
  1754. : ComplexColumnVector diag (int k) const 
  1755.  
  1756. : ostream& operator << (ostream &os, const ComplexDiagMatrix &a) 
  1757.  
  1758.  
  1759. ΓòÉΓòÉΓòÉ 8. Matrix Factorizations ΓòÉΓòÉΓòÉ
  1760.  
  1761. : AEPBALANCE (void) 
  1762.  
  1763. : AEPBALANCE (const Matrix &a, const char *balance_job) 
  1764.  
  1765. : AEPBALANCE (const AEPBALANCE &a) 
  1766.  
  1767. : AEPBALANCE& operator = (const AEPBALANCE &a) 
  1768.  
  1769. : Matrix balanced_matrix (void) const 
  1770.  
  1771. : Matrix balancing_matrix (void) const 
  1772.  
  1773. : ostream& operator << (ostream &os, const AEPBALANCE &a) 
  1774.  
  1775. : ComplexAEPBALANCE (void) 
  1776.  
  1777. : ComplexAEPBALANCE (const ComplexMatrix &a, const char *balance_job) 
  1778.  
  1779. : ComplexAEPBALANCE (const ComplexAEPBALANCE &a) 
  1780.  
  1781. : ComplexAEPBALANCE& operator = (const ComplexAEPBALANCE &a) 
  1782.  
  1783. : ComplexMatrix balanced_matrix (void) const 
  1784.  
  1785. : ComplexMatrix balancing_matrix (void) const 
  1786.  
  1787. : ostream& operator << (ostream &os, const ComplexAEPBALANCE &a) 
  1788.  
  1789. : DET (void) 
  1790.  
  1791. : DET (const DET &a) 
  1792.  
  1793. : DET& operator = (const DET &a) 
  1794.  
  1795. : int value_will_overflow (void) const 
  1796.  
  1797. : int value_will_underflow (void) const 
  1798.  
  1799. : double coefficient (void) const 
  1800.  
  1801. : int exponent (void) const 
  1802.  
  1803. : double value (void) const 
  1804.  
  1805. : ostream& operator << (ostream &os, const DET &a) 
  1806.  
  1807. : ComplexDET (void) 
  1808.  
  1809. : ComplexDET (const ComplexDET &a) 
  1810.  
  1811. : ComplexDET& operator = (const ComplexDET &a) 
  1812.  
  1813. : int value_will_overflow (void) const 
  1814.  
  1815. : int value_will_underflow (void) const 
  1816.  
  1817. : Complex coefficient (void) const 
  1818.  
  1819. : int exponent (void) const 
  1820.  
  1821. : Complex value (void) const 
  1822.  
  1823. : ostream& operator << (ostream &os, const ComplexDET &a) 
  1824.  
  1825. : GEPBALANCE (void) 
  1826.  
  1827. : GEPBALANCE (const Matrix &a, const Matrix &, const char *balance_job) 
  1828.  
  1829. : GEPBALANCE (const GEPBALANCE &a) 
  1830.  
  1831. : GEPBALANCE& operator = (const GEPBALANCE &a) 
  1832.  
  1833. : Matrix balanced_a_matrix (void) const 
  1834.  
  1835. : Matrix balanced_b_matrix (void) const 
  1836.  
  1837. : Matrix left_balancing_matrix (void) const 
  1838.  
  1839. : Matrix right_balancing_matrix (void) const 
  1840.  
  1841. : ostream& operator << (ostream &os, const GEPBALANCE &a) 
  1842.  
  1843. : CHOL (void) 
  1844.  
  1845. : CHOL (const Matrix &a) 
  1846.  
  1847. : CHOL (const Matrix &a, int &info) 
  1848.  
  1849. : CHOL (const CHOL &a) 
  1850.  
  1851. : CHOL& operator = (const CHOL &a) 
  1852.  
  1853. : Matrix chol_matrix (void) const 
  1854.  
  1855. : ostream& operator << (ostream &os, const CHOL &a) 
  1856.  
  1857. : ComplexCHOL (void) 
  1858.  
  1859. : ComplexCHOL (const ComplexMatrix &a) 
  1860.  
  1861. : ComplexCHOL (const ComplexMatrix &a, int &info) 
  1862.  
  1863. : ComplexCHOL (const ComplexCHOL &a) 
  1864.  
  1865. : ComplexCHOL& operator = (const ComplexCHOL &a) 
  1866.  
  1867. : ComplexMatrix chol_matrix (void) const 
  1868.  
  1869. : ostream& operator << (ostream &os, const ComplexCHOL &a) 
  1870.  
  1871. : HESS (void) 
  1872.  
  1873. : HESS (const Matrix &a) 
  1874.  
  1875. : HESS (const Matrix&a, int &info) 
  1876.  
  1877. : HESS (const HESS &a) 
  1878.  
  1879. : HESS& operator = (const HESS &a) 
  1880.  
  1881. : Matrix hess_matrix (void) const 
  1882.  
  1883. : Matrix unitary_hess_matrix (void) const 
  1884.  
  1885. : ostream& operator << (ostream &os, const HESS &a) 
  1886.  
  1887. : ComplexHESS (void) 
  1888.  
  1889. : ComplexHESS (const ComplexMatrix &a) 
  1890.  
  1891. : ComplexHESS (const ComplexMatrix &a, int &info) 
  1892.  
  1893. : ComplexHESS (const ComplexHESS &a) 
  1894.  
  1895. : ComplexHESS& operator = (const ComplexHESS &a) 
  1896.  
  1897. : ComplexMatrix hess_matrix (void) const 
  1898.  
  1899. : ComplexMatrix unitary_hess_matrix (void) const 
  1900.  
  1901. : ostream& operator << (ostream &os, const ComplexHESS &a) 
  1902.  
  1903. : SCHUR (void) 
  1904.  
  1905. : SCHUR (const Matrix &a, const char *ord) 
  1906.  
  1907. : SCHUR (const Matrix &a, const char *ord, int &info) 
  1908.  
  1909. : SCHUR (const SCHUR &a, const char *ord) 
  1910.  
  1911. : SCHUR& operator = (const SCHUR &a) 
  1912.  
  1913. : Matrix schur_matrix (void) const 
  1914.  
  1915. : Matrix unitary_matrix (void) const 
  1916.  
  1917. : ostream& operator << (ostream &os, const SCHUR &a) 
  1918.  
  1919. : ComplexSCHUR (void) 
  1920.  
  1921. : ComplexSCHUR (const ComplexMatrix &a, const char *ord) 
  1922.  
  1923. : ComplexSCHUR (const ComplexMatrix &a, const char *ord, int &info) 
  1924.  
  1925. : ComplexSCHUR (const ComplexSCHUR &a, const char *ord) 
  1926.  
  1927. : ComplexSCHUR& operator = (const ComplexSCHUR &a) 
  1928.  
  1929. : ComplexMatrix schur_matrix (void) const 
  1930.  
  1931. : ComplexMatrix unitary_matrix (void) const 
  1932.  
  1933. : ostream& operator << (ostream &os, const ComplexSCHUR &a) 
  1934.  
  1935. : SVD (void) 
  1936.  
  1937. : SVD (const Matrix &a) 
  1938.  
  1939. : SVD (const Matrix &a, int &info) 
  1940.  
  1941. : SVD (const SVD &a) 
  1942.  
  1943. : SVD& operator = (const SVD &a) 
  1944.  
  1945. : DiagMatrix singular_values (void) const 
  1946.  
  1947. : Matrix left_singular_matrix (void) const 
  1948.  
  1949. : Matrix right_singular_matrix (void) const 
  1950.  
  1951. : ostream& operator << (ostream &os, const SVD &a) 
  1952.  
  1953. : ComplexSVD (void) 
  1954.  
  1955. : ComplexSVD (const ComplexMatrix &a) 
  1956.  
  1957. : ComplexSVD (const ComplexMatrix &a, int &info) 
  1958.  
  1959. : ComplexSVD (const ComplexSVD &a) 
  1960.  
  1961. : ComplexSVD& operator = (const ComplexSVD &a) 
  1962.  
  1963. : DiagMatrix singular_values (void) const 
  1964.  
  1965. : ComplexMatrix left_singular_matrix (void) const 
  1966.  
  1967. : ComplexMatrix right_singular_matrix (void) const 
  1968.  
  1969. : ostream& operator << (ostream &os, const ComplexSVD &a) 
  1970.  
  1971. : EIG (void) 
  1972.  
  1973. : EIG (const Matrix &a) 
  1974.  
  1975. : EIG (const Matrix &a, int &info) 
  1976.  
  1977. : EIG (const ComplexMatrix &a) 
  1978.  
  1979. : EIG (const ComplexMatrix &a, int &info) 
  1980.  
  1981. : EIG (const EIG &a) 
  1982.  
  1983. : EIG& operator = (const EIG &a) 
  1984.  
  1985. : ComplexColumnVector eigenvalues (void) const 
  1986.  
  1987. : ComplexMatrix eigenvectors (void) const 
  1988.  
  1989. : ostream& operator << (ostream &os, const EIG &a) 
  1990.  
  1991. : LU (void) 
  1992.  
  1993. : LU (const Matrix &a) 
  1994.  
  1995. : LU (const LU &a) 
  1996.  
  1997. : LU& operator = (const LU &a) 
  1998.  
  1999. : Matrix L (void) const 
  2000.  
  2001. : Matrix U (void) const 
  2002.  
  2003. : Matrix P (void) const 
  2004.  
  2005. : ostream& operator << (ostream &os, const LU &a) 
  2006.  
  2007. : ComplexLU (void) 
  2008.  
  2009. : ComplexLU (const ComplexMatrix &a) 
  2010.  
  2011. : ComplexLU (const ComplexLU &a) 
  2012.  
  2013. : ComplexLU& operator = (const ComplexLU &a) 
  2014.  
  2015. : ComplexMatrix L (void) const 
  2016.  
  2017. : ComplexMatrix U (void) const 
  2018.  
  2019. : Matrix P (void) const 
  2020.  
  2021. : ostream& operator << (ostream &os, const ComplexLU &a) 
  2022.  
  2023. : QR (void) 
  2024.  
  2025. : QR (const Matrix &A) 
  2026.  
  2027. : QR (const QR &a) 
  2028.  
  2029. : QR& operator = (const QR &a) 
  2030.  
  2031. : Matrix Q (void) const 
  2032.  
  2033. : Matrix R (void) const 
  2034.  
  2035. : ostream& operator << (ostream &os, const QR &a) 
  2036.  
  2037. : ComplexQR (void) 
  2038.  
  2039. : ComplexQR (const ComplexMatrix &A) 
  2040.  
  2041. : ComplexQR (const ComplexQR &a) 
  2042.  
  2043. : ComplexQR& operator = (const ComplexQR &a) 
  2044.  
  2045. : ComplexMatrix Q (void) const 
  2046.  
  2047. : ComplexMatrix R (void) const 
  2048.  
  2049. : ostream& operator << (ostream &os, const ComplexQR &a) 
  2050.  
  2051.  
  2052. ΓòÉΓòÉΓòÉ 9. Ranges ΓòÉΓòÉΓòÉ
  2053.  
  2054. : Range (void) 
  2055.  
  2056. : Range (const Range &r) 
  2057.  
  2058. : Range (double b, double l) 
  2059.  
  2060. : Range (double b, double l, double i) 
  2061.  
  2062. : double base (void) const 
  2063.  
  2064. : double limit (void) const 
  2065.  
  2066. : double inc (void) const 
  2067.  
  2068. : void set_base (double b) 
  2069.  
  2070. : void set_limit (double l) 
  2071.  
  2072. : void set_inc (double i) 
  2073.  
  2074. : int nelem (void) const 
  2075.  
  2076. : double min (void) const 
  2077.  
  2078. : double max (void) const 
  2079.  
  2080. : void sort (void) 
  2081.  
  2082. : ostream& operator << (ostream &os, const Range &r) 
  2083.  
  2084. : istream& operator >> (istream &is, Range &r) 
  2085.  
  2086. : void print_range (void) 
  2087.  
  2088.  
  2089. ΓòÉΓòÉΓòÉ 10. Nonlinear Functions ΓòÉΓòÉΓòÉ
  2090.  
  2091. : NLFunc (void) 
  2092.  
  2093. : NLFunc (const nonlinear_fcn) 
  2094.  
  2095. : NLFunc (const nonlinear_fcn, const jacobian_fcn) 
  2096.  
  2097. : NLFunc (const NLFunc &a) 
  2098.  
  2099. : NLFunc& operator = (const NLFunc &a) 
  2100.  
  2101. : nonlinear_fcn function (void) const; 
  2102.  
  2103. : NLFunc& set_function (const nonlinear_fcn f) 
  2104.  
  2105. : jacobian_fcn jacobian_function (void) const; 
  2106.  
  2107. : NLFunc& set_jacobian_function (const jacobian_fcn j) 
  2108.  
  2109.  
  2110. ΓòÉΓòÉΓòÉ 11. Nonlinear Equations ΓòÉΓòÉΓòÉ
  2111.  
  2112. : NLEqn_options (void) 
  2113.  
  2114. : NLEqn_options (const NLEqn_options &opt) 
  2115.  
  2116. : NLEqn_options& operator = (const NLEqn_options &opt) 
  2117.  
  2118. : void init (void) 
  2119.  
  2120. : void copy (const NLEqn_options &opt) 
  2121.  
  2122. : void set_default_options (void) 
  2123.  
  2124. : void set_tolerance (double val) 
  2125.  
  2126. : double tolerance (void) 
  2127.  
  2128. : NLEqn (void) 
  2129.  
  2130. : NLEqn (const ColumnVector&, const NLFunc) 
  2131.  
  2132. : NLEqn (const NLEqn &a) 
  2133.  
  2134. : NLEqn& operator = (const NLEqn &a) 
  2135.  
  2136. : void resize (int n) 
  2137.  
  2138. : void set_states (const ColumnVector &x) 
  2139.  
  2140. : ColumnVector states (void) const 
  2141.  
  2142. : int size (void) const 
  2143.  
  2144. : ColumnVector solve (void) 
  2145.  
  2146. : ColumnVector solve (const ColumnVector &x) 
  2147.  
  2148. : ColumnVector solve (int &info) 
  2149.  
  2150. : ColumnVector solve (const ColumnVector &x, int &info) 
  2151.  
  2152.  
  2153. ΓòÉΓòÉΓòÉ 12. Optimization ΓòÉΓòÉΓòÉ
  2154.  
  2155.  Objective Functions 
  2156.  Bounds 
  2157.  Linear Constraints 
  2158.  Nonlinear Constraints 
  2159.  Quadratic Programming 
  2160.  Nonlinear Programming 
  2161.  
  2162.  
  2163. ΓòÉΓòÉΓòÉ 12.1. Objective Functions ΓòÉΓòÉΓòÉ
  2164.  
  2165. : Objective (void) 
  2166.  
  2167. : Objective (const objective_fcn) 
  2168.  
  2169. : Objective (const objective_fcn, const gradient_fcn) 
  2170.  
  2171. : Objective (const Objective &a) 
  2172.  
  2173. : Objective& operator = (const Objective &a) 
  2174.  
  2175. : objective_fcn objective_function (void) const; 
  2176.  
  2177. : Objective& set_objective_function (const objective_fcn) 
  2178.  
  2179. : gradient_fcn gradient_function (void) const; 
  2180.  
  2181. : Objective& set_gradient_function (const gradient_fcn) 
  2182.  
  2183.  
  2184. ΓòÉΓòÉΓòÉ 12.2. Bounds ΓòÉΓòÉΓòÉ
  2185.  
  2186. : Bounds (void) 
  2187.  
  2188. : Bounds (int n) 
  2189.  
  2190. : Bounds (const ColumnVector lb, const ColumnVector ub) 
  2191.  
  2192. : Bounds (const Bounds &a) 
  2193.  
  2194. : Bounds& operator = (const Bounds &a) 
  2195.  
  2196. : Bounds& resize (int n) 
  2197.  
  2198. : double lower_bound (int index) const; 
  2199.  
  2200. : double upper_bound (int index) const; 
  2201.  
  2202. : ColumnVector lower_bounds (void) const; 
  2203.  
  2204. : ColumnVector upper_bounds (void) const; 
  2205.  
  2206. : int size (void) const; 
  2207.  
  2208. : Bounds& set_bound (int index, double low, double high) 
  2209.  
  2210. : Bounds& set_bounds (double low, double high) 
  2211.  
  2212. : Bounds& set_bounds (const ColumnVector lb, const ColumnVector ub) 
  2213.  
  2214. : Bounds& set_lower_bound (int index, double low) 
  2215.  
  2216. : Bounds& set_upper_bound (int index, double high) 
  2217.  
  2218. : Bounds& set_lower_bounds (double low) 
  2219.  
  2220. : Bounds& set_upper_bounds (double high) 
  2221.  
  2222. : Bounds& set_lower_bounds (const ColumnVector lb) 
  2223.  
  2224. : Bounds& set_upper_bounds (const ColumnVector ub) 
  2225.  
  2226. : ostream& operator << (ostream &os, const Bounds &b) 
  2227.  
  2228.  
  2229. ΓòÉΓòÉΓòÉ 12.3. Linear Constraints ΓòÉΓòÉΓòÉ
  2230.  
  2231. : LinConst (void) 
  2232.  
  2233. : LinConst (int nclin, int nx) 
  2234.  
  2235. : LinConst (int nclin_eq, int nclin_ineq, int nx) 
  2236.  
  2237. : LinConst (const ColumnVector &lb, const Matrix &A, const ColumnVector &ub) 
  2238.  
  2239. : LinConst (const Matrix &A_eq, const ColumnVector &b_eq, const Matrix &A_ineq, 
  2240. const ColumnVector &b_ineq) 
  2241.  
  2242. : LinConst (const LinConst &a) 
  2243.  
  2244. : LinConst& operator = (const LinConst &a) 
  2245.  
  2246. : LinConst& resize (int nclin, int n) 
  2247.  
  2248. : Matrix constraint_matrix (void) const; 
  2249.  
  2250. : LinConst& set_constraint_matrix (const Matrix &A) 
  2251.  
  2252. : Matrix eq_constraint_matrix (void) const; 
  2253.  
  2254. : Matrix ineq_constraint_matrix (void) const; 
  2255.  
  2256. : ColumnVector eq_constraint_vector (void) const; 
  2257.  
  2258. : ColumnVector ineq_constraint_vector (void) const; 
  2259.  
  2260. : ostream& operator << (ostream &os, const LinConst &b) 
  2261.  
  2262.  
  2263. ΓòÉΓòÉΓòÉ 12.4. Nonlinear Constraints ΓòÉΓòÉΓòÉ
  2264.  
  2265. : NLConst (void) 
  2266.  
  2267. : NLConst (int n) 
  2268.  
  2269. : NLConst (const ColumnVector lb, const NLFunc f, const ColumnVector ub) 
  2270.  
  2271. : NLConst (const NLConst &a) 
  2272.  
  2273. : NLConst& operator = (const NLConst &a) 
  2274.  
  2275.  
  2276. ΓòÉΓòÉΓòÉ 12.5. Quadratic Programming ΓòÉΓòÉΓòÉ
  2277.  
  2278. : QP (void) 
  2279.  
  2280. : QP (const ColumnVector &x, const Matrix &H) 
  2281.  
  2282. : QP (const ColumnVector &x, const Matrix &H, const ColumnVector &c) 
  2283.  
  2284. : QP (const ColumnVector &x, const Matrix &H, const Bounds &b) 
  2285.  
  2286. : QP (const ColumnVector &x, const Matrix &H, const LinConst &lc) 
  2287.  
  2288. : QP (const ColumnVector &x, const Matrix &H, const ColumnVector &c, const 
  2289. Bounds &b) 
  2290.  
  2291. : QP (const ColumnVector &x, const Matrix &H, const ColumnVector &c, const 
  2292. LinConst &lc) 
  2293.  
  2294. : QP (const ColumnVector &x, const Matrix &H, const Bounds &b, const LinConst 
  2295. &lc) 
  2296.  
  2297. : QP (const ColumnVector &x, const Matrix &H, const ColumnVector &c, const 
  2298. Bounds &b, const LinConst &lc) 
  2299.  
  2300. : virtual ColumnVector minimize (void) 
  2301.  
  2302. : virtual ColumnVector minimize (double &objf) 
  2303.  
  2304. : virtual ColumnVector minimize (double &objf, int &inform) 
  2305.  
  2306. : virtual ColumnVector minimize (double &objf, int &inform, ColumnVector 
  2307. &lambda) = 0; 
  2308.  
  2309. : virtual ColumnVector minimize (const ColumnVector &x) 
  2310.  
  2311. : virtual ColumnVector minimize (const ColumnVector &x, double &objf) 
  2312.  
  2313. : virtual ColumnVector minimize (const ColumnVector &x, double &objf, int 
  2314. &inform) 
  2315.  
  2316. : virtual ColumnVector minimize (const ColumnVector &x, double &objf, int 
  2317. &inform, ColumnVector &lambda) 
  2318.  
  2319. : ColumnVector minimize (double &objf, int &inform, ColumnVector &lambda) 
  2320.  
  2321.  
  2322. ΓòÉΓòÉΓòÉ 12.6. Nonlinear Programming ΓòÉΓòÉΓòÉ
  2323.  
  2324. : NLP (void) 
  2325.  
  2326. : NLP (const ColumnVector &x, const Objective &phi) 
  2327.  
  2328. : NLP (const ColumnVector &x, const Objective &phi, const Bounds &b) 
  2329.  
  2330. : NLP (const ColumnVector &x, const Objective &phi, const Bounds &b, const 
  2331. LinConst &lc) 
  2332.  
  2333. : NLP (const ColumnVector &x, const Objective &phi, const Bounds &b, const 
  2334. LinConst &lc, const NLConst &nlc) 
  2335.  
  2336. : NLP (const ColumnVector &x, const Objective &phi, const LinConst &lc) 
  2337.  
  2338. : NLP (const ColumnVector &x, const Objective &phi, const LinConst &lc, const 
  2339. NLConst &nlc) 
  2340.  
  2341. : NLP (const ColumnVector &x, const Objective &phi, const NLConst &nlc) 
  2342.  
  2343. : NLP (const ColumnVector &x, const Objective &phi, const Bounds &b, const 
  2344. NLConst &nlc) 
  2345.  
  2346. : NLP& operator = (const NLP &a) 
  2347.  
  2348. : int size (void) const 
  2349.  
  2350. : ColumnVector minimize (void) 
  2351.  
  2352. : ColumnVector minimize (double &objf) 
  2353.  
  2354. : ColumnVector minimize (double &objf, int &inform) 
  2355.  
  2356. : ColumnVector minimize (double &objf, int &inform, ColumnVector &lambda) 
  2357.  
  2358. : ColumnVector minimize (const ColumnVector &x) 
  2359.  
  2360. : ColumnVector minimize (const ColumnVector &x, double &objf) 
  2361.  
  2362. : ColumnVector minimize (const ColumnVector &x, double &objf, int &inform) 
  2363.  
  2364. : ColumnVector minimize (const ColumnVector &x, double &objf, int &inform, 
  2365. ColumnVector &lambda) 
  2366.  
  2367.  
  2368. ΓòÉΓòÉΓòÉ 13. Quadrature ΓòÉΓòÉΓòÉ
  2369.  
  2370. : Quad (integrand_fcn fcn) 
  2371.  
  2372. : Quad (integrand_fcn fcn, double abs, double rel) 
  2373.  
  2374. : virtual double integrate (void) 
  2375.  
  2376. : virtual double integrate (int &ier) 
  2377.  
  2378. : virtual double integrate (int &ier, int &neval) 
  2379.  
  2380. : virtual double integrate (int &ier, int &neval, double &abserr) = 0 
  2381.  
  2382. : Quad_options (void) 
  2383.  
  2384. : Quad_options (const Quad_options &opt) 
  2385.  
  2386. : Quad_options& operator = (const Quad_options &opt) 
  2387.  
  2388. : void init (void) 
  2389.  
  2390. : void copy (const Quad_options &opt) 
  2391.  
  2392. : void set_default_options (void) 
  2393.  
  2394. : void set_absolute_tolerance (double val) 
  2395.  
  2396. : void set_relative_tolerance (double val) 
  2397.  
  2398. : double absolute_tolerance (void) 
  2399.  
  2400. : double relative_tolerance (void) 
  2401.  
  2402. : DefQuad (integrand_fcn fcn) 
  2403.  
  2404. : DefQuad (integrand_fcn fcn, double ll, double ul) 
  2405.  
  2406. : DefQuad (integrand_fcn fcn, double ll, double ul, double abs, double rel) 
  2407.  
  2408. : DefQuad (integrand_fcn fcn, double ll, double ul, const ColumnVector &sing) 
  2409.  
  2410. : DefQuad (integrand_fcn fcn, const ColumnVector &sing, double abs, double rel) 
  2411.  
  2412. : DefQuad (integrand_fcn fcn, const ColumnVector &sing) 
  2413.  
  2414. : DefQuad (integrand_fcn fcn, double ll, double ul, const ColumnVector &sing, 
  2415. double abs, double rel) 
  2416.  
  2417. : IndefQuad (integrand_fcn fcn) 
  2418.  
  2419. : IndefQuad (integrand_fcn fcn, double b, IntegralType t) 
  2420.  
  2421. : IndefQuad (integrand_fcn fcn, double b, IntegralType t, double abs, double 
  2422. rel) 
  2423.  
  2424. : IndefQuad (integrand_fcn fcn, double abs, double rel) 
  2425.  
  2426.  Collocation Weights 
  2427.  
  2428.  
  2429. ΓòÉΓòÉΓòÉ 13.1. Collocation Weights ΓòÉΓòÉΓòÉ
  2430.  
  2431. : CollocWt (void) 
  2432.  
  2433. : CollocWt (int n, int inc_l, int inc_r) 
  2434.  
  2435. : CollocWt (int n, int inc_l, int inc_r, double l, double r) 
  2436.  
  2437. : CollocWt (int n, double a, double b, int inc_l, int inc_r) 
  2438.  
  2439. : CollocWt (int n, int inc_l, int inc_r, double l, double r) 
  2440.  
  2441. : CollocWt (const CollocWt&) 
  2442.  
  2443. : CollocWt& operator = (const CollocWt&) 
  2444.  
  2445. : CollocWt& resize (int ncol) 
  2446.  
  2447. : CollocWt& add_left (void) 
  2448.  
  2449. : CollocWt& add_right (void) 
  2450.  
  2451. : CollocWt& delete_left (void) 
  2452.  
  2453. : CollocWt& delete_right (void) 
  2454.  
  2455. : CollocWt& set_left (double val) 
  2456.  
  2457. : CollocWt& set_right (double val) 
  2458.  
  2459. : CollocWt& set_alpha (double val) 
  2460.  
  2461. : CollocWt& set_beta (double val) 
  2462.  
  2463. : int ncol (void) const 
  2464.  
  2465. : int left_included (void) const 
  2466.  
  2467. : int right_included (void) const 
  2468.  
  2469. : double left (void) const 
  2470.  
  2471. : double right (void) const 
  2472.  
  2473. : double width (void) const 
  2474.  
  2475. : double alpha (void) const 
  2476.  
  2477. : double beta (void) const 
  2478.  
  2479. : ColumnVector roots (void) 
  2480.  
  2481. : ColumnVector quad (void) 
  2482.  
  2483. : ColumnVector quad_weights (void) 
  2484.  
  2485. : Matrix first (void) 
  2486.  
  2487. : Matrix second (void) 
  2488.  
  2489. : ostream& operator << (ostream &os, const CollocWt &c) 
  2490.  
  2491.  
  2492. ΓòÉΓòÉΓòÉ 14. Ordinary Differential Equations ΓòÉΓòÉΓòÉ
  2493.  
  2494. : ODE_options (void) 
  2495.  
  2496. : ODE_options (const ODE_options &opt) 
  2497.  
  2498. : ODE_options& operator = (const ODE_options &opt) 
  2499.  
  2500. : void init (void) 
  2501.  
  2502. : void copy (const ODE_options &opt) 
  2503.  
  2504. : void set_default_options (void) 
  2505.  
  2506. : void set_absolute_tolerance (double val) 
  2507.  
  2508. : void set_initial_step_size (double val) 
  2509.  
  2510. : void set_maximum_step_size (double val) 
  2511.  
  2512. : void set_minimum_step_size (double val) 
  2513.  
  2514. : void set_relative_tolerance (double val) 
  2515.  
  2516. : double absolute_tolerance (void) 
  2517.  
  2518. : double initial_step_size (void) 
  2519.  
  2520. : double maximum_step_size (void) 
  2521.  
  2522. : double minimum_step_size (void) 
  2523.  
  2524. : double relative_tolerance (void) 
  2525.  
  2526. : ODE (void) 
  2527.  
  2528. : ODE (int n) 
  2529.  
  2530. : ODE (const ColumnVector &state, double time, const ODEFunc &f) 
  2531.  
  2532. : virtual int size (void) const 
  2533.  
  2534. : virtual ColumnVector state (void) const 
  2535.  
  2536. : virtual double time (void) const 
  2537.  
  2538. : virtual void force_restart (void) 
  2539.  
  2540. : virtual void initialize (const ColumnVector &x, double t) 
  2541.  
  2542. : virtual void set_stop_time (double t) 
  2543.  
  2544. : virtual void clear_stop_time (void) 
  2545.  
  2546. : virtual ColumnVector integrate (double t) 
  2547.  
  2548. : void integrate (int nsteps, double tstep, ostream &s) 
  2549.  
  2550. : Matrix integrate (const ColumnVector &tout) 
  2551.  
  2552. : Matrix integrate (const ColumnVector &tout, const ColumnVector &tcrit) 
  2553.  
  2554.  
  2555. ΓòÉΓòÉΓòÉ 15. Differential Algebraic Equations ΓòÉΓòÉΓòÉ
  2556.  
  2557. : DAE (void) 
  2558.  
  2559. : DAE (int n) 
  2560.  
  2561. : DAE (const ColumnVector &x, double time, DAEFunc &f) 
  2562.  
  2563. : DAE (const ColumnVector &x, ColumnVector &xdot, double time, DAEFunc &f) 
  2564.  
  2565. : ColumnVector deriv (void) 
  2566.  
  2567. : virtual void initialize (const ColumnVector &x, double t) 
  2568.  
  2569. : virtual void initialize (const ColumnVector &x, ColumnVector &xdot, double t) 
  2570.  
  2571. : ColumnVector integrate (double t) 
  2572.  
  2573. : Matrix integrate (const ColumnVector &tout, Matrix &xdot_out) 
  2574.  
  2575. : Matrix integrate (const ColumnVector &tout, Matrix &xdot_out, const 
  2576. ColumnVector &tcrit) 
  2577.  
  2578.  
  2579. ΓòÉΓòÉΓòÉ 16. Error Handling ΓòÉΓòÉΓòÉ
  2580.  
  2581.  
  2582. ΓòÉΓòÉΓòÉ 17. Installation ΓòÉΓòÉΓòÉ
  2583.  
  2584.  
  2585. ΓòÉΓòÉΓòÉ 18. Bugs ΓòÉΓòÉΓòÉ
  2586.  
  2587.  
  2588. ΓòÉΓòÉΓòÉ 19. Concept Index ΓòÉΓòÉΓòÉ
  2589.  
  2590. Sorry, no cp index 
  2591.  
  2592.  
  2593. ΓòÉΓòÉΓòÉ 20. Function Index ΓòÉΓòÉΓòÉ
  2594.  
  2595. Sorry, no fn index