<a name="docA01">
2009-06-08-19-10 start
This file http://freeman2.com/tute0009.htm
is Freeman's reading notes. Although Freeman
always keep correct view point. But Freeman's
capability is limited, plus no one proofread
this file. Then you can still find wrong view
point. When read, please put question mark as
often as possible. If you suspect any view
point wrong, please ask a math expert near by.
<a name="docA02">
This file is a note for reading inequality
book written by ProfessorJ. MichaelSteeleThe Cauchy-Schwarz Master Class★★★★★
Below use 'textbook' as abbreviation.
Freeman also read web pages online, and will
indicate the source URL at discussion point.
<a name="docA03">
Freeman study mechanical engineering.
Engineering mathematics do not teach
inequality. Above book is first inequality
book. First time read, it was very hard.
Although high school time learned
a*a + b*b >= 2*a*b
But this little knowledge do not help.
<a name="docA04">
This file follow textbook chapter section
order, but not continuous, Freeman skip
those uncertain sections/problems.
This file first function is to learn
inequality. Second function is to learn
how to use html code to write math
equations.
<a name="docA05">
On 2009-01-27-10-08 Freeman accessed
the next page
http://www.sftw.umac.mo/~fstitl/10mmo/inequality.html
save as sftw.umac.mo_text_math_eqn_good.htm
Above page is the main reference for html
math equation.
In order to let reader to build html math
equation, the file tute0007.htm page end
has math symbol and internal code.
This file third function is to display how
to draw curves in web page. The main engine
is XYGraph v2.3 - Technical Figures
Thank you for read Freeman's inequality page.
2009-06-08-19-47 stop
<a name="ch10h001">Index beginIndex this file
■ Hilbert's Inequality and Schur Constant
(From textbook chapter ten)
2009-07-09-11-45
The Cauchy-Schwarz Master Class.
ISBN 978-0-521-54677-5
Page 155 equation 10.1 is Hilbert's Inequality
Page 155 line -7 said Hilbert get constant=2PI
Page 155 line -6 said Schur get constant= PI
LiuHH write program, attempt to find out who
is right. This program calculate Hilbert's
matrix up to rank 55, greatest eigenvalue is
1.7520456550216296
Hilbert's Inequality use infinite-rank matrix.
It is hard to guess the limit value is PI or
2PI.
2009-07-09-11-53
<a name="ch10h002">
2009-07-09-19-19 start
This file tute0009.htm is third inequality
file, but not continuous from second file
tute0008.htm . This file try to find out
chapter ten Hilbert's Inequality constant
is PI or 2PI. Freeman can not draw conclusion,
but present the thinking method and ask expert
for help.
<a name="ch10h003">
First see Cauchy's Inequality
2009-07-09-19-26 here
<a name="ch10h004">2009-07-09-19-32 here
Above is regular Cauchy's Inequality.
key point is there is no cross product,
it is no ai bj i!=j . [M]=Identity matrix
Red line Cauchy Inequality is good for both
regular and generalized Cauchy's Inequality
[a][M][b]≦√{[a][M][a]}*√{[b][M][b]}
Below is generalized Cauchy's Inequality.
key point is it has cross product, that is
it has ai bj with i!=j [M]=symmetric matrix
i=n
∑
i=1
j=n
∑
j=1
dij ai bj
≦
(
i=n
∑
i=1
j=n
∑
j=1
dij ai aj
)
1/2
(
i=n
∑
i=1
j=n
∑
j=1
dij bi bj
)
1/2
---eqn.AC01
Generalized Cauchy's Inequality;
equation width
<a name="ch10h005">Index beginIndex this file
2009-07-09-19-56 here
Generalized Cauchy's Inequality has cross term
and it use SAME matrix three times in equation.
Explain as following
Real sequence [a] : a1, a2, a3, ... an
Real sequence [b] : b1, b2, b3, ... bn
Any ai from [a] and any bj from [b] can be
multiplied together with coefficient dij
to form dij ai bj. Sum all of these terms
get eqn.AC01 left hand side.
<a name="ch10h006">
Use simple three elements sequence as an
example.
If real sequence A has elements [a, b, c]
If real sequence X has elements [x, y, z]
then
1*a*x + 2*a*y + 3*a*z
+4*b*x + 5*b*y + 6*b*z
+7*c*x + 8*c*y + 9*c*z
can be written as a vector-matrix-vector
product shown below.
[a, b, c]
[ 1 2 3 ]
[ 4 5 6 ]
[ 7 8 9 ]
[x]
[y]
[z]
-----eqn.AC02
equation width
<a name="ch10h007">
2009-07-09-20-19 here
In which 1*a*x and 5*b*y and 9*c*z are
same-location terms. Because in 1*a*x
a is first element in [a, b, c]
x is first element in [x, y, z]
similarly
same-second-location term is 5*b*y .
same-third-location term is 9*c*z .
All other terms are cross product terms,
for example in 3*a*z ,
a is first element in [a, b, c]
z is third element in [x, y, z]
<a name="ch10h008">
Regular Cauchy Inequality use next matrix
expression.
[a, b, c]
[ 1 0 0 ]
[ 0 1 0 ]
[ 0 0 1 ]
[x]
[y]
[z]
-----eqn.AC03
Identity matrix;
equation width
<a name="ch10h009">
2009-07-09-20-32 here
all cross term coefficients are zero,
all same-location term coefficients are one.
If
first: use matrix different from eqn.AC03
second: use symmetry matrix
third: use same matrix in whole equation
then it is Generalized Cauchy's Inequality.
Textbook page 14, equation 1.22 is a
Generalized Cauchy's Inequality equation.
<a name="ch10h010">Index beginIndex this file
Here we can talk about what is Hilbert
Inequality.
Hilbert Inequality less than side use a
matrix, its element is location index sum
then take reciprocal. For example
matrix [1,1] location use 1/(1+1)=0.5
matrix [1,2] location use 1/(1+2)=1/3
matrix [2,1] location use 1/(2+1)=1/3
matrix [2,2] location use 1/(2+2)=.25
<a name="ch10h011">
Other elements are similar. A 3x3 Hilbert
matrix is next
[a, b, c]
[ 1/2 1/3 1/4 ]
[ 1/3 1/4 1/5 ]
[ 1/4 1/5 1/6 ]
[x]
[y]
[z]
-----eqn.AC04
equation width
<a name="ch10h012">
Hilbert Inequality greater than side use
Identity matrix shown in eqn.AC03
Less than side and greater than side use
different matrix, this is a violation to
third: use same matrix in whole equation
We no longer call eqn.AC05 as Generalized
Cauchy's Inequality, call it as Hilbert
Inequality instead.
Hilbert Inequality has one more special point
Its vector/matrix dimension is infinity!
<a name="ch10h013">
Textbook page 155 line -1 say that Hilbert
use trigonometric function integration to
proof his inequality.
Textbook use Cauchy's Inequality to proof
Hilbert Inequality. from text page 156 to
page 159. A little bit complicate. The
following is third method, give hint only
not complete. Can not proof that C is PI.
2009-07-09-20-51 here
i=∞
∑
i=1
j=∞
∑
j=1
ai bj
i + j
≦ C
(
i=∞
∑
i=1
ai ai
)
1/2
(
i=∞
∑
i=1
bi bi
)
1/2
---eqn.AC05
Hilbert Inequality;
equation width
<a name="ch10h014">
2009-07-09-21-10 here
Above Hilbert Inequality can be simplified
as following
[a][M][b] ≦ C∥a∥∥b∥---eqn.AC05 simplified
eqn.AC05 and eqn.AC05 simplified both left
hand side are math symbol. Numerical value
and rank three only is eqn.AC04 .
Hilbert found C=2PI and Schur found C=PI .
Again, please pay attention to eqn.AC05
left hand side use matrix in eqn.AC04 (to ∞)
right hand side use matrix in eqn.AC03 (to ∞)
right hand side use matrix twice, once for
sequence [a], once for sequence [b].
<a name="ch10h015">Index beginIndex this file
If start from Generalized Cauchy's Inequality
to prove Hilbert Inequality, then at start
point, equation both side must use same matrix
eqn.AC04. But Hilbert Inequality greater than
side use eqn.AC03 Identity matrix. To drop
terms from Generalized Cauchy's Inequality
greater than side, this is a difficult job.
Because to drop positive term from greater
than side, this procedure cause inequality
sign become uncertain.
(In fact, dropped cross terms, original
greater than side fall to less than side
then find a Schur constant C>1 to rise
was-big-now-small term to greater than
side again. 9807131258 add)
Following third method, avoid above
difficulty.
<a name="ch10h016">
2009-07-09-21-27 here
Please see eqn.AC05, find a C value to
make no-cross-product right hand side
greater than left hand side. The best
method is to find the maximum value of
left hand side. Left hand side not
involve C.
Left hand side is two vectors [a] and [b]
product with a matrix which has non-zero
off diagonal elements. If it were regular
Cauchy used identity matrix eqn.AC03, isn't
it wonderful? From two vector dot product
rule, we get maximum value if [a] and [b]
are parallel and same direction. Now it is
Hilbert matrix eqn.AC04. How to handle?
<a name="ch10h017">
Use simplest 3x3 Hilbert matrix to explain
[ x ]
λ[ y ]
[ z ]
=
[ 1/2 1/3 1/4 ]
[ 1/3 1/4 1/5 ]
[ 1/4 1/5 1/6 ]
[x]
[y]
[z]
-----eqn.AC06
equation width
<a name="ch10h018">
2009-07-09-21-50 here
Above is matrix eigenvalue λ and eigenvector
[x; y; z]. Why call it characteristic (eigen)
Is there something special?
A matrix rotate its input vector and stretch
its input vector. For example
[ 7/2+8/3+9/4 ]
[ 7/3+8/4+9/5 ]
[ 7/4+8/5+9/6 ]
=
[ 1/2 1/3 1/4 ]
[ 1/3 1/4 1/5 ]
[ 1/4 1/5 1/6 ]
[7]
[8]
[9]
-----eqn.AC07
equation width
<a name="ch10h019">
2009-07-09-21-57 here
[7; 8; 9] is input vector
Output vector components are next
7/2+8/3+9/4
=8.416666666666666
7/3+8/4+9/5
=6.133333333333334
7/4+8/5+9/6
=4.85
<a name="ch10h020">
Input vector ﹕[7; 8; 9 ]
Output vector﹕[8.416; 6.133; 4.85]
In/out component ratio are not constant.
7/8.416 = 0.831
8/6.133 = 1.304
9/4.85 = 1.855
In/out vectors direction changed and
magnitude changed.
<a name="ch10h020b"> 9807251310 add start
On the other hand, if output vector is
[14; 16; 18 ]
output/input component ratio are constant
14/7 = 2
16/8 = 2
18/9 = 2
then, output vector
[ 14; 16; 18 ]
can be written as
[ 2*7; 2*8; 2*9 ]
can be written as (move constant 2 out of vector)
2* [7; 8; 9 ]
<a name="ch10h020c">
this is output vector = 2* input vector
this means in/out two vectors are in same
direction. Stretch ratio is 2.
"same direction" is same as
"matrix can not rotate input vector"
Not rotatable vector is called eigenvector.
Its stretch ratio is called eigenvalue.
9807251321 add stop
<a name="ch10h021">Index beginIndex this file
What is eigenvector?
A vector that matrix can not rotate.
What is eigenvalue?
An eigenvector stretch degree.
How to explain? What is "A vector that
matrix can not rotate." ?
eqn.AC06 is a mathematical expression
of "A vector that matrix can not rotate"
3x3 matrix right hand side term [x; y; z]
is input vector.
eqn.AC06 left hand side λ[x; y; z] is
output vector.
Both in/out elements ratio are constant λ
which can be move out of vector. This
indicate that input vector and output
vector are in same direction
<a name="ch10h022">
Direction not change, so it is
"A vector that matrix can not rotate."
When LiuHH think to this point, suddenly
puzzle solved !! That is it !!
The maximum value of ∑aidijbj is to use
same eigenvector as sequence[a] and [b]
Use ∑aidijaj after ∑dijaj transform get
λ*aiai ,
Please see eqn.AC05 simplified left hand side
change [a][M][b] to [a][M][a]
[M][a] get λ[a](see eqn.AC06),so [a][M][a]
become [a]* λ[a], eigenvalue λ is a pure
number, not a vector. [a] * λ[a] is same as
λ[a][a], here [a][a] is two identical vector
dot product, use simplest identity matrix
eqn.AC03.
<a name="ch10h023">Index beginIndex this file
Hilbert Inequality become λ*aiai ≦ C*aiai
vector length cancel from both side.
Maximum value of ∑aidijbj is maximum
eigenvalue λ of the matrix dij
Must use maximum eigenvalue's eigenvector
for both [a] and [b].
Because eigenvector length cancel from both
side, at start up time require that
sequence [a] length to be one
sequence [b] length to be one
get same result.
<a name="ch10h024">
Constant C is the limit maximum eigenvalue
when matrix approach to infinite rank.
LiuHH did not find the Constant C
This file calculate numerical value upto
rank 55. Still far away from infinite
rank. Guess Limit value is Schur constant
3.141592653589793
(guess not Hilbert constant 2PI)
2009-07-09-22-40 stop
<a name="ch10h025">
2009-07-12-17-16 start
Brief key points
First, in [a][M][b] ≦ C∥a∥∥b∥---eqn.AC05 simplified
find C value, let right hand side
greater equal to left hand side.
methid is to find left hand side
maximum value. that is
find best vector [a] ( record as [a]0)
find best vector [b] ( record as [b]0)
Second, We know if matrix [M] is identity,
then vector [a]0 parallel to vector [b]0
get maximum value. But [M] is not identity
matrix, above rule do not apply.
Think, choose what vector as [a]0 and
choose what vector as [b]0?
Third, we know eigenvector is the vector
that matrix [M] can not rotate.
Answer is right here.
<a name="ch10h026">
Fourth, vector [a]0 and vector [b]0 both use
[M] matrix eigenvector. Change [a][M][b]
to [a]0[M][a]0. Use "[M] can not rotate"
property let [a]0 and [M][a]0 two vectors
be parallel.
[a]0 and [M][a]0 two vectors not have [M]
in between them. ([M] in [M][a]0 already
used, cannot re-use)[a]0 and [M][a]0 use
regular vector dot product rule.
Fifth, rank_n matrix has n eigenvector. For
example, rank 3 matrix has three
eigenvectors. Which one to choose?
Choose matrix [M] greatest eigenvalue
correspond eigenvector Because final
equation is λ*aiai ≦ C*aiai
λ is matrix [M] eigenvalue. C is Schur
constant. Only if use greatest eigenvalue
to build Schur constant, then we can
guarantee inequality is true for any value
of [a] and [b].
Hope above comments help entry level reader.
2009-07-12-17-57 stop
<a name="ch10h027">Index beginIndex this file
2009-07-11-11-57 record
What this page talk about, it is just one
word in expert page.
[[
2009-07-11-09-23 access
On Hilbert's Inequality in n dimensions
http://www.math.upenn.edu/~wilf/website/Hilbert%20Inequality.pdf
total four pages. First page middle say
Naturally, λn is just the largest eigenvalue
of the section [1/(μ+ν)] 〔μ,ν=1 to n〕
of Hilbert's matrix.
]]
where, λn is Schur constant C in
LiuHH file tute0009.htm
Wilf paper main point is to prove that λn
limit value is PI.
<a name="ch10h028">
2009-07-11-10-32 access
An Elementary Proof of Hilbert's Inequality
http://www.myoops.org/twocw/nctu/upload/fourier/supplement/hilbert%20inequality.pdf
Author is Krzysztof Oleszkiewicz
Freeman's web page target at general public.
Estimate average level is university freshman
level. Freeman explain in detail for Schur
constant is largest eigenvalue.
For the detail proof "Schur constant is PI",
please refer to above math.upenn.edu/~wilf
page or Krzysztof Oleszkiewicz page or
Professor Steele uploaded Chapter ten
2009-06-06-23-04 access
http://www-stat.wharton.upenn.edu/~steele/Publications/Books/CSMC/CSMC_HilbertandCompensatingDifficulties.pdf
The Cauchy-Schwarz Master Class.
ISBN 978-0-521-54677-5 (textbook)
Professor Steele uploaded Chapter one,
five and ten.
2009-07-11-12-20 stop
<a name="ch01b052">
2009-06-27-12-27 start write
Program to verify textbook page 13, line 14
equation. At most six number sequences.
Each seq. has
numbers
If sequence 1 proportional to sequence 2,
inequality become equality.
proportional
=
(box2 change)
Box 1
Box 2
Box 3
Box 4
Box 5
Box 6
Example
2 and 3 are equality.
output to box7
Box 7, answer
Box 8, debug
Verify test_chkEigens
9807170740
(0) All,
(1) one eigenvalue, one eigenvector, box1&2 input, box8 output
In/out location display here
Hint:
Output may contain error, Please verify first.
Program environment is MSIE 6.0, please use MSIE
eigenvalue ; r/s
0
1
2
3
4
matrix rank
Slow, output all eigenvalues.
(default output largest-rank largest eigenvalue for faster speed)
,
,
,
example
Box 9 define lower triangle matrix
not full matrix
Gen. Cauchy Inequality accept
two number sequences. Define
them in box1&2. Define lower
triangle matrix in box9.Output
right here. If eigenvalue < 0
inequality reverse. 9807021018
Box9 input, click left [eigen] button, box7 output;
if eigenvalue<0, Gen. Cauchy Inequality reverse.
If fill 55 to [matrix rank] box and click [Hilbert Matrix] button,
output eigenvalues from rank_2 to rank_55.
If [Slow, output all eigenvalues] is unchecked, output only maximum
eigenvalue of each rank. Otherwise, output all eigenvalues.
If click [only greatest], output only largest rank largest eigenvalue.
Purpose is to save time and see if increase matrix rank push Schur constant
to PI.
Code for eigenvector has been dropped. Too slow for large matrix.
9807101111
Gen. Cauchy accept only two number sequences.
Reg. Cauchy accept upto six number sequences.
If delete box3 then Reg. Cauchy work for two number sequences.
When both Gen./Reg. Cauchy work for two number sequences.
It is possible to compare their results.
Regular Cauchy Inequality use identity matrix.
Its diagonal elements are all one, other elements are all zero.
Cauchy Inequality:
[a][M][b]≦√{[a][M][a]}*√{[b][M][b]}
Generalized Cauchy Inequality use any symmetrical matrix.
Require all three [a][M][b], [a][M][a], [b][M][b] multiplication use SAME matrix.
If three matrix in one equation are not the same matrix, then it is not Generalized Cauchy Inequality.
[debug1] button create a matrix use elements i,j coordinates as element value.
Example [A] create textbook exercise 1.7 matrix.
Example [B] create textbook page 63 light-cone inequality matrix.
Box 1&2 first element is one, other elements are less than one for light speed is the upper limit.
Fill data in box 1&2 then click [Gen. Cauchy] button. 9807021908
Example [C] show that lower triangle matrix definition all numbers can be in just one line.
No need to make it triangle shape. 9807022101
Output may contain error, Please verify first.
Program environment is MSIE 6.0, please use MSIE
<a name="MakeTri0">
Build lower triangle matrix diagonal elements sequence number.
(human count-1=computer count; computer count+1=human count)
rank/total
Comma separate neighbor rank number-of-elements.
<a name="ch01b053">
2009-06-27-19-28 start
Above is six sequence Cauchy Inequality,
allow six sequence at one time.
Please pay attention to the following
First, If sequence one has five elements
other sequence read only five elements.
discard the remaining. If other sequence
do not have five elements, program fill
with zero.
Second, if work with two sequences, let box3
be empty.
Third, three sequences or more, the condition
for Cauchy inequality to become equality
is tight.
<a name=docB01>Index beginIndex this file<a name="docB02">
2009-07-09-17-40 start
Hilbert matrix greatest eigenvalue from
rank_2 to rank_55 is listed as below.
First number is rank_2 greatest eigenvalue
0.7310001560548971
0.875115059304769
0.9775562811513029
1.0559488408869697
1.1188586878864426
1.171048239916837
1.2154187387265376
1.2538590460650658
1.2876627160526881
1.317751619483054
1.3448042459583316
1.3693334145989821
1.3917354793079597
1.412322661860557
1.4313449771076058
1.449005507896917
1.4654712997322567
1.4808812929863204
1.4953522043858313
1.508982959299075
1.5218580808665196
1.5340503157140976
1.5456226925518366
1.5566301537221982
1.5671208611605727
1.5771372512908572
1.5867168942913358
1.5958931994515288
1.6046959983598221
1.6131520303111137
1.6212853488501908
1.6291176642489906
1.636668633588552
1.6439561077199183
1.6509963425261553
1.6578041804655201
1.6643932072437728
1.6707758875696505
1.6769636832362493
1.6829671562019532
1.6887960588864665
1.69445941352649
1.699965582133997
1.7053223283529714
1.7105368723077865
1.7156159393687808
1.7205658036217721
1.7253923267125253
1.7301009926405992
1.734696938995723
1.739184985061612
1.7435696571543422
1.7478552115133794
1.7520456550216296
Last line is rank_55 greatest eigenvalue.
Hope to see if this sequence approach to
PI=3.141592653589793
<a name="docB03">
Above is all greatest eigenvalues from
rank_2 to rank_55.
Below is all eigenvalues.
Rank_2 has 2 eigenvalues as below
0.7310001560548971
0.0189998439451029
(this is inserted by hand. 9807091207)
<a name="docB04">
2009-07-09-11-54
The following is rank_3 to rank_55 all
eigenvalues, hope to see if this sequence
approach to PI=3.141592653589793
[[
sqMatDim=56
m0size=1500
s0=1540, limit0=1500
9807091023
@@@
sqMatD01=3
## symmetry matrix has 3 eigenvalues as below.
0.875115059304769
0.0006466588800316326
0.04090494848186643
2009-07-09-11-55
]]
<a name="docB05">
2009-07-09-18-04 delete above
rank_3 to rank_55 all eigenvalues,
because user can fill '55' to
[matrix rank] box and check mark at
"[v] Slow, output all eigenvalues"
line, then click [Hilbert Matrix]
button to get same result.
(Output to box7)
<a name="docB06">Index beginIndex this file
2009-07-09-17-55
Hilbert use matrix element i,j index to
create element value, for example
row 1, column 1 : i=1,j=1 value=1/(1+1)
row 1, column 2 : i=1,j=2 value=1/(1+2)
row 2, column 1 : i=2,j=1 value=1/(2+1)
row 2, column 2 : i=2,j=2 value=1/(2+2)
Value at cell [1,2] and [2,1] are both 1/3
therefore, Hilbert matrix is a symmetry
matrix. To save memory storage write
full matrix as lower triangle matrix
2009-07-09-17-58
<a name="docB07">
Rank_5 lower triangle matrix is next
9807091717
0.5
0.3333333333333333 0.25
0.25 0.2 0.16666666666666666
0.2 0.16666666666666666 0.14285714285714285 0.125
0.16666666666666666 0.14285714285714285 0.125 0.1111111111111111 0.1
<a name="docB15">
2009-07-11-23-45 start
2009-07-11-16-06 in telephone,
sister told LiuHH
"Temporary shut down (Freeman) web site"
This is definite true. Because every
penny LiuHH spend come from sister.
This file
"Hilbert Inequality Schur Constant"
tute0009.htm is recent time last
upload file. Goodbye.
2009-07-11-23-48 stop
<a name="docB16">
2009-07-11-23-50
Today modify program add [only greatest]
button, program will output greatest rank
and greatest value eigenvalue (just one
eigenvalue) not output other value. Below
is Hilbert matrix greatest eigenvalue
[[
[upper limit] box =50000 (spend ten minutes)
2.0850279615305496
Last one is rank_316 matrix greatest eigenvalue.
=====changed code between two test run.=====
[upper limit] box =100000 (spend 34 minutes)
Second value is rank_447 matrix greatest eigenvalue.
2.137784019150516
]]
9807241629 note:
On 2009-07-18-11-14 change [upper limit] box
to [matrix rank] box.
2009-07-11-23-39 View from value increase trend,,
limit value to PI is possible.
Rank_447 matrix (100128 lower triangle matrix
elements) possibly reached personal computer
limit. If want to find rank_1000 Hilbert matrix
greatest eigenvalue, must use super computer.
(numerical verify Schur constant)
2009-07-11-23-56 stop
<a name="docB17">
2009-07-13-00-37 start
2009-07-12-19-51 Start write tute0009.htm
(not write English tute0008.htm yet, but
Chinese tutc0008.htm has been uploaded)
tute0008.htm limit Hilbert matrix to rank_10
at most. tute0009.htm not set limit, so
translate tute0009.htm first. Freeman's
web site may shut down at any time, LiuHH
is not sure if tute0008.htm can be uploaded
and display for few days.
2009-07-13-00-42 stop
<a name="docB18">
2009-07-13-09-45 start
If click 0 ,matrix element=1/(i+j)
get Hilbert original matrix.
"Update 2009-07-20" add three Hilbert matrix
If click 1 ,matrix element=1/max(i,j) text exercise 10.3
If click 2 ,matrix element=1/√(i*i+j*j)
If click 3 ,matrix element=1/(i*i+j*j) converge fast
2009-07-13-09-51 stop
<a name="docB19">Index beginIndex this file
2009-07-14-18-35
When test
[8 27]
[27 64]
found that LiuHH supposed that function eigens()
output first eigenvalue is greatest eigenvalue,
this is a wrong assumption !!
[[
sqMatD01=2
## symmetry matrix has 2 eigenvalues as below.
-2.8973006775534493
74.89730067755343
]]
Headache! Need to write program again!。
2009-07-14-18-38
2009-07-24-17-09 note: LiuHH modified program,
this file now, will NOT produce above sequence.
Now program will produce
74.89730067755343
-2.8973006775534493
<a name="docB20">
2009-07-24-22-06 start
Hilbert matrix definition equation is eqn.AC04
2009-07-13 and 2009-07-14 add more selections
Now there are total five selections
Selection 0 create matrix element=1/(i+j+r)
r=0 is regular Hilbert matrix.
Selection 1 create matrix element=1/max(i,j)
text exercise 10.3 matrix, constant=4
Selection 2 create matrix element=1/√(i*i+j*j)
Hilbert matrix #2
Selection 3 create matrix element=1/(i*i+j*j)
Hilbert matrix #3
Selection 4 create matrix element=1/pow(i+j,s)
example s=2: 1/(i+j)/(i+j)
<a name="docB21">
Selection 0 and 4 both read r/s box value
Selection 0 plus r/s box value=0, and
Selection 4 plus r/s box value=1, both
get regular Hilbert matrix.
2009-07-11-09-47 download
http://www.maths.lancs.ac.uk/~jameson/hilbert.pdf<a name="docB22">
2009-07-14-10-19 read
maths.lancs.ac.uk_~jameson_hilbert.pdf
This file page 7 (total 40 pages)
define A#= [1/(i+j-1)]
Based on this page, create r/s box, allow
user to modify Hilbert matrix.
Selection 0 use 1/(i+j+r),range is r=-1.99 to ∞
if r=-1 ,this is jameson_hilbert.pdf usage.
if r=-2 then [1,1] element value 1/(1+1-2) = ∞
not allow, so limit range from r=-1.99 to ∞
<a name="docB23">
Selection 4 use 1/[(i+j)^s] , s no limit.
if s=1, 1/[(i+j)^1] get regular Hilbert matrix.
if s=-1, 1/[(i+j)^(-1)] = i+j
element value become i+j , not 1/(i+j).
Selection 1,2,3,4 are LiuHH added function,
no theory base. Motivation is: why Hilbert
matrix 1/(i+j) approach to PI? Other symmetry
matrix approach to what special value?
Reader can use this file to explore this
question.
2009-07-24-22-40 stop
<a name="docB24">Index beginIndex this file
2009-07-20-18-22 start
This file "Hilbert's Inequality and Schur
Constant" tute0009.htm added new program
code. The following is how to use them.
Box1 to 6 are input space for six sequences
Cauchy Inequality. Box7 is answer and
box7 is [eigenvalue & vector] button output
box.
Box8 is [regular Cauchy] button debug output.
Box8 is Verify test_chkEigens [(0) (1) (2)]
button output box.
Box9 is lower triangle matrix definition box.
<a name="docB25">
First: Regular Cauchy Inequality.
six sequences Cauchy Inequality. Based on
textbook page 13 line 14 equation (b)
Input is box1 to 6. Answer output to box7.
Echo print input sequences to box8. Not
use box9. If problem is two sequences,
delete box3 value.
<a name="docB26">
Second: Generalized Cauchy Inequality. It
is based on textbook page 14 exercise 1.7
[Generalized Cauchy] button is on top of
box9. Input at box1 and box2 for two
number sequences definition. Use box9
to define lower triangle matrix.
Output to box9 right hand side web page.
and output to box8. Send output to web
page not to box10, that is because
Generalized Cauchy has chance to define
non-positive definite matrix, and
Generalized Cauchy Inequality will
change inequality direction.
If it is reversed, program print red
line alert. Only web page accept red
lines. Not box text.
<a name="docB27">
Third: to create Hilbert Matrix.
[Hilbert Matrix] button input at
[matrix rank] box. Eigenvalue output
to box7. Lower triangle matrix output
to box8. Rank progress index at status
bar of MSIE page lower left corner.
The purpose to create [Hilbert Matrix]
button is to observe constant approach
to PI=3.141592653589793
Tried several times, too time consuming
and too heavy output load. Then create
[only greatest] button, output only
greatest rank only greatest eigenvalue.
Other output all skipped avoid waste
system resources and to save time.
<a name="docB28">
Fourth: eigenvalue & vector
[eigenvalue & vector] input at box9,
define a lower triangle matrix. Output
at box7. This function was written by
J. vonNeumann and receive from
cephes27.zip. Newer version cephes28.zip
2009-07-04-13-33 http://www.moshier.net/
cephes28.zip: MS-DOS Distribution; size 1900KB.
http://www.moshier.net/cephes28.zip
function eigens( A, RR, E, N ) accept
only symmetric matrix.
<a name="docB29">
Above is Chinese version
"update 2009-07-13" already exist
program. Below is new add program.
2009-07-11-09-47 download
http://www.maths.lancs.ac.uk/~jameson/hilbert.pdf
2009-07-14-10-19 read
maths.lancs.ac.uk_~jameson_hilbert.pdf
Seventh page (total 40 pages) has
A#= [1/(i+j-1)]
Based on this observation, LiuHH
created r/s box, allow user to modify
Hilbert matrix
r/s
0
1
2
3
4
<a name="docB30">Index beginIndex this file
Above radio buttons are sample, not work.
The working buttons are here.
User click 0 or 1 or 2 or 3 or 4 then
click [Hilbert Matrix] button, program
generate Hilbert matrix, output to box8
If click 0, output to regular Hilbert
matrix. Other selection create similar
matrix. LiuHH hope to find out why
Mij=1/(i+j) approach to PI ? Other
symmetry matrix approach what constant?
One test, choose r/s=-3 click 4 and
assign rank number=2, click
[Hilbert Matrix] button get
[[
Next is rank_2 symmetry matrix
lower triangle elements.
8
27 64
]]
<a name="docB31">
Calculate
[[
8 27
27 64
]]
matrix eigenvalue
2009-07-14-18-35 get
[[
sqMatD01=2
## symmetry matrix has 2 eigenvalues as below.
-2.8973006775534493
74.89730067755343
]]
First number is not greatest eigenvalue!
(this file tute0009.htm already corrected
now output
Symmetric matrix has 2
eigenvalues as following
74.89730067755343
-2.8973006775534493
)
<a name="docB32">
Before 2009-07-14, LiuHH always rely on
function eigens( A, RR, E, N ) output
greatest eigenvalue as first number .
Wrong assumption!!
First number is NOT greatest eigenvalue !!
then start write function sortNumb()
2009-07-20-19-47 here
<a name="docB33">
Fifth: Re order number sequence.
Box 11, input number sequence
Box 12, output answer
There are two buttons
[Output New Index] and
[Output New Seq.]
Assume variable aa has the following value
[[
0.556
-0.145
0.302e3
-0.305e2
-0.088
]]
<a name="docB34">
aa[0] store 0.556
aa[1] store -0.145
aa[2] store 0.302e3
aa[3] store -0.305e2
aa[4] store -0.088
Click [Output New Index]
Function sortNumb() return
newOrder=
2
0
4
1
3
<a name="docB35">
That is from greatest value to smallest
value are
aa[2]
aa[0]
aa[4]
aa[1]
aa[3]
Click [Output New Seq.]
function bubble_1() return
302
0.556
-0.088
-0.145
-30.5
<a name="docB36">
function bubble_1() return already sorted
new number sequence.
function sortNumb() return need one more
step from new order index
to new number sequence.
Certainly function bubble_1() is better.
function bubble_1() is written by
Ted Jensen
Redwood City, California
tjensen@ix.netcom.com
July 1998
2000-02-16-01-57
http://www.netcom.com/~tjensen/ptr/pointers.htm
2000-02-16-02-05
http://home.netcom.com/~tjensen/
2009-07-26-16-03
http://pweb.netcom.com/~tjensen/ptr/ptrtut12.zip
http://pweb.netcom.com/~tjensen/ptr/pointers.htm<a name="docB37">
function sortNumb() written by LiuHH
Why not use bubble_1() ?
If LiuHH use bubble_1() to sort eigenvalue
then eigenvector can not move at same pace.
Just look at new ordered eigenvalue, LiuHH
do not know what to do with eigenvector.
eigenvalue and eigenvector are match pair.
Must move at same time. For this reason,
LiuHH write sortNumb() , with new sorted
index in hand, it is possible to re-order
both eigenvalue and eigenvector and not
actually move data around.
<a name="docB38">
Why say "not actually move data around" ?
Because new great to small sequence is
aa[2]
aa[0]
aa[4]
aa[1]
aa[3]
that is
aa[newOrder[0]]
aa[newOrder[1]]
aa[newOrder[2]]
aa[newOrder[3]]
aa[newOrder[4]]
<a name="docB39">
aa[] data no need to move around.
eigenvalue and eigenvector are match pair.
Now sort them, whether the result is still
match pair? How do I know? For this reason
write a verification program. Please see
document.
<a name="docB40">Index beginIndex this file
Sixth: verify eigenvalue & vector,for symmetric matrix
Web page has next two lines
[[
[eigenvalue & vector] Verify test_chkEigens (0) (1) (2) 9807170740
(0) All, (1) one eigenvalue, one eigenvector, box1&2 input, box8 output
]]
If click [(0)] input is box9, define
lower triangle matrix.
(forget box1&2, program find all
eigenvalue & vector)
If click [(0)] output is box8.
If all error are zero, then matrix and
eigenvalue & vector are a match set.
<a name="docB41">
click [(0)] check all eigenvalue & vector
click [(1)] check one eigenvalue & one vector
click [(2)] see here
click [(1)] input is box9, define
lower triangle matrix.
input at box1 for one eigenvalue
input at box2 for one eigenvector
click [(1)] output is box8, if error are
all zero, indicate correct.
If you suspect a matrix, eigenvalue and
eigenvector are not a correct set, use [(1)]
<a name="docB42">
Seventh: create lower triangle matrix
diagonal elements sequence number.
If [rank/total] box filled with rank number,
click [rank] button.
If box filled with elements total number,
click [total number] button.
Click either button
generate sequence which is
not multiplication-factorial
it is ADDITION-factorial minus one.
("minus one" because computer count
start from zero, not start from one.)
For example rank_3 lower triangle matrix
mat0=
6.6
1.1 5.5
2.2 3.3 7.7
<a name="docB43">
In computer it store in an array
mat0=[6.6, 1.1, 5.5, 2.2, 3.3, 7.7] <== this is value
mat0:[ 0 1 2 3 4 5 ] <== this is index
diagonal elements are 6.6 5.5 7.7
Location is mat0[0] and mat0[2] and mat0[5]
For rank_3 output 0,2,5
5 multiplication-factorial=1*2*3*4*5=120
5 ADDITION-factorial=1+2+3+4+5=15
<a name="docB44">
3 ADDITION-factorial=1+2+3=6
Human count start from one, get 6
Computer count start from zero, get 5
record as mat0[5]
Back to lower triangle matrix
mat0=
6.6
1.1 5.5
2.2 3.3 7.7
<a name="docB45">
matrix has six elements, if assign total
element number to be 6, click [total
number] button, get
0,2,5
Right most number 5 add one get 6, match
input value.
Right most number 5 is third number, this
is a rank_3 matrix.
<a name="docB46">
If assign total number to be 5 or 7, what
do we get? If input 7 , get
0,2,5,9
indicate 1,3,6,10 are right total number.
If fill wrong total number in box9, program
stop running.
2009-07-20-21-02 stop
<a name="docB47">
2009-07-20-23-31 start
page line
[[
[eigenvalue & vector] Verify test_chkEigens (0) (1) (2) 9807170740
]]
Added (2), (0) and (2) both verify all
eigenvalues and vector, the difference is
(0) output max./total error
(2) output max./total/detail error
2009-07-20-23-35 stop
<a name="docB48">Index beginIndex this file
2009-07-23-10-05 start
2009-07-19-09-58 put lower triangle matrix
multiply with vector code to a separate
function triMatVec(mat0,eigVec,eigVal)
2009-07-22-22-15 include to tute0009.htm
add three buttons as below
[a][M][b] and [M][b] and λ[b]-[M][b]
[a] and [b] are vectors.
[M] is symmetry matrix lower triangle part.
λ is eigenvalue of [M]
λ has an eigenvector [b].
<a name="docB49">
button "[a][M][b]" output to box9 right
hand side web page.
read [a] from box7
read [M] from box9
read [b] from box8
[a][M][b] output to a number, not a vector
[a][M][b] is vector [a] dot vector [M][b]
[Generalized Cauchy] button get same result
but mixed with other result. Not as clear
as button "[a][M][b]".
<a name="docB50">
button "[M][b]" output to box7
read [M] from box9
read [b] from box8
Verify test_chkEigens [(1)] button may get
similar answer,
if fill 0 in box1 as 'eigenvalue'
fill eigenvector in box2
fille lower triangle matrix in box9,
then click [(1)] button.
Output to box8, you will find -[M][b]
not +[M][b]
(button "[M][b]" report +[M][b])
<a name="docB51">
button "λ[b]-[M][b]" output to box6
define eigenvalue λ at box7
define lower triangle matrix [M] in box9
define eigenvector [b] at box8
Verify test_chkEigens [(1)] button get
same answer.
2009-07-23-10-32 stop
<a name="docB52">
2009-07-26-18-49 start
2009-07-26-15-10 upload this file tute0009.htm
as ansi code. Then in input/output box message
show up
Cauchy said: sum2 ≦ sum3
"≦" is not readable!
Also when read the source code,
ALL MATH SYMBOL ARE INTERNAL CODE "≦"
LiuHH decide to use Unicode again. Price is
larger file size.
2009-07-26-18-52 stop
<a name="docB53">
2009-07-27-20-16 start
2009-07-27 LiuHH added several comments
to functions in this file. Hope other read
code easier. Please find key string '980727'
in this file source code.
2009-07-27-20-19 stop
<a name="docB54">
2009-10-19-17-02 start
9810191702
9810191703
Integer eigenvalue Symmetric matrix
6 -2 -1
-2 6 -1
-1 -1 5
Symmetric matrix has 3
eigenvalues as following
8
6
3
eigenvalue=
8
has eigenvector as below
+1/√(2) = 0.7071067811865476
-1/√(2) = -0.7071067811865475
0
eigenvalue=
6
has eigenvector as below
-1/√(6) = -0.40824829046386313
-1/√(6) = -0.4082482904638632
2/√(6) = 0.8164965809277259
eigenvalue=
3
has eigenvector as below
1/√(3) = 0.5773502691896256
1/√(3) = 0.5773502691896257
1/√(3) = 0.577350269189626
2009-06-24-23-33 LiuHH access
http://folk.uio.no/torkelah/Prosjekt.pdf
2009-10-19-17-25 stop
<a name=20091217>
2009-12-17-11-09 start
Update 2009-12-17 change all tute*.htm
(from tute0007.htm to tute0023.htm)
first:
Correct 'Limit' link from '#docA06'
to '#docA006'
second:
Change Javascript index to read from
jslist1e.js so that update jslist1e.js
then update ALL tute*.htm.
2009-12-17-11-23 stop
LiuHH is not a programmer.
LiuHH is a programming admirer.
The code may not be efficient.
9807272036