c# parse pdf data : Batch update pdf metadata SDK software service wpf winforms windows dnn xnumbers-tutorial19-part889

Xnumbers Tutorial 
90 
Polynomial Solving 
=PolySolve (Polynomial) 
This function returns the roots of a given real polynomial using the Jenkins-Traub algorithm.  
n
n
a x
ax a a x
a
...
2
2
1
0
+
+
+
The arguments can be a monovariable polynomial strings like "X^2+3x+2" or a vector of 
coefficients 
This function returns an (n x 2) array. 
It uses the same algorithm of the RootfinderJT macro. It works fine with low-moderate degree 
polynomials, typically up to 10
th
degree. For higher degree it is more convenient to use the 
macro. 
Example. Find all roots of the given 10 degree polynomial 
Integer polynomial  
=PolyInt(Polynomial)  
This function returns a polynomial with integer coefficients having the same roots of the given 
polynomial. This transformation is also know as "denormalization" and can be useful when the 
coefficients of the normalized polynomial are decimal. 
Example: Given thefollowing polynomial:  
-0.44+2.82x-3.3x^2+x^3 
To eliminate decimal coefficients we denormalize the polynomial 
-22+141x-165x^2+50x^3 = PolyInt("-0.44+2.82x-3.3x^2+x^3") 
Take care with the denormalization because the coefficients became larger and the 
computation may lose accuracy. See the example below 
The following polynomials have the same root  x = 11/10: 
Pb(x)  = -2.4024+10.1524x-17.1x^2+14.35x^3-6x^4+x^5 
Pa(x)  = -6006+25381x-42750x^2+35875x^3-15000x^4+2500x^5 
Batch update pdf metadata - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
change pdf metadata; pdf metadata editor online
Batch update pdf metadata - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
extract pdf metadata; pdf metadata editor
Xnumbers Tutorial 
91 
If we compute both polynomials for x = 11/10, with standard double precision we get: 
Pa(1.1) = -2.664E-15 
Pb(1.1) =  4.547E-12 
As we can see, the first value, obtained by the decimal polynomial, is 1000 times more precise 
then the one obtained by the integer polynomial 
Polynomial System of 2
nd
degree 
=SYSPOLY2(Poly1, Poly2)   
Solves a system of two 2
nd
degree polynomials.  
=
+
+
+
+
+
=
+
+
+
+
+
0
0
20
25
24
2
23
22
2
21
10
15
14
2
13
12
2
11
a x x a a y y a
a y
a xy
a x
a x x a a y y a
a y
a xy
a x
It returns a (4 x 4) array containing the four solutions.  
The parameters "Poly1" and "Poly2" can be coefficients vectors or polynomials strings 
The coefficients must be passed in the same order of the above equation. 
Polynomial strings, on the contrary, can be written in any order. Examples of 2
nd
degree x-y 
polynomials strings are: 
13+x+y^2-y+x^2+2x*y 
x^2 + y^2 - 10 
4x^2+8x*y+y^2+2x-2  
Note: the product symbol “*” can be omitted except for the x*y mixed term 
A 2
nd
degree system can have up to four solutions. It can also have no solution (impossible) or 
even infinite solutions (undetermined). The function returns  #N/D if a solution is missing 
Example: solve the following system 
=
+
+ − − =
+
+
0
10
0
2
2
2
2
2
y
x
x y
y
xy
x
Using SYSPOLY2 the solutions – real or 
complex – can be obtained in a very quick 
way 
Real solutions represent the intersection 
point of the curve poly1 and poly2.  
They are: P
1
= (−3 , 1)  ,  P
2
= (−1 , 3)       
The system has also two complex solutions that have not a geometrical representation 
P
3
= (2.5 +j 1.118034 , −2.5 +j 1.118034)   , P
4
= (2.5 −j 1.118034 , −2.5 −j 1.118034)     
The degree of the given system is 4 
Example: solve the following system 
+ + − − =
+
− =
1 0
2
1 0
2
x y
y
xy
xy
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. Professional .NET PDF converter component for batch conversion.
read pdf metadata; view pdf metadata
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. Best and free VB.NET PDF to jpeg converter SDK for NET components to batch convert adobe
batch pdf metadata; pdf metadata viewer online
Xnumbers Tutorial 
92 
The apparent degree of the system is 2 x 2 = 4 
As we can see, the function SYSPOLY2 returns only three solutions: one real and two 
complex. 
P
1
= (−1, −1) ,     P
2
= (−j , j ) ,       P
3
= = ( j , −j )  
Thus, the actual system degree is 3. 
Bivariate Polynomial   
=POLYN2(Polynomial, x, y, [DgtMax]) 
Returns the value - real or complex - of a bivariate polynomial P(x, y). 
The parameter "Polynomial" is an expression strings. Valid examples are: 
13+x+y^2-y+x^2+2x*y , x^2+y^2-10 , 8x*y+y^2+2x-2 , 10+4x^6+x^2*y^2 
Note: the product symbol “*” can be omitted except for the x*y mixed terms 
The third optional parameter DgtMax sets the multiprecision. If missing, the computation is 
performed in faster double precision. 
The variables x , y can be real or complex. The function can return real or complex numbers. 
Select two cells if you want to see the imaginary part and give the CTRL+SHIFT+ENTER 
sequence 
Example: Compute the polynomial  
x y
y
xy
P x
+ −
+
+
=
2
2
2
at the point  
x = (2.5 + j 1.11803398874989)  
y = (−2.5 + j 1.11803398874989)  
Verify that it is a good approximation of the 
polynomial root 
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
NET control to batch convert PDF documents to Tiff format in Visual Basic. Qualified Tiff files are exported with high resolution in VB.NET.
c# read pdf metadata; pdf keywords metadata
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
project. Professional .NET library supports batch conversion in VB.NET. .NET control to export Word from multiple PDF files in VB.
online pdf metadata viewer; bulk edit pdf metadata
Xnumbers Tutorial 
93 
Partial fraction decomposition    
Partial fraction decomposition is the process of rewriting a rational expression as the sum of a 
quotient polynomial plus partial fractions.. 
+
=
+
=
i
F
Q x
Dx
R x
Q x
Dx
N x
( )
( )
( )
( )
( )
( )
where each F
i
is a fractions of the form 
m
m
x p
A
x p
A
x p
A
)
(
...
)
(
2
2
1
+
+
+
+
+
or 
m
m
m
c
bx
x
B x x C
c
bx
x
Bx C
c
bx
x
Bx C
)
(
...
)
(
2
2
2
2
2
2
1
1
+
+
+
+
+
+
+
+
+
+
+
being m is the multiplicity of the correspondent root 
The denominators D(x) is determined from the poles of the fractions itself. In fact, p is a real 
root of D(x), while the quadratic factor can be obtained from the complex root using the 
following relation 
2
2
    ,
2
β
α
α
β
α
+
=
=−
±
c
b
i
(1) 
Many calculators and computer algebra systems, are able to factor polynomials and split 
rational functions into partial fractions. A solution can also be arranged in Excel with the aid of 
Xnumbers functions. Let's see 
Real single poles. Find the fraction decomposition of the following rational fraction 
54
105
65
15
1794
1433
276
3
( )
( )
2
3
4
2
3
+
+
+
+
=
x
x
x
x
x
x
x
D x
N x
First of all, we try to find the roots of the denominator using, for example, the function 
polysolve. We find that the roots are  p
i
= [1, 2, 3, 9]. They are all real with unitary multiplicity, 
therefore the fraction expansion will be 
4
4
3
3
2
2
1
1
( )
( )
x p
A
x p
A
x p
A
x p
A
Dx
N x
+
+
+
+
+
+
+
=
where p
i
are the roots and A
i
are unknown 
Several methods exist for finding the fraction coefficients A
. One of the most straight and 
elegant is due to Heaviside that, for a real single root, simply states: 
'( )
( )
i
i
i
D p
N p
A =
where D'(x) is the derivative of D(x) 
A possible arrangement in Excel is the following 
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Batch merge PDF documents in Visual Basic .NET class program. Merge two or several separate PDF files together and into one PDF document in VB.NET.
read pdf metadata java; pdf metadata viewer
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Studio .NET project. Powerful .NET control to batch convert PDF documents to tiff format in Visual C# .NET program. Free library are
pdf metadata reader; adding metadata to pdf files
Xnumbers Tutorial 
94 
Therefore, the searched decomposition is 
9
40
3
5
2
8
1
40
54
105
65
15
1794
1433
276
3
2
3
4
2
3
+
+
+
+
+
+
=−
+
+
+
+
x
x
x
x
x
x
x
x
x
x
x
You can prove yourself that this expression is an identity, thus always true for every x, except 
the poles. 
Complex single poles. Find the fraction decomposition of the following rational fraction 
650
42
29
2
123
52
21
( )
( )
2
3
4
2
3
+
+
+
=
x
x
x
x
x
x
x
D x
N x
First of all, we try to find the roots of the denominator using, for example, the function 
polysolve. We find that the roots are 
{ 5 5 2  ,  4 4 3 }
i
i
p
− ±
±
=
. They are complex with unitary 
multiplicity, therefore the fraction expansion will be 
2
2
2
2
2
1
1
2
1
1
( )
( )
bx c
x
Bx C
bx c
x
Bx C
D x
N x
+
+
+
+
+
+
+
=
where b
i
and c
i
, calculated by the (1), are 
25
 ,
26  ,
10  ,
2
2
1
1
=
=
=
=−
=
c
b
c
b
The coefficients B
i
and C
i
are unknown. For solving them we used here the so called 
undetermined coefficients method 
Renamed, for simplicity: 
2
2
2
2
1
1
2
1
( )
   ,
( )
bx c
x
D x
bx c
x
D x
+
+
=
+
+
=
The fraction expansion may be rewritten as 
( )
( )
( )
( )
( )
( )
2
2
2
2
1
1
1
1
D x
C
D x
B x
D x
C
x
D x
B x
D x
N x
+
+
+
=
Giving 4 different values to x, the above relation provides 4 linear equations with the unknown 
B
1
, C
1
, B
2
, C
2
, that can be easily solved. We can choose any value that we want; for example x
i
= { 0, 1, 2, 3 } and we get the following linear system 
1/26 
1/25   
B1   
123/650 
1/17    1/17    1/34    1/34 
C1 
9/34  
1/5     1/10    2/45    1/45 
B2 
3/10  
3/5  
1/5     3/58    1/58   
C2   
63/290 
Solving this linear system by any method that we like, for examply by SYSLIN , we get the 
solution 
[B
1
, C
1
, B
2
, C
2
] = [-2 , 7 , 1 , -2] 
Substituting these values, we have finally the fraction decomposition 
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Powerful components for batch converting PDF documents in C#.NET program. Convert PDF to multiple MS Word formats such as .doc and .docx.
remove pdf metadata; search pdf metadata
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
NET components for batch combining PDF documents in C#.NET class. Powerful library dlls for mering PDF in both C#.NET WinForms and ASP.NET WebForms.
view pdf metadata in explorer; remove metadata from pdf online
Xnumbers Tutorial 
95 
25
8
2
26
10
7
2
650
42
29
2
123
52
21
2
2
2
3
4
2
3
+
+
+
+
+
=
+
+
+
x
x
x
x
x
x
x
x
x
x
x
x
x
You can prove yourself that this expression is always valid for any compatible value of x 
A possible arrangement for solving this 
problem In Excel is a bit more 
complicated then the previous one. 
Let's see. First of all we compute the 
roots with the function Polysolve;  then 
we compute the trinomials D1(x) and 
D2(x) by the formulas (1)  
Then we compute the polynomials N, D, D1, D2 for each values of x by the function polyn. We 
get the 4x5 table visible at the right 
From this table we get the complete system matrix in the following way. 
The 4 x 4 linear system can be solved by any method that you want. For example by matrix 
inversion as shown in the example. 
Xnumbers Tutorial 
96 
Orthogonal Polynomials    
Orthogonal polynomials are a class of polynomials following the rule: 
=
b
a
n
mn
n
m
c
wx p p x x p p x x dx
δ
( ) ) ( ( ) ) ( ( )
Where m and n are the degrees of the polynomials, w(x) is the weighting function, and c(n) is 
the weight. 
mn 
δ
is the Kronecker's delta function being 1 if n = m and 0 otherwise. 
The following table synthesizes the interval [a, b], the w(x) functions and the relative weigh c(n) 
for each polynomials family 
polynomial 
interval  w(x) 
As we can see we have insert Poly_Legendre  as a standard function, because in this 
exercise we do not need the derivative information 
Example.  Find the greatest zero of the 5
th
degree Legendre polynomial 
We can use the Newton-Raphson method, 
starting from x = 1, as shown in the 
worksheet arrangement. 
Both polynomial and derivative are obtained 
from the Poly_Legendre simply selecting 
the range B5:C5 and pasting the function as 
array with CTRL+SHIFT+ENTER sequence. 
The other cells are filled simply by dragging 
down the range B5:C5 
1
Many thanks to Luis Isaac Ramos Garcia for his great contribution in developing this software 
Xnumbers Tutorial 
98 
Function Poly_ChebychevT(x, [n]) 
Function Poly_ChebychevU(x, [n]) 
Evaluate the Chebychev orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa, 
n (integers) is the degree. Default n = 1 
Function Poly_Gegenbauer(L, x, [n]) 
Evaluate the Gegenbauer orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa,  
n (integers) is the degree. Default n = 1 
L (real) is the Gegenbauer factor and must be L < 1/2 
Function Poly_Hermite(x, [n]) 
Evaluate the Hermite orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa,  
n (integers) is the degree. Default n = 1 
Function Poly_Jacobi(a, b, x, [n]) 
Evaluate the Jacobi orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa,  
n (integers) is the degree. Default n = 1 
a (real) is the power of (1-x) factor of  the weighting function 
b (real) is the power of (1+x) factor of  the weighting function 
Function Poly_Laguerre(x, [n], [m]) 
Evaluate the Laguerre orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa,  
n (integers) is the degree. Default n = 1 
m (integer) is the number of generalized polynomial. Default m = 0 
Function Poly_Legendre(x, [n]) 
Evaluate the Legendre orthogonal polynomial of 1st and 2nd kind 
Parameters: 
x (real) is the abscissa,  
n (integers) is the degree. Default n = 1 
Xnumbers Tutorial 
99 
Weight of Orhogonal Polynomials    
This set of functions calculate the weight c(n) of each orthogonal polynomial p(x, n) 
[
]
=
b
a
n
n
dx
wx p p x
c
( ) ) ( ( )
2
Function Poly_Weight_ChebychevT(n) 
Chebychev polynomial of the first kind 
Function Poly_Weight_ChebychevU(n) 
Chebychev polynomial of the second kind 
Function Poly_Weight_Gegenbauer(n, l) 
Gegenbauer polynomial 
Function Poly_Weight_Hermite(n) 
Hermite polynomial 
Function Poly_Weight_Jacobi(n, a, b) 
Jacobi polynomial 
Function Poly_Weight_Laguerre(n, m) 
Laguerre generalized polynomial 
Function Poly_Weight_Legendre(n) 
Legendre polynomial 
If we divide each orthogonal polynomial family for the relative weight we have an orthonormal
polynomial family 
Zeros of Orthogonal Polynomials    
This macro finds all roots of the most popular orthogonal polynomials 
Its use is very easy.  
Simply start the Zero macro from the menu 
"tools > Ortho-polynomials..." 
Choose the family and the degree that you 
want and fill the optional parameters 
Then press OK 
This is an example of output for a 
Laguerre polynomial of 6
th
degree  
( m = 0) 
Note: the format is added for clarity. 
The macro does not do this 
Documents you may be interested
Documents you may be interested