﻿

# c# parse pdf data : Remove metadata from pdf online SDK software service wpf winforms windows dnn xnumbers-tutorial18-part888

Xnumbers Tutorial
80
Note the braces { } in the formula. This indicates that the function return a vector. We must
select the range before enter the function with "shift+ctrl+enter".
Polynomial writing
=PolyWrite(Coefficients, [variable])
It returns the polynomial string from its coefficients.
The first argument may be a (1 x n) vector  or an (2 x n) array. In the last case, the first row
indicates the coefficient position and the second row contains the correspondent coefficient
value.
The second optional argument specifies the variable string (default is "x").
Note that the second argument "t" must be insert as string, that is between quotes "..."
Performs the addition of two polynomials. The arguments are monovariable polynomial strings.
Example:
PolyAdd("1-3x" , "-2-x+x^2")  =  "-1-4x+x^2" .
Polynomial multiplication
=PolyMult(Poly1, Poly2)
Performs the multiplication of two polynomials  The arguments are monovariable polynomial
strings.
Example:
PolyMult("1-3x" , "-2+5x+x^2") =  "-2+11x-14x^2-3x^3" .
(
)
(
)
3
2
2
3
14
11
2
2 5
1 3
x
x
x
x x
x
=− +
+
− +
Remove metadata from pdf online - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
Xnumbers Tutorial
81
Polynomial subtraction
=PolySub(Poly1, Poly2)
Returns the difference of two polynomials. The arguments are monovariable polynomial strings.
Example:
PolySub("1-3x" , "-2+5x+x^2") = "3-8x-x^2" .
Polynomial division quotient
=PolyDiv(Poly1, Poly2)
Returns the quotient of two polynomials. The arguments are monovariable polynomial strings.
Example:
PolyDiv("x^4-1" , "x^2-x-1") = "2+x+x^2" .
In fact:
(
)
(
)
x
x x
x
x
x
1 3
1 2
1
2
2
4
+ +
+ +
− −
− =
Polynomial division remainder
=PolyRem(Poly1, Poly2)
Returns the remainder of two polynomials
The arguments are monovariable polynomial strings.
VB.NET PDF remove image library: remove, delete images from PDF in
Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process.
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Ability to remove consecutive pages from PDF file in VB Enable specified pages deleting from PDF in Visual Basic Online source codes for quick evaluation in VB
Xnumbers Tutorial
82
Hermite’s and Cebychev’s polynomials
By the basic operations we can build any other polynomial.
Example: Calculate the first 9
th
degree Cebychev’s and Hermite’s polynomials
Cebysev’s polynomials can be obtained by
the iterative formula
Hermite’s polynomials can be obtained by
the iterative formula
x
T
T
=
=
1
0
,
1
1
2
+
⋅ −
=
n
n
n
T
x T
T
x
H
H
=
=
1
0
1  ,
1
1
2
2
+
=
n
n
n
n H
x H
H
The two iterative formulas can be arrange as:
=polysub(PolyMult("2x",T
n
),T
n-1
=polysub(PolyMult("2x",H
n
),PolyMult(2*n,H
n-1
))
These functions are inserted from the cell B4 to B9 and C5 to C9
Legendre’s Polynomials
Legendre’s polynomials can be obtained by the following well known iterative formula
x
P
P
x
P
n
n
x
x P
n
n
P x
n
n
n
=
=
⋅ ⋅
=
1
0
2
1
1  ,
( )     ,
1
( )
1
2
( )
The first five polynomials are:
(
)
(
)
(
)
3
30
35
8
1
,
5
2
1
1 ,
3
2
1
,
1  ,
2
4
4
3
3
2
2
1
0
+
=
=
=
=
=
x
x
P
x
x
P
x
x P
P
P
The above formula is very popular, but from the point of view of numeric calculus has one
disadvantage: its coefficients are decimal and this causes round-off errors leading inaccuracy
for higher polynomial degree. It is convenient to rearrange the iterative formula to avoid
fractional coefficients.
Let’s assume that a Legendre’s polynomial can be written as
( )
1
( )
L x
k
P x
n
n
n
=
Where k
n
is an integer number and L
n
(x) is a polynomial having integer coefficients
The Legendre’s polynomial P
n
(x) is completely defined by the couple of (k
, L
n
(x))
Starting with
(1a)
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Free online C# class source code for deleting specified PDF pages in .NET console application. Able to remove a single page from PDF document.
Support to add password to PDF document online or in C# String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and
Xnumbers Tutorial
83
1
1
1
0
=
=
k
k
x
L
L
=
=
1
0
1
We can show that the following iterative process, with n ≥ 2 , gives the couples (k
, L
n
(x))
( )
( )
( )
( )
( 1)
1)
(2
( )
2
1
1
2
x
x a a L
V x x U U x L
n
k
a
x
n
k
U x
n
n
n
n
n
n
n
n
n
=
⋅ −
=
=
(
)
( )
,
2
1
n
n
n
n
n
n
V
coef
b
GCD
c
k
n k
b
=
= ⋅
=
Where the coeff operator returns the coefficients vector of the polynomial V
n
(x), and the GCD is
the greatest common divisor.
Simplifying, we get, finally the couple (k
, L
n
(x))
( )
1
( )
V x
c
L x
c
b
k
n
n
n
n
n
n
=
=
This iterative algorithm, working only with integer values, is adapted to build Legendre’s
polynomials with high degree.
Let’s see how to arrange a worksheet for finding Legendre’s polynomial
In the first column we insert the degree n, beginning from 0 to 2, for the moment
In the last two columns “k” and “L(x)” we have added the starting values.
The row 6 contains all the functions that the process needs.
In particularly we note:
The function polyterms(D6) gives the coefficients vectors [-1, 0, 3] of V(x) = -1+3x^2
The function xMCD returns the greatest common divisor of [-1, 0, 3, 2] ⇒ 1
Select the row 6 and drag it down. We generate the Legendre’s polynomial in the form (1a)
C# PDF remove image library: remove, delete images from PDF in C#.
Text in PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Cut Image in Page. Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Ability to remove and delete bookmark and outline from PDF document. Merge and split PDF file with bookmark. Save PDF file with bookmark open.
Xnumbers Tutorial
84
Here is a table of Legendre’s polynomials obtained with the above method
L(x)
-1+3x^2
-3x+5x^3
3-30x^2+35x^4
15x-70x^3+63x^5
16
-5+105x^2-315x^4+231x^6
16
-35x+315x^3-693x^5+429x^7
128
35-1260x^2+6930x^4-12012x^6+6435x^8
128
315x-4620x^3+18018x^5-25740x^7+12155x^9
10
256
-63+3465x^2-30030x^4+90090x^6-109395x^8+46189x^10
11
256
-693x+15015x^3-90090x^5+218790x^7-230945x^9+88179x^11
12
1024
231-18018x^2+225225x^4-1021020x^6+2078505x^8-1939938x^10+676039x^12
13
1024
3003x-90090x^3+765765x^5-2771340x^7+4849845x^9-4056234x^11+1300075x^13
We can also extract a table of Legendre’s coefficients by the Polyterms() function
VB.NET PDF delete text library: delete, remove text from PDF file
to remove text format by modifying text font, size, color, etc. Other PDF edit functionalities, like add PDF text, add PDF text box and field. Online .NET
Remove password from PDF. Dim outputFilePath As String = Program.RootPath + "\\" Remove.pdf" ' Remove password in the input file and output to a new file.
Xnumbers Tutorial
85
Polynomial shift
=PolyShift(Poly, x0)
Performs the polynomial translation to x
0
,
The argument "Poly" can be the polynomial strings or the vector of polynomial coefficients.
This function returns the coefficient vector of the translated polynomial.
If you select one cell, the output will be a polynomial string
Example. Given the polynomial:
6
5
4
3
2
144
8633
275809
4952504
47389623
188784918
x
x
x
x
x
x
+
+
+
substituting x with  z+24, we have
6
4
3
2
9
16
9
18
z
z
z
z
z
+
+
This function is useful for transforming polynomial for reducing the coefficients amplitude and
improving the precision of rootfinder methods. In this example we work with coefficients of two
maximum digits, instead of 9 digits. We note also that the second polynomial, having the
second coefficient = 0, is centered. His roots are the same of the given polynomial, translated
of 24, but can be factorize much better. In fact, we have
9)
2)(
1)(
(
2
2
2
+ +
− +
z
z
z
z
z
Polynomial center
=PolyCenter(Coefficients)
Returns the center of the polynomial roots circle
The argument specifies the vector of the polynomial coefficients in the following order:
[
]
n
a a a a a a
, , ...
2
1
0
It can also be a polynomial string
if x
1
, x
2
, ...x
n
are roots of polynomial the center Bx is defined as:
n
a
n
x
x x
x
n
n
x
1
2
1
0
...
B
=
+
+ +
+
=
Xnumbers Tutorial
86
Returns the approximated radius of the polynomial roots circle.
The argument is the vector of the polynomial coefficients in the following order:
[
]
n
a
a a a a
, , ...
2
1
0
It can also be a polynomial string
If z
i
are the roots of a polynomial, the radius is defined as:
|)
(|
max
1...
i
n
i
z
R
=
=
.The circle of root is very useful for locating all the roots of a polynomial. For example, given the
following 9 degree polynomial.
degree
coefficents
a0
-3098250
a1
4116825
a2
-2427570
a3
916272
a4
-244674
a5
46934
a6
-6430
a7
608
a8
-36
a9
1
The center = 4 and the radius ≅ 6.8
We can draw the circle containing, with high probability, all polynomial roots
We know that the roots of this polynomial are:
x real
x imm
-6
-4
-3
We have to point out that this method is probabilistic. It means that, picking-up a random
polynomial, the most part of the roots are found inside the circle but it is also possible to find
same roots outside the circle with 1% of probability.
Example: compute the root circle of the polynomial:
x
7
-5x
6
+64x
3
-8000
Xnumbers Tutorial
87
center ≅ 0.714
The roots are:
x real
x imm
-2.7429701  1.6132552
-2.7429701  -1.6132552
-0.4369651  3.2182957
-0.4369651  -3.2182957
3.17993518  2.2060806
3.17993518  -2.2060806
Polynomial building from roots
=PolyBuild(Roots, [Variable])
Builds a polynomial from its roots. Argument "Roots" is an (n x 2)  array, contains the
polynomial roots. It can be an (n x 1) vector for real roots.
This function returns the coefficient vector of the polynomial.
If you select one cell, the output will be a polynomial string
Complex roots for real polynomial:
Multiple roots:
Complex roots for complex polynomial
If the complex roots are not symmetrical, the
polynomial has both real and imaginary part.
Zero roots .If you want a polynomial with
multiple zero roots, simply repeat many couple
[0, 0] as it needs.
This function returns the vector of polynomial coefficients if you select more than two vertical
cells. It is useful for higher degree polynomial