According to the latest Annual Background Screening Report , released by Employers' Mutual Protection Service 14,5 applicants out of 100 checked have a criminal record, based on AFIS fingerprint searches and 5% on the name/ID search .
According to the latest Annual Background Screening Report , released by Employers' Mutual Protection Service 14,5 applicants out of 100 checked have a criminal record, based on AFIS fingerprint searches and 5% on the name/ID search .
New Delhi, Feb 8 India Monday forecast its economic growth for this fiscal at 7.2 percent, as against 6.7 percent achieved in the previous fiscal, despite a 0.2 percent declined predicted in farm output.
> {-# LANGUAGE ScopedTypeVariables, UndecidableInstances #-}
> {-# OPTIONS -fglasgow-exts #-}
1. 0+b = b
2. Sa+b = S(a+b)
3. 0.b = 0
4. Sa.b = b+a.b
2+3
= SS0+SSS0 by definition
= S(S0+SSS0) by 2
= S(S(0+SSS0)) by 2
= SSSSS0 by 1
= 5 by definition
> data Void
> instance Show Void where
> show _ = undefined
> type One = Maybe Void
> type Two = Maybe One
> type Three = Maybe Two
> type Four = Maybe Three
> type Five = Maybe Four
> type Six = Maybe Five
> zero = Nothing
> one = Just zero
> two = Just one
> three = Just two
> four = Just three
> five = Just four
> class Plussable a b where
> type Plus a b
> plus :: Either a b -> Plus a b
> plus' :: Plus a b -> Either a b
> instance Plussable Void b where
> type Plus Void b = b
> plus (Right b) = b
> plus' b = Right b

> instance Plussable a b => Plussable (Maybe a) b where
> type Plus (Maybe a) b = Maybe (Plus a b)
> plus (Left Nothing) = Nothing
> plus (Left (Just a)) = Just ((plus :: Either a b -> Plus a b) (Left a))
> plus (Right b) = Just ((plus :: Either a b -> Plus a b) (Right b))
> plus' Nothing = Left Nothing
> plus' (Just x) =
> let i' = plus' :: Plus a b -> Either a b
> in case i' x of
> Left a -> Left (Just a)
> Right b -> Right b
> class Timesable a b where
> type Times a b
> times :: (a, b) -> Times a b
> times' :: Times a b -> (a, b)
> instance Timesable Void b where
> type Times Void b = Void
> times _ = undefined
> times' _ = undefined
> instance (Timesable a b, Plussable b (Times a b)) => Timesable (Maybe a) b where
> type Times (Maybe a) b = Plus b (Times a b)
> times (Nothing, b) =
> let i = plus :: Either b (Times a b) -> Plus b (Times a b)
> in i (Left b)
> times (Just a, b) =
> let i = plus :: Either b (Times a b) -> Plus b (Times a b)
> in i (Right (times ((a, b))))
> times' b =
> let i' = plus' :: Plus b (Times a b) -> Either b (Times a b)
> in case i' b of
> Left b -> (Nothing, b)
> Right ab -> let (a, b) = times' ab in (Just a, b)
times :: (Two, Three) -> Six
> class Canonicable a where
> type Canonical a
> canonical :: a -> Canonical a
> canonical' :: Canonical a -> a
> instance Canonicable Void where
> type Canonical Void = Void
> canonical = id
> canonical' = id
> instance Canonicable a => Canonicable (Maybe a) where
> type Canonical (Maybe a) = Maybe (Canonical a)
> canonical Nothing = Nothing
> canonical (Just n) = Just (canonical n)
> canonical' Nothing = Nothing
> canonical' (Just n) = Just (canonical' n)
> instance (Canonicable m, Canonicable n, Plussable (Canonical m) (Canonical n)) => Canonicable (Either m n) where
> type Canonical (Either m n) = Plus (Canonical m) (Canonical n)
> canonical (Left m) =
> let i = plus :: Either (Canonical m) (Canonical n) -> Plus (Canonical m) (Canonical n)
> in i (Left (canonical m))
> canonical (Right n) =
> let i = plus :: Either (Canonical m) (Canonical n) -> Plus (Canonical m) (Canonical n)
> in i (Right (canonical n))
> canonical' x =
> let i' = plus' :: Plus (Canonical m) (Canonical n) -> Either (Canonical m) (Canonical n)
> in case i' x of
> Left m -> Left (canonical' m)
> Right n -> Right (canonical' n)
> instance (Canonicable m, Canonicable n, Timesable (Canonical m) (Canonical n)) => Canonicable (m, n) where
> type Canonical (m, n) = Times (Canonical m) (Canonical n)
> canonical (m, n) =
> let i = times :: (Canonical m, Canonical n) -> Times (Canonical m) (Canonical n)
> in i (canonical m, canonical n)
> canonical' x =
> let i' = times' :: Times (Canonical m) (Canonical n) -> (Canonical m, Canonical n)
> (m, n) = times' x
> in (canonical' m, canonical' n)
> iso :: (Canonical m ~ Canonical n, Canonicable m, Canonicable n) => m -> n
> iso m = canonical' (canonical m)
> test = iso :: Either (Two, Two) Five -> (Three, Three)
> go1 = Left (zero, one)
> go2 = Left (one, zero)
> go3 = Right four
“e” is one of those amazing numbers that arises naturally in the scheme of things.
(Others include “pi” π = 3.141592653…, which is the circumference of any circle divided by its diameter; and “phi” φ = 1.6180339887…, which is the so-called “beauty ratio“). Both of these numbers are irrational (that is, their decimals go on forever and never repeat).
e is also an irrational number and it has value:
e = 2.718281828459…
The number e was “discovered” by several mathematicians (Oughtred, Huygens, Jacob Bernoulli, Mercator and Leibniz) but they didn’t quite know they had stumbled on it and didn’t know its significance.
There are some curious properties of e, one of which is that it’s the limiting value as n → ∞ of (1 + 1/n)n.
It can also be found by adding the infinite sum:
e = 1 + 1/1! + 1/2! + 1/3! + …
So what is e good for?
It is used extensively in logarithms (which was the only way to do difficult calculations for hundreds of years before calculators came along), exponential growth (of populations, money or drug concentrations over time) and complex numbers (which were used to design the computer or mobile device you are reading this on).
So happy “e” day (February 7th, or 2/7).
[For more information on e, see the MacTutor history.]
Related posts:
Now to the actual definition of Horn clause. First, some standard logical terminology. A term is simply an expression built out of variables and function symbols. For example, x y-1 z is a term in the language of groups. An atomic formula is a formula that consists of relation symbols (including equality) applied to terms. So xy = yx is an example of an atomic formula in the language of groups. What makes an atomic formula atomic is that it’s not built out of smaller logical formulas.
A Horn clause is built out of atomic formulas in a particular way. Let A_1, … A_n and B
be atomic formulas. Then a Horn clause is a logical formula of the form
A_1 and … and A_n implies B.
As a degenerate special case, the left-hand side of the implication can be empty, which is the same as asserting formula B holds unconditionally.



Eric Finster, over at Curious Reasoning has built a python script to allow you to write Wordpress posts entirely in LaTeX , and upload them. The script parses the LaTeX code and generates HTML that expresses the same structure.
This, here, is me trying it out. With any luck, the appearance of a new toy will get me back to actually blogging some more – it’s been winding down a bit much here lately.
Update: it turns out this isn’t quite right. Almost, but not quite. I need to fix this.
It turns out that the quantity I mentioned in the last post:

is indeed a norm on the set of symmetric matrices (here,
is the largest (absolute) entry in
). Furthermore, it is the trace dual of the
norm I looked at earlier. This interesting fact is about all I’ve been able to show for my time in looking at this problem, so I provide my proof here.
First, to see that the quantity is well-defined, note that you can diagonalize any symmetric matrix, and write it as a sum of positive and negative definite matrices, for each of which such a factorization exists by Cholesky decomposition. Construct
and
appropriately from these factorizations, and we see that the set being minimized over is nonempty for any symmetric
The only other nontrivial property is to see that the triangle inequality holds: let
and
be minimal factorizations, and note that

is a permissible factorization for
This implies that 
Now we upper bound the trace-dual norm of
. By definition,

Since such a
has a decomposition
where
and
— although not all such decompositions are minimal for the matrices they describe—, we have

Note that
. Since
this last quantity is actually
. The
and
norms are dual, so

Recall that when
is symmetric,
and we have

But note that if
is the vector at which
is achieved, then
is its own minimal decomposition, so

Therefore,
and
are trace dual norms.Possibly relevant posts:
Update: This is utter bollocks, but I’ve yet to get around to correcting it.
Continuing in the vein of the previous post, we have that
, so if we’re interested in approximating
(which looks like it’s hard to compute exactly), then we’d find it useful to be able to compute
. It turns out this is easily done with an SDP when
is strictly positive:



Then
. I’m not sure what happens if
isn’t full rank, and this definitely won’t work if
is not positive semi-definite.Possibly relevant posts:
norm (1/19/2010)
norm of a PSD matrix (1/21/2010)02 February 2010
In this Newsletter
1. Math tip (a) – Graphs using free math software
2. Math tip (b) – Math of drugs and bodies (pharmacokinetics)
3. Latest IntMath Poll – math applications
4. Latest from the Math Blog
5. Final thoughts
The latest IntMath Poll asked readers how they normally draw math graphs.
The response from 1900 users was interesting:
65% said they use paper; 20% said graphics calculator and 15% said computer software.
There are many free online and downloadable graphics programs out there and it surprises me so few people use them to draw their math graphs.
In this tip, I show how to avoid some of the pitfalls of using software to draw graphs. Go to:
Graphs using free math software
Several people have written asking me to write an introduction to pharmacokinetics. This is the process where the body absorbs and metabolizes drugs (or food, or any chemical).
The math involves diffrential equations, but I think everyone will find it an interesting read. Go to:
Math of drugs and bodies (pharmacokinetics)
One of the most common questions from math students is, "When are we ever going to use this stuff?"
This month’s IntMath Poll asks readers whether they feel they get a good understanding of how math is applied in the "real world".
Please add your vote – you can do so on any page in:
A) Math and color blindness
What’s the best way to present math so color blind people can read it? Are you color blind? I’d love to hear your reaction to this article.
B) Camera purchase decisions – how math helps
A site selling electronics uses math concepts to help customers decide.
C) Friday math movie – George Dyson at the birth of the computer
The story of one of the most important inventions ever.
D) Math graphs on the Web without images
Here’s one way to plot good looking graphs on the Web – use ASCIIsvg.
a. Practice
Everyone tells us to practice math and you will become an expert. Here’s another take on that advice.
Practice does not make perfect.
Only perfect practice makes perfect. [Vince Lombardi.]
b. Biodiversity
2010 is the International Year of Biodiversity. The rise and decline of populations is a very interesting math topic.
What can you do to study – and help – endangered species in your area?
Until next time, enjoy whatever you learn.
Related posts:
> {-# OPTIONS_GHC -fglasgow-exts #-}
> {-# LANGUAGE ScopedTypeVariables, OverlappingInstances #-}
> import Control.Monad.Trans
> import Control.Monad.State
> import Control.Monad.Writer
> import Control.Monad.Identity
> test1 :: StateT Int (StateT Int (StateT Int (WriterT String Identity))) Int
> test1 = do
> put 1
> lift $ put 2
> lift $ lift $ put 3
> a <- get
> b <- lift $ get
> c <- lift $ lift $ get
> lift $ lift $ lift $ tell $ show $ a+b+c
> return $ a*b*c
> go1 = runIdentity (runWriterT (runStateT (runStateT (runStateT test1 0) 0) 0))
> data A = A
> data B = B
> data C = C
> data D = D
> test2 :: TStateT A Int (TStateT B Int (TStateT C Int (TWriterT D String Identity))) Int
> test2 = do
> tput A 1
> tput B 2
> tput C 3
> a <- tget A
> b <- tget B
> c <- tget C
> ttell D $ show $ a+b+c
> return $ a*b*c
> go2 = runIdentity (runTWriterT (runTStateT (runTStateT (runTStateT test2 0) 0) 0))
> data T tag m a = T { runTag :: m a } deriving Show
> instance Monad m => Monad (T tag m) where
> return a = T (return a)
> T x >>= f = T $ x >>= (runTag . f)
> instance MonadTrans (T tag) where
> lift m = T m
> class TWith tag (m :: * -> *) (n :: * -> *) where
> taggedLift :: tag -> m a -> n a
> instance (Monad m, m ~ n) => TWith tag m (T tag n) where
> taggedLift _ x = lift x
> instance (Monad m, Monad n, TWith tag m n, MonadTrans t) => TWith tag m (t n) where
> taggedLift tag x = lift (taggedLift tag x)
> type TStateT tag s m = T tag (StateT s m)
> runTStateT = runStateT . runTag
> tput tag x = taggedLift tag (put x)
> tget tag = taggedLift tag get
> type TWriterT tag w m = T tag (WriterT w m)
> runTWriterT = runWriterT . runTag
> ttell tag x = taggedLift tag (tell x)
I’ve often been asked how I feel about death. (Because, as you know, if you don’t believe in an afterlife, then you must be terrified to die). A couple days ago, I was listening to Poses and reencountered this gem, “In a Graveyard”. I love the piano, but this is one of his songs that I fell in love with just for the lyrics. It pretty much captures my attitude towards death. Death can be good, something to be desired even: can you imagine what it’d be like to be doomed to live forever? To put up with all the foibles of humanity forever? Much better to live a full life and then exit, stage left. Life is a struggle, death is the cessation.
Wandering properties of death
Arresting moons within our eyes and smiles
We did rest
Amongst the granite tombs to catch our breathWorldly sounds of endless warring
Were for just a moment silent stars
Worldly boundaries of dying
Were for just a moment never ours
All was new
Just as the black horizons blueThen along the bending path away
I smiled in knowing I’d be back one day.
Possibly relevant posts:
joke (2/7/2005)In some Hilbert space, let
be a unit ball polytope of some norm and
be the unit ball of its dual norm. Is it the case that for every face in
there is a vertex of
which defines a normal on that face, and vice versa?
I just looked up this stuff, so I barely know what a face is, much less how to tackle this problem right now. My intuition comes only from the knowledge that the dual of the
ball is the
ball, in which case it’s easy to see that this is the case.
Another question: what are the vertices of the
and
norm balls? (Are these balls even polyhedral? I think so.)
Possibly relevant posts:
norm and the
norm (1/27/2010)
norm (1/19/2010)My normal tendency is to write long posts that I never finish. I’ll start off this series with small posts to see if I can break the habit.
The idea of Horn clauses emerged from model theory, so I will begin there. Model theory considers ideas that can expressed in very limited languages. You begin with a small vocabulary of constants, function symbols and relation symbols, known as the signature. For example, you can express the theory of groups in terms of two function symbols and one constant: the group product, the inverse function, and a constant that represents the unit. The theory of directed graphs can be described by a single relation symbol R(x,y) that expresses whether a directed edge begins at x and ends at y.
When coupled with first-order logic, even a very limited language can be very expressive. Set theory itself, for example, can be expressed using a single relation symbol (set membership). Horn clauses are special first-order logical statements that are not nearly as expressive, but still cover very many cases, as we shall see.
Tell me, Gasarch, how in the world do you get your papers published when you consistently skip the apostrophe in it's and that's? Do referees notice these things anymore, or are you simply careless in blogs.This commenter unintentionally raised some good questions:
It turns out that the
norm ( the trace dual of the
norm, explicitly given as
) is equivalent to the
factorization norm, which is defined as
Note that constraining the
norm constrains the Euclidean norms of the rows of
and 
A quick proof relies on Grothendieck’s inequality, which more or less states that
If
is a real matrix, then for every choice of unit vectors
in a real Hilbert space,
whereis an absolute constant.
Note that the trace dual norm of
is

where the supremum is over all choices of lengths for
.
Therefore
so
(it’s easy to check that if
then
and that
)
To show the other direction,
, observe that

since the second maximum is taken over all lengths for 
Putting the two inequalities together,

As an aside, note that now we have the terminology, we can more concisely write Grothendieck’s inequality as
If
is a real matrix, then
![]()
Possibly relevant posts:
norm (1/19/2010)I realized that I’ve been attempting to do greedy approximation in the set of symmetric matrices using the “dictionary”
without checking that this is indeed a dictionary: is the closure of the span of this set the set of all symmetric matrices?
As someone just pointed out, this is obviously not the case, since the diagonals of symmetric rank one sign matrices are constant. Darn (and don’t I feel stupid). Ok, I guess I’ll have to settle for greedy approximation with the dictionary 
Maybe that original dictionary of symmetric rank one sign matrices is a dictionary for the Hilbert space of symmetric matrices with constant diagonals? I don’t have time to think about that. Doesn’t seem bloody useful: you’d only be able to apply this to covariance matrices of equivariant variables.Possibly relevant posts:
One wonders if the failure of computer scientists to articulate the intellectual excitement of their field is not one of the causes of their current funding crisis in the U.S. Too often, policymakers, and hence funding agencies, treat computer science as a provider of services and infrastructure rather than as an exciting discipline worth studying on its own. Promises of future innovation and related scientific advances will be more credible to them if they actually understand that past and current breakthroughs arose from an underlying science rather than from a one-time investment in 'infrastructure.
It is high time the computer science community began to reveal to the public its best kept secret: its work is exciting science -- and indispensable to society.
Surprisingly, I couldn’t find this in an Internet search, so I implemented the algorithm using CVX.
%% [X,Y,VAL] = INF1NORM(A) provides a probabilistic lower bound on the % infinity->1 operator norm of A, to within a guaranteed factor, in % expectation. % % (since the quality of the approximation is only guaranteed in % expectation, you should call several times and retain the highest VAL and % the corresponding X,Y) % % given a positive semidefinite matrix A, approximates the infinity->1 % operator norm of A to, on average, within a factor of at least 0.56 and % returns the approximation as VAL. X is a sign vector satisfying % VAL = X.'*A*X; Y=X. % % if A is not PSD, returns an approximation that is on average within a factor % of at least .27, and X,Y are sign vectors satisfying VAL = X.'*A*Y; % % Reference: Alon and Naor. Approximating the Cut-norm via Grothendieck's % Inequality. function [x, y, val] = approxinf1norm(A) [n,m] = size(A); if n==m && all(eig(A) > 0) cvx_begin variable W(n,n) symmetric; maximize(trace(A*W)); subject to diag(W) == ones(n,1); W == semidefinite(n); cvx_end G = randn(n,1); R = chol(W); x = sign(R.'*G); y = x; val = x.'*A*x; else cvx_begin variable W(n+m,n+m) symmetric; maximize(trace([zeros(n,n) A; A.' zeros(m,m)]*W)); subject to diag(W) == ones(n+m,1); W == semidefinite(n+m); cvx_end G = randn(n+m,1); R = chol(W); U = R(:, 1:n); V = R(:, n+1:end); x = sign(U.'*G); y = sign(V.'*G); val = x.'*A*y; end end
Possibly relevant posts:
norm of a PSD matrix (1/21/2010)
norm (1/19/2010)I was musing about the foundations of mathematics the other day, when it occurred to me that you could make a pretty good case that the key foundational idea of mathematics is that of Horn clauses (also known as universal Horn sentences). Horn clauses, despite begin obscure outside certain areas, are ubiquitous. Many (perhaps most?) basic mathematical objects can be described by Horn clauses. Fundamental category theoretic notions have Horn clause interpretations. Even first-order logic, which contains Horn clauses as a special case, can be viewed as having inference rules in the form of Horn clauses applied at the level of proofs.
I thought I’d spend a couple of posts describing Horn clauses, and laying out the case for their ubiquity.
I watched half of the premiere for Spartacus: Blood and Sand last night. I didn’t get any further because I’m just not that into it: the storyline is not at all original— to be fair, I don’t think it’s reasonable to expect the show to shine until the stage has been set for political machinations— and the CGI is horrible. At some point I’ll finish watching the premiere, and may even continue to watch the series, just because a red-headed Xena Lucy Lawless seems to be on the cast.
As I expected, there were several pointless sex scenes. It was the kind of sex that in better shows, is implied and not shown, not because of prudishness, but simply because its presence doesn’t add to the show. It caught my attention that the legate performed cunnilingus on his wife; if I recall correctly, the Romans looked down on oral sex. I’m sure there were other more important historical inaccuracies, but that one popped out at me. I looked up the Roman attitude towards oral sex, just to be sure, but I couldn’t find a definitive statement about the time period Spartacus is set in: but at least in the time period of Pompeii, oral sex was definitely socially taboo.
The whole Roman-attitude-towards-sex thought stream got me thinking about the song “Origin of Love” from the soundtrack to Hedwig and the Angry Inch. It’s a musical adaptation of a speech Aristophanes gave in Plato’s Symposium (which takes liberties); and yes, I’m aware that makes this Greek, not Roman.
Here’re animated versions of the song and the speech it’s based on:
Possibly relevant posts:
Hashes are one of my favorite types of meal to make; they’re incredibly versatile. I made one today to use up the remnants of a rather bland chicken I roasted earlier in the week. Here’s the recipe:
Ingredients:
Instructions:
Add just a little bit of olive oil to a pot (you don’t want the hash to be oily, since you’re adding barbecue sauce, so use just enough to keep the meat and vegetable mix from scorching before it starts to release its juices) and sautee the garlic. Dump in the vegetables and meat mix, season with salt, paprika, and italian seasoning, and heat while mixing until about a minute after the vegetables start releasing their water. Incidentally, mixing helps shred the chicken further. Mix in the barbecue sauce and hot sauce and let heat through. Mix in the potato, being sure to coat each chunk, and heat for a couple minutes.
I ate some immediately after cooking, and was disappointed — not only could I taste the red pepper and celery as individual components, the hot sauce also overpowered the rest of the flavoring, and the potatoes didn’t pick up the seasoning. I just had some again, and it was much better this time around. Apparently you have to let this hash sit and cool so the flavors blend. You might also want to add some onion: I didn’t because I was too lazy to do any more chopping.
Update: Pictures!
Update: Ok, it turns out this isn’t true. You get a nice upper bound, but not the exact operator norm. Last night when I tested on three random matrices, the program gave the operator norm (it works with the example matrix below), but this morning none of the random matrices I’m trying work. Weird
Learned something interesting today: it seems that the
operator norm of a PSD matrix can be found exactly, using a semidefinite program. This is unexpected, because for general matrices that norm is NP-hard to compute.
Consider the primal program defining the
norm of a positive matrix
:

