text:
Then for every m Z we have from b \u02c6 h m P m 2 \u02c6 h P 0 Now e implies that there

# Then for every m z we have from b ˆ h m p m 2 ˆ h p

This preview shows page 108 - 111 out of 139 pages.

Then, for every m Z , we have (from (b)) ˆ h ([ m ] P ) = m - 2 ˆ h ( P ) = 0 . Now (e) implies that there exists a constant C such that for each m Z , we have h f ([ m ] P ) = | deg( f ) ˆ h ([ m ] P ) - h f ([ m ] P ) | ≤ C. So { P, 2 P, 3 P, . . . } ⊆ { Q E ( K ) | h f ( Q ) C } , and therefore P has finite order since this last set is finite. (f) Suppose that ˆ h satisfies ˆ h [ m ] = m 2 ˆ h and (deg f ) ˆ h = h f + O (1) for some m 2 . Then ˆ h [ m N ] = m 2 N ˆ h and ˆ h = m - 2 N ˆ h [ m N ] = m - 2 N ( ˆ h [ m N ] + O (1)) = ˆ h + m - 2 N O (1) (since ˆ h satisfies (b)). Now let N → ∞ to obtain ˆ h = ˆ h . Lemma 8.29 Suppose that V is a finite-dimensional R -vector space, and let L V be a lattice. Let q : V R be a positive definite quadratic form satisfying: (i) If P L , then q ( P ) = 0 iff P = 0 . (ii) For every constant C , # { P L | q ( P ) C } < . Then q is positive definite on V . Proof. We may choose a basis of V such that for any X = ( x 1 , . . . , x n ) V , we have q ( X ) = s i =1 x 2 i - t i =1 x 2 s + i , where s + t n = dim( V ) . We may view V R n via this choice of basis. Suppose that s = n . Let λ be the length of the shortest vector in L , i.e. λ = inf { q ( P ) | P L, P = 0 } . Then (i) and (ii) imply that λ > 0 . Now consider the set B ( δ ) := ( x 1 , . . . , x n ) R n x 2 1 + · · · + x 2 s λ 2 , x 2 s +1 + · · · + x 2 t δ . 107
Then length (using q !) of any vector in B ( δ ) is at most λ/ 2 , and so B ( δ ) L = { 0 } . Now B ( δ ) is compact, convex, and symmetric about the origin, and Vol( B ( δ )) → ∞ as δ → ∞ . This contradicts Minkowski’s convex body theorem. Theorem 8.30 (Minkowski.) Let L be a lattice in R n with fundamental paral- lelepiped D , and suppose that B R n is compact, convex, and symmetric about the origin. If Vol( B ) 2 n Vol( D ) , then B contains a nonzero point of L . Proof. We claim that if S is a measurable set in R n with Vol( S ) > Vol( D ) , then S contains distinct points α and β with α, β L . Note that Vol( S ) = L Vol( S ( D + )) , D will contain a unique translate (by an element of L ) of each set S ( D + ) . Since Vol( S ) > Vol( D ) , at least two of these sets will overlap, so there exist α, β S such that α - λ = β - λ for distinct λ, λ L , so α - β = λ - λ L \ { 0 } , as claimed. Now take S = 1 2 B = x 2 x B . Then Vol( S ) = 1 2 n Vol( B ) > Vol( D ) , so there exist α, β B such that α 2 - β 2 L . Since B is symmetric about the origin, - β B . Since B is convex, 1 2 ( α + ( - β )) B . Theorem 8.31 The Néron-Tate height is a positive definite quadratic form on R E ( K ) . Proof. Apply Lemma 8.29 to the lattice E ( K ) /E ( K ) tors in E ( K ) R . Definition 8.32 The Néron-Tate height pairing on E/K is defined by , : E ( ¯ K ) × E ( ¯ K ) R , given by P, Q = ˆ h ( P + Q ) - ˆ h ( P ) - ˆ h ( Q ) . Definition 8.33 The elliptic regulator R E/K is the volume of the fundamental 108
domain of E ( K ) /E ( K ) tors with respect to ˆ h , i.e. if P 1 , . . . , P r E ( K ) form a basis of E ( K ) /E ( K ) tors , then R E/K := det( P i , P j ) . (If r = 0 , set R E/K = 1 .) Corollary 8.34 R E/K > 0 .

#### You've reached the end of your free preview.

Want to read all 139 pages?

• Fall '13
• SimonRubinstein-Salzedo
• Math, Algebra, Number Theory, Integral domain, Algebraic geometry, deg, Elliptic curve cryptography, Algebraic curve, elliptic curves

### What students are saying

• As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

Kiran Temple University Fox School of Business ‘17, Course Hero Intern

• I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

Dana University of Pennsylvania ‘17, Course Hero Intern

• The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes


text:
## College Algebra (10th Edition)

The expression is a polynomial. The degree of the polynomial is $2$.
RECALL: (1) A monomial in one variable is a product of a constant and variable whose exponent is a nonnegative integer. (2) A polynomial can be a monomial or a sum of monomials. (3) The degree of a polynomial in one variable is equal to the degree of the term with the highest degree. The given expression has two terms. The first term has a variable $x$ with an exponent of $2$. This term's degree is 2. The second term has no variable, so its degree is 0. The term with the higher degree is the first, whose degree is 2. Thus, the given expression is a polynomial whose degree is 2.

format: plain


text:
Circumference of convex shapes - MathOverflow most recent 30 from http://mathoverflow.net 2013-05-25T16:51:52Z http://mathoverflow.net/feeds/question/71502 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://mathoverflow.net/questions/71502/circumference-of-convex-shapes Circumference of convex shapes Matthias Goergens 2011-07-28T15:46:46Z 2011-08-23T16:17:03Z
Here is a puzzle I found in "Mitteilungen der DMV" (roughly "Letters of the German Society of Mathematicians") issue 19/2011. It was posed by Alfred Schreiber in "Wie man Hasen fangt" (How to catch rabbits), and he claims that less than 5% of his subjects could solve it in under 1 hour. He tested it on students of mathematics, professors of mathematics, computer science and engineering.

See if you have more luck. The problem is deceptively simple:

Suppose you have a triangle ABC and a point D inside the triangle. Prove: The perimeter of ABC is smaller than the circumference of ABD.

I am currently working on a generalization: Given two convex shapes s and S, where S totally encloses s. Proof that the perimeter of s is no bigger than the perimeter of S.

(Or alternatively, for a shapes with straight edges: Proof that the perimeter of the convex hull of a set of points increases monotonically (but not strictly monotonically) when adding points to the set.)

Please try to find an elementary proof for the special case of the triangle.

Edit: Thanks for all the nice answers. By now I found a really elementary proof on my own that just uses the triangle inequality twice.
 http://mathoverflow.net/questions/71502/circumference-of-convex-shapes/71504#71504 Answer by Mark Meckes for Circumference of convex shapes Mark Meckes 2011-07-28T16:07:18Z 2011-07-28T16:25:02Z
Your result, including your proposed generalization and the further generalization to surface area in higher dimensions, is an immediate consequence of Cauchy's surface area formula. This states that, up to a constant depending only on the dimension, the surface area of a convex body is the average of the areas of its 1-codimensional projections. I don't know a good reference in a web page, but see for example Klain and Rota's book.
 http://mathoverflow.net/questions/71502/circumference-of-convex-shapes/71505#71505 Answer by Noam D. Elkies for Circumference of convex shapes Noam D. Elkies 2011-07-28T16:18:22Z 2011-08-22T13:44:03Z
That's a standard inequality, though perhaps not well enough known for the usual "take it to stackexchange" comment. Denote by $\partial \Sigma$ the boundary of any set $\Sigma$ in the plane. In the case that $s$ is a polygon we can use induction on the number $k$ of edges of $\partial s$ not contained in the $\partial S$. If $k=0$ we're done. If $k>0$, choose an edge $e$ of $s$ not in $\partial S$, and let $H$ be the closed half-plane such that $H \supset s$ and $\partial H \supset e$. Then $S' := S \cap H$ is a convex set containing $s$ whose boundary is shorter than $\partial S$ because we've replaced part of $\partial S$ with the line segment joining the same two points. Moreover $\partial s$ has $k-1$ edges not contained in $\partial S'$. This completes the induction step and the proof.

That argument applies more generally when $\partial s \setminus \partial S$ is polygonal. If it's not, we can reduce to that case via a limiting argument, replacing each component of $\partial s \setminus \partial S$ by an arbitrarily close polygonal path.
 http://mathoverflow.net/questions/71502/circumference-of-convex-shapes/73406#73406 Answer by Gerald Edgar for Circumference of convex shapes Gerald Edgar 2011-08-22T14:28:31Z 2011-08-22T14:28:31Z
For the triangle problem: Euclid I, 21:

If from the ends of one of the sides of a triangle two straight lines are constructed meeting within the triangle, then the sum of the straight lines so constructed is less than the sum of the remaining two sides of the triangle, but the constructed straight lines contain a greater angle than the angle contained by the remaining two sides.

 http://mathoverflow.net/questions/71502/circumference-of-convex-shapes/73425#73425 Answer by Andreas Blass for Circumference of convex shapes Andreas Blass 2011-08-22T17:56:59Z 2011-08-22T17:56:59Z
This also follows immediately from Crofton's formula, which says that, up to a fixed constant factor, the length of a reasonable curve (and polygons are certainly reasonable) is the integral, over straight lines (with respect to a suitable invariant measure), of the number of intersections between the straight line and the curve. Almost every straight line meets the perimeter of a convex polygon either twice or not at all, and shrinking the polygon will only reduce the set of lines that meet it.
 http://mathoverflow.net/questions/71502/circumference-of-convex-shapes/73427#73427 Answer by Aaron Meyerowitz for Circumference of convex shapes Aaron Meyerowitz 2011-08-22T18:04:47Z 2011-08-22T18:04:47Z
Motivated by my thoughts about a recent question I want to comment that perhaps this fact is intrinsic to our very definition of arc length. As correctly noted, the result for convex polygons is the triangle inequality and induction (along with some nice reasoning). In the general case we consider the limit of polygonal paths. This works because the definition of arc length (for a convex curve), is the least upper bound of the length of inscribed polygonal paths. My comment is that (part of) the justification for that definition is that we take it as obvious that each inscribed polygonal path should be shorter (or at least no longer) than the curve.

Archimedes in his rectification of the circumference of the circle (the first use of this limiting polygonal path method) gives a careful definition of convexity and takes as a postulate that

