home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1999-05-13 | 28.5 KB | 682 lines |
- This is Info file liboct, produced by Makeinfo-1.64 from the input file
- liboct.tex.
-
- Copyright (C) 1996, 1997 John W. Eaton.
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided that
- the entire resulting derived work is distributed under the terms of a
- permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions.
-
- File: liboct, Node: Top, Next: Acknowledgements, Prev: (dir), Up: (dir)
-
-
-
- This manual documents how to use, install and port Octave's C++ class
- library, and how to report bugs. It corresponds to Octave version
- 2.1.14.
-
- * Menu:
-
- * Acknowledgements::
- * Copying::
- * Introduction::
- * Arrays::
- * Matrix and Vector Operations::
- * Matrix Factorizations::
- * Ranges::
- * Nonlinear Functions::
- * Nonlinear Equations::
- * Optimization::
- * Quadrature::
- * Ordinary Differential Equations::
- * Differential Algebraic Equations::
- * Error Handling::
- * Installation::
- * Bugs::
- * Concept Index::
- * Function Index::
-
- -- The Detailed Node Listing --
-
- Acknowledgements
-
- * Contributors:: People who contributed to developing of Octave.
-
- Arrays
-
- * Constructors and Assignment::
-
- Optimization
-
- * Objective Functions::
- * Bounds::
- * Linear Constraints::
- * Nonlinear Constraints::
- * Quadratic Programming::
- * Nonlinear Programming::
-
- Quadrature
-
- * Collocation Weights::
-
- File: liboct, Node: Acknowledgements, Next: Copying, Prev: Top, Up: Top
-
- Acknowledgements
- ****************
-
- * Menu:
-
- * Contributors:: People who contributed to developing of Octave.
-
- File: liboct, Node: Contributors, Prev: Acknowledgements, Up: Acknowledgements
-
- Contributors to Octave
- ======================
-
- In addition to John W. Eaton, several people have written parts of
- liboctave. (This has been removed because it is the same as what is in
- the Octave manual.)
-
- File: liboct, Node: Copying, Next: Introduction, Prev: Acknowledgements, Up: Top
-
- GNU GENERAL PUBLIC LICENSE
- **************************
-
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
- ========
-
- The licenses for most software are designed to take away your
- freedom to share and change it. By contrast, the GNU General Public
- License is intended to guarantee your freedom to share and change free
- software--to make sure the software is free for all its users. This
- General Public License applies to most of the Free Software
- Foundation's software and to any other program whose authors commit to
- using it. (Some other Free Software Foundation software is covered by
- the GNU Library General Public License instead.) You can apply it to
- your programs, too.
-
- When we speak of free software, we are referring to freedom, not
- price. Our General Public Licenses are designed to make sure that you
- have the freedom to distribute copies of free software (and charge for
- this service if you wish), that you receive source code or can get it
- if you want it, that you can change the software or use pieces of it in
- new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
- anyone to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if you
- distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
- gratis or for a fee, you must give the recipients all the rights that
- you have. You must make sure that they, too, receive or can get the
- source code. And you must show them these terms so they know their
- rights.
-
- We protect your rights with two steps: (1) copyright the software,
- and (2) offer you this license which gives you legal permission to copy,
- distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
- that everyone understands that there is no warranty for this free
- software. If the software is modified by someone else and passed on, we
- want its recipients to know that what they have is not the original, so
- that any problems introduced by others will not reflect on the original
- authors' reputations.
-
- Finally, any free program is threatened constantly by software
- patents. We wish to avoid the danger that redistributors of a free
- program will individually obtain patent licenses, in effect making the
- program proprietary. To prevent this, we have made it clear that any
- patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
- modification follow.
-
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains a
- notice placed by the copyright holder saying it may be distributed
- under the terms of this General Public License. The "Program",
- below, refers to any such program or work, and a "work based on
- the Program" means either the Program or any derivative work under
- copyright law: that is to say, a work containing the Program or a
- portion of it, either verbatim or with modifications and/or
- translated into another language. (Hereinafter, translation is
- included without limitation in the term "modification".) Each
- licensee is addressed as "you".
-
- Activities other than copying, distribution and modification are
- not covered by this License; they are outside its scope. The act
- of running the Program is not restricted, and the output from the
- Program is covered only if its contents constitute a work based on
- the Program (independent of having been made by running the
- Program). Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
- source code as you receive it, in any medium, provided that you
- conspicuously and appropriately publish on each copy an appropriate
- copyright notice and disclaimer of warranty; keep intact all the
- notices that refer to this License and to the absence of any
- warranty; and give any other recipients of the Program a copy of
- this License along with the Program.
-
- You may charge a fee for the physical act of transferring a copy,
- and you may at your option offer warranty protection in exchange
- for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
- of it, thus forming a work based on the Program, and copy and
- distribute such modifications or work under the terms of Section 1
- above, provided that you also meet all of these conditions:
-
- a. You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b. You must cause any work that you distribute or publish, that
- in whole or in part contains or is derived from the Program
- or any part thereof, to be licensed as a whole at no charge
- to all third parties under the terms of this License.
-
- c. If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display
- an announcement including an appropriate copyright notice and
- a notice that there is no warranty (or else, saying that you
- provide a warranty) and that users may redistribute the
- program under these conditions, and telling the user how to
- view a copy of this License. (Exception: if the Program
- itself is interactive but does not normally print such an
- announcement, your work based on the Program is not required
- to print an announcement.)
-
- These requirements apply to the modified work as a whole. If
- identifiable sections of that work are not derived from the
- Program, and can be reasonably considered independent and separate
- works in themselves, then this License, and its terms, do not
- apply to those sections when you distribute them as separate
- works. But when you distribute the same sections as part of a
- whole which is a work based on the Program, the distribution of
- the whole must be on the terms of this License, whose permissions
- for other licensees extend to the entire whole, and thus to each
- and every part regardless of who wrote it.
-
- Thus, it is not the intent of this section to claim rights or
- contest your rights to work written entirely by you; rather, the
- intent is to exercise the right to control the distribution of
- derivative or collective works based on the Program.
-
- In addition, mere aggregation of another work not based on the
- Program with the Program (or with a work based on the Program) on
- a volume of a storage or distribution medium does not bring the
- other work under the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
- under Section 2) in object code or executable form under the terms
- of Sections 1 and 2 above provided that you also do one of the
- following:
-
- a. Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of
- Sections 1 and 2 above on a medium customarily used for
- software interchange; or,
-
- b. Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a
- medium customarily used for software interchange; or,
-
- c. Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with
- such an offer, in accord with Subsection b above.)
-
- The source code for a work means the preferred form of the work for
- making modifications to it. For an executable work, complete
- source code means all the source code for all modules it contains,
- plus any associated interface definition files, plus the scripts
- used to control compilation and installation of the executable.
- However, as a special exception, the source code distributed need
- not include anything that is normally distributed (in either
- source or binary form) with the major components (compiler,
- kernel, and so on) of the operating system on which the executable
- runs, unless that component itself accompanies the executable.
-
- If distribution of executable or object code is made by offering
- access to copy from a designated place, then offering equivalent
- access to copy the source code from the same place counts as
- distribution of the source code, even though third parties are not
- compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
- except as expressly provided under this License. Any attempt
- otherwise to copy, modify, sublicense or distribute the Program is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
- signed it. However, nothing else grants you permission to modify
- or distribute the Program or its derivative works. These actions
- are prohibited by law if you do not accept this License.
- Therefore, by modifying or distributing the Program (or any work
- based on the Program), you indicate your acceptance of this
- License to do so, and all its terms and conditions for copying,
- distributing or modifying the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from the
- original licensor to copy, distribute or modify the Program
- subject to these terms and conditions. You may not impose any
- further restrictions on the recipients' exercise of the rights
- granted herein. You are not responsible for enforcing compliance
- by third parties to this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
- infringement or for any other reason (not limited to patent
- issues), conditions are imposed on you (whether by court order,
- agreement or otherwise) that contradict the conditions of this
- License, they do not excuse you from the conditions of this
- License. If you cannot distribute so as to satisfy simultaneously
- your obligations under this License and any other pertinent
- obligations, then as a consequence you may not distribute the
- Program at all. For example, if a patent license would not permit
- royalty-free redistribution of the Program by all those who
- receive copies directly or indirectly through you, then the only
- way you could satisfy both it and this License would be to refrain
- entirely from distribution of the Program.
-
- If any portion of this section is held invalid or unenforceable
- under any particular circumstance, the balance of the section is
- intended to apply and the section as a whole is intended to apply
- in other circumstances.
-
- It is not the purpose of this section to induce you to infringe any
- patents or other property right claims or to contest validity of
- any such claims; this section has the sole purpose of protecting
- the integrity of the free software distribution system, which is
- implemented by public license practices. Many people have made
- generous contributions to the wide range of software distributed
- through that system in reliance on consistent application of that
- system; it is up to the author/donor to decide if he or she is
- willing to distribute software through any other system and a
- licensee cannot impose that choice.
-
- This section is intended to make thoroughly clear what is believed
- to be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
- certain countries either by patents or by copyrighted interfaces,
- the original copyright holder who places the Program under this
- License may add an explicit geographical distribution limitation
- excluding those countries, so that distribution is permitted only
- in or among countries not thus excluded. In such case, this
- License incorporates the limitation as if written in the body of
- this License.
-
- 9. The Free Software Foundation may publish revised and/or new
- versions of the General Public License from time to time. Such
- new versions will be similar in spirit to the present version, but
- may differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
- Program specifies a version number of this License which applies
- to it and "any later version", you have the option of following
- the terms and conditions either of that version or of any later
- version published by the Free Software Foundation. If the Program
- does not specify a version number of this License, you may choose
- any version ever published by the Free Software Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to the
- author to ask for permission. For software which is copyrighted
- by the Free Software Foundation, write to the Free Software
- Foundation; we sometimes make exceptions for this. Our decision
- will be guided by the two goals of preserving the free status of
- all derivatives of our free software and of promoting the sharing
- and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
- WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
- NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
- QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
- OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
- OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
- =======================================================
-
- If you develop a new program, and you want it to be of the greatest
- possible use to the public, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these
- terms.
-
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- convey the exclusion of warranty; and each file should have at least
- the "copyright" line and a pointer to where the full notice is found.
-
- ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
- Copyright (C) 19YY NAME OF AUTHOR
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- Also add information on how to contact you by electronic and paper
- mail.
-
- If the program is interactive, make it output a short notice like
- this when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
- The hypothetical commands `show w' and `show c' should show the
- appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and `show
- c'; they could even be mouse-clicks or menu items--whatever suits your
- program.
-
- You should also get your employer (if you work as a programmer) or
- your school, if any, to sign a "copyright disclaimer" for the program,
- if necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- SIGNATURE OF TY COON, 1 April 1989
- Ty Coon, President of Vice
-
- This General Public License does not permit incorporating your
- program into proprietary programs. If your program is a subroutine
- library, you may consider it more useful to permit linking proprietary
- applications with the library. If this is what you want to do, use the
- GNU Library General Public License instead of this License.
-
- File: liboct, Node: Introduction, Next: Arrays, Prev: Copying, Up: Top
-
- A Brief Introduction to Octave
- ******************************
-
- This manual documents how to run, install and port Octave's C++
- classes, and how to report bugs.
-
- File: liboct, Node: Arrays, Next: Matrix and Vector Operations, Prev: Introduction, Up: Top
-
- Arrays
- ******
-
- * Menu:
-
- * Constructors and Assignment::
-
- File: liboct, Node: Constructors and Assignment, Prev: Arrays, Up: Arrays
-
- Constructors and Assignment
- ===========================
-
- - Constructor: Array<T>::Array (void)
- Create an array with no elements.
-
- - Constructor: Array<T>::Array (int N [, const T &VAL])
- Create an array with N elements. If the optional argument VAL is
- supplied, the elements are initialized to VAL; otherwise, they are
- left uninitialized. If N is less than zero, the current error
- handler is invoked (*note Error Handling::.).
-
- - Constructor: Array<T>::Array (const Array<T> &A)
- Create a copy of the ARRAY<T> object A. Memory for the ARRAY<T>
- class is managed using a reference counting scheme, so the cost of
- this operation is independent of the size of the array.
-
- - Operator: Array<T>& Array<T>::operator = (const Array<T> &A)
- Assignment operator. Memory for the ARRAY<T> class is managed
- using a reference counting scheme, so the cost of this operation is
- independent of the size of the array.
-
- - Method: int Array<T>::capacity (void) const
- - Method: int Array<T>::length (void) const
- Return the length of the array.
-
- - Method: T& Array<T>::elem (int N)
- - Method: T& Array<T>::checkelem (int N)
- - Method: T& Array<T>::operator () (int N)
- If N is within the bounds of the array, return a reference to the
- element indexed by N; otherwise, the current error handler is
- invoked (*note Error Handling::.).
-
- - Method: T Array<T>::elem (int N) const
- - Method: T Array<T>::checkelem (int N) const
- - Method: T Array<T>::operator () (int N) const
- If N is within the bounds of the array, return the value indexed
- by N; otherwise, call the current error handler. *Note Error
- Handling::.
-
- - Method: T& Array<T>::xelem (int N)
- - Method: T Array<T>::xelem (int N) const
- Return a reference to, or the value of, the element indexed by N.
- These methods never perform bounds checking.
-
- - Method: void Array<T>::resize (int N [, const T &VAL])
- Change the size of the array to be N elements. All elements are
- unchanged, except that if N is greater than the current size and
- the optional argument VAL is provided, the additional elements are
- initialized to VAL; otherwise, any additional elements are left
- uninitialized. In the current implementation, if N is less than
- the current size, the length is updated but no memory is released.
-
- - Method: const T* Array<T>::data (void) const
-
- - : Array2 (void)
- - : Array2 (int N, int M)
- - : Array2 (int N, int M, const T &VAL)
- - : Array2 (const Array2<T> &A)
- - : Array2 (const DiagArray<T> &A)
-
- - : Array2<T>& operator = (const Array2<T> &A)
-
- - : int dim1 (void) const
- - : int rows (void) const
-
- - : int dim2 (void) const
- - : int cols (void) const
- - : int columns (void) const
-
- - : T& elem (int I, int J)
- - : T& checkelem (int I, int J)
- - : T& operator () (int I, int J)
-
- - : void resize (int N, int M)
- - : void resize (int N, int M, const T &VAL)
-
- - : Array3 (void)
- - : Array3 (int N, int M, int K)
- - : Array3 (int N, int M, int K, const T &VAL)
- - : Array3 (const Array3<T> &A)
-
- - : Array3<T>& operator = (const Array3<T> &A)
-
- - : int dim1 (void) const
- - : int dim2 (void) const
- - : int dim3 (void) const
-
- - : T& elem (int I, int J, int K)
- - : T& checkelem (int I, int J, int K)
- - : T& operator () (int I, int J, int K)
-
- - : void resize (int N, int M, int K)
- - : void resize (int N, int M, int K, const T &VAL)
-
- - : DiagArray (void)
- - : DiagArray (int N)
- - : DiagArray (int N, const T &VAL)
- - : DiagArray (int R, int C)
- - : DiagArray (int R, int C, const T &VAL)
- - : DiagArray (const Array<T> &A)
- - : DiagArray (const DiagArray<T> &A)
-
- - : DiagArray<T>& operator = (const DiagArray<T> &A)
-
- - : int dim1 (void) const
- - : int rows (void) const
-
- - : int dim2 (void) const
- - : int cols (void) const
- - : int columns (void) const
-
- - : T& elem (int R, int C)
- - : T& checkelem (int R, int C)
- - : T& operator () (int R, int C)
-
- - : void resize (int N, int M)
- - : void resize (int N, int M, const T &VAL)
-
- The real and complex `ColumnVector' and `RowVector' classes all have
- the following functions. These will eventually be part of an
- `MArray<T>' class, derived from the `Array<T>' class. Then the
- `ColumnVector' and `RowVector' classes will be derived from the
- `MArray<T>' class.
-
- Element by element vector by scalar ops.
-
- - : RowVector operator + (const RowVector &A, const double &S)
- - : RowVector operator - (const RowVector &A, const double &S)
- - : RowVector operator * (const RowVector &A, const double &S)
- - : RowVector operator / (const RowVector &A, const double &S)
-
- Element by element scalar by vector ops.
-
- - : RowVector operator + (const double &S, const RowVector &A)
- - : RowVector operator - (const double &S, const RowVector &A)
- - : RowVector operator * (const double &S, const RowVector &A)
- - : RowVector operator / (const double &S, const RowVector &A)
-
- Element by element vector by vector ops.
-
- - : RowVector operator + (const RowVector &A, const RowVector &B)
- - : RowVector operator - (const RowVector &A, const RowVector &B)
-
- - : RowVector product (const RowVector &A, const RowVector &B)
- - : RowVector quotient (const RowVector &A, const RowVector &B)
-
- Unary MArray ops.
-
- - : RowVector operator - (const RowVector &A)
-
- The `Matrix' classes share the following functions. These will
- eventually be part of an `MArray2<T>' class, derived from the
- `Array2<T>' class. Then the `Matrix' class will be derived from the
- `MArray<T>' class.
-
- Element by element matrix by scalar ops.
-
- - : Matrix operator + (const Matrix &A, const double &S)
- - : Matrix operator - (const Matrix &A, const double &S)
- - : Matrix operator * (const Matrix &A, const double &S)
- - : Matrix operator / (const Matrix &A, const double &S)
-
- Element by element scalar by matrix ops.
-
- - : Matrix operator + (const double &S, const Matrix &A)
- - : Matrix operator - (const double &S, const Matrix &A)
- - : Matrix operator * (const double &S, const Matrix &A)
- - : Matrix operator / (const double &S, const Matrix &A)
-
- Element by element matrix by matrix ops.
-
- - : Matrix operator + (const Matrix &A, const Matrix &B)
- - : Matrix operator - (const Matrix &A, const Matrix &B)
-
- - : Matrix product (const Matrix &A, const Matrix &B)
- - : Matrix quotient (const Matrix &A, const Matrix &B)
-
- Unary matrix ops.
-
- - : Matrix operator - (const Matrix &A)
-
- The `DiagMatrix' classes share the following functions. These will
- eventually be part of an `MDiagArray<T>' class, derived from the
- `DiagArray<T>' class. Then the `DiagMatrix' class will be derived from
- the `MDiagArray<T>' class.
-
- Element by element MDiagArray by scalar ops.
-
- - : DiagMatrix operator * (const DiagMatrix &A, const double &S)
- - : DiagMatrix operator / (const DiagMatrix &A, const double &S)
-
- Element by element scalar by MDiagArray ops.
-
- - : DiagMatrix operator * (const double &S, const DiagMatrix &A)
-
- Element by element MDiagArray by MDiagArray ops.
-
- - : DiagMatrix operator + (const DiagMatrix &A, const DiagMatrix &B)
- - : DiagMatrix operator - (const DiagMatrix &A, const DiagMatrix &B)
-
- - : DiagMatrix product (const DiagMatrix &A, const DiagMatrix &B)
-
- Unary MDiagArray ops.
-
- - : DiagMatrix operator - (const DiagMatrix &A)
-
-