The dual program is

I wasn’t expecting strong duality to hold, since the primal program is not convex, but from experiments it seems that it does. Tomorrow I’m going to review the conditions for strong duality and see if I can prove it does hold.
Unfortunately, there’s no easy way to go from the semidefinite program to a specific vector of signs that achieves
This is what I really need: the primal problem came up when I considered greedily approximating
in the form of a sum
of low rank matrices where
. The projection step where you find the low rank matrix most collinear with the current residual is exactly the primal problem above.
All you know about an optimal
from the primal problem is that
assuming strong duality holds.
Since I love cvx, here’s a little test case:
% the infty->1 norm of this matrix is 6292 a la this Mathematica snippet: % Max[# . A . # & /@ Tuples[{-1, 1}, n]] A = [381,59,-18,33,100,-4,-61,-6,6; 59,220,-46,22,4,-6,-18,93,-10; -18,-46,323,102,25,-130,119,-10,14; 33,22,102,194,-154,-125,11,-8,-108; 100,4,25,-154,320,168,0,153,137; -4,-6,-130,-125,168,257,-93,135,101; -61,-18,119,11,0,-93,140,-32,16; -6,93,-10,-8,153,135,-32,390,37; 6,-10,14,-108,137,101,16,37,283]; cvx_begin variable lambda(9); minimize(sum(lambda.*ones(9,1))); subject to lambda >= 0; diag(lambda)-A == semidefinite(9); cvx_end
Possibly relevant posts:
norm (1/19/2010)
norm and the
norm (1/27/2010)That seems like a good idea for estimating distances. Manhattan distance is a very bad approximator to Euclidean distance. On a triangular grid, however, it's not so bad.
I wonder how this works in 3 dimensions.
> import Data.Char


> type Field = Int -> Int -> Int
> data Grid = Grid Int Int Field
> instance Eq Grid
> instance Show Grid where
> show (Grid w h f) = concat
> [[digit (f x y) | x <- [0..w-1]] ++ "\n" | y <- [0..h-1]]
> digit 0 = '.'
> digit n = chr (48+n)
> instance Num Grid where
> Grid w0 h0 f0 + Grid w1 h1 f1 = Grid
> (w0 `max` w1) (h0 `max` h1)
> (\x y -> f0 x y + f1 x y)
count :: Grid -> Int
count f + count g == count (f+g)
> gsum (Grid w h f) = sum [f x y | x <- [0..w-1], y <- [0..h-1]]
> point x y = Grid (x+1) (y+1)
> (\x0 y0 -> if (x0, y0) == (x,y) then 1 else 0)
> circle x y r = Grid (x+r+1) (y+r+1)
> (\x0 y0 -> if (x-x0)^2+(y-y0)^2<r^2 then 1 else 0)
> test1 = circle 10 10 5+circle 7 13 4+point 5 5+point 9 12
> test2 = gsum test1
*Main> test1
................
................
................
................
................
.....1..........
........11111...
.......1111111..
......111111111.
......111111111.
.....1222211111.
....11222221111.
....11222321111.
....1112222111..
....111122211...
....1111111.....
.....11111......
................
*Main> test2
116
> scale n (Grid w h f) = Grid (w*n) (h*n)
> (\x y -> f (x `div` n) (y `div` n))
count (n `scale` f) = count f
gsum (n `scale` f) = n^2 * gsum f
> data EGrid = EGrid {
> eWidth::Int, eHeight::Int,
> faces::Field, hedges::Field, vedges::Field, vertices::Field
> }
> g2e (Grid w h f) = EGrid w h
> f
> (\x y -> f (x-1) y `max` f x y)
> (\x y -> f x (y-1) `max` f x y)
> (\x y -> f (x-1) (y-1) `max` f (x-1) y `max` f x (y-1) `max` f x y)

> fsum (EGrid w h f _ _ _) = gsum (Grid w h f)
> esum (EGrid w h _ e f _) = gsum (Grid (w+1) h e)+gsum (Grid w (h+1) f)
> vsum (EGrid w h _ _ _ v) = gsum (Grid (w+1) (h+1) v)
> measure a b c g = let e = g2e g in a*vsum e+b*esum e+c*fsum e
> area = measure 0 0 1
((n^2) *) . area = area . scale n
mystery_property1 = measure a b c
((n^1) *) . mystery_property1 = mystery_property1 . scale n
mystery_property2 = measure a b c
((n^0) *) . mystery_property2 = mystery_property2 . scale n
g2e . (scale n) == gscale n . g2e

measure 1 0 0 $ point 0 0
measure 1 0 0 $ 2 `scale` point 0 0
measure 1 0 0 $ 3 `scale` point 0 0
4a+ 4b+ c = x
9a+12b+4c = 2x
16a+24b+9c = 3x
4a+ 4b+ c = x
9a+12b+4c = x
16a+24b+9c = x

> euler = measure 1 (-1) 1
> test3 = euler test1
FOCS and STOC only take technically hard results on problems that we already agree are worth studying. Papers that are truly innovative, starting new directions, have a very hard time getting into those conferences.This point or view was one of the motivations for ICS.
J. P. May’s book, A Concise Course in Algebraic Topology, is available for download on his homepage. The book provides an overview of classical algebraic topology: homology and homotopy groups, K-theory, and cobordism.
"Intel Math is an eighty-hour course for K-8 teachers who teach math. The course is co-facilitated by a practicing mathematician and a math educator. The emphasis is on teachers deepening their understanding of math. Intel Math examines the arithmetic, geometric and algebraic aspects of: operations, number theory, place value, rates, rational numbers, linear equations and functions through problem solving."This course will be available at no cost to school districts. It is part of president Obama's "Educate to Innovate" campaign (see press release). A bit more information is found at www.inspiredbyeducation.com.
It was time I changed the old blog style to something a bit more modern. I hope you like it.
Now I just have to figure out how to port 60 blog posts from ASCIIMathML notation to something a bit friendlier that can use MathML but does not require it. What is out there? I know about jsMath. I am open to suggestions.
Already a while ago videolectures.net published this tutorial on Computer Verified Exact Analysis by Bas Spitters and Russell O’Connor from Computability and Complexity in Analysis 2009. I forgot to advertise it, so I am doing this now. It is about an implementation of exact real arithmetic whose correctness has been verified in Coq. Russell also gave a quick tutorial on Coq.
We may not use these books much but they will be good to have on your shelf if you go into theory.I am the only one from that class who went into theory. One of them I have used (Hopcroft and Ullman's White Book). The other three I never touched and no longer have. I do not know what I did with them.
There is an absolute truth. People don't vote on mathematical things like 2+2=4.Given the source this quote may be ironic. However, this post is not about Conservapedia or Wikipedia. Its about voting on mathematical truths.
I don’t normally link to sites that require registration, such as the New York Times, but of the final week of the NFL regular season features both a reference to Boolean algebra and an explanation of how the Broncos can get into the playoffs in
disjunctive normal form:George Boole, the 19th-century philosopher, developed Boolean algebra, the system of precisely defined conjunctions and operators that made possible computer logic and playoff tie-breaker scenarios. Without Boole, it would be impossible to explain that the Broncos can make the playoffs with a win AND {(a Jets loss AND losses by [Ravens or Steelers]) OR (a Jets loss AND Texans win) OR (a Ravens loss AND [Steelers loss OR Texans win])}. It would be even be more difficult to explain that the Broncos can also clinch with a loss AND {(Steelers AND Ravens AND Texans AND Jaguars losses) OR (Steelers AND Ravens AND Texans AND Jets losses) OR (Steelers AND Ravens AND Jaguars AND Jets losses) OR (Steelers AND Jaguars AND Jets AND Texans losses) OR (Jets AND Jaguars AND Texans AND Ravens losses)}. We all owe Boole a parenthetical debt of gratitude for making things so crystal clear.