If two plane curves C and D with the same endpoints are concave in the same direction, and C is included between D and the straight line joining the endpoints, then the length of C is less than the length D.

There may be more to it than that (in the case that the curve C has endpoints interior to the segment joining the endpoints of D.)


text:
# Marcel Rubió: Structure theorems for the cohomology jump loci of singularities

Time: Wed 2019-11-13 13.15 - 15.00

Location: Kräftriket, house 6, room 306

Lecturer: Marcel Rubió, Stockholms universitet

### Abstract

In this talk we will take a closer look into the moduli spaces of rank one local systems. In the first part of the talk, I will introduce cohomology jump loci and its developments throughout the past years. This will include a detour to deformation theory; in particular, we will discuss Deligne's principle and its implications by Goldman-Millson and Simpson.

In the second part, we extend this framework to the $$L_\infty$$ world, ultimately showing that for a complex algebraic variety with no weight-zero $$1$$-cohomology classes, the fundamental group is strongly restricted. The results we obtain are in contrast to the work by Simpson, Kapovich and Kollár, stating that every finitely presented group is the fundamental group of an irreducible complex algebraic variety with only normal crossings and Whitney umbrellas as singularities. This is joint work with Nero Budur.

Belongs to: Stockholm Mathematics Centre
Last changed: Nov 06, 2019


text:
# Cairo in Go: vector to SVG, PDF, EPS, raster, HTML Canvas, etc.

### Related tags

Images tools canvas
##### Overview

Canvas is a common vector drawing target that can output SVG, PDF, EPS, raster images (PNG, JPG, GIF, ...), HTML Canvas through WASM, and OpenGL. It has a wide range of path manipulation functionality such as flattening, stroking and dashing implemented. Additionally, it has a good text formatter and embeds fonts (TTF, OTF, WOFF, or WOFF2) or converts them to outlines. It can be considered a Cairo or node-canvas alternative in Go. See the example below in Fig. 1 and Fig. 2 for an overview of the functionality.

Figure 1: top-left you can see text being fitted into a box and their bounding box (orange-red), the spaces between the words on the first row are being stretched to fill the whole width. You can see all the possible styles and text decorations applied. Also note the typographic substitutions (the quotes) and ligature support (fi, ffi, ffl, ...). Below the text box, the word "stroke" is being stroked and drawn as a path. Top-right we see a LaTeX formula that has been converted to a path. Left of that we see ellipse support showcasing precise dashing, notably the length of e.g. the short dash is equal wherever it is (approximated through arc length parametrization) on the curve. It also shows support for alternating dash lengths, in this case (2.0, 4.0, 2.0) for dashes and for spaces. Note that the dashes themselves are elliptical arcs as well (thus exactly precise even if magnified greatly). In the bottom-right we see a closed polygon of four points being smoothed by cubic Béziers that are smooth along the whole path, and next to it on the left an open path. In the middle you can see a rasterized image painted.

Figure 2abc: Three examples of what is possible with this library, for example the plotting of graphs, maps and documents.

Live WASM HTML Canvas example

Terminology: a path is a sequence of drawing commands (MoveTo, LineTo, QuadTo, CubeTo, ArcTo, Close) that completely describe a path. QuadTo and CubeTo are quadratic and cubic Béziers respectively, ArcTo is an elliptical arc, and Close is a LineTo to the last MoveTo command and closes the path (sometimes this has a special meaning such as when stroking). A path can consist of several subpaths by having more than one MoveTo or Close command. A subpath consists of path segments which are defined by a command and some values or coordinates.

Flattening is the act of converting the QuadTo, CubeTo and ArcTo segments into LineTos so that all path segments are linear.

### Getting Started

With modules enabled, add the following imports and run the project with go get

import (
"github.com/tdewolff/canvas"
)

#### Examples

Preview: canvas preview (as shown above) showing most of the functionality and exporting as PNG, SVG, PDF and EPS. It shows image and text rendering as well as LaTeX support and path functionality.

Map: data is loaded from Open Street Map of the city centre of Amsterdam and rendered to a PNG.

Graph: a simple graph is being plotted using the CO2 data from the Mauna Loa observatory.

Text document: a simple text document is rendered to PNG.

HTML Canvas: using WASM, a HTML Canvas is used as target. Live demo.

TeX/PGF: using the PGF (TikZ) LaTeX package, the output can be directly included in the main TeX file.

OpenGL: rendering example to an OpenGL target (WIP).

go-chart: using the go-chart library a financial graph is plotted.

gonum/plot: using the gonum/plot library an example is plotted.

My own

Papers

## Status

### Targets

Feature Image SVG PDF EPS WASM Canvas OpenGL
Draw path fill yes yes yes yes yes no
Draw path stroke yes yes yes no yes no
Draw path dash yes yes yes no yes no
Embed fonts yes yes no no no
Draw text path yes yes path path path
Draw image yes yes yes no yes no
EvenOdd fill rule no yes yes no no no
• EPS does not support transparency
• PDF and EPS do not support line joins for last and first dash for closed dashed path
• OpenGL proper tessellation is missing

### Path

Command Flatten Stroke Length SplitAt
LineTo yes yes yes yes
QuadTo yes (CubeTo) yes (CubeTo) yes yes (GL5 + Chebyshev10)
CubeTo yes yes yes (GL5) yes (GL5 + Chebyshev10)
ArcTo yes yes yes (GL5) yes (GL5 + Chebyshev10)
• Ellipse => Cubic Bézier: used by rasterizer and PDF targets (see Maisonobe paper)

NB: GL5 means a Gauss-Legendre n=5, which is an numerical approximation as there is no analytical solution. Chebyshev is a converging way to approximate a function by an n=10 degree polynomial. It uses the bisection method as well to determine the polynomial points.

## Planning

Features that are planned to be implemented in the future, with important issues in bold. Also see the TODOs in the code.

General

• Fix slowness in the rasterizer (text_example.go is slow! use rasterized cache for each glyph/path)
• Use general span placement algorithm (like CSS flexbox) that replace the current Text placer, to allow for text, image, path elements (e.g. inline formulas, inline icons or emoticons, ...)
• Use word breaking algorithm from Knuth & Plass, implemented in JS in typeset. Use letter stretching and shrinking, shrinking by using ligatures, space shrinking and stretching (depending if space is between words or after comma or dot), and spacing or shrinking between glyphs. Use a point system of how ugly breaks are on a paragraph basis. Also see Justify Just or Just Justify.
• Load in Markdown/HTML formatting and turn into text
• Add OpenGL target, needs tessellation (see Delaunay triangulation). See Resolution independent NURBS curves rendering using programmable graphics pipeline and poly2tri-go. Use rational quadratic Beziérs to represent quadratic Beziérs and elliptic arcs exactly, and reduce degree of cubic Beziérs. Using a fragment shader we can draw all curves exactly. Or use rational cubic Beziérs to represent them all exactly?

Fonts

• Compressing fonts and embedding only used characters
• Use ligature and OS/2 tables
• Support EOT font format
• Font embedding for EPS
• Support font hinting (for the rasterizer)?

Paths

• Avoid overlapping paths when offsetting in corners
• Get position and derivative/normal at length L along the path
• Simplify polygons using the Ramer-Douglas-Peucker algorithm
• Intersection function between line, Bézier and ellipse and between themselves (for path merge, overlap/mask, clipping, etc.)
• Implement Bentley-Ottmann algorithm to find all line intersections (clipping)

Far future

• Support fill gradients and patterns (hard)
• Load in PDF, SVG and EPS and turn to paths/text
• Generate TeX-like formulas in pure Go, use OpenType math font such as STIX or TeX Gyre

## Canvas

c := canvas.New(width, height float64)

ctx := canvas.NewContext(c)
ctx.Push()               // save state set by function below on the stack
ctx.Pop()                // pop state from the stack
ctx.SetView(Matrix)      // set view transformation, all drawn elements are transformed by this matrix
ctx.ComposeView(Matrix)  // add transformation after the current view transformation
ctx.ResetView()          // use identity transformation matrix
ctx.SetFillColor(color.Color)
ctx.SetStrokeColor(color.Color)
ctx.SetStrokeCapper(Capper)
ctx.SetStrokeJoiner(Joiner)
ctx.SetStrokeWidth(width float64)
ctx.SetDashes(offset float64, lengths ...float64)

ctx.DrawPath(x, y float64, *Path)
ctx.DrawText(x, y float64, *Text)
ctx.DrawImage(x, y float64, image.Image, dpm float64)

c.Fit(margin float64)  // resize canvas to fit all elements with a given margin

c.WriteFile(filename string, svg.Writer)
c.WriteFile(filename string, pdf.Writer)
c.WriteFile(filename string, eps.Writer)
c.WriteFile(filename string, rasterizer.PNGWriter(resolution DPMM))
c.WriteFile(filename string, rasterizer.JPGWriter(resolution DPMM, opts *jpeg.Options))
c.WriteFile(filename string, rasterizer.GIFWriter(resolution DPMM, opts *gif.Options))
rasterizer.Draw(c *Canvas, resolution DPMM) *image.RGBA

Canvas allows to draw either paths, text or images. All positions and sizes are given in millimeters.

## Text

dejaVuSerif := NewFontFamily("dejavu-serif")
err := dejaVuSerif.LoadFontFile("DejaVuSerif.ttf", canvas.FontRegular)  // TTF, OTF, WOFF, or WOFF2
ff := dejaVuSerif.Face(size float64, color.Color, FontStyle, FontVariant, ...FontDecorator)

text = NewTextLine(ff, "string\nsecond line", halign) // simple text line
text = NewTextBox(ff, "string", width, height, halign, valign, indent, lineStretch)  // split on word boundaries and specify text alignment

// rich text allowing different styles of text in one box
richText := NewRichText()  // allow different FontFaces in the same text block
text = richText.ToText(width, height, halign, valign, indent, lineStretch)

ctx.DrawText(0.0, 0.0, text)

Note that the LoadLocalFont function will use fc-match "font name" to find the closest matching font.

## Paths

