Hilbert's Inequality and Schur Constant
index   this   program   docA   Update 2009-12-17
XYGraph v2.3 - web page graph   ☜☞   donate   get code
The Cauchy-Schwarz Master Class   J. Michael Steele   ★★★★★
This file is personal home work. No one
proofread. Cannot promise correctness.
If you suspect any view point wrong,
please ask a math expert near by.
Freeman 2009-06-19-10-46

Please use MSIE browser to read this file.
Did not test other browser. This file is
written under MSIE 6.0

<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 Professor J. Michael Steele
The 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 begin Index 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 begin Index 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 begin Index 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 begin Index 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 begin Index 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 begin Index 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 begin Index 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


2009-01-26-08-41 save as C:\$fm\upload\fm\inequal0.htm
<a name="textbook">
2008-11-03-20-15 click purchase
2008-11-06-13-11 receive
An introduction to the art of mathematical inequalities
http://www-stat.wharton.upenn.edu/~steele/Publications/Books/CSMC/CSMC_index.html
The Cauchy-Schwarz Master Class. ISBN 978-0-521-54677-5
J. Michael Steele http://www-stat.wharton.upenn.edu/~steele/index.html
★★★★★

<a name="ch01b052">
2009-06-27-12-27 start write
Program to verify textbook page 13, line 14
equation. At most six number sequences.
<a name="Cauchy_6"> Index begin Index this file
■ Program: Six sequences Cauchy's Inequality 2009-06-27-12-30 here
Program result square rooted, textbook squared.
Output may contain error, Please verify first.
Program environment is MSIE 6.0, please use MSIE

This file is designed for Hilbert matrix, it has button.
Hilbert matrix is a symmetric matrix, Mij=Mji . Eigenvalue is in between zero and PI.
Eigenvalue output to box7, lower triangle matrix output to box8
Input is a matrix-rank box.
If fill in 14 output rank_14 matrix (105 lower triangle matrix elements)
If fill in 55 output rank_55 matrix (1540 lower triangle matrix elements) 9807100959
Previous file tute0008.htm box9 limit at most rank_10.
This file tute0009.htm size is determined by matrix-rank box value.

Program has three functions.
First, Regular Cauchy Inequality.
Second, Generalized Cauchy Inequality
Third, Matrix eigenvalue and eigenvector
Both second and third made note around box9 indicate where is input and output.
If box1 to box6 all filled data, program handle six array regular Cauchy Inequality.
If box4 is empty, program handle three array regular Cauchy Inequality.
Please fill array numbers to box1 to box6, for test purpose, you can click 'random number'
Regular Cauchy Inequality ***** output to box7 ***** below.

Random range less than one, less than ten,
or 10^ ; random number +/0 , +/0/-
random number has digits ; integer only
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 begin Index 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 begin Index 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 begin Index 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
 Index begin Index this file
<a name="docB24"> Index begin Index 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 begin Index 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 begin Index this file
Sixth: verify eigenvalue & vectorfor 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 begin Index 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 &#8806; sum3
"&#8806;" is not readable!
Also when read the source code, 
ALL MATH SYMBOL ARE INTERNAL CODE "&#8806;"
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



<a name="sortnumb"> Index begin Index this file
Sort number not text string
Output may contain error, Please verify first.
Program environment is MSIE 6.0, please use MSIE

 
Box11 accept only numbers, not name list, not non-number string.
Box 11, input number sequence

Box 12, output answer

This file sort numbers, if it were sort string, then e2, e3 go wrong.
2009-07-15-11-18 start sortNumb()
2009-07-15-18-40 done sortNumb()



Javascript index
http://freeman2.com/jsindex2.htm   local
Save graph code to same folder as htm files.
http://freeman2.com/jsgraph2.js   local


This file: Hilbert's Inequality and Schur Constant
http://freeman2.com/tute0009.htm
Chinese version
http://freeman2.com/tutc0009.htm
First upload 2009-07-26

Thank you for visiting Freeman's page. 
Freeman
2009-07-25-12-58