Mercurial > octave
annotate scripts/linear-algebra/condeig.m @ 22195:93ed9396f2c3
* condeig.m: fix Texinfo markup typo in condeig doc string (bug #48672)
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Mon, 01 Aug 2016 09:52:51 -0700 |
parents | e859caa53399 |
children | bac0d6f07a3e |
rev | line source |
---|---|
22129
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
1 ## Copyright (C) 2006, 2007 Arno Onken <asnelt@asnelt.org> |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
2 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
3 ## This file is part of Octave. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
4 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
5 ## Octave is free software; you can redistribute it and/or modify it |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
6 ## under the terms of the GNU General Public License as published by |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
7 ## the Free Software Foundation; either version 3 of the License, or (at |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
8 ## your option) any later version. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
9 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
10 ## Octave is distributed in the hope that it will be useful, but |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
13 ## General Public License for more details. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
14 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
15 ## You should have received a copy of the GNU General Public License |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
16 ## along with Octave; see the file COPYING. If not, see |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
17 ## <http://www.gnu.org/licenses/>. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
18 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
19 ## -*- texinfo -*- |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
20 ## @deftypefn {} {@var{c} =} condeig (@var{a}) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
21 ## @deftypefnx {} {[@var{v}, @var{lambda}, @var{c}] =} condeig (@var{a}) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
22 ## Compute condition numbers of a matrix with respect to eigenvalues. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
23 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
24 ## The condition numbers are the reciprocals of the cosines of the angles |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
25 ## between the left and right eigenvectors; Large values indicate that the |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
26 ## matrix has multiple distinct eigenvalues. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
27 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
28 ## The input @var{a} must be a square numeric matrix. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
29 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
30 ## The outputs are: |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
31 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
32 ## @itemize @bullet |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
33 ## @item |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
34 ## @var{c} is a vector of condition numbers for the eigenvalues of |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
35 ## @var{a}. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
36 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
37 ## @item |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
38 ## @var{v} is the matrix of right eigenvectors of @var{a}. The result is |
22195
93ed9396f2c3
* condeig.m: fix Texinfo markup typo in condeig doc string (bug #48672)
Mike Miller <mtmiller@octave.org>
parents:
22129
diff
changeset
|
39 ## equivalent to calling @code{[@var{v}, @var{lambda}] = eig (@var{a})}. |
22129
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
40 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
41 ## @item |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
42 ## @var{lambda} is the diagonal matrix of eigenvalues of @var{a}. The |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
43 ## result is equivalent to calling |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
44 ## @code{[@var{v}, @var{lambda}] = eig (@var{a})}. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
45 ## @end itemize |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
46 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
47 ## Example |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
48 ## |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
49 ## @example |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
50 ## @group |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
51 ## a = [1, 2; 3, 4]; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
52 ## c = condeig (a) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
53 ## @result{} [1.0150; 1.0150] |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
54 ## @end group |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
55 ## @end example |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
56 ## @seealso{eig, cond, balance} |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
57 ## @end deftypefn |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
58 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
59 function [v, lambda, c] = condeig (a) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
60 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
61 if (nargin != 1) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
62 print_usage (); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
63 endif |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
64 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
65 if (! (isnumeric (a) && issquare (a))) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
66 error ("condeig: A must be a square numeric matrix"); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
67 endif |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
68 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
69 if (issparse (a) && nargout <= 1) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
70 ## Try to use svds to calculate the condition number as it will typically |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
71 ## be much faster than calling eig as only the smallest and largest |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
72 ## eigenvalue are calculated. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
73 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
74 ## FIXME: This calculates one condition number for the entire matrix. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
75 ## In the full case, separate condition numbers are calculated for every |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
76 ## eigenvalue. |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
77 try |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
78 s0 = svds (a, 1, 0); # min eigenvalue |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
79 v = svds (a, 1) / s0; # max eigenvalue |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
80 catch |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
81 ## Caught an error as there is a singular value exactly at zero!! |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
82 v = Inf; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
83 end_try_catch |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
84 return; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
85 endif |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
86 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
87 ## Right eigenvectors |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
88 [v, lambda] = eig (a); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
89 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
90 if (isempty (a)) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
91 c = []; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
92 else |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
93 ## Corresponding left eigenvectors |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
94 vl = inv (v)'; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
95 ## Normalize vectors |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
96 vl ./= repmat (sqrt (sum (abs (vl .^ 2))), rows (vl), 1); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
97 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
98 ## Condition numbers |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
99 ## Definition: cos (angle) = (norm (v1) * norm (v2)) / dot (v1, v2) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
100 ## Eigenvectors have been normalized so `norm (v1) * norm (v2)' = 1 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
101 c = abs (1 ./ dot (vl, v)'); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
102 endif |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
103 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
104 if (nargout <= 1) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
105 v = c; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
106 endif |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
107 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
108 endfunction |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
109 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
110 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
111 %!test |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
112 %! a = [1, 2; 3, 4]; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
113 %! c = condeig (a); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
114 %! expected_c = [1.0150; 1.0150]; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
115 %! assert (c, expected_c, 0.001); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
116 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
117 %!test |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
118 %! a = [1, 3; 5, 8]; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
119 %! [v, lambda, c] = condeig (a); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
120 %! [expected_v, expected_lambda] = eig (a); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
121 %! expected_c = [1.0182; 1.0182]; |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
122 %! assert (v, expected_v, 0.001); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
123 %! assert (lambda, expected_lambda, 0.001); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
124 %! assert (c, expected_c, 0.001); |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
125 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
126 # Test empty input |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
127 %!assert (condeig ([]), []) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
128 |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
129 ## Test input validation |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
130 %!error condeig () |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
131 %!error condeig (1,2) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
132 %!error <A must be a square numeric matrix> condeig ({1}) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
133 %!error <A must be a square numeric matrix> condeig (ones (3,2)) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
134 %!error <A must be a square numeric matrix> condeig (ones (2,2,2)) |
e859caa53399
condeig.m: New function imported from Octave-Forge linear-algebra package.
Rik <rik@octave.org>
parents:
diff
changeset
|
135 |