A large deal of this library implements functionality for building paths. Any path can be constructed from a few basic commands, see below. Successive commands build up segments that start from the current pen position (which is the previous segments's end point) and are drawn towards a new end point. A path can consist of multiple subpaths which each start with a MoveTo command (there is an implicit MoveTo after each Close command), but be aware that overlapping paths can cancel each other depending on the FillRule.

p := &Path{}
p.MoveTo(x, y float64)                                            // new subpath starting at (x,y)
p.LineTo(x, y float64)                                            // straight line to (x,y)
p.QuadTo(cpx, cpy, x, y float64)                                  // a quadratic Bézier with control point (cpx,cpy) and end point (x,y)
p.CubeTo(cp1x, cp1y, cp2x, cp2y, x, y float64)                    // a cubic Bézier with control points (cp1x,cp1y), (cp2x,cp2y) and end point (x,y)
p.ArcTo(rx, ry, rot float64, largeArc, sweep bool, x, y float64)  // an arc of an ellipse with radii (rx,ry), rotated by rot (in degrees CCW), with flags largeArc and sweep (booleans, see https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands)
p.Arc(rx, ry, rot float64, theta0, theta1 float64)                // an arc of an ellipse with radii (rx,ry), rotated by rot (in degrees CCW), beginning at angle theta0 and ending at angle theta1
p.Close()                                                         // close the path, essentially a LineTo to the last MoveTo location

p = Rectangle(w, h float64)
p = RoundedRectangle(w, h, r float64)
p = BeveledRectangle(w, h, r float64)
p = Circle(r float64)
p = Ellipse(rx, ry float64)
p = RegularPolygon(n int, r float64, up bool)
p = RegularStarPolygon(n, d int, r float64, up bool)
p = StarPolygon(n int, R, r float64, up bool)

We can extract information from these paths using:

p.Empty() bool                 // true if path contains no segments (ie. no commands other than MoveTo or Close)
p.Pos() (x, y float64)         // current pen position
p.StartPos() (x, y float64)    // position of last MoveTo
p.Coords() []Point             // start/end positions of all segments
p.CCW() bool                   // true if the path is (mostly) counter clockwise
p.Interior(x, y float64) bool  // true if (x,y) is in the interior of the path, ie. gets filled (depends on FillRule)
p.Filling() []bool             // for all subpaths, true if the subpath is filling (depends on FillRule)
p.Bounds() Rect                // bounding box of path
p.Length() float64             // length of path in millimeters

These paths can be manipulated and transformed with the following commands. Each will return a pointer to the path.

p = p.Copy()
p = p.Append(q *Path)                 // append path q to p and return a new path
p = p.Join(q *Path)                   // join path q to p and return a new path
p = p.Reverse()                       // reverse the direction of the path
ps = p.Split() []*Path                // split the subpaths, ie. at Close/MoveTo
ps = p.SplitAt(d ...float64) []*Path  // split the path at certain lengths d

p = p.Transform(Matrix)               // apply multiple transformations at once and return a new path
p = p.Translate(x, y float64)

p = p.Flatten()                                            // flatten Bézier and arc segments to straight lines
p = p.Offset(width float64)                                // offset the path outwards (width > 0) or inwards (width < 0), depends on FillRule
p = p.Stroke(width float64, capper Capper, joiner Joiner)  // create a stroke from a path of certain width, using capper and joiner for caps and joins
p = p.Dash(offset float64, d ...float64)                   // create dashed path with lengths d which are alternating the dash and the space, start at an offset into the given pattern (can be negative)

### Polylines

Some operations on paths only work when it consists of linear segments only. We can either flatten an existing path or use the start/end coordinates of the segments to create a polyline.

polyline := PolylineFromPath(p)       // create by flattening p
polyline = PolylineFromPathCoords(p)  // create from the start/end coordinates of the segments of p

polyline.Smoothen()              // smoothen it by cubic Béziers
polyline.FillCount() int         // returns the fill count as dictated by the FillRule
polyline.Interior(x, y float64)  // returns true if (x,y) is in the interior of the polyline

### Path stroke

Below is an illustration of the different types of Cappers and Joiners you can use when creating a stroke of a path:

## LaTeX

To generate outlines generated by LaTeX, you need latex and dvisvgm installed on your system.

p, err := ParseLaTeX($y=\sin$$\frac{x}{180}\pi$$$)
if err != nil {
panic(err)
}

Where the provided string gets inserted into the following document template:

\documentclass{article}
\begin{document}
\thispagestyle{empty}
{{input}}
\end{document}

### Examples

See https://github.com/tdewolff/canvas/tree/master/examples for a working examples.

• #### drawImage has size error after image.bounds was modified

I'm adding crop feature now, and found a strange case.

At first, here is my code, I used module "github.com/oliamb/cutter" @see the doc here, if you need

croppedImg, _ := cutter.Crop(img, cutter.Config{
Width:  i.Clip.Width,
Height: i.Clip.Height,
Anchor: image.Point{i.Clip.X, i.Clip.Y},
})
img = croppedImg

// omitted some code, it doesn't matter
c.DrawImage(x, y, img, scale)

The image size was 430 * 430, I crop it, from startPos(30, 30) to (400, 400). after I doing this, img.Bounds() will lead to (30,30)-(400,400). this could be reason about the case.

So, I save the image to local. here is anthoer test,if I do this. the img.bounds() will be (0,0)-(370,370), and result is fine.

croppedImg, _ := cutter.Crop(img, cutter.Config{
Width:  i.Clip.Width,
Height: i.Clip.Height,
Anchor: image.Point{i.Clip.X, i.Clip.Y},
})
img = croppedImg

f, err := os.Create("test_crop.jpg")
if err != nil {
panic(err)
}
defer f.Close()
jpeg.Encode(f, img, nil)

// omitted some code, it doesn't matter
c.DrawImage(x, y, img, scale)

I've tried find reason about this, include try another crop image service from aliyun. but it shows similarity.

Here is some code from module "github.com/oliamb/cutter", I thinks it's normal implementation.

func Crop(img image.Image, c Config) (image.Image, error) {
maxBounds := c.maxBounds(img.Bounds())
size := c.computeSize(maxBounds, image.Point{c.Width, c.Height})
cr := c.computedCropArea(img.Bounds(), size)
cr = img.Bounds().Intersect(cr)

if c.Options&Copy == Copy {
return cropWithCopy(img, cr)
}
if dImg, ok := img.(subImageSupported); ok {
return dImg.SubImage(cr), nil
}
return cropWithCopy(img, cr)
}

Thanks.

opened by luankefei 16
• #### Not drawing some text

I am flabbergasted. I stripped down a problem to the following.

This works:

  ctx.DrawText(lx, ly, canvas.NewTextLine(face, fmt.Sprintf(
"XX",
), 0))

This doesn't draw anything

  ctx.DrawText(lx, ly, canvas.NewTextLine(face, fmt.Sprintf(
"XF",
), 0))

Any idea?

opened by tcurdt 16
• #### fc-match for mac ?

i have a need for supporting outputting in many formats and so this code base looks like the "dogs bollocks" as they say, but when trying the examples on a mac, i kept on hitting the need to have fc-match.

i am on mac. I tried both branches...

ex-run-doc:
# panic: exec: "fc-match": executable file not found in $PATH cd$(EX)/document && go run .

ex-run-gio:
# ! panic: exec: "fc-match": executable file not found in $PATH cd$(EX)/gio && $(MAKE) all ex-run-chart: # :) cd$(EX)/go-chart && go run .

ex-run-opengl:
cd $(EX)/opengl &&$(MAKE) all

ex-run-map:
# ! needs "fc-match" exe

368 Jun 25, 2022
###### Super fast static photo and video gallery generator (written in Go and HTML/CSS/native JS)

fastgallery Fast static photo and video gallery generator Super fast (written in Go and C, concurrent, uses fastest image/video libraries, 4-8 times f

24 May 25, 2022
###### Imgpreview - Tiny image previews for HTML while the original image is loading

imgpreview This is a Go program that generates tiny blurry previews for images t

8 May 22, 2022
###### 2D rendering for different output (raster, pdf, svg)

draw2d Package draw2d is a go 2D vector graphics library with support for multiple outputs such as images (draw2d), pdf documents (draw2dpdf), opengl

918 Jun 28, 2022
###### Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas API

Go canvas Canvas is a pure Go library that provides drawing functionality as similar as possible to the HTML5 canvas API. It has nothing to do with HT

426 Jun 19, 2022
###### Rasterx is an SVG 2.0 path compliant rasterizer that can use either the golang vector or a derivative of the freetype anti-aliaser.

rasterx Rasterx is a golang rasterizer that implements path stroking functions capable of SVG 2.0 compliant 'arc' joins and explicit loop closing. Pat

97 Jun 11, 2022
###### Converts PDF, DOC, DOCX, XML, HTML, RTF, etc to plain text

docconv A Go wrapper library to convert PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages documents and images (see optional dependencies below) to plain tex

959 Jun 23, 2022
###### HTML Canvas 2D Context API for mobile, desktop and web

canvas HTML Canvas 2D Context API for mobile, desktop and web Context2D API https://www.w3.org/TR/2dcontext/ native code implement https://github.com/

2 Apr 22, 2022
###### Go binding for the cairo graphics library

go-cairo Go binding for the cairo graphics library Based on Dethe Elza's version https://bitbucket.org/dethe/gocairo but significantly extended and up

118 Apr 18, 2022
###### Caigo - Golang Library for StarkNet/Cairo

Golang Library for StarkNet/Cairo Caigo is predominately a transcription of the

40 Jun 21, 2022
###### A minimalist Go PDF writer in 1982 lines. Draws text, images and shapes. Helps understand the PDF format. Used in production for reports.

one-file-pdf - A minimalist PDF generator in <2K lines and 1 file The main idea behind this project was: "How small can I make a PDF generator for it

441 May 15, 2022
###### Convert scanned image PDF file to text annotated PDF file

Jisui (自炊) This tool is PoC (Proof of Concept). Jisui is a helper tool to create e-book. Ordinary the scanned book have not text information, so you c

27 Apr 7, 2022
###### Golang PDF library for creating and processing PDF files (pure go)

UniPDF - PDF for Go UniDoc UniPDF is a PDF library for Go (golang) with capabilities for creating and reading, processing PDF files. The library is wr

1.6k Jun 27, 2022
85 May 10, 2022
###### golang 在线预览word,excel,pdf,MarkDown(Online Preview Word,Excel,PPT,PDF,Image by Golang)

Go View File 在线体验地址 http://39.97.98.75:8082/view/upload (不会经常更新，保留最基本的预览功能。服务器配置较低，如果出现链接超时请等待几秒刷新重试，或者换Chrome) 目前已经完成 docker部署 （不用为运行环境烦恼） Wor

59 Jun 14, 2022
###### A sample FaaS function that gets a stock quote and 30 day history by symbol and returns a HTML page with a generates SVG sparkline.

faas stonks This uses serverless technology to get a stock quote and 30 day sparkline from Yahoo Finance. Deployment Nimbella account Namespace with o

2 Sep 23, 2021
###### HTML, CSS and SVG static renderer in pure Go

Web render This module implements a static renderer for the HTML, CSS and SVG formats. It consists for the main part of a Golang port of the awesome W

7 Apr 19, 2022


text:
💬 👋 We’re always here. Join our Discord to connect with other students 24/7, any time, night or day.Join Here!

JH

# Make a substitution to express the integrand as a rational function and then evaluate the integral.$\displaystyle \int \frac{\sin x}{\cos^2 x - 3 \cos x}\ dx$

## $\frac{1}{3} \ln \left|\frac{\cos x}{\cos x-3}\right|+C$

#### Topics

Integration Techniques

### Discussion

You must be signed in to discuss.

Lectures

Join Bootcamp

### Video Transcript

Let's make a substitution to express this. Given fraction as a rational function. Since we see that sign in the numerator, let's go ahead and choose you to be co sign then do you is negative. Sign XO Me, right, this's negative to you. Equal sign X d s. So then coming to our integral was pulled that minus sign from the EU. And then we have a deal. You up here that will give us the that negative. Do you gives us the sine x t x then in the bottom. This's just new squared minus to you by our definition of you. Now let's go ahead and we see a quadratic in the denominator. So before we ever do the partial fractions, we should always check that it's factored here we can pull out of you. And then there's leftover. You might history. Look over. Look now for a moment. Let's ignore the integral. Let's go to the side and write our friendship. Weaken right, this is a over you and then be over you minus three. This is what the author calls case. One distinct linear factors in the denominator, and they're not repeated. Let's multiply both sides of this equation by the denominator on the list when we do so, we have one on the left, a U minus three plus bu. Then let's pull out that you and there's our constant or minus three, eh? So on the left, we see that the constant term is one on the right, the constant her with no you that's minus three air. So we must have minus three equals one. And here on the right, the term in the constant in front of the U there next to the U. S. A. Plus B. But on the left is zero because there's no you. So we can go out and solve this two by two system. The first equation in red gives you a and then the second equation tells you that B is minus a. That's positive. Wonder. So we find our values for Andy was plug him into this partial fraction of composition appear and then will replace the fraction that we had with the partial fraction. And now we're ready to integrate. And don't forget that minus on the outside, I'm running out of room here, so let me go to the next stage negative. Then we have negative one third for a over you and then plus one third for B human history. Now, you may memorized how to do this interval the second one, even though there's a minus three there at that minus three is bothering you. Go ahead and do it. Use up on this case. Let me use the letter W and that should work you. So now watch out for the cancellation of the minuses here. So that's a plus one over three natural law give you and then that becomes a minus one over three natural log. And then this time you minus three plus c are constant of integration. The last step is just to replace you with co sign. That was the definition of you. Okay from the previous page. What? So play that in here and this equation becomes one over third Natural log. Absolute value co sign minus one over three natural log absolute value, then co sign X minus three, and then our constant of immigration. And that's your answer.

JH

#### Topics

Integration Techniques

Lectures

Join Bootcamp


text:
# 2019-08-22-Data-competition-From-0-to-1-Part-II

## Feature Engineering Techniques

Posted by lambda on August 22, 2019

Concat: github: lambda_xmu

## Introduction

Feature engineering, the process creating new input features for machine learning, is one of the most effective ways to improve predictive models.

“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering.” – Andrew Ng

“… some machine learning projects succeed and some fail. What makes the difference? Easily the most important factor is the features used.” – Pedro Domingos

### What is Feature Engineering?

We define feature engineering as creating new features from your existing ones to improve model performance.

Typical Enterprise Machine Learning Workflow

### What is Not Feature Engineering?

That means there are certain steps we do not consider to be feature engineering:

• We do not consider initial data collection to be feature engineering.
• Similarly, we do not consider creating the target variable to be feature engineering.
• We do not consider removing duplicates, handling missing values, or fixing mislabeled classes to be feature engineering. We put these under data cleaning.
• We do not consider scaling or normalization to be feature engineering because these steps belong inside the cross-validation loop.
• Finally, we do not consider feature selection or PCA to be feature engineering. These steps also belong inside your cross-validation loop.

### Feature Engineering cycle

• Hypothesis
• Domain knowledge
• Prior experience
• EDA
• ML model feedback
• Validate hypothesis
• Cross-validation
• Measurement of desired metrics
• Avoid leakage

## Processing

### Imputation

Missing values are one of the most common problems you can encounter when you try to prepare your data for machine learning.

The most simple solution to the missing values is to drop the rows or the entire column. There is not an optimum threshold for dropping but you can use 70% as an example value and try to drop the rows and columns which have missing values with higher than this threshold.

threshold = 0.7
#Dropping columns with missing value rate higher than threshold
data = data[data.columns[data.isnull().mean() < threshold]]

#Dropping rows with missing value rate higher than threshold
data = data.loc[data.isnull().mean(axis=1) < threshold]

#### Numerical Imputation

#Filling all missing values with 0
data = data.fillna(0)
#Filling missing values with medians of the columns
data = data.fillna(data.median())

#### Categorical Imputation

#Max fill function for categorical columns
data['column_name'].fillna(data['column_name'].value_counts()
.idxmax(), inplace=True)
# or
data['column_name'].fillna('Other', inplace=True)

### Handling Outliers

Best way to detect the outliers is to demonstrate the data visually. All other statistical methodologies are open to making mistakes, whereas visualizing the outliers gives a chance to take a decision with high precision.

#### Outlier Detection with Standard Deviation

#Dropping the outlier rows with standard deviation
factor = 3
upper_lim = data['column'].mean() + data['column'].std() * factor
lower_lim = data['column'].mean() - data['column'].std() * factor

data = data[(data['column'] < upper_lim) & (data['column'] > lower_lim)]

#### Outlier Detection with Percentiles

#Dropping the outlier rows with Percentiles
upper_lim = data['column'].quantile(.95)
lower_lim = data['column'].quantile(.05)

data = data[(data['column'] < upper_lim) & (data['column'] > lower_lim)]

#Capping the outlier rows with Percentiles
upper_lim = data['column'].quantile(.95)
lower_lim = data['column'].quantile(.05)
data.loc[(df[column] > upper_lim),column] = upper_lim
data.loc[(df[column] < lower_lim),column] = lower_lim

### Log Transform

The benefits of log transform:

• It helps to handle skewed data and after transformation, the distribution becomes more approximate to normal.
• It also decreases the effect of the outliers, due to the normalization of magnitude differences and the model become more robust.
# Negative Values Handling
data['log'] = (data['value']-data['value'].min()+1) .transform(np.log)

## Feature Engineering Techniques

### Indicator Variables

The first type of feature engineering involves using indicator variables to isolate key information.

• Indicator variable from thresholds: create an indicator variable for age >= 18 to distinguish subjects who were the adult.
• Indicator variable from multiple features: You’re predicting real-estate prices and you have the features n_bedrooms and n_bathrooms. If houses with 2 beds and 2 baths command a premium as rental properties, you can create an indicator variable to flag them.
• Indicator variable for special events: You’re modeling weekly sales for an e-commerce site. You can create two indicator variables for the weeks of 11-11 and 6-18.
• Indicator variable for groups of classes: You’re analyzing APP conversions and your dataset has the categorical feature traffic_source. You could create an indicator variable for paid_traffic by flagging observations with traffic source values of HUAWEI or XIAOMI.

### Interaction Features

This type of feature engineering involves highlighting interactions between two or more features. Well, some features can be combined to provide more information than they would as individuals. Do you know gender * father's height and gender * mather's height in first homework?

Note: We don’t recommend using an automated loop to create interactions for all your features. This leads to feature explosion.

• Sum of two features
• Difference between two features
• Product of two features
• Quotient of two features

### Feature Representation

Your data won’t always come in the ideal format. You should consider if you’d gain information by representing the same feature in a different way.

• Date and time features: Let’s say you have the feature purchase_datetime. It might be more useful to extract purchase_day_of_week and purchase_hour_of_day. You can also aggregate observations to create features such as purchases_over_last_7_days, purchases_over_last_14_days, purchases_day_std, purchases_week_mean etc.
from datetime import date

data = pd.DataFrame({'date':
['01-01-2017',
'04-12-2008',
'23-06-1988',
'25-08-1999',
'20-02-1993',
]})

# Transform string to date
data['date'] = pd.to_datetime(data.date, format="%d-%m-%Y")

# Extracting Year
data['year'] = data['date'].dt.year

# Extracting Month
data['month'] = data['date'].dt.month

# Extracting passed years since the date
data['passed_years'] = date.today().year - data['date'].dt.year

# Extracting passed months since the date
data['passed_months'] = (date.today().year - data['date'].dt.year) * 12 + date.today().month - data['date'].dt.month

# Extracting the weekday name of the date
data['day_name'] = data['date'].dt.day_name()

• Binning (分箱): Binning can be applied on both categorical and numerical data. When there is a feature with many classes that have low sample counts. You can try grouping similar classes and then grouping the remaining ones into a single Other class [Grouping sparse classes].

The main motivation of binning is to make the model more robust and prevent overfitting, however, it has a cost to the performance. Every time you bin something, you sacrifice information and make your data more regularized.

# Numerical Binning Example
data['bin'] = pd.cut(data['value'], bins=[0,30,70,100], labels=["Low", "Mid", "High"])

# Categorical Binning Example
conditions = [
data['Country'].str.contains('Spain'),
data['Country'].str.contains('Italy'),
data['Country'].str.contains('Chile'),
data['Country'].str.contains('Brazil')]

choices = ['Europe', 'Europe', 'South America', 'South America']

data['Continent'] = np.select(conditions, choices, default='Other')  # Grouping sparse classes

For numerical columns, except for some obvious overfitting cases, binning might be redundant for some kind of algorithms, due to its effect on model performance. However, for categorical columns, the labels with low frequencies probably affect the robustness of statistical models negatively.

• One-hot encoding: Transform categories into individual binary (0 or 1) features

encoded_columns = pd.get_dummies(data['column'])
data = data.join(encoded_columns).drop('column', axis=1)

• Labeled Encoding: Interpret the categories as ordered integers (mostly wrong)

• Frequency Encoding: Encoding of categorical levels of feature to values between 0 and 1 based on their relative frequency.

• Target mean encoding:

#### Supplement

Weighted Average It is better to calculate weighted average of the overall mean of the training set and the mean of the level:

Where $\lambda(n)=\frac{1}{1+\exp \left(\frac{-(x-k)}{f}\right)}$. $x = \text{frequency}, k = \text{inflection point}, f = \text{steepness}$. We can get graph in desmos_calculator.

To avoid overfitting we could use leave-one-out schema

Weight of Evidence $W o E=\ln \left(\frac{\% \text { non - events }}{\% \text { events }}\right)$

To avoid division by zero:

Information Value $I V=\sum(\% \text { non - events }- \% \text { events }) * W o E$

Information value is one of the most useful technique to select important variables in a predictive model.

• Less than 0.02, then the predictor is not useful for modeling (separating the Goods from the Bads)
• 0.02 to 0.1, then the predictor has only a weak relationship to the Goods/Bads odds ratio
• 0.1 to 0.3, then the predictor has a medium strength relationship to the Goods/Bads odds ratio
• 0.3 to 0.5, then the predictor has a strong relationship to the Goods/Bads odds ratio.
• 0.5, suspicious relationship (Check once)

Information value increases as bins / groups increases for an independent variable. We have to be careful when there are more than 20 bins as some bins may have a very few number of events and non-events.

### Textual Data

• Bag-of-Words: extract tokens from text and use their occurrences (or TF/IDF weights) as features
• CountVectorizer, TfidfTransformer
• NLP techniques
• Remove stop words (not always necessary)
• Convert all words to lower case
• Stemming for English words
• pingyin
• Deep Learning for textual data
• Turn each token into a vector of predefined size
• Help compute “semantic distance” between tokens/words

### External Data

An underused type of feature engineering is bringing in external data. This can lead to some of the biggest breakthroughs in performance.

• External API’s: BAIDU.DITU etc
• Geocoding: Let’s say you have street_address, city, and state. Well, you can geocode them into latitude and longitude. This will allow you to calculate features such as local demographics, GDP etc.
• Other sources of the same data

### Error Analysis (Post-Modeling)

The final type of feature engineering we’ll cover falls under a process called error analysis. This is performed after training your first model.

Error analysis is a broad term that refers to analyzing the misclassified or high error observations from your model and deciding on your next steps for improvement.

• Segment by classes
• Unsupervised clustering
• Ask colleagues or domain experts

## Conclusion

Good features to engineer…

• Can be computed for future observations.
• Are usually intuitive to explain.
• Are informed by domain knowledge or exploratory analysis.
• Must have the potential to be predictive. Don’t just create features for the sake of it.
• Never touch the target variable.（穿越问题）

## Reference

• https://towardsdatascience.com/feature-engineering-for-machine-learning-3a5e293a5114
• https://medium.com/open-machine-learning-course/open-machine-learning-course-topic-6-feature-engineering-and-feature-selection-8b94f870706a


text:
The particles which of the following gases has the highest/lowest average speed? Which gas particles have the highest/lowest average kinetic energy? a.) argon at 20°C. b.)nitrogen at 20°C b.) nitrogen at 100°C. c.) helium at 100°C

Mar 11, 2018

Highest speed: Helium at 100°C.
Lowest speed: Argon at 20°C.

Highest kinetic energy: Nitrogen and helium at 100°C.
Lowest kinetic energy: Nitrogen and argon at 20°C.

Explanation:

Temperature is a measure of average kinetic energy.

Therefore, at the same temperature, gases have the same average kinetic energy.
But different gas particles move at different speeds with this kinetic energy—gases with smaller particles tend to be moving faster at the same temperature, which means they have a higher speed.

At variable temperatures, gases with both smaller particles and higher temperatures will have a higher speed.

Here are our choices:

1. Argon at 20°C.
2. Nitrogen at 20°C.
3. Nitrogen at 100°C.
4. Helium at 100°C.

Helium has both the smallest particles and is at the high temperature of 100°C , so it will be the gas with the highest speed.
Argon has the biggest particles and is at the low temperature of 20°C, so it will be the gas with the highest speed.

Particles at the same temperature have the same average kinetic energy, so argon and nitrogen, which are at 20°C, are the gases with the lowest average kinetic energy.
Nitrogen and helium, at 100°C, have the highest average kinetic energy because they have the highest temperature.


text:
# Transformers¶

The term transformer refers to all operations related to running computations, from compilation to execution, that are defined by a graph on a backend. Since any subset of the graph represents a potential computation, the graph should be thought of as a template for computations related to some particular model. For example, the core of a model is its inference graph. An optimizer extends the inference graph by adding the derivative computations and variable updates. The extended graph includes the computations used for both inference and for training.

The transformer method computation is used to specify a subgraph to be computed. This method needs one or more result graph nodes that need to be computed; their values will be returned when the computation is executed. The computation also needs a parameter list of nodes that will receive the arguments when the computation is called. This parameter list must include all the placeholder nodes that contribute to the computed nodes. You can include include additional nodes, such as variables, by setting the is_input attribute to True. The computation method returns a function that expects tensors for each parameter and returns tensors for each value-producing result node.

Transformers are currently provided for the following backends:

• CPUs (via NumPy and MKL-DNN)
• NVIDIA* GPUs (via PyCUDA)

## Transformer creation¶

You should create transformers using the factory interface in ngraph.transformers.base, as shown:

from ngraph.transformers import make_transformer
transformer = make_transformer()

This creates a transformer using the default transformer factory (CPU). You can manually set the transformer factory to control the target backend. The transformer API provides functionality to enumerate the available transformers to assist with this, as shown below:

import ngraph.transformers as ngt
available_transformers = ngt.transformer_choices()
if 'gpu' in available_transformers:
factory = ngt.make_transformer_factory('gpu')
ngt.set_transformer_factory(factory)

transformer = ngt.make_transformer()

The example above first checks if the GPU transformer is available (this depends on whether CUDA and PyCUDA are installed). If the GPU transformer is available, this example sets the transformer factory to generate GPU transformers. The call to make_transformer then returns a GPU transformer if one is available. Otherwise, the make_transformer call returns a CPU transformer.

## Computations¶

Computation objects are created by the transformer and provide an interface to evaluate a subset of the graph. The format of the executable used for evaluation depends on which transformer created the computation object. For example, the CPU transformer generates Python NumPy code that is called to evaluate the computation, while the GPU transformer generates a series of CUDA kernels that can be called to evaluate the computation.

### Computation creation¶

Computations are created with the Transformer.computation method. When creating a computation, users must specify a list of results that should be evaluated by the computation. These results should be Intel® Nervana™ Op s. The transformer can traverse the graph backwards from these results to determine the entire subset of graph nodes that are required to evaluate these results. This means that is not necessary for users to specify the entire subset of nodes to execute. However, users must set a list of graph nodes as inputs to the computation. Typically these are placeholder tensors. Continuing from the code example above, let’s create a simple graph and computation:

import ngraph as ng

a = ng.constant(4)
b = ng.placeholder(())
c = ng.placeholder(())
d = ng.multiply(a, b)

example_comp = transformer.computation(e, b, c)

This example creates a simple graph to evaluate the function e = ((a * b) + c). The first argument is the result of the computation, and the remaining arguments are inputs to the computation. To create the computation, the only result that we need to specify is e, since d is discovered when the transformer traverses the graph. In this example, a is a constant so it does not need to be passed in as an input, but b and c are placeholder tensors that must be specified as inputs.

After any computations is created, the Transformer.initialize method must be called to finalize transformation and allocate all device memory for tensors (the Transformer.initialize method is called automatically if a computation is called before you manually call initialize).

### Computation Execution¶

Our example computation object can be executed with its __call__ method by specifying the inputs b and c.

result_e = example_comp(2, 7)

The return value of this call is the resulting value of e, which should be ((4 * 2) + 7) = 15.

### Computations with multiple results¶

In real world use cases, we often want to create computations that return multiple results. For example, a single training iteration might compute both the cost value and the weight updates. Multiple results can be passed to computation creation in a list. After execution, the computation returns a tuple of the results:

example_comp2 = transformer.computation([d, e], b, c)
result_d, result_e = example_comp2(2, 7)

In addition to returning the final result as seen above, this example also sets result_d to the result of the d operation, which should be 8.

### Transformer/Backend state¶

A computation is compiled and installed on the backend device the first time the computation is called. Any new persistent tensors (such as variables) will be initialized at this time. Persistent tensors that were also used in previously defined computations will retain their states unless they have been listed among the computation’s arguments. If some persistent tensors are listed among the computation’s arguments, their values will be set when the computation is invoked. For example, variables updated by a training computation will retain their values for an inference computation. You can manually save variables by defining a computation that returns their values, and can store variables by using them as arguments for a computation.


text:
### Golden Thoughts

Rectangle PQRS has X and Y on the edges. Triangles PQY, YRX and XSP have equal areas. Prove X and Y divide the sides of PQRS in the golden ratio.

A 1 metre cube has one face on the ground and one face against a wall. A 4 metre ladder leans against the wall and just touches the cube. How high is the top of the ladder above the ground?

### Days and Dates

Investigate how you can work out what day of the week your birthday will be on next year, and the year after...

# Regional Division

##### Stage: 3 and 4 Short Challenge Level:

Some trial and error will produce a solution like that on the right, where there are $9$ different areas enclosed.

To see that this is indeed the maximum, there is always one central region ($9$ on the diagram), and then the others must be separated from this by one of the sides of one of the rectangles. Each side can only separate one region, and as there are a total of $8$ sides, this means at most $9$ regions in total.

This problem is taken from the UKMT Mathematical Challenges.

View the previous week's solution
View the current weekly problem


text:
# 组合优化考高分有小技巧吗? Viking Essay教你如何在数学exam中高分飘过！

0

## MA428 Combinatorial Optimisation

(a) Consider the following network where capacities $u_{i j}, \operatorname{cost} c_{i j}$ and supplies/demands $b(i)$ are shown on the diagram. Supply is indicated by a positive $b(i)$ value and demand by a negative one.

(i) Find the flow that corresponds to the spanning tree structure $(T, L, U)$ and show that it is feasible, where
$$\begin{gathered} T=\{(1,2),(2,3),(2,5),(3,6),(4,5)\} \\ L=\{(2,4)\} \text { and } U=\{(1,4),(5,3),(5,6)\} . \end{gathered}$$
[2 marks]
(ii) Starting with the spanning tree structure you found in (i) above, perform two iterations of the network simplex algorithm (calculate node-potentials three times and then stop) and indicate the resulting flow. Use the first eligible arc pivot rule giving priority to lower indices. If after a pivot cycle two arcs become restricted then pick the one with the lowest index to be on the tree.
[12 marks]
(iii) State either whether the flow found in (ii) is optimal or if it is not, then give the violated optimality conditions and the corresponding arcs.
[1 mark]
(iv) Is the resulting spanning tree structure found in (ii) degenerate?
[1 mark]
(b) Answer the following questions on Minimum Spanning Trees (MST):
(i) Give the definitions of a minimax path and a minimax spanning tree.
[1 mark]
(ii) Show that the unique path between two vertices in an MST is a minimax path. [3 marks]
(iii) Show that an MST is a minimax spanning tree but a minimax spanning tree is not necessarily an MST.
[3 marks]
(iv) Show that Kruskal’s algorithm produces a minimum spanning tree.
[2 marks]

(a) A set of families go out to dinner together and, to increase their social interaction, they would like to sit at tables so that no two members of the same family are at the same table. Assume that there are $p$ families and that the $i$ th family has $a(i)$ members. Also, assume that $q$ tables are available and that the $j$ th table has a seating capacity of $b(j)$. Formulate the problem of finding a seating arrangement such that no two members of the same family are at the same table as a maximum flow problem on a network $G$. Define $G$ and all the parameters associated with it and describe the maximum flow problem on $G$.
[6 marks]
(b) Let $G=(N, A)$ be a directed graph with arc set and arc costs as in the table below:

(i) Find a reachability tree from node 4 to all other nodes using a breadth first search. Show the LIST and admissible arcs at each step of the algorithm. Give priority to lower indices.
[3 marks]
(ii) Use an appropriate algorithm to find the shortest paths from node 1 to all other nodes. Explain why you used this algorithm. Give the optimal cost and the shortest path tree. Give priority to lower indices.
[6 marks]
Consider the undirected graph $G^{\prime}=(N, E)$, which is the same as the graph $G$ above except all the directed arcs $A$ are now undirected edges in $E$.
(iii) Use two algorithms that we have learned in this course to find a minimum spanning tree for $G^{\prime}$. In both cases give the resulting tree and tree cost, show all your steps, and give priority to lower indices.
[10 marks]

(a) Let $G=(N, E)$ be an undirected graph with edges $E:\{(1,2),(1,3),(2,4),(2,8),(3,4),(3,5)$, $(4,6),(5,6),(5,7),(6,7),(6,8),(7,8)\}$. Let $M=\{(2,8),(3,4),(5,7)\}$ be a matching on $G$.
(i) Perform a breadth first search algorithm to find an alternating tree routed at node 1 . Show your steps and give priority to lower indices.
[4 marks]
(ii) List any augmenting path from node 1 found in the tree in (i). Increase the cardinality of the matching by using an augmenting path.
[1 mark]
(iii) Parts (i) and (ii) above are steps of the matching algorithm for finding maximum cardinality matchings. Can this matching algorithm be used in arbitrary graphs and initial matchings? Explain your answer.
[1 mark]
(b) David is running the summer projects for a master’s degree where the students are matched to summer projects offered by clients. Suppose there are 5 students and 5 projects (each project corresponds to a distinct client). The students rank all the projects and the clients that offer the projects rank all the students. The preferences for students $S$ and clients $C$, where entry $S_{i j}$ $\left(C_{i j}\right)$ is the ranking of project $j$ (student $j$ ) by student $i$ (client $i$ ), 1 being the best, are shown in the matrices below:

\begin{gathered}
S=\left(\begin{array}{lllll}
2 & 1 & 5 & 3 & 4 \\
3 & 4 & 1 & 5 & 2 \\
1 & 4 & 2 & 3 & 5 \\
4 & 2 & 3 & 1 & 5 \\
4 & 1 & 5 & 2 & 3
\end{array}\right) \\
C=\left(\begin{array}{lllll}
1 & 2 & 5 & 3 & 4 \\
1 & 2 & 3 & 4 & 5 \\
5 & 2 & 3 & 4 & 1 \\
3 & 1 & 4 & 5 & 2 \\
2 & 5 & 3 & 4 & 1
\end{array}\right)
\end{gathered}

(i) Use the Gale-Shapley (propose-and-reject) algorithm where students propose and clients accept or reject to find a stable matching. Show all steps of the algorithm.
[6 marks]
Show that, for any instance of the problem:
(ii) Gale-Shapley produces a stable matching.
[3 marks]
(iii) In the stable matching given by the Gale-Shapley algorithm, where students propose, a client never rejects a stable partner.
[4 marks]
(c) In each of $T$ periods you can buy, sell, or hold for later sale some product subject to the following constraints: in each period $i$ you have to sell at least $\alpha_{i}$ units (due to prior agreements that you made), you can buy at most $\beta_{i}$ units, and you can hold at most $\gamma_{i}$ units of the product for the next time period. Let $x_{i}, y_{i}, z_{i}$ be the selling price, purchase price, and the inventory carrying costs in period $i$. What buy-sell-hold policy should you adopt to maximize total profit in the next $T$ periods? Formulate the problem as a network flow problem for $T=4$.
[6 marks]

## How to understand Minimum cost flows?

Min cost flow problem.
– Send finished good from plants to customers.
– $s_{y}=$ net supply / demand at vertex $v . \quad$ (sum of supply = sum of demand)
– $c_{\mathrm{ww}}=$ unit shipping cost from $v$ to $w$.
(positive or negative)
– $u_{v w}=$ capacity of edge $v-w$.
(infinity ok)
– Goal: satisfy demand at minimize cost.

Mail carrier problem.
– Post office located at node $5 .$
– Find minimum length route that starts and ends at $s$ and visits each road at least once.
– Need to traverse roads more than once unless graph is Eulerian.

## How to deal with Weighted matching problem?

Hall’s Theorem
– Given a bipartite graph G=(LUR,E), where $|\mathrm{L}|=\mid \mathrm{R}$
– It contains a perfect matching if and only if:
– For every subset $S \subseteq L,|\Gamma(S)| \geq|S|$
– $(\Gamma(S)$ is the set of vertices adjacent to $S)$

Proof on Induction
– Let $\mathrm{n}=|\mathrm{L}|=|\mathrm{R}|$
– When $n=1$, trivial
– Suppose it holds for all $n \leq k$, for $n=k+1$, two cases:

Case I: For every subset $S \subseteq L,|\Gamma(S)| \geq|S|+1$
– Then we arbitrarily put an edge $(\mathrm{u}, \mathrm{v})$ in the matching
– In G-\{u,v\}, it still satisfies the condition $|\Gamma(\mathrm{S})| \geq|\mathrm{S}|$, so the result holds by the induction condition

– Case II: there exists a T\subseteqL which has $|\Gamma(T)|=|T|$, then the subgraphs of $\mathrm{G}$ on:
– $\mathrm{T} \cup \Gamma(\mathrm{T})$
– (L\backslashT) U(R\backslash\Gamma(T))
both satisfies the Hall’s condition

Viking Essay提供高分论文代写服务，教你写出高分论文; 还有那些Fail边缘的论文，我们提供修改润色服务，帮助您顺利Pass！授人以鱼不如授人以渔，Viking Essay英国论文代写网为广大留学生提供学术知识普及，分享学写作技巧, 有任何问题, 都可以咨询哦~ 我们的客服24小时在线, 快速响应.


text:
# Tetration Forum

You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10
Thanks, Gottfried.

I also shall read again your postings. My problem is that, as a ... bloody engineer, I am (... was?) more interested to what happens, in a more real environment, for b < eta. But, now, I think that what happens at b > eta should indeed be of the same "nature" (I mean "mathematical nature") of what hapens elsewhere. The ... "function" must be ONE.

Best wishes.

Gianfranco
GFR Wrote:Thanks, Gottfried.

I also shall read again your postings. My problem is that, as a ... bloody engineer, I am (... was?) more interested to what happens, in a more real environment, for b < eta. But, now, I think that what happens at b > eta should indeed be of the same "nature" (I mean "mathematical nature") of what hapens elsewhere. The ... "function" must be ONE.

Best wishes.

Gianfranco

Gianfranco,

I append one post of mine of the newsgroup sci.math here. There was nearly exactly the same problem posed.

Kind regards -

Gottfried

news://news.t-online.de:119/fd2bf9\$q...online.com

> > So as promising as this idea may seem, defining
> > x^^(1/n) as a tetraroot will never give a function that will
> > be continous. This is why Gottried Helms's (and others')
> > functions disagree with the tetraroot -- x^^(1/n) must
> > be less than the nth tetraroot for sufficiently large n in
> > order for the function to be continous at zero.
> >
Hmm, I don't have a final answer for this yet. But with infinite
series, especially in the complex domain, we have some couriosities
everywhere, for instance the non-trivial zeros of the zeta-function.
Also the function (1+1/x)^x x->inf, is a tricky one in this regard.
Here we find, that the quantitative difference of the two approximations
of 1/x->zero in the sum and x->inf in the exponent gives a surprising result.

In a current thread in the tetration forum I posed the question
of s^t = t for real s, complex t, and a correspondent focused
this to the question of what happens, if s->inf.

One can rewrite this as
lim{s->inf} s = t^(1/t)

then
lim{s->inf} 1/s = (1/t)^(1/t)

and then
lim{s'->0} s' = t'^t' (1)

and search for a limit in complex t', possibly sharpening
by the condition, that imag(s')=0, not only in the limit.

That there are solutions for finite s, thus nonzero s' seems
to be obvious by numerical approximation, although I don't have a
authoritative reference for this.

If one resolves into t' = a + bi and log(t') = p + qi and expand
(1) then we arrive at something like

(a+bi)^(a+bi) -> 0
(a+bi)^a * (a+bi)^bi -> 0
(a+bi)^a * exp( bi * log(a+bi)) -> 0
(a+bi)^a * exp( bi * (p + qi)) -> 0
(a+bi)^a * exp( p*bi - q*b) -> 0
(a+bi)^a * exp(-qb)*exp( p*bi ) -> 0

where the last exp(p*bi) is just a rotation, and thus irrelevant for
the convergence to zero.

So it must also

(a+bi)^a * exp(-qb) -> 0

and the exp()-term cannot equal zero, so the first term only
must be zero, if not q or b diverge to infinity.

Now factor a out to have

a^a*(1 + b/a i)^a -> 0

and this reminds me to the above (1 + 1/x)^x - formula.

I'm unable to proceed from here at the moment, but this seems
to focus the core point of the problem.

Possibly we arrive here at the famous indeterminacy, what is
0^0? It depends on the source of the term: whether the exponent
or the base is -from the context of this formula- a limit-expression.
On the other hand, there may be some application of L'Hospital
needed here, I don't see it at the moment.

Hmm.

Gottfried
I've just uploaded a short discussion of the fixpoint-detail, as discussed in my previous postings. I'm trying to show, that by selection of a parameter beta I can construct a complex fixpoint, and it is made sure, that I get a purely real base b > eta. The graph and the formulae seem to indicate that the full range eta < b < inf can be constructed by a continuous function f(beta) = b for 0<= beta < pi, which would then confirm Gianfrancos and my own earlier formulae.

See
Fixpoints

It's another sketchy manuscript of mine, but... ;-)

Gottfried
Hello,

I am new here- I was wandering about the imaginary unit for some time to be able to understand physics better, but I was quite positively surprised that you have confirmed by rigorous analysis what I just yesterday found out by studying the possible content of i- a definition ( or perhaps one of the definitions of i) -of imaginary unit.

Perhaps there are many infinite values involved as well as this definition arises from Lambert function of a logarithm, and logarithm may take infinitely many values, but still I keep - i sign):

-i = power tower (e^pi/2) = h (e^pi/2)

i = - h(e^pi/2)

so here z = e^pi/2 = 4,81047738097.........

h(z) = - i

Derivation:

h(e^pi/2) = -W( -ln e^pi/2)/ ln e^pi/2 = -W(-pi/2) / pi/2

But W( -pi/2) = i*pi/2 so

h(e^pi/2) = - i*pi/2 / pi/2 = - i .

but - h(e^pi/2) = W(-pi/2) / pi/2 = i*pi/2/pi/2 = i

There must be many more such beauties outside radius of convergence of h(z).

Best regards,

Ivars Fabriciuss
Hey Ivars, welcome on board!

Ivars Wrote:-i = power tower (e^pi/2) = h (e^pi/2)

But be aware that this is mathematically wrong!
Correct is:

power tower (e^(pi/2)) = oo

If you mean something different for example an infinite valued function or a fixed point of x^x then you have to explicitely state that.
hej bo198214

bo198214 Wrote:
Ivars Wrote:-i = power tower (e^pi/2) = h (e^pi/h2)

But be aware that this is mathematically wrong!
Correct is:
power tower (e^(pi/2)) = oo

If you mean something different for example an infinite valued function or a fixed point of x^x then you have to explicitely state that.
Thanks, I understood that ; I will try more carefully:

Analytic continuation of h(z) defined as = -W(-ln(z))/ln(z) at point z=e^(pi/2) is - i.
also, in this case:

h(e^pi/2)^i = e^(pi/2)
h(e^pi/2)^-i= e^(-pi/2) as

-i^i=e^(pi/2) = 4,810477.. -i^-i = e^(-pi/2)=0,207879
i^i = e^(-pi/2)= 0,207879.. i^-i = e^(pi/2) = 4,810477

and

i*ln h(e^pi/2) = pi/2

ln h(e^pi/2) = -i pi/2 = pi/2*(h(e^pi/2)

(h(e^pi/2))^2 = -i^2 = e^-ipi = i^6

However, as e^-pi/2 > e^-e,

h(e^-pi/2) = 0,474541.......= (2/pi)*W(pi/2)

So there is no symmetry and i will not be a result of analytic continuation of infinite tetration of anything, while -i is.

Best regards,

Ivars
Ivars Wrote:However, as e^-pi/2 > e^-e,

h(e^-pi/2) = 0,474541.......= (2/pi)*W(pi/2)

So there is no symmetry and i will not be a result of analytic continuation of infinite tetration of anything, while -i is.

This depends on how you analytically continue h, on which path.
W (and hence h) has a singularity at $-\frac{1}{e}$, so if you continue on different paths around $-\frac{1}{e}$, you possibly get different results (similar to the analytic continuation of the logarithm with singularity at 0).
Surely on another path/branch
$h(e^{-\pi/2})=i$.

Edit: Perhaps its not at all "Surely", was just my conjecture.
Edit2: Now its not a conjecture anymore but regarded as nonsense XD, instead $h(e^{\pi/2})=i$ on another branch.
Hej Bo,

Would be interesing to see a concrete example where h(z) is analytically continued to get h(z) = i, on any branch, any z. Might contain interesting information, whatever the outcome.

Ivars
Ivar -

there is an article of L Euler, which seems to deal with it. Its index in the Euler-archive is E489, and I found it available at some university-library with a digitizing service. I found the attached snippet interesting, and may be it inspires to have a deeper look into it.

Gottfried

[attachment=120]
Gottfried Wrote:there is an article of L Euler, which seems to deal with it.

At least I see $e^{\frac{\pi}{2}i}=i$ in the text ...
One branch of the LambertW function gives $W(-\frac{\pi}{2})=-\frac{\pi}{2}i$, hence for this branch $h(e^{\frac{\pi}{2}})=i$. (Forget what I said about $h(e^{-\frac{\pi}{2}})$, that was a somewhat misled speculation).
We can imagine the branches of $h(b)$ given by the fixed points of $b^z$.


text:
Publicité ▼

# définition - Frequency modulation

frequency modulation (n.)

1.modulation of the frequency of the (radio) carrier wave

## définition (complément)

voir la définition de Wikipedia

Publicité ▼

# synonymes - Frequency modulation

frequency modulation (n.)

FM

## dictionnaire analogique

transmission[Hyper.]

modulate[Dérivé]

electronics[Domaine]

electronics[Domaine]

Communication[Domaine]

frequency modulation (n.)

frequency modulation (n.)

Publicité ▼

Wikipedia

# Frequency modulation

Passband modulation
Analog modulation
Digital modulation
A signal may be carried by an AM or FM radio wave.
A signal modifies the frequency of a carrier in FM.

In telecommunications and signal processing, frequency modulation (FM) conveys information over a carrier wave by varying its instantaneous frequency. This contrasts with amplitude modulation, in which the amplitude of the carrier is varied while its frequency remains constant. In analog applications, the difference between the instantaneous and the base frequency of the carrier is directly proportional to the instantaneous value of the input-signal amplitude. Digital data can be sent by shifting the carrier's frequency among a range of settings, a technique known as frequency-shift keying. FSK (digital FM) is widely used in data and fax modems. Morse code transmission has been sent this way, and FASK was used in early telephone-line modems.[1] Radioteletype also uses FSK.[2] FM modulation is also used in telemetry, radar, seismic prospecting and newborn EEG seizure monitoring.[3] Frequency modulation is known as phase modulation when the carrier phase modulation is the time integral of the FM signal. FM is widely used for broadcasting music and speech, two-way radio systems, magnetic tape-recording systems and some video-transmission systems. In radio systems, frequency modulation with sufficient bandwidth provides an advantage in cancelling naturally-occurring noise.

## Theory

If the baseband data signal (the message) to be transmitted is $x_m(t)$ and the sinusoidal carrier is $x_c(t) = A_c \cos (2 \pi f_c t)\,$, where fc is the carrier's base frequency and Ac is the carrier's amplitude, the modulator combines the carrier with the baseband data signal to get the transmitted signal:

$y(t) = A_c \cos \left( 2 \pi \int_{0}^{t} f(\tau) d \tau \right)$
$= A_{c} \cos \left( 2 \pi \int_{0}^{t} \left[ f_{c} + f_{\Delta} x_{m}(\tau) \right] d \tau \right)$
$= A_{c} \cos \left( 2 \pi f_{c} t + 2 \pi f_{\Delta} \int_{0}^{t}x_{m}(\tau) d \tau \right)$

In this equation, $f(\tau)\,$ is the instantaneous frequency of the oscillator and $f_{\Delta}\,$ is the frequency deviation, which represents the maximum shift away from fc in one direction, assuming xm(t) is limited to the range ±1.

Although it may seem that this limits the frequencies in use to fc ± fΔ, this neglects the distinction between instantaneous frequency and spectral frequency. The frequency spectrum of an actual FM signal has components extending infinitely, although they become negligible beyond a certain point.

### Sinusoidal baseband signal

Simply stated, a baseband modulated signal may be approximated by a sinusoidal continuous wave signal with a frequency fm. The integral of such a signal is:

$\int_{0}^{t}x_m(\tau)d \tau = \frac{A_m \cos (2 \pi f_m t)}{2 \pi f_m}\,$

In this case, equation (1) above simplifies to:

$y(t) = A_{c} \cos \left( 2 \pi f_{c} t + \frac{f_{\Delta}}{f_{m}} \cos \left( 2 \pi f_{m} t \right) \right)\,$

where the amplitude $A_{m}\,$ of the modulating sinusoid is represented by the peak deviation $f_{\Delta}\,$ (see frequency deviation).

The harmonic distribution of a sine wave carrier modulated by such a sinusoidal signal can be represented with Bessel functions; this provides the basis for a mathematical understanding of frequency modulation in the frequency domain.

### Modulation index

As in other modulation indices, this quantity indicates by how much the modulated variable varies around its unmodulated level. It relates to variations in the carrier frequency:

$h = \frac{\Delta{}f}{f_m} = \frac{f_\Delta |x_m(t)|}{f_m} \$

where $f_m\,$ is the highest frequency component present in the modulating signal xm(t), and $\Delta{}f\,$ is the peak frequency-deviation—i.e. the maximum deviation of the instantaneous frequency from the carrier frequency. If $h \ll 1$, the modulation is called narrowband FM, and its bandwidth is approximately $2 f_m\,$.

If $h \gg 1$, the modulation is called wideband FM and its bandwidth is approximately $2 f_\Delta\,$. While wideband FM uses more bandwidth, it can improve the signal-to-noise ratio significantly; for example, doubling the value of $\Delta{}f\,$, while keeping $f_m$ constant, results in an eight-fold improvement in the signal-to-noise ratio.[4] (Compare this with Chirp spread spectrum, which uses extremely wide frequency deviations to achieve processing gains comparable to traditional, better-known spread-spectrum modes).

With a tone-modulated FM wave, if the modulation frequency is held constant and the modulation index is increased, the (non-negligible) bandwidth of the FM signal increases but the spacing between spectra remains the same; some spectral components decrease in strength as others increase. If the frequency deviation is held constant and the modulation frequency increased, the spacing between spectra increases.

Frequency modulation can be classified as narrowband if the change in the carrier frequency is about the same as the signal frequency, or as wideband if the change in the carrier frequency is much higher (modulation index >1) than the signal frequency. [5] For example, narrowband FM is used for two way radio systems such as Family Radio Service, in which the carrier is allowed to deviate only 2.5 kHz above and below the center frequency with speech signals of no more than 3.5 kHz bandwidth. Wideband FM is used for FM broadcasting, in which music and speech are transmitted with up to 75 kHz deviation from the center frequency and carry audio with up to a 20-kHz bandwidth.

### Carson's rule

A rule of thumb, Carson's rule states that nearly all (~98 percent) of the power of a frequency-modulated signal lies within a bandwidth $B_T\,$ of:

$\ B_T = 2(\Delta f +f_m)\,$

where $\Delta f\,$, as defined above, is the peak deviation of the instantaneous frequency $f(t)\,$ from the center carrier frequency $f_c\,$.

## Noise quieting

Noise power decreases as signal power increases; therefore, the SNR increases significantly.

## Bessel functions

The carrier and sideband amplitudes are illustrated for different modulation indices of FM signals (based on Bessel functions):[specify]

Modulation
index
Sideband
Carrier 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0.00 1.00
0.25 0.98 0.12
0.5  0.94 0.24 0.03
1.0  0.77 0.44 0.11 0.02
1.5  0.51 0.56 0.23 0.06 0.01
2.0  0.22 0.58 0.35 0.13 0.03
2.41 0    0.52 0.43 0.20 0.06 0.02
2.5  −0.05 0.50 0.45 0.22 0.07 0.02 0.01
3.0  −0.26 0.34 0.49 0.31 0.13 0.04 0.01
4.0  −0.40 −0.07 0.36 0.43 0.28 0.13 0.05 0.02
5.0  −0.18 −0.33 0.05 0.36 0.39 0.26 0.13 0.05 0.02
5.53 0    −0.34 −0.13 0.25 0.40 0.32 0.19 0.09 0.03 0.01
6.0  0.15 −0.28 −0.24 0.11 0.36 0.36 0.25 0.13 0.06 0.02
7.0  0.30 0.00 −0.30 −0.17 0.16 0.35 0.34 0.23 0.13 0.06 0.02
8.0  0.17 0.23 −0.11 −0.29 −0.10 0.19 0.34 0.32 0.22 0.13 0.06 0.03
8.65 0    0.27 0.06 −0.24 −0.23 0.03 0.26 0.34 0.28 0.18 0.10 0.05 0.02
9.0  −0.09 0.25 0.14 −0.18 −0.27 −0.06 0.20 0.33 0.31 0.21 0.12 0.06 0.03 0.01
10.0  −0.25 0.04 0.25 0.06 −0.22 −0.23 −0.01 0.22 0.32 0.29 0.21 0.12 0.06 0.03 0.01
12.0  0.05 −0.22 −0.08 0.20 0.18 −0.07 −0.24 −0.17 0.05 0.23 0.30 0.27 0.20 0.12 0.07 0.03 0.01

## Implementation

### Modulation

FM signals can be generated using either direct or indirect frequency modulation:

### Demodulation

Many FM detector circuits exist. A common method for recovering the information signal is through a Foster-Seeley discriminator. A phase-locked loop can be used as an FM demodulator. Slope detection demodulates an FM signal by using a tuned circuit which has its resonant frequency slightly offset from the carrier. As the frequency rises and falls the tuned circuit provides a changing amplitude of response, converting FM to AM. AM receivers may detect some FM transmissions by this means, although it does not provide an efficient means of detection for FM broadcasts.

## Applications

### Magnetic tape storage

FM is also used at intermediate frequencies by analog VCR systems (including VHS) to record both the luminance (black and white) portions of the video signal. Commonly, the chrominance component is recorded as a conventional AM signal, using the higher-frequency FM signal as bias. FM is the only feasible method of recording the luminance ("black and white") component of video to (and retrieving video from) magnetic tape without distortion; video signals have a large range of frequency components – from a few hertz to several megahertz, too wide for equalizers to work with due to electronic noise below −60 dB. FM also keeps the tape at saturation level, acting as a form of noise reduction; a limiter can mask variations in playback output, and the FM capture effect removes print-through and pre-echo. A continuous pilot-tone, if added to the signal – as was done on V2000 and many Hi-band formats – can keep mechanical jitter under control and assist timebase correction.

These FM systems are unusual, in that they have a ratio of carrier to maximum modulation frequency of less than two; contrast this with FM audio broadcasting, where the ratio is around 10,000. Consider, for example, a 6-MHz carrier modulated at a 3.5-MHz rate; by Bessel analysis, the first sidebands are on 9.5 and 2.5 MHz and the second sidebands are on 13 MHz and −1 MHz. The result is a reversed-phase sideband on +1 MHz; on demodulation, this results in unwanted output at 6−1 = 5 MHz. The system must be designed so that this unwanted output is reduced to an acceptable level.[7]

### Sound

FM is also used at audio frequencies to synthesize sound. This technique, known as FM synthesis, was popularized by early digital synthesizers and became a standard feature in several generations of personal computer sound cards.

Edwin Howard Armstrong (1890–1954) was an American electrical engineer who invented wideband frequency modulation (FM) radio.[8] He patented the regenerative circuit in 1914, the superheterodyne receiver in 1918 and the super-regenerative circuit in 1922.[9] Armstrong presented his paper, "A Method of Reducing Disturbances in Radio Signaling by a System of Frequency Modulation", (which first described FM radio) before the New York section of the Institute of Radio Engineers on November 6, 1935. The paper was published in 1936.[10]

An FM signal can also be used to carry a stereo signal; this is done with multiplexing and demultiplexing before and after the FM process. The FM modulation and demodulation process is identical in stereo and monaural processes. A high-efficiency radio-frequency switching amplifier can be used to transmit FM signals (and other constant-amplitude signals). For a given signal strength (measured at the receiver antenna), switching amplifiers use less battery power and typically cost less than a linear amplifier. This gives FM another advantage over other modulation methods requiring linear amplifiers, such as AM and QAM.

FM is commonly used at VHF radio frequencies for high-fidelity broadcasts of music and speech. Normal (analog) TV sound is also broadcast using FM. Narrowband FM is used for voice communications in commercial and amateur radio settings. In broadcast services, where audio fidelity is important, wideband FM is generally used. In two-way radio, narrowband FM (NBFM) is used to conserve bandwidth for land mobile, marine mobile and other radio services.

## References

1. ^ Stan Gibilisco (2002). Teach yourself electricity and electronics. McGraw-Hill Professional. p. 477. ISBN 978-0-07-137730-0.
2. ^ David B. Rutledge (1999). The Electronics of Radio. Cambridge University Press. p. 310. ISBN 978-0-521-64645-1.
3. ^ B. Boashash, editor, “Time-Frequency Signal Analysis and Processing – A Comprehensive Reference”, Elsevier Science, Oxford, 2003; ISBN 0-08-044335-4
4. ^ Der, Lawrence, Ph.D., Frequency Modulation (FM) Tutorial, http://www.scribd.com/Silicon-Labs-Fm-Tutorial/d/6217907, Silicon Laboratories, Inc., accessed 2011 April 29, p. 5
5. ^ B. P. Lathi, Communication Systems, John Wiley and Sons, 1968 ISBN 0-471-51832-8, p, 214–217
6. ^ "Communication Systems" 4th Ed, Simon Haykin, 2001
7. ^ : "FM Systems Of Exceptional Bandwidth" Proc. IEEE vol 112, no. 9, p. 1664, September 1965
8. ^ A. Michael Noll (2001). Principles of modern communications technology. Artech House. p. 104. ISBN 978-1-58053-284-6.
9. ^
10. ^ Armstrong, E. H. (May 1936). "A Method of Reducing Disturbances in Radio Signaling by a System of Frequency Modulation". Proceedings of the IRE (IRE) 24 (5): 689–740. DOI:10.1109/JRPROC.1936.227383.

• A. Bruce Carlson. Communication Systems, 4th edition. McGraw-Hill Science/Engineering/Math. 2001. ISBN 0-07-011127-8, ISBN 978-0-07-011127-1.
• Gary L. Frost. Early FM Radio: Incremental Technology in Twentieth-Century America. Baltimore: Johns Hopkins University Press, 2010. ISBN 0-8018-9440-9, ISBN 978-0-8018-9440-4.
• Ken Seymour, AT&T Wireless (Mobility). Frequency Modulation, The Electronics Handbook, pp 1188-1200, 1st Edition, 1996. 2nd Edition, 2005 CRC Press, Inc., ISBN 0-8493-8345-5 (1st Edition).

Contenu de sensagent

• définitions
• synonymes
• antonymes
• encyclopédie

• definition
• synonym

Publicité ▼

dictionnaire et traducteur pour sites web

Alexandria

Une fenêtre (pop-into) d'information (contenu principal de Sensagent) est invoquée un double-clic sur n'importe quel mot de votre page web. LA fenêtre fournit des explications et des traductions contextuelles, c'est-à-dire sans obliger votre visiteur à quitter votre page web !

Essayer ici, télécharger le code;

Solution commerce électronique

Augmenter le contenu de votre site

Ajouter de nouveaux contenus Add à votre site depuis Sensagent par XML.

Parcourir les produits et les annonces

Obtenir des informations en XML pour filtrer le meilleur contenu.

Indexer des images et définir des méta-données

Fixer la signification de chaque méta-donnée (multilingue).

Renseignements suite à un email de description de votre projet.

Jeux de lettres

Les jeux de lettre français sont :
○   Anagrammes
○   jokers, mots-croisés
○   Lettris
○   Boggle.

Lettris

Lettris est un jeu de lettres gravitationnelles proche de Tetris. Chaque lettre qui apparaît descend ; il faut placer les lettres de telle manière que des mots se forment (gauche, droit, haut et bas) et que de la place soit libérée.

boggle

Il s'agit en 3 minutes de trouver le plus grand nombre de mots possibles de trois lettres et plus dans une grille de 16 lettres. Il est aussi possible de jouer avec la grille de 25 cases. Les lettres doivent être adjacentes et les mots les plus longs sont les meilleurs. Participer au concours et enregistrer votre nom dans la liste de meilleurs joueurs ! Jouer

Dictionnaire de la langue française
Principales Références

La plupart des définitions du français sont proposées par SenseGates et comportent un approfondissement avec Littré et plusieurs auteurs techniques spécialisés.
Le dictionnaire des synonymes est surtout dérivé du dictionnaire intégral (TID).
L'encyclopédie française bénéficie de la licence Wikipedia (GNU).

Changer la langue cible pour obtenir des traductions.
Astuce: parcourir les champs sémantiques du dictionnaire analogique en plusieurs langues pour mieux apprendre avec sensagent.

11995 visiteurs en ligne

calculé en 0,062s

Je voudrais signaler :
section :
une faute d'orthographe ou de grammaire
un contenu abusif (raciste, pornographique, diffamatoire)