text:
## The Annals of Statistics

### Convergence of Gaussian quasi-likelihood random fields for ergodic Lévy driven SDE observed at high frequency

Hiroki Masuda

#### Abstract

This paper investigates the Gaussian quasi-likelihood estimation of an exponentially ergodic multidimensional Markov process, which is expressed as a solution to a Lévy driven stochastic differential equation whose coefficients are known except for the finite-dimensional parameters to be estimated, where the diffusion coefficient may be degenerate or even null. We suppose that the process is discretely observed under the rapidly increasing experimental design with step size $h_{n}$. By means of the polynomial-type large deviation inequality, convergence of the corresponding statistical random fields is derived in a mighty mode, which especially leads to the asymptotic normality at rate $\sqrt{nh_{n}}$ for all the target parameters, and also to the convergence of their moments. As our Gaussian quasi-likelihood solely looks at the local-mean and local-covariance structures, efficiency loss would be large in some instances. Nevertheless, it has the practically important advantages: first, the computation of estimates does not require any fine tuning, and hence it is straightforward; second, the estimation procedure can be adopted without full specification of the Lévy measure.

#### Article information

Source
Ann. Statist., Volume 41, Number 3 (2013), 1593-1641.

Dates
First available in Project Euclid: 1 August 2013

https://projecteuclid.org/euclid.aos/1375362561

Digital Object Identifier
doi:10.1214/13-AOS1121

Mathematical Reviews number (MathSciNet)
MR3113823

Zentralblatt MATH identifier
1292.62124

Subjects
Primary: 62M05: Markov processes: estimation

#### Citation

Masuda, Hiroki. Convergence of Gaussian quasi-likelihood random fields for ergodic Lévy driven SDE observed at high frequency. Ann. Statist. 41 (2013), no. 3, 1593--1641. doi:10.1214/13-AOS1121. https://projecteuclid.org/euclid.aos/1375362561

#### References

• [1] Aït-Sahalia, Y. and Jacod, J. (2007). Volatility estimators for discretely sampled Lévy processes. Ann. Statist. 35 355–392.
• [2] Aït-Sahalia, Y. and Jacod, J. (2008). Fisher’s information for discretely sampled Lévy processes. Econometrica 76 727–761.
• [3] Bardet, J.-M. and Wintenberger, O. (2009). Asymptotic normality of the quasi-maximum likelihood estimator for multidimensional causal processes. Ann. Statist. 37 2730–2759.
• [4] Barndorff-Nielsen, O. E. and Shephard, N. (2001). Non-Gaussian Ornstein–Uhlenbeck-based models and some of their uses in financial economics. J. R. Stat. Soc. Ser. B Stat. Methodol. 63 167–241.
• [5] Bhansali, R. J. and Papangelou, F. (1991). Convergence of moments of least squares estimators for the coefficients of an autoregressive process of unknown order. Ann. Statist. 19 1155–1162.
• [6] Chan, N. H. and Ing, C.-K. (2011). Uniform moment bounds of Fisher’s information with applications to time series. Ann. Statist. 39 1526–1550.
• [7] Dvoretzky, A. (1977). Asymptotic normality of sums of dependent random vectors. In Multivariate Analysis, IV (Proc. Fourth Internat. Sympos., Dayton, Ohio, 1975) 23–34. North-Holland, Amsterdam.
• [8] Findley, D. F. and Wei, C.-Z. (2002). AIC, overfitting principles, and the boundedness of moments of inverse matrices for vector autoregressions and related models. J. Multivariate Anal. 83 415–450.
• [9] Fort, G. and Roberts, G. O. (2005). Subgeometric ergodicity of strong Markov processes. Ann. Appl. Probab. 15 1565–1589.
• [10] Friedman, A. (2006). Stochastic Differential Equations and Applications. Dover Publications, Mineola, NY.
• [11] Gobet, E. (2002). LAN property for ergodic diffusions with discrete observations. Ann. Inst. Henri Poincaré Probab. Stat. 38 711–737.
• [12] Heyde, C. C. (1997). Quasi-Likelihood and Its Application: A General Approach to Optimal Parameter Estimation. Springer, New York.
• [13] Ibragimov, I. A. and Has’minskiĭ, R. Z. (1981). Statistical Estimation: Asymptotic Theory. Applications of Mathematics 16. Springer, New York.
• [14] Inagaki, N. and Ogata, Y. (1975). The weak convergence of likelihood ratio random fields and its applications. Ann. Inst. Statist. Math. 27 391–419.
• [15] Jacod, J. and Shiryaev, A. N. (2003). Limit Theorems for Stochastic Processes, 2nd ed. Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences] 288. Springer, Berlin.
• [16] Jeganathan, P. (1982). On the convergence of moments of statistical estimators. Sankhyā Ser. A 44 213–232.
• [17] Jeganathan, P. (1989). A note on inequalities for probabilities of large deviations of estimators in nonlinear regression models. J. Multivariate Anal. 30 227–240.
• [18] Kessler, M. (1997). Estimation of an ergodic diffusion from discrete observations. Scand. J. Stat. 24 211–229.
• [19] Kulik, A. M. (2009). Exponential ergodicity of the solutions to SDE’s with a jump noise. Stochastic Process. Appl. 119 602–632.
• [20] Kulik, A. M. (2011). Asymptotic and spectral properties of exponentially $\phi$-ergodic Markov processes. Stochastic Process. Appl. 121 1044–1075.
• [21] Kunita, H. (1990). Stochastic Flows and Stochastic Differential Equations. Cambridge Studies in Advanced Mathematics 24. Cambridge Univ. Press, Cambridge.
• [22] Kutoyants, Y. A. (1984). Parameter Estimation for Stochastic Processes. Research and Exposition in Mathematics 6. Heldermann, Berlin.
• [23] Kutoyants, Y. A. (2004). Statistical Inference for Ergodic Diffusion Processes. Springer, London.
• [24] Luschgy, H. and Pagès, G. (2008). Moment estimates for Lévy processes. Electron. Commun. Probab. 13 422–434.
• [25] Mancini, C. (2004). Estimation of the characteristics of the jumps of a general Poisson-diffusion model. Scand. Actuar. J. 1 42–52.
• [26] Maruyama, G. and Tanaka, H. (1959). Ergodic property of $N$-dimensional recurrent Markov processes. Mem. Fac. Sci. Kyushu Univ. Ser. A 13 157–172.
• [27] Masuda, H. (2005). Simple estimators for parametric Markovian trend of ergodic processes based on sampled data. J. Japan Statist. Soc. 35 147–170.
• [28] Masuda, H. (2007). Ergodicity and exponential $\beta$-mixing bounds for multidimensional diffusions with jumps. Stochastic Process. Appl. 117 35–56.
• [29] Masuda, H. (2008). On stability of diffusions with compound-Poisson jumps. Bull. Inform. Cybernet. 40 61–74.
• [30] Masuda, H. (2010). Approximate self-weighted LAD estimation of discretely observed ergodic Ornstein–Uhlenbeck processes. Electron. J. Stat. 4 525–565.
• [31] Masuda, H. (2011). Approximate quadratic estimating function for discretely observed Lévy driven SDEs with application to a noise normality test. RIMS Kôkyûroku 1752 113–131.
• [32] Masuda, H. (2013). Asymptotics for functionals of self-normalized residuals of discretely observed stochastic processes. Stochastic Process. Appl. 123 2752–2778.
• [33] Menaldi, J. L. and Robin, M. (1999). Invariant measure for diffusions with jumps. Appl. Math. Optim. 40 105–140.
• [34] Meyn, S. P. and Tweedie, R. L. (1993). Stability of Markovian processes. III. Foster–Lyapunov criteria for continuous-time processes. Adv. in Appl. Probab. 25 518–548.
• [35] Ogata, Y. and Inagaki, N. (1977). The weak convergence of the likelihood ratio random fields for Markov observations. Ann. Inst. Statist. Math. 29 165–187.
• [36] Ogihara, T. and Yoshida, N. (2011). Quasi-likelihood analysis for the stochastic differential equation with jumps. Stat. Inference Stoch. Process. 14 189–229.
• [37] Shimizu, Y. (2006). $M$-estimation for discretely observed ergodic diffusion processes with infinitely many jumps. Stat. Inference Stoch. Process. 9 179–225.
• [38] Shimizu, Y. and Yoshida, N. (2006). Estimation of parameters for diffusion processes with jumps from discrete observations. Stat. Inference Stoch. Process. 9 227–277.
• [39] Sieders, A. and Dzhaparidze, K. (1987). A large deviation result for parameter estimators and its application to nonlinear regression analysis. Ann. Statist. 15 1031–1049.
• [40] Sørensen, M. (2008). Efficient estimation for ergodic diffusions sampled at high frequency. Preprint.
• [41] Straumann, D. and Mikosch, T. (2006). Quasi-maximum-likelihood estimation in conditionally heteroscedastic time series: A stochastic recurrence equations approach. Ann. Statist. 34 2449–2495.
• [42] Uchida, M. (2010). Contrast-based information criterion for ergodic diffusion processes from discrete observations. Ann. Inst. Statist. Math. 62 161–187.
• [43] Uchida, M. and Yoshida, N. (2012). Adaptive estimation of an ergodic diffusion process based on sampled data. Stochastic Process. Appl. 122 2885–2924.
• [44] van der Vaart, A. W. (1998). Asymptotic Statistics. Cambridge Series in Statistical and Probabilistic Mathematics 3. Cambridge Univ. Press, Cambridge.
• [45] Wang, J. (2008). Criteria for ergodicity of Lévy type operators in dimension one. Stochastic Process. Appl. 118 1909–1928.
• [46] Wedderburn, R. W. M. (1974). Quasi-likelihood functions, generalized linear models, and the Gauss–Newton method. Biometrika 61 439–447.
• [47] Yoshida, N. (1992). Estimation for diffusion processes from discrete observation. J. Multivariate Anal. 41 220–242.
• [48] Yoshida, N. (2011). Polynomial type large deviation inequalities and quasi-likelihood analysis for stochastic differential equations. Ann. Inst. Statist. Math. 63 431–479.


text:
# Geometric representations§

Different representations of geometric objects will lead to different algorithms. Currently, ncollide relies a lot on convex shapes described by a support mapping. However, working exclusively with convex shapes is too restrictive so ncollide provides composite shapes that allows the construction of a concave shape from its convex parts.

Geometric primitives supported by ncollide are defined on the shape module. They all share a common dynamic representation. Note that all geometric primitives have a predefined constant local frame equal to the identity matrix. Thus, one usually has to store a transformation matrix separately from the shape itself in order to reach any location and orientation.

# Support mappings§

ncollide supports generic algorithms that work for any (possibly user-defined) shape defined by a support map. The support map (argument) of a shape $\mathcal{A}$ is a function that returns the point $\mathbf{p}$ that maximises its dot product with a given direction $\mathbf{v}$. Such a point point $s_{\mathcal{A}}(\mathbf{v})$ is called a support point:

This can be seen as a function that returns a point of the support mapped shape which is the furthest on the given direction. Such a function is enough to describe completely a convex object. If several points are eligible to be support points for a given direction $\mathbf{v}$, any one of them can be returned (preferably a corner). The following shows support points for the shapes $\mathcal{A}, \mathcal{B}$ and $\mathcal{C}$, given two directions $\mathbf u$ and $\mathbf v$:

The support mapping function is exposed by the SupportMap trait.

Method Description
.support_point(m, v) Computes the support point (in the direction v) of the caller transformed by the transformation matrix m.
.support_point_toward(m, v) Same as .support_point(...) except that v is already a unit vector.

Most basic geometric primitives like balls, cubes, cones, can be described by their support mappings. This allows a useful level of genericity for several geometric queries on ncollide.

### Ball§

The Ball designs a disk in 2D, or a sphere in 3D, both centered at the origin.

Method Description
.radius() The radius of the ball.
let ball = Ball::new(1.0f32);
assert!(ball.radius() == 1.0);

### Cuboid§

The Cuboid structure describes a rectangle in two dimensions or a cuboid in three dimensions. A cuboid is defined by its half extents, i.e., its half length along each coordinate axis.

Method Description
.half_extents() The half extents of the cuboid.
let cuboid = Cuboid::new(Vector2::new(2.0f32, 1.0));

assert!(cuboid.half_extents().x == 2.0);
assert!(cuboid.half_extents().y == 1.0);

let cuboid = Cuboid::new(Vector3::new(2.0f32, 1.0, 3.0));

assert!(cuboid.half_extents().x == 2.0);
assert!(cuboid.half_extents().y == 1.0);
assert!(cuboid.half_extents().z == 3.0);

### Cylinder§

The Cylinder structure describes a 3D cylinder with $\mathbf{y}$ as its principal axis.

Method Description
.half_height() The half height of the cylinder.
.radius() The radius of the cylinder basis.
let cylinder = Cylinder::new(0.5f32, 1.0);

assert!(cylinder.half_height() == 0.5);
assert!(cylinder.radius() == 1.0);

### Cone§

The Cone structure describes a cone of revolution in three dimensions. A cone is defined by the radius of its basis and its half height − the half distance between the basis and the apex. It points upward, its principal axis is the $\mathbf{y}$ axis, and its apex has coordinates $(0, \text{cone.half_height()}, 0)$.

Method Description
.half_height() The half height of the cone.
.radius() The radius of the cone basis.
let cone = Cone::new(0.5f32, 0.75);

assert!(cone.half_height() == 0.5);
assert!(cone.radius() == 0.75);

### Capsule§

The Capsule structure describes either a rectangle with extremitis replaced by half-discs (in 2D), or a cylinder with extremities replaced by half-balls (in 3D). A capsule is defined by the half height of its rectangular/cylindrical part and the radius of its extremities. It is centered at the origin and its principal axis is the $\mathbf{y}$ axis.

Method Description
.half_height() The half height of the capsule cylindrical part.
.radius() The radius of the capsule extremities.
let capsule = Capsule::new(0.5f32, 0.75);

assert!(capsule.half_height() == 0.5);
assert!(capsule.radius() == 0.75);

### Convex hull§

The ConvexPolygon (in 2D) and ConvexHull (in 3D) structures represent the smallest convex envelope of a set of point. Remember that an object is said to be convex if it is not self-crossing, and if it contains any segment joining two of its points:

The ConvexPolygon (in 2D) and ConvexHull shape (in 3D) are created from a set of points using the ::try_from_points(points) constructor. Note that this explicitly computes the convex hull of the input point cloud. If you already computed the convex hull on your side, you may use ::try_new(...) instead (described later in this section).

Method Description
.points() The points used to create the ConvexHull shape.
let points = [
Point2::new(-1.0f32, 1.0),
Point2::new(-0.5, -0.5),
Point2::new(0.0, 0.5),
Point2::new(0.5, -0.5),
Point2::new(1.0, 1.0),
];

let convex = ConvexPolygon::try_from_points(&points).expect("Convex hull computation failed.");
assert!(convex.points().len() == 4); // The convex hull has only 4 vertices.

let points = [
Point3::new(0.0f32, 0.0, 1.0),
Point3::new(0.0, 0.0, -1.0),
Point3::new(0.0, 1.0, 0.0),
Point3::new(0.0, -1.0, 0.0),
Point3::new(1.0, 0.0, 0.0),
Point3::new(-1.0, 0.0, 0.0),
Point3::new(0.0, 0.0, 0.0)
];

let convex = ConvexHull::try_from_points(&points).expect("Convex hull computation failed.");
assert!(convex.points().len() == 6); // The convex hull has only 6 vertices.

If you have the ability to provide the convex hull directly, you may use ::try_new(...) instead. It won’t compute explicitly the convex hull of the points but expect the input to describe one. In 2D, the given vertices are expected to be ordered such that they appear counterclockwise on the convex polygon boundary. In 3D, the provided index buffer must be such that each triangle is properly connected to its neighbors and is oriented counterclockwise, i.e., given a triangle ABC, the cross product $(B - A) × (C - A)$ should result in a vector pointing toward the exterior of the convex polyhedron.

let points = vec![
Point2::new(-1.0f32, 1.0),
Point2::new(-0.5, -0.5),
Point2::new(0.5, -0.5),
Point2::new(1.0, 1.0),
];

let convex = ConvexPolygon::try_new(points).expect("Invalid convex polygon.");
assert!(convex.points().len() == 4);

let points = vec![
Point3::new(0.0f32, 0.0, 1.0),
Point3::new(0.0, 0.0, -1.0),
Point3::new(0.0, 1.0, 0.0),
Point3::new(0.0, -1.0, 0.0),
Point3::new(1.0, 0.0, 0.0),
Point3::new(-1.0, 0.0, 0.0),
];

let indices = vec![
0, 4, 2,
0, 3, 4,
5, 0, 2,
5, 3, 0,
1, 5, 2,
1, 3, 5,
4, 1, 2,
4, 3, 1,
];

let convex = ConvexHull::try_new(points, &indices).expect("Invalid convex shape.");
assert!(convex.points().len() == 6);

Keep in mind that while those constructors will fail if the topology of the convex hull is invalid, or if it contains degenerate faces, it does not check the convexity of the input. Therefore, ::try_new(...) may succeed even if your input is not actually convex. In that case, you may experience odd results for various geometric queries.

# Composite shapes§

ncollide supports shapes that are defined as aggregations of others. Every composite shape must implement the CompositeShape trait which defines methods for accessing their individual parts using indices. The composite shape is assumed to be immutable, i.e., an index must always map to a shape and local transformation that both remain constant over time. The indices must be contiguous and on the range $[0, shape.nparts()[$

Method Description
.nparts() The number of parts on this compound shape.
.map_part_at(i, f) Applies the closure f to the i-th part and its local transformation matrix.
.map_transformed_part_at(i, m, f) Applies the closure f to the i-th part and its local transformation matrix with m appended to it.
.aabb_at(i) The AABB of the i-th part of the composite shape.
.bvt() The space-partitioning acceleration structure used by the composite shape.

The requirement to use a BVT for space-partitioning is extremely restrictive and will be replaced by a more flexible system in the future. Currently, three composite shapes are available on ncollide. The Compound describes the union of any shape supported by ncollide. The TriMesh and the Polyline are dedicated to assemblies of triangles and segments.

### Compound§

The Compound structure is the main way of describing concave shapes from convex ones. It is a set of any shape handle.

Method Description
.shapes() The shapes composing the compound.
.bounding_volumes() The AABB of the shapes composing the compound.
.bvt() The space-partitioning acceleration structure used by the compound.

Two steps are necessary to create a Compound:

1. Initialize a vector of shape handles with their positions and orientations relative to the origin.
2. Call Compound::new with this vector.
// Delta transformation matrices.
let delta1 = Isometry2::new(Vector2::new(0.0f32, -1.5), na::zero());
let delta2 = Isometry2::new(Vector2::new(-1.5f32, 0.0), na::zero());
let delta3 = Isometry2::new(Vector2::new(1.5f32,  0.0), na::zero());

// 1) Initialize the shape list.
let mut shapes = Vec::new();
let horizontal_box = ShapeHandle::new(Cuboid::new(Vector2::new(1.5f32,  0.25)));
let vertical_box   = ShapeHandle::new(Cuboid::new(Vector2::new(0.25f32, 1.5)));

shapes.push((delta1, horizontal_box));
shapes.push((delta2, vertical_box.clone()));
shapes.push((delta3, vertical_box));

// 2) Create the compound shape.
let compound = Compound::new(shapes);

assert!(compound.shapes().len() == 3)

// Delta transformation matrices.
let delta1 = Isometry3::new(Vector3::new(0.0f32, -1.5, 0.0), na::zero());
let delta2 = Isometry3::new(Vector3::new(-1.5f32, 0.0, 0.0), na::zero());
let delta3 = Isometry3::new(Vector3::new(1.5f32, 0.0,  0.0), na::zero());

// 1) Initialize the shape list.
let mut shapes = Vec::new();
let horizontal_box = ShapeHandle::new(Cuboid::new(Vector3::new(1.5f32,  0.25, 0.25)));
let vertical_box   = ShapeHandle::new(Cuboid::new(Vector3::new(0.25f32, 1.5, 0.25)));

shapes.push((delta1, horizontal_box));
shapes.push((delta2, vertical_box.clone()));
shapes.push((delta3, vertical_box));

// 2) Create the compound shape.
let compound = Compound::new(shapes);

assert!(compound.shapes().len() == 3)

### Polyline§

The Polyline structure describes a set of contiguous segments. It is constructed from arrays of vertices, each vertex being linked to its adjacent elements on this array.

Method Description
.vertices() The vertex buffer.
.bounding_volumes() The bounding volume of each primitive (segment or triangle).
.bvt() The space-partitioning acceleration structure used by the polyline.
let points = vec![
Point2::new(0.0, 1.0),
Point2::new(-1.0, -1.0),
Point2::new(0.0, -0.5),
Point2::new(1.0, -1.0),
Point2::new(0.0, 1.0), // This forms a loop.
];

// Build the polyline.
let polyline = Polyline::new(points);

assert!(polyline.vertices().len() == 4);

let points = vec![
Point3::new(0.0, 1.0, 0.0),
Point3::new(-1.0, -1.0, 1.0),
Point3::new(0.0, -0.5, 0.0),
Point3::new(1.0, -1.0, -1.0),
Point3::new(0.0, 1.0, 0.0), // This forms a loop.
];

// Build the polyline.
let polyline = Polyline::new(points);

assert!(polyline.vertices().len() == 5);

## TriMesh§

The TriMesh structure is only available in 3D and describes a mesh of triangles. It is constructed from arrays of vertices and indices describing its triangles. It is also possible to provide one texture coordinate per vertex; those are not used for contact determination but are useful for, e.g., ray-tracing applications.

Method Description
.vertices() The vertex buffer.
.indices() The index buffer of a TriMesh.
.uvs() The texture coordinates buffer.
.bounding_volumes() The bounding volume of each triangle.
.bvt() The space-partitioning acceleration structure used by the mesh.
let points = vec![
Point3::new(0.0, 1.0, 0.0),
Point3::new(-1.0, -0.5, 0.0),
Point3::new(0.0, -0.5, -1.0),
Point3::new(1.0, -0.5, 0.0),
];

let indices = vec![
Point3::new(0usize, 1, 2),
Point3::new(0, 2, 3),
Point3::new(0, 3, 1),
];

// Build the mesh.
let mesh = TriMesh::new(points, indices, None);

assert!(mesh.vertices().len() == 4);

# Other shapes§

Some shapes do not fall into any of the general categories described above.

### Plane§

The Plane structure describes a solid closed half-space. The border of a plane contains the origin and is characterized by its normal. Every point that has a negative or null dot product with the plane normal is considered inside of it. Other points are outside of the plane.

Method Description
.normal() The unit normal of the plane.
let plane = Plane::new(Vector2::<f32>::y_axis());

assert!(plane.normal().as_ref().x == 0.0);
assert!(plane.normal().as_ref().y == 1.0);

let plane = Plane::new(Vector3::<f32>::y_axis());

assert!(plane.normal().as_ref().x == 0.0);
assert!(plane.normal().as_ref().y == 1.0);
assert!(plane.normal().as_ref().z == 0.0);

# Dynamic shape representation§

In order to select the right algorithms for geometric queries on specific shapes, ncollide has to be able to distinguish at runtime different shapes from their types and they capabilities. As described by another chapter of this guide, there are two kinds of geometric queries: those that operate on a single shape and those that operate on two shapes simultaneously. In the first case, runtime algorithm selection is performed with the help of traits which can be easily implemented for user-defined shapes and exposed at runtime by a Shape trait-object. On the other hand, queries involving two shapes require more complex dispatch mechanisms that are not yet customizable by the user.

### The shape handle§

Elements to inspect shape representation and capabilities are provided for each shape by implementing the Shape trait. The ShapeHandle structure is nothing more than a Shape trait-object wrapped into an Arc.

Method Description
.aabb(m: &Isometry<N>) The AABB of the shape transformed by m.
.bounding_sphere(m: &Isometry<N>) The bounding sphere of the shape transformed by m.
.subshape_transform(i: usize) If the shape is composite, the local transform of its i-th part.
.as_ray_cast() Converts self to a RayCast trait-object.
.as_point_query() Converts self to a PointQuery trait-object.
.as_convex_polyhedron() Converts self to a ConvexPolyhedron trait-object.
.as_support_map() Converts self to a SupportMap trait-object.
.as_composite_shape() Converts self to a CompositeShape trait-object.
.is_support_map() Returns true if this shape has a support-mapping.
.is_convex_polyhedron() Returns true if this shape has a ConvexPolyhedron representation.
.is_composite_shape() Returns true if this shape is a composite shape.

All the conversion methods have a default implementation returning None. This allows you to only partially implement the trait if some of those features are of no interest to you or even not applicable for your specific shape. For example it is extremely rare to implement both .as_composite_shape() and .as_support_map() as algorithms applicable to the latter will almost always be more efficient than for the former.

Methods related to bounding volumes have default implementations as well except for AABB construction. AABBs are widely used throughout ncollide so their tightness is critical for good performances. Other bounding volumes are less used so by default they are deduced from the AABB itself. Those default implementations will unfortunately only result in very loose bounding volumes so it is advised to provide your own to ensure optimal performances.

### Custom support mapping §

In this section we detail an example to define your own support-mapped shape suitable to be wrapped into a ShapeHandle. Too keep the maths simple, we will define a 2-dimensional ellipse centered at the origin with radii $a$ and $b$:

struct Ellipse {
a: f32, // The first radius.
b: f32  // The second radius.
}

We first have to define its support mapping. Let $\mathcal{F}$ be an ellipse. The implicit equation of the border of an ellipse centered at the origin is given by $f(x, y) = \left(\frac{x}{a}\right)^2 + \left(\frac{y}{b}\right)^2 - 1 = 0$. Therefore its gradient is simply $\nabla{}f(x, y) = \left[ \frac{2x}{a^2}, \frac{2y}{b^2} \right]^\intercal$. Then, for some direction $\mathbf{v} = [ x_v, y_v ]^\intercal \in \mathbb{R}^2$, convex analysis tells us that the point $[ x^*, y^* ]^\intercal \in \mathcal{F}$ that maximizes or minimizes the dot product with $\mathbf{v}$ is such that $v \times \nabla{}f(x^*, y^*) = \frac{x_vy^*}{b^2} - \frac{y_vx^*}{a^2} = 0$. Thus, we have to solve the quadratic algebraic system:

The solutions of this system are $[ x^*, y^* ]^\intercal = \pm{}\left[ \frac{x_v a^2}{\sqrt{x_v^2 a^2 + y_v^2 b^2}}, \frac{y_vb^2}{\sqrt{x_v^2 a^2 + y_v^2 b^2}} \right]^\intercal$. Among those two solutions, the maximizer is the first one (with the leading $+$ sign). Now, we only have to code this into a SupportMap implementation for our Ellipse.

impl SupportMap<f32> for Ellipse {
fn support_point(&self, transform: &Isometry2<f32>, dir: &Vector2<f32>) -> Point2<f32> {
// Bring dir into the ellipse's local frame.
let local_dir = transform.inverse_transform_vector(dir);

// Compute the denominator.
let denom = f32::sqrt(
local_dir.x * local_dir.x * self.a * self.a
+ local_dir.y * local_dir.y * self.b * self.b,
);

// Compute the support point into the ellipse's local frame.
let local_support_point = Point2::new(
self.a * self.a * local_dir.x / denom,
self.b * self.b * local_dir.y / denom,
);

// Return the support point transformed back into the global frame.
*transform * local_support_point
}
}

With this, we will be able to pass an instance of Ellipse to many geometric queries from the query::algorithms module and all the functions with names that contain support_map on the other submodules of the query module. If we want to benefit from a higher-level interface based on the dynamic dispatch mechanism of ncollide, we have to implement the Shape trait providing at least an AABB and a conversion to the SupportMap trait-object:

impl Shape<f32> for Ellipse {
fn aabb(&self, m: &Isometry2<f32>) -> AABB<f32> {
// Generic method to compute the aabb of a support-mapped shape.
bounding_volume::support_map_aabb(m, self)
}

fn as_support_map(&self) -> Option<&SupportMap<f32>> {
Some(self)
}
}

That’s it! You will now be able to pass an ellipse to various functions of the query module, and even wrap it on a ShapeHandle to use it in a collision object for complex interactions with a CollisionWorld using the collision detection pipeline. The following is an example of some pairwise geometric queries involving our own ellipse:

let ellipse = Ellipse { a: 2.0f32, b: 1.0 };
let cuboid = Cuboid::new(Vector2::new(1.0, 1.0));

let ellipse_pos = na::one();
let cuboid_pos = Isometry2::new(Vector2::new(4.0, 0.0), na::zero());

let dist = query::distance(&ellipse_pos, &ellipse, &cuboid_pos, &cuboid);
let prox = query::proximity(&ellipse_pos, &ellipse, &cuboid_pos, &cuboid, 0.0);
let ctct = query::contact(&ellipse_pos, &ellipse, &cuboid_pos, &cuboid, 0.0);

assert!(relative_eq!(dist, 1.0, epsilon = 1.0e-6));
assert_eq!(prox, Proximity::Disjoint);
assert!(ctct.is_none());

### Custom composite shape §

In this section we detail an example to define your own composite shape suitable to be wrapped into a ShapeHandle. We will define a simple 2D cross-shaped object with only two part:

1. A Cuboid of width 4 and height 2.
2. A Cuboid of width 2 and height 4.

Both will be centered at the point (1, 1):

Because the two parts are very simple, we will generate them on-the-fly when needed by the user. Only the acceleration structure will be precomputed.

struct CrossedCuboids {
bvt: BVT<usize, AABB<f32>>,
}

impl CrossedCuboids {
pub fn new() -> CrossedCuboids {
// The shape indices paired with their corresponding AABBs.
// Nedded to initialize the acceleration structure.
let aabbs = vec![
(0, CrossedCuboids::generate_aabb(0)),
(1, CrossedCuboids::generate_aabb(1)),
];

CrossedCuboids {
bvt: BVT::new_balanced(aabbs),
}
}

// Helper function to generate the AABB bounding the i-th cuboid.
fn generate_aabb(i: usize) -> AABB<f32> {
if i == 0 {
// The AABB for the horizontal cuboid.
AABB::new(Point2::new(-1.0, 0.0), Point2::new(3.0, 2.0))
} else {
// The AABB for the vertical cuboid.
AABB::new(Point2::new(0.0, -1.0), Point2::new(2.0, 3.0))
}
}

// Helper function to generate the i-th cuboid.
fn generate_cuboid(i: usize) -> Cuboid<f32> {
if i == 0 {
// Create a 4x2 cuboid. Remember that we must provide the
// half-lengths.
Cuboid::new(Vector2::new(2.0, 1.0))
} else {
// Create a 2x4 cuboid. Remember that we must provide the
// half-lengths.
Cuboid::new(Vector2::new(1.0, 2.0))
}
}
}

Now we have to implement the CompositeShape trait.

impl CompositeShape<f32> for CrossedCuboids {
fn nparts(&self) -> usize {
2
}

fn map_part_at(&self, i: usize, f: &mut FnMut(usize, &Isometry2<f32>, &Shape<f32>)) {
// The translation needed to center the cuboid at the point (1, 1).
let transform = Isometry2::new(Vector2::new(1.0, 1.0), na::zero());

// Create the cuboid on-the-fly.
let cuboid = CrossedCuboids::generate_cuboid(i);

// Call the function.
f(i, &transform, &cuboid)
}

fn map_transformed_part_at(
&self,
i: usize,
m: &Isometry2<f32>,
f: &mut FnMut(usize, &Isometry2<f32>, &Shape<f32>),
) {
// Prepend the translation needed to center the cuboid at the point (1, 1).
let transform = m * Translation2::new(1.0, 1.0);

// Create the cuboid on-the-fly.
let cuboid = CrossedCuboids::generate_cuboid(i);

// Call the function.
f(i, &transform, &cuboid)
}

fn aabb_at(&self, i: usize) -> AABB<f32> {
// Compute the i-th AABB.
CrossedCuboids::generate_aabb(i)
}

fn bvt(&self) -> &BVT<usize, AABB<f32>> {
// Reference to the acceleration structure.
&self.bvt
}
}

Just like in the previous section, implementing the CompositeShape trait is enough to use some pairwise geometric queries, e.g., those from the submodule of query module with names that contain the word composite. For a more complete integration, we have to implement the Shape trait providing at least an AABB and a conversion to the CompositeShape trait-object:

impl Shape<f32> for CrossedCuboids {
fn aabb(&self, m: &Isometry2<f32>) -> AABB<f32> {
// This is far from an optimal AABB.
AABB::new(
m.translation * Point2::new(-10.0, -10.0),
m.translation * Point2::new(10.0, 10.0),
)
}

fn as_composite_shape(&self) -> Option<&CompositeShape<f32>> {
Some(self)
}
}

That’s it! You will now be able to pass a cross-like shape to various functions of the query module, and even wrap it on a ShapeHandle to use it in a collision object for complex interactions with a CollisionWorld using the collision detection pipeline. The following is an example of some pairwise geometric queries involving our own composite shape:

let cross = CrossedCuboids::new();
let cuboid = Cuboid::new(Vector2::new(1.0, 1.0));

let cross_pos = na::one();
let cuboid_pos = Isometry2::new(Vector2::new(6.0, 0.0), na::zero());

let dist = query::distance(&cross_pos, &cross, &cuboid_pos, &cuboid);
let prox = query::proximity(&cross_pos, &cross, &cuboid_pos, &cuboid, 0.0);
let ctct = query::contact(&cross_pos, &cross, &cuboid_pos, &cuboid, 0.0);

assert!(relative_eq!(dist, 2.0));
assert_eq!(prox, Proximity::Disjoint);
assert!(ctct.is_none());

format: plain


text:
Paperback | $22.00 Short | £15.95 | ISBN: 9780262515979 | 518 pp. | 6 x 9 in | 47 illus.| January 2011 Ebook |$15.00 Short | ISBN: 9780262251228 | 518 pp. | 6 x 9 in | 47 illus.| January 2011

# Sustainability or Collapse?

An Integrated History and Future of People on Earth

## Overview

Human history, as written traditionally, leaves out the important ecological and climate context of historical events. But the capability to integrate the history of human beings with the natural history of the Earth now exists, and we are finding that human-environmental systems are intimately linked in ways we are only beginning to appreciate. In Sustainability or Collapse?, researchers from a range of scholarly disciplines develop an integrated human and environmental history over millennial, centennial, and decadal time scales and make projections for the future. The contributors focus on the human-environment interactions that have shaped historical forces since ancient times and discuss such key methodological issues as data quality. Topics highlighted include the political ecology of the Mayans; the effect of climate on the Roman Empire; the "revolutionary weather" of El Niño from 1788 to 1795; twentieth-century social, economic, and political forces in environmental change; scenarios for the future; and the accuracy of such past forecasts as The Limits to Growth.

Robert Costanza is Gordon Gund Professor of Ecological Economics and Director of the Gund Institute for Ecological Economics at the Rubenstein School of Environment and Natural Resources at the University of Vermont.

Lisa J. Graumlich is Director of the School of Natural Resources at the University of Arizona.

Will Steffen is Director of the Center for Resource and Environmental Studies and Director of the ANU Institute of Environment at the Australian National University and Chief Scientist at the International Geosphere-Biosphere Programme, Stockholm.

## Endorsements

"A revolution is happening in the borderland between cellular evolution and the evolution of whole organisms and cooperating entities in a community. The authors of the papers in this book are addressing this revolution in a cogent and clear manner. There is much to explain about the cooperative or not-so-cooperative behavior of homo sapiens, and the work in this volume goes a long way toward providing a clear explanation."--Elinor Ostrom, Workshop in Political Theory and Policy Analysis, Indiana University"—

"This important book breaks new ground in the study of international institutions and develops arguments that will undoubtedly stimulate additional research." --Oran R. Young, Bren School of Environmental Science and Management, University of California, Santa Barbara"—

"This book fills a gap in the development economics literature by providing a clear and complete statement of the evidence accumulated so far about the effects of development on income distribution and poverty, and by making easily accessible the analytical tools to deal with these issues. It will prove extremely useful to both newcomers to the field of development and specialists. In particular, the extension of the standard analysis to income mobility is methodologically innovative and a significant step forward."--Francois Bourguignon, Chief Economist and Senior Vice President, Development Economics, The World BankPlease note: A cedilla appears under the “c” in “Francois.”"—

"Efforts to illuminate the interplay between ideas and human actions will occupy us for the indefinite future. But these long-awaited volumes not only break new ground in this area; they literally define the field with regard to global environmental issues."--Oran R. Young, Bren School of Environmental Science and Management, University of California, Santa Barbara"—

"Why do multilateral development banks possessing broadly similar mandates and operating in the same region perform so differently in environmental terms? In a wide-ranging and insightful examination of this question, Tamar Gutner not only shows how shareholder pressure, design features, and recipient demand interact to influence bank behavior, but also sheds light on factors leading to inertia and innovation in international organizations more generally."--Oran R. Young, Bren School of Environmental Science and Management, University of California, Santa Barbara"—


text:
# zbMATH — the first resource for mathematics

Potentially Du Bois spaces. (English) Zbl 1323.14002
Du Bois singularities have the property that the natural map $$H^i(X^{\text{an}},\mathbb{C}) \to H^i(X^{\text{an}},\mathcal{O}_{X^{\text{an}}})$$ is surjective; together with the requirement that the general hyperplane section is also Du Bois this essentially characterises them. Log canonical singularities are Du Bois. In [S. J. Kovács, Kyoto J. Math. 51, No. 1, 47-69 (2011; Zbl 1218.14021)]. the notion was generalised to pairs $$(X,\Sigma)$$. The Authors call a singular point potentially Du Bois, if it has a Zariski open neighbourhood $$U$$ containing a subvariety $$\Sigma_U$$, such that $$(U,\Sigma_U)$$ is a Du Bois pair. They prove that the non Du Bois locus has codimension at least three, and that a normal variety $$X$$ with $$K_X$$ Cartier and potentially Du Bois singularities is log canonical and Du Bois. On the other hand, they develop in detail an example of a normal isolated 3-dimensional potentially Bu Bois singularity with $$K_X$$ $$\mathbb{Q }$$-Cartier, that is not Bu Bois.

##### MSC:
 14B05 Singularities in algebraic geometry 32S05 Local complex singularities
Full Text:


text:
GenerateUniform - Maple Help

SignalProcessing

 GenerateUniform
 generate samples of a uniformly distributes pseudo-random signal

 Calling Sequence GenerateUniform(n, low, high)

Parameters

 n - posint, number of samples low - realcons, lower bound of the uniform distribution range hi - realcons, upper bound of the uniform distribution range

Options

 • container : Array, predefined Array for holding results
 • seed : nonnegint, seed for the pseudo-random number generator

Description

 • The GenerateUniform(n, low, high) command generates n floating-point samples of a uniformly distributed pseudo-random signal with values between the values of low and high. The results are returned in an Array with datatype float[8].
 • If the container=C option is provided, then the results are put into C and C is returned. With this option, no additional memory is allocated to store the result. The container must be an Array of size n having datatype float[8].
 • If the seed option is provided, the given value is used as the seed for the pseudo-random number generator. Otherwise, a random nonnegative integer is used as the seed.

 • The SignalProcessing[GenerateUniform]  command is thread-safe as of Maple 17.

Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$
 > $\mathrm{GenerateUniform}\left(10,-1,1\right)$
 $\left[\begin{array}{cccccccccc}{0.995867573674919}& {0.408337529411819}& {0.167610888327636}& {-0.246858837322246}& {0.432866472071836}& {-0.439979858216147}& {0.432901310269353}& {0.481379433115581}& {-0.477697063372826}& {0.0288390346482901}\end{array}\right]$ (1)
 > $c≔\mathrm{Array}\left(1..10,'\mathrm{datatype}'='\mathrm{float}'\left[8\right],'\mathrm{order}'='\mathrm{C_order}'\right):$
 > $\mathrm{GenerateUniform}\left(10,-1,1,'\mathrm{container}'=c\right)$
 $\left[\begin{array}{cccccccccc}{-0.545369867754208}& {-0.326116044725452}& {0.626373923819134}& {0.559925029969611}& {-0.373917395136553}& {-0.0919590264157885}& {0.819334052606265}& {-0.363816344712829}& {-0.439285152836273}& {0.797210991320126}\end{array}\right]$ (2)
 > $c$
 $\left[\begin{array}{cccccccccc}{-0.545369867754208}& {-0.326116044725452}& {0.626373923819134}& {0.559925029969611}& {-0.373917395136553}& {-0.0919590264157885}& {0.819334052606265}& {-0.363816344712829}& {-0.439285152836273}& {0.797210991320126}\end{array}\right]$ (3)
 > $\mathrm{SignalPlot}\left(c\right)$

Compatibility

 • The SignalProcessing[GenerateUniform]  command was introduced in Maple 17.
 • For more information on Maple 17 changes, see Updates in Maple 17.


text:
# Is the cosmological prinicple wrong? Is Big Bang wrong?

1. Nov 29, 2007

### quantum123

This is a big hole in the sky. Although you can't see it with the naked eye it actually covers almost 3 degrees of the sky, and to put that into perspective the full Moon covers about half a degree!
Until recently no-one was sure how big or far away this void was but the latest calculations suggest it is 900 million light-years across and 8,000 million light-years away.

So is the cosmological prinicple, which says that the universe is homogeneous and isotropic wrong? Is Big Big theory, which assumes it, wrong as well.?

2. Nov 30, 2007

### Chris Hillman

You are rushing to draw the most drastic possible consequences, but the math by and large supports the general validity of the FRW models as overidealized but good models of the gross behavior of our universe.

As all textbooks stress, the assumption of homogeneity and isotropy used in deriving the FRW models is only an approximation. But you should know that there exist a wide range of exact solutions in gtr which constitute (nonlinear) perturbations of FRW models allowing for a variety of anisotropies or inhomogeneities or both in the distribution of the mass-energy which acts as the source of the gravitational field, and in addition numerical relativists have performed many simulations. Once you know this, you can see that the question should be: how much do inhomogeneities in matter density, possible large and large-scale perturbations, disturb the basic features of the FRW models? Generally speaking, the answer is: not very much. This is why the FRW models --- which are obviously oversimplifications--- nonetheless provide an impressively accurate picture of the gross behavior of our universe on large scales.

Last edited: Dec 1, 2007
3. Nov 30, 2007

### Nereid

Staff Emeritus
(my bold)

One way to test this is to do a great many observations, plot the density fluctuations against scale, and compare what the plot looked like before this 'hole' (it's called a 'void' by astronomers) was discovered with what it looks like now.

Here is an example of what the former looks like. I don't have an example of what the latter would look like, but am pretty sure it would be much the same, except that a subset of the three right-most data points would have different (vertical) error bars (probably bigger).

Of course, the plot would be different today in other ways, if only because the WMAP Year 3 results were published after this 2003 plot was published ...

If you're interested, I (or someone else) could dig up some references to the appropriate papers on the power spectrum - just ask; if you're curious, we could walk you through the steps involved in making a plot such as this, at least at a high level (I assume you can see how this plot relates to the 'homogeneous' part of the cosmological principle).

4. Dec 1, 2007

### quantum123

How big must the hole be?

how much do inhomogeneities in matter density, possible large and large-scale perturbations, disturb the basic features of the FRW models? Generally speaking, the answer is: not very much.

How big must the hole be before we can throw away the assumption that the universe is homogeneous and isotropic?

5. Dec 1, 2007

### Chris Hillman

Hi, quantum123,

Looks like you had some trouble quoting something I wrote in my Post #2 above; see this PF page for was to obtain quotations "by hand" using VB markup.

Generally speaking, approximations are valid under certain circumstances for certain purposes. An approximation valid for one purpose might not be valid for another. But you shouldn't expect a simple criterion for when a given model is broken "once and for all".

In this case, if you just want to model the gross large scale behavior of our universe, we know from observations that the oversimplified but handy FRW models do quite well. If you are trying to model something like the measured inhomogeneities in the CMB, you obviously can't do that with an FRW model, but a small amplitude linearized metric perturbation of an FRW model might be suitable.

HTH

6. Dec 1, 2007

### quantum123

Ok, lets put it this way.
If you look at the sky 360 degrees all around you and you start to notice one gigantic humongous hole at only one direction, can you still say that the universe is isotropic?
I mean that the universe is homogeneous and isotropic is mentioned in every text book of cosmology and relativity. This is the material that is being taught to every undergraduate. Is it ok with you?

7. Dec 2, 2007

### hurk4

Dear quantum,
Very glad that you bring this question and that we now have all these reactions.

Here is one of mine.
"Cosmological Principle".
As we know, Einstein’s bold idea that the universe is homogeneous in the large scale average is what Milne called Einstein’s cosmological principle. (See P.J.E. Peebles “Principles of Physical Cosmology” page 10). Of course we know that at local scale this principle is not valid.
May I ask the question “what does large scale average really mean?” Is it not so that this has to be seen relatively? So, large scale related to us, can be taken as e.g. the observable universe, but if we relate it to the observable universe, as a kind of entity, then its large scale surrounding/environment will be very, very large.
As far as I have read, there are in fact at least 2 cosmological principles: 1) The perfect cosmological principle of Hoyle and Bondy, which says that the universe is homogenous and isotropic at large scale and at each time. The expansion of the observable universe learned us that this was not the case at each time, so the perfect CP was proven wrong.
2) So there was left Einstein’s CP which seems to be a good starting point for the mathematics of FRLW as an (approximate) language to describe our universe.
In the standard cosmological model, I suppose that, the cosmological principle is indeed taken as base for the classical theory of the universe at absolute large scale and not at a relative scale.
I wonder what the model consequences are if one introduces relativity into the cosmological principle, or is this already done so? If homogeneity, at large scales, in absolute sense, is not a basic ingredient what are then the consequences e.g. for assuming eventual other local concentrations of mass and or energies in our universe other than our observable universe and its environment?
How nice it may be to start with ideal mathematics, I am asking what that does help if in reality one has to do with deviations of those ideal conditions as there are mass and or energy concentrations in the observable universe (and far beyond as I might suppose).
So as a consequence what can bring us Bojowald, Ashtekar, Rovelli if their models are inherent too ideal? Or are they not?
Kind regards,
hurk4

8. Dec 2, 2007

### sysreset

Hurk I believe that although you pose additional questions, you have skirted quantum123's question, which I would rephrase as "what percentage of the observable universe can be an absolute void without violating Einstein's Cosmological Principle?" As a starting point, let's generously put the current discovered void as a 0.5 billion light year radius sphere within the observable universe with a radius of 13 billion light years. Thus, the void only occupies a ratio of 1 to 26 cubed of the universe, which is only 0.00569% of the universe. I do not think that that is a sufficiently high percentage to discard Einstein's CP, although I still wonder what percent would.

9. Dec 2, 2007

### Chris Hillman

Recommend a good course on mathematical modeling

Dunno if you are in school yourself, but if you have the chance to take a course on mathematical modeling, I think this would be extremely helpful to you in better understanding how cosmologists/physicists think.

Why take a hypothetical? Sometime after the CMB was observed, it was noticed that it exhibits a "dipole anistropy". But this turns out to be consistent with the hypothesis that we are "moving with respect to the CMB" in a certain direction and with a certain velocity, and after subtracting for this effect, the CMB is once again seen to be, to a very good approximation, isotropic and homogeneous. But after much effort, astronomers succeeded in mappling tiny inhomogeneities in the CMB, so it is known that on a large scale our universe is not perfectly homogeneous.

I can't seem to get this across: theoretical physics is all about idealizations, simplifying assumptions, artful approximations to a more complicated reality by extrapolating small variations from an oversimplified model, and so on. IOW, the aim of all theory in science is to build models with which one can make testable predictions and which one can compare with observation and experiment.

It is well established that the FRW models, while clearly idealizations, do provide a surprisingly good model of the gross behavior of our universe on very large scales. Thus, these models are simplifications, but if all you want to model is gross behavior on the largest scales, they are not oversimplifications.

10. Dec 2, 2007

### quantum123

Can you define what do you mean by large scale? There has to be some clear thinking into this. What size? How many light years is considered large scale? We are scientists here and we want things to be quantified.
Again what do you mean by tiny inhomogeneities? What is tiny? How many lightyears is considered tiny?
Without some kind of quantities, and some math, we cannot start talking about mathematical modelling.

11. Dec 2, 2007

### Chris Hillman

Mentor! Mentor!

Suppose someone asked: "In the definition of the derivative from difference quotients,
$$\frac{f(x+\varepsilon)-f(x)}{\varepsilon}$$
how small should we take $\varepsilon$?" The answer is: it depends. That is, you need to say something about the nature of f and how much error is acceptable to you; then one can say how small we should take $\varepsilon$! But without that information, one can't say "the answer is that we need to assume that $\varepsilon<1/10$".

If that doesn't work for you, perhaps some mentor can step in because I feel this thread is in danger of devolving into pointless repetition.

Last edited: Dec 2, 2007
12. Dec 3, 2007

### Nereid

Staff Emeritus
Earlier I answered your questions by referring to observations, which - I'm sure you'll agree - are the ultimate arbiter in science.

For these new questions, different kinds of answers - in addition to those already given by Chris Hillman - may be of interest.

Take simulations. Have you heard of the Millennium Simulation? This - and other simulations - provides one kind of answer: analyses of the (simulated) voids gives you a handle on just how well (or badly) an arbitrary 'gigantic humongous hole' fits within the theory underlying the simulation. And, as Chris Hillman has already indicated, any decision on 'goodness of fit' requires prior decisions on how to measure such goodness, what threshholds to set, and so on.

Another approach: suppose our vantage point were not the surface of our dear Earth; suppose we - intelligent, scientific enquirers - evolved on the surface of Venus, or in the Ganymede ocean; or on a planet orbiting a star in the Arches cluster, or one wandering between galaxies in the Virgo cluster; or somewhere in an ordinary galaxy at the heart of the Shapley supercluser, or a rogue planet at the edge of (or near the centre of) the Bootes void; or ... Could such scientific enquirers have developed a cosmology which included a principle of homogeneity and isotropy? If they were to try to construct a plot like the SDSS one I linked to in my previous post, how different would it be?

You could take an even more extreme 'what if': suppose you were a cosmologist at the time of the radiation-matter decoupling, or 100 billion (co-moving) years into the future, or ... how would your questions be answered then? Or would you, the über-Nobel Prize winning cosmologist, have ruled that homogeneity and isotropy as cosmological principles were completely unsupported by the best observational evidence?

Finally, what do you think about this: the observational basis of contemporary concordance cosmological models is considerably broader than just estimates of P(k)? Or, putting this another way, what role do you think a single observation (or millions of observations of a single object) plays - or should play - in cosmology (as a science)?

13. Dec 3, 2007

### quantum123

If you were to walk along a road one day and fall into a hole, would you complain to the authorities, or say that : hmmm, the road is still homogeneous and isotropic?

14. Dec 3, 2007

### Staff: Mentor

That analogy doesn't work, since we observe roads from close up while the universe's homogeneity is large-scale.

Look, the Big Bang theory is not going to be discarded because one out of a million observations doesn't quite fit one specific, minute piece of it. That just isn't how science works. The fact that there is a large void (assuming it is larger than expected, which I don't actually know) doesn't change the validity of the basic pillars of the theory ( http://www.damtp.cam.ac.uk/user/gr/public/bb_pillars.html ).

Last edited: Dec 3, 2007
15. Dec 4, 2007

### Nereid

Staff Emeritus
russ_watters has already noted that this kind of approach has, it seems, little relevance to how the science of cosmology is actually undertaken, and as we use 'within the framework of modern cosmology, as a science' as our scope here, your post seems way off-topic.

But perhaps that's simply because you wrote too tersely? Perhaps you might like to try to re-cast your question into a form more atune with this section's scope?

16. Dec 4, 2007

### SpaceTiger

Staff Emeritus
Depends on how big the dip is relative to your model of the road. The cosmological principle is never exactly true on any scale and so the FRW model will not be a perfect description of the universe. The observation of an unusually large void might suggest that the FRW model is not quite as good an approximation as we might have thought on scales comparable to the void's size, but it certainly doesn't invalidate the Big Bang.

The real issue is whether or not inflation could explain such a large void, since it claims to predict the initial spectrum of fluctuations. The vast majority of observations done so far support gaussian random phase initial conditions, as predicted by inflation. If it could be shown that the distribution of matter is inconsistent with these initial conditions, then it might bring inflation into question, but it's hard for me to see how it could challenge the Big Bang framework.

17. Dec 4, 2007

### sysreset

Quantum I think you raised a valid question. The principles of Isotropy and Homogeneity are invoked on a regular basis, independent of any mention of a specific numerical scale. Maybe it would be useful to start at some specific numerical extremes and work our way toward the muddled middle.

(For the sake of discussion let's adhere our own frame of reference at this point in space-time, rather than reconstructing what we think the universe looks like from another perspective such as at the edge of the void or 100 billion years into a hypothetical future.)

Assume an observable universe from our current perspective of 13 billion light year radius, giving a volume of 9.2 trillion cubic light years.

If the void had been discovered to be a sphere with a radius of 9 billion light years, it would occupy 1/3rd of the volume of the entire observable universe. I would venture to say that that would violate isotropy and homogeneity assumptions.

(Even then, I am out on a limb. I am ignoring the portion of the universe outside our observable horizon.)

If the void were instead 5 billion light years in radius, it would occupy only 5% of the universe, so I would venture to claim that isotropy and homogeneity would be preserved.

The actual void only occupies 5/1000 of 1%. That's one tiny pothole.

The link in Nereid's post to the Millennium Simulation shows beautiful images of the fine, lattice-like structure matter distributed over billions of light years. Those images for me embody validity of the cosmological principle.

Last edited: Dec 4, 2007
18. Dec 4, 2007

### Staff: Mentor

I've never simulated anything quite so complex, but it is worth noting that for some systems, small changes in the initial conditions can produce large differences in the resulting simulations. I suspect these models work the same way so if, in fact, the void is larger than the simulations would predict, the actual error in the model's starting parameters could still be quite small.

And as sysreset noted, even if that pothole turns out to be a lot larger than predicted, it is still one tiny pothole.

Last edited: Dec 4, 2007
19. Dec 4, 2007

### SpaceTiger

Staff Emeritus
The location and amplitude of large-scale voids should be easily traceable to the post-inflation perturbation spectrum. The growth of structure is still approximately linear (meaning it's still governed by linear differential equations) on scales comparable to the claimed size of this void, so you wouldn't expect any extreme sensitivity to initial conditions. You would, however, see such sensitivity in the positions of galaxies near clusters (for example).

He's right in that the supposed void wouldn't be evidence against the Big Bang. It would, however, be difficult to explain it with gaussian random phase initial conditions and what we currently think is the amplitude of the power spectrum. I think it's far more likely that their estimate of the void's size is just wrong and that the "extreme" CMB cold spot can be explained by a combination of effects at the surface of last scattering and at intermediate redshifts. This explanation would be ad hoc if it weren't for the a posteriori nature of the analysis on the cold spot.

20. Dec 5, 2007

### quantum123

Fine, the pothole is 0.001% of the observable universe.
So you think it is small.
But some people think that it is big enough to be a sign that another alternate universe exists.
So is the pothole big or small?


text:
A seminar on HoTT Equivalences

I recorded our local Seminar on foundations in which I talked about the notion of equivalence in HoTT:

Hopefully some people will find some use for it. It is pretty slowly going, and it might motivate some of the strange things going on in Equivalences.v.

This entry was posted in Talk. Bookmark the permalink.

5 Responses to A seminar on HoTT Equivalences

1. Mike Shulman says:

It’s surprisingly hard to prove that is_equiv and is_adjoint_equiv are equivalent! I end up fooling around with lots of transport along funexts and needing new lemmas about transporting in iterated total spaces, and I’ve never been sufficiently motivated to make it work.

• Mike Shulman says:

Well, I finally managed to prove this. I was going about it too directly — turns out it’s easier to massage them both step-by-step through a series of basic equivalences until they come out the same. See this file.

I also finally proved (same file) that the other possible definition, called is_hiso in Equivalences.v, is equivalent to is_equiv. That one is significantly easier. Of course, both proofs use function extensionality.

• andrejbauer says:

Excellent, thank you!

2. andrejbauer says:

And they are equivalent, correct?

• Mike Shulman says:

Well, since is_equiv is a prop and we have maps in both directions, their being equivalent is equivalent to is_adjoint_equiv being a prop. That doesn’t seem to be any easier to prove in Coq, but homotopical and higher-categorical intuition says that it’s true.

For instance, we could consider the theory of “marked simplicial sets” in section 3.1 of Higher Topos Theory, which are simplicial sets equipped with a subclass of “marked” 1-simplices denoting “equivalences” (thus a higher-categorical version of “categories with weak equivalences”). Any quasicategory $X$ has an underlying marked simplicial set $X^\natural$ in which all the equivalences are marked, and any simplicial set $A$ gives rise to a marked one $A^\sharp$ in which all edges are marked.

Let $\Delta^1$ denote the 1-simplex, and let $E$ denote a simplicial set such that maps $E\to X^\natural$ consist exactly of the data corresponding to is_adjoint_equiv. Thus $E$ has two 0-simplices $x$ and $y$, two 1-simplices $f\colon x\to y$ and $g\colon y\to x$, 2-simplices $g\circ f\to 1_x$ and $f\circ g \to 1_y$, and one 3-simplex exhibiting one triangle identity between $f$ and $g$. Then the induced inclusion $(\Delta^1)^\sharp \to E^\sharp$ is “marked anodyne” ($E$ can be obtained from $\Delta^1$ by gluing on two horns). Since the fibrant marked simplicial sets are just the objects $X^\natural$ for $X$ a quasicategory, this implies that the induced map of simplicial sets $Map(E^\sharp,X) \to Map((\Delta^1)^\sharp,X)$ is a trivial fibration. Hence, any equivalence in a quasicategory $X$ has a contractible space of extensions to adjoint equivalence data (the corresponding fiber of this map).


text:
# Accents and overshoot (Re: Round-off errors in metrics ...)

I enter this discussion with trepidation, since I remain an
unregenerate user of vf files with dual (cooked and raw) encodings,
but some of the problem with accent positioning can be solved
directly in TeX, with no manipulation of the font or font metrics.
All it requires is an encoding vector formed in the same way as
the encoding vectors used by Tom Rokicki's dvips.  Any encoding that
includes the charstring names of all the characters you want to
flash will do.

I use this technique primarily for fonts with fully formed accented
glyphs, such as Adobe Garamond.  This is a very small subset of the total
number even of book fonts.  (Fine old classics like Bruce Rogers's
Centaur are not so blessed.)  I am not so sure that seac composites have
anything to seriously recommend them over DEK's accent composite, but
since DEK never intended the \accent technique for use in anything
but occasional bibliographical references---he says so in several places---
one might as well use the seac composites.

Since I happen to use the 2-vector approach to vf files (one consistent
vector for all "raw" font references, and many tailored vectors for
different "cooked" environments) the mythical HTG.enc would in my
case represent the mapping used by the TeX end of the operation,
not the dvips end.  It doesn't matter.  Any 256-element vector will
work.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% File:       TeX Inputs htgchars.tex
% Author:     P. A. MacKay
% Internet:   mackay@cs.washington.edu
% Date:       22 July, 1995, revised 12 August, 1996
%
% Copyright 1996 by Humanist Typesetting & Graphics, Inc.
% Licensed under the same provisions as specified in the
% Free Software Foundation General Public License.
% A copy of this license can be found in any software package
% issued by the Free Software Foundation (GNU).
%
% I have named this file to match the name of the encoding.
% If a different encoding is used, you have to change the
% hardwired name of the encoding.  Please also change the
% name of this file if you do so.
%
% Reads an encoding vector in the format used by dvips and afm2tfm
% and converts the charnames to TeX control sequences which
% are defined to produce the appropriate \char nnn when
% invoked.   E. g. in my usual encoding \Aacute -> \char128.
% The value for each of the \char sequences is governed
% by the order in the encoding vector.  There are no hardwired
% array indices.
%
% To avoid name conflict with other macros, this should be run to
% generate control sequences only for the upper half of a regular
% text encoding based on Adobe Standard Encoding (128--255).
% See below at STANDARD OR EXPERT''
% With Adobe Expert Encoding, the whole 0--255 can be used.
% Obvious problems such as the undesirable redefinition of
% \fi \space \multiply \divide are taken care of.
%
% The second half of this file modifies the various
% accent control codes in DEK's plain.tex to make use of the
% control sequences so generated.
%
\ifx\htgchars\undefined
\begingroup % Throw all this junk away after we're finished
% The actual character name macros are \xdefs.
%
\openin1 HTG.enc
\ifeof1 \closein1 \message{ Can't find the HTG.enc encoding file.^^J
Try linking it to this directory with the command ^^J
ln -s /fonts/encodings/HTG.enc ^^J
and try again.^^J}
\endgroup
\else
% I hardwire this because I'm too lazy to do anything else.
% If I need a different encoding, I change the input file
% name and also the name of this file.
\catcode\@=11
% The charnames in the encoding file are assumed to be separated
% by whitespace.  Please dont use tabs.
\def\g@tencn@me#1 #2\tr@lb{\def\encn@me{#1}\def\bl@rt{#2}}
\def\r@movesl@sh#1#2\hs@lsevom@r{\def\ch@rn@me{#2}}
\def\bl@rt{}
\def\bl@@rt{}
\def\notd@f{.notdef}
\def\@penbr@cket{[}
% The following, which appear in Expert Encoding,
%  are not much use, and could cause trouble
\def\colonch@ck{colon}
\def\commach@ck{comma}
\def\hyphench@ck{hyphen}
\def\semicolonch@ck{semicolon}
\def\periodch@ck{period}
% And these definitely would cause trouble. Lots of it.
\def\fich@ck{fi}
\def\mulch@ck{multiply}
\def\divch@ck{divide}
\def\spacech@ck{space}
%
\count\z@=-256 % To bypass anything before the [ openbracket
\loop \ifnum\count\z@ < 256  % Could also check for EOF, but
% it's pretty safe to assume 256 entries.
\ifx\bl@@rt\bl@rt
\else
\expandafter\g@tencn@me\bl@rt\tr@lb % Pick the charnames off the line
\expandafter\r@movesl@sh\encn@me\hs@lsevom@r % Get rid of the slash
%%%%%%%%%%%%%%%%%%%%%%%  STANDARD OR EXPERT  %%%%%%%%%%%%%%%%%%%%
\ifnum\count\@cclv > 127 % Change this to 0 for Expert Encoding
\ifx\ch@rn@me\notd@f\else
\edef\ch@rc@de{\the\count\@cclv}
\ifx\ch@rn@me\fich@ck\def\ch@rn@me{fichar}\fi
\ifx\ch@rn@me\colonch@ck\def\ch@rn@me{colonchar}\fi
\ifx\ch@rn@me\commach@ck\def\ch@rn@me{commachar}\fi
\ifx\ch@rn@me\hyphench@ck\def\ch@rn@me{hyphenchar}\fi
\ifx\ch@rn@me\semicolonch@ck\def\ch@rn@me{semicolonchar}\fi
\ifx\ch@rn@me\periodch@ck\def\ch@rn@me{periodchar}\fi
\ifx\ch@rn@me\spacech@ck\def\ch@rn@me{spacechar}\fi
\ifx\ch@rn@me\mulch@ck\def\ch@rn@me{multiplychar}\fi
\ifx\ch@rn@me\divch@ck\def\ch@rn@me{dividechar}\fi
\expandafter\xdef\csname \ch@rn@me\endcsname{\noexpand\char\ch@rc@de}
% These definitions could be written to a file,
% but I have never need to.
\fi
\fi
\ifx\encn@me\@penbr@cket\count\@cclv=\z@\fi % Found the open bracket
\fi
\repeat
\catcode\@=12
\endgroup
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%             Reset the plain accenting macros                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\#1{\if#1A{{\Agrave}}\else\if#1E{{\Egrave}}\else\if#1I{{\Igrave}}%
\else\if#1O{{\Ograve}}\else\if#1U{{\Ugrave}}\else
\if#1a{{\agrave}}\else\if#1e{{{\egrave}}}\else\if#1i{{\igrave}}%
\else\if#1o{{\ograve}}\else\if#1u{{\ugrave}}%
\else{\accent18 #1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\'#1{\if#1A{{\Aacute}}\else\if#1E{{\Eacute}}\else\if#1I{{\Iacute}}%
\else\if#1O{{\Oacute}}\else\if#1U{{\Uacute}}\else\if#1Y{{\Yacute}}\else
\if#1D{{\Eth}}\else\if#1T{{\Thorn}}\else
\if#1a{{\aacute}}\else\if#1e{{\eacute}}\else\if#1i{{\iacute}}%
\else\if#1o{{\oacute}}\else\if#1u{{\uacute}}%
\else\if#1y{{\yacute}}\else\if#1d{{\eth}}\else\if#1t{{\thorn}}%
\else{\accent19 #1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\v#1{\if#1S{{\Scaron}}\else\if#1Z{{\Zcaron}}\else
\if#1s{{\scaron}}\else\if#1z{{\zcaron}}%
\else{\accent20 #1}\fi\fi\fi\fi}%
\def\^#1{\if#1A{{\Acircumflex}}\else\if#1E{{\Ecircumflex}}\else
\if#1I{{\Icircumflex}}%
\else\if#1O{{\Ocircumflex}}\else\if#1U{{\Ucircumflex}}\else
\if#1a{{\acircumflex}}\else\if#1e{{\ecircumflex}}\else
\if#1i{{\icircumflex}}%
\else\if#1o{{\ocircumflex}}\else\if#1u{{\ucircumflex}}%
\else{\accent94 #1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\~#1{\if#1A{{\Atilde}}\else\if#1N{{\Ntilde}}\else\if#1O{{\Otilde}}%
\else\if#1a{{\atilde}}\else\if#1n{{\ntilde}}%
\else\if#1o{{\otilde}}\else{\accent"7E #1}\fi\fi\fi\fi\fi\fi}%
\else\if#1O{{\Odieresis}}\else\if#1U{{\Udieresis}}\else
\else\if#1o{{\odieresis}}\else\if#1u{{\udieresis}}%
\else\if#1y{{\ydieresis}}%
\else{\accent"7F #1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%

\def\c#1{\if#1C{{\Ccedilla}}\else\if#1c{{\ccedilla}}%
\else\setbox0\hbox{#1}\ifdim\ht0=1ex\accent24 #1%
\else{\ooalign{\unhbox0\crcr\hidewidth\char24\hidewidth}}\fi\fi\fi}%
\fi
%
% These might become useful at some later date
% \def\u#1{{\accent21 #1}}%
% \def\=#1{{\accent22 #1}}%
\def\htgchars{1}
\fi % Don't do this more than once

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

TeX sweats a slow processor a bit on this file, but that effort
could be limited to a single instance by using a precompiled format
for a particular task, which is always advisable in any case.

I see no reason why a LaTeX version of this approach would be impossible.

--
%=======================================================================%
|                             N O T I C E                               |
|  Please note the address and telephone number below.                  |
|  There is no Northwest Computing Support Center any longer.           |
|                                                                       |
%=======================================================================%
Email:  mackay@cs.washington.edu		Pierre A. MacKay
Smail:  Department of Classics			Emeritus Druid for
218 Denny Hall, Box 353110		Unix-flavored TeX
University of Washington
Seattle, WA 98195
(206) 543-2268 (Message recorder)


text:
UBS is on track to overshoot its credit and counterparty credit risk (CCR) estimates for the rest of the year, after raising its forecast for the second half of 2021.

#### Investing

###### BlackRock to grant funds power to track climate risks

Aladdin system holding trillions of dollars to show whether funds are burning the Earth or saving it


text:
## Complexification of proper Hamiltonian $$G$$-spaces.(English)Zbl 0915.32003

Schriftenreihe des Graduiertenkollegs Geometrie und Mathematische Physik. 29. Bochum: Univ. Bochum, Institut für Mathematik, 29 p. (1998).
From the introduction: “Let $$(M,\tau)$$ be a symplectic manifold and $$G$$ a real Lie group acting properly by symplectic automorphisms on $$(M,\tau)$$.
The goal of this paper is to complexify $$(M, \tau,G)$$. This is of interest since the symplectic reduction of a complex manifold is itself a complex space. This provides a method for analyzing the symplectic reduction of $$M$$ via its embedding in the symplectic reduction of the complexification of $$M$$”.

### MSC:

 32E10 Stein spaces 53C10 $$G$$-structures 32Q15 Kähler manifolds 32-02 Research exposition (monographs, survey articles) pertaining to several complex variables and analytic spaces


text:
# Casimir operator of a Lie Group .. how can i calculate ??'

+ 3 like - 0 dislike
54 views

given a Lie group with generators $X_{i}$ how can i calculate the Casimir Generator ??

$H= X_{i}X^{i}$ if possible with two examples please

1. the Generator of traslation in 2 dimension $P_{i}$ i=x,y with comutation relations $[P_{i},P_{j} ]=0$

2. The generator of the Angular momentum with Commutation relations $[L_{i} , L_{j}]=\epsilon _{ijk}L_{k}$

here $X^{i}$ is the 'dual' of $X_{i}$

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Jose Garcia
I think you are confusing Lie groups with Lie algebras, what you are talking about is the algebras, not the groups (more precisely, Casimir elements are not even elements of the algebra but of the universal enveloping algebra of it). I only know the definition for semi-simple Lie algebras (since it needs the Killing form). If you want the general answer, you need to study the theory of semi-simple Lie algebras. Otherwise the answer will be very confusing if you don't know anything about it.

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Heidar
But for the algebra of translations, I don't think the Casimir element is useful since everything is commuting. For $\mathfrak{so}(3)$ (angular momentum) you have written the answer yourself: $L^2 = L_x^2 + L_y^2 + L_z^2$ and this commutes with the other generators (which is the point of the Casimir element). But you need to understand the Killing form (en.wikipedia.org/wiki/Killing_form), in order to understand what 'dual' means and thereby how to calculate this for more general algebras.

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Heidar
For the first example: since $[P_i,P_j] = 0,$ all structure constants are zero, so the Killing form $g_{ab}$ vanishes. Since $H := g_{ab} X^a X^b$, $H = 0$ in this case. In the second case, you need slightly more work: $C_{ab}^d = \epsilon_{abd},$ so $g_{ab} = C_{ak}^l C_{bl}^k = \epsilon_{akl} \epsilon_{blk} = \delta_{ab},$ which means that $H = \delta_{ab} X^a X^b = L_x^2 + L_y^2 + L_z^2.$

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Gerben
OK Gerben, i think i understand.. so from the commutators i must read the structure constants of the group (see that in wikipedia) and from this estructure constans i find the elements of the metric :) .. the identity $g_{ab}= C_{ak}^{l}C_{bl}^{k}$ is ALWAYS valid ??

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Jose Garcia
By the way: I made a mistake. I believe it should be $\epsilon_{akl} \epsilon_{blk} = -2 \delta_{ab}.$ However, this comes down to multiplying a Casimir by -2, which isn't a big deal (can you see why?). And yes, that formula can be used as the definition of $g_{ab}$ (it's entirely equivalent to the mathematicians' definition of the Killing form).

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Gerben
however for the traslation operator should'nt be the Casimir operator equal to $P_{x}^{2}+P_{y}^{2}$ by analogy with the Hamiltonian of a Free particle in 2 dimension.

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Jose Garcia
No! The algebra of translation operators is Abelian, i.e. everything commutes. You can only find a Casimir invariant if an algebra is semisimple; in practice, this means that $g_{ab}$ is non-degenerate - which isn't the case for the translation operator algebra. The main idea is that the Casimir is a special ('distinguished') element of the algebra (technically: the universal enveloping algebra). For $\mathfrak{so}(3)$, $L^2$ is (up to a scale factor) the only nontrivial element that commutes with all $L_i$. For the algebra of the $P_i$, any product of $P_i$ would work...

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Gerben

+ 5 like - 0 dislike

First, you are confusing Lie groups with Lie algebras. Casimir elements are objects that can be attached to certain Lie algebras.

Second, Casimir elements do not always exist. For any Lie algebra $\mathfrak{g}$, there is a canonical bilinear form, the Killing form

$$B(x, y) = \text{tr}(\text{ad}_x \text{ad}_y)$$

where $\text{ad}_x(y) = [x, y]$ is the adjoint action of $\mathfrak{g}$ on itself. The Casimir element exists if and only if the Killing form is nondegenerate, which is equivalent to $\mathfrak{g}$ being semisimple (in particular, finite-dimensional). Concretely this means that $B(x, -)$ is a nonzero linear functional for any nonzero $x$. Abstractly this means that the map $$\mathfrak{g} \ni x \mapsto B(x, -) \in \mathfrak{g}^{\ast}$$

(where $\mathfrak{g}^{\ast}$ is the dual space of linear functionals $\mathfrak{g} \to k$ for our base field $k$ of characteristic zero) is an isomorphism. For an abelian Lie algebra, the Killing form is identically zero, and so the Casimir element does not exist in that case.

In the semisimple case, the Killing form itself defines a linear functional $\mathfrak{g} \otimes \mathfrak{g} \to k$ (where $\otimes$ denotes the tensor product), or an element of $\mathfrak{g}^{\ast} \otimes \mathfrak{g}^{\ast}$, and because of the above isomorphism one can equivalently write the Killing form as an element of $\mathfrak{g} \otimes \mathfrak{g}$. This is the Casimir element.

Concretely, we can compute the Casimir element as follows. Given a basis $e_1, ... e_n$ of $\mathfrak{g}$, compute the Killing form $B$ using the structure constants of $\mathfrak{g}$, then compute the dual basis $f_1, ... f_n$, which is the unique basis satisfying $$B(e_i, f_j) = \delta_{ij}.$$

Then the Casimir element is given by $\sum e_i \otimes f_i$. Since you are aware of this definition, perhaps what you're stuck on is either computing the Killing form or computing the dual basis. For fixed $\mathfrak{g}$ both of these are fairly straightforward linear algebra. Which step are you having trouble with?

This post imported from StackExchange Mathematics at 2014-06-02 10:58 (UCT), posted by SE-user Qiaochu Yuan
answered Oct 21, 2011 by (380 points)

 Please use answers only to (at least partly) answer questions. To comment, discuss, or ask for clarification, leave a comment instead. To mask links under text, please type your text, highlight it, and click the "link" button. You can then enter your link URL. Please consult the FAQ for as to how to format your post. This is the answer box; if you want to write a comment instead, please use the 'add comment' button. Live preview (may slow down editor)   Preview Your name to display (optional): Email me at this address if my answer is selected or commented on: Privacy: Your email address will only be used for sending these notifications. Anti-spam verification: If you are a human please identify the position of the character covered by the symbol $\varnothing$ in the following word:p$\hbar$ysicsOverfl$\varnothing$wThen drag the red bullet below over the corresponding character of our banner. When you drop it there, the bullet changes to green (on slow internet connections after a few seconds). To avoid this verification in future, please log in or register.


text:
# Average number of collisions before successful insertion into hash table

I want to compute the average number of collisions before sucessfully adding an item into a hash table. Let $m$ be the size of a hash table $H$.

I was thinking that since it is a linear probing and we do not know where the free slots in the hash table are, the probability that first slot is free is $(m-n)/m$ where $n$ denotes the amount of 'bad' slots, i.e. there are $n$ items stored in our hash table. If the second slot is free then $(m-n)/(m-1) > (m-n)/n$ and so on.

So the expected number of collisions is $1/p = 1/ (1-\alpha)$ where $\alpha := n/m$ is our load factor.

But my friends got totally different numbers. Am I going into the right direction?

• – D.W.
Oct 22, 2016 at 11:17
• I think this is what you need. Duplicate? (cc @D.W.)
– Raphael
Oct 22, 2016 at 14:38

1 / (1 - alpha) is about right, if you ignore that for the second slot the chance is (m - 1 - n) / (m - 1) and so on. But when that difference becomes relevant, you should have increased the size of your hash table :-)

What also will happen if you visit consecutive slots on collisions is that once your table is reasonably full then you might have large ranges of occupied slots, which could very much change the situation. Say you have 1,000,000 slots and 999,500 used entries: It's quite likely that the 500,000 slots from 0 to 499,999 are all used.

But all this depends on having a good hash function. Your hash function needs to rarely map different items to the same hash code. And if your hash table visits consecutive slots for collisions, then your hash function mustn't map similar items to consecutive hash codes. Otherwise the average number of slots might be a lot larger.

On the other hand, the cost of visiting a few or a dozen used slots is usually very low to the cost of computing a hash code, if the hash table stores hash codes. It gets really expensive when you have a collision not in slot numbers, but in hash codes. That's when you actually have to compare values. So the most important thing would be a good hash function.

Added: Assume that you have a hash table with 1,000,000 slots, and that 999,500 slots are used. Which is obviously a much higher load factor than a hash table should ever be allowed to have. If the used slots were perfectly random, then inserting a new element would require visiting 2,000 slots on average.

But if you had a range of 500,000 consecutive used slots (which would be quite likely if inserting always visited the next available slot), and you inserted the next item: There would be a 50% chance that the next item gets inserted into that range, visiting from 500,000 to 0 slots, or 250,000 on average. And a 50% chance that the next item gets inserted into the other range which has 0.1% empty slots, or 1,000 on average. So the total average is 125,500 slots visited.

• how the average number would change if n keys are stored in consecutive locations? Oct 22, 2016 at 18:36


text:
Find all School-related info fast with the new School-Specific MBA Forum

 It is currently 28 Nov 2015, 20:34

### GMAT Club Daily Prep

#### Thank you for using the timer - this advanced tool can estimate your performance and suggest more practice questions. We have subscribed you to Daily Prep Questions via email.

Customized
for You

we will pick new questions that match your level based on your Timer History

Track

every week, we’ll send you an estimated GMAT score based on your performance

Practice
Pays

we will pick new questions that match your level based on your Timer History

# Events & Promotions

###### Events & Promotions in June
Open Detailed Calendar

# If 0 < r < 1 < s < 2, which of the following must be less than 1? I.

Author Message
TAGS:
Manager
Joined: 20 Dec 2010
Posts: 182
Location: India
Concentration: Strategy, General Management
GMAT 1: 760 Q50 V42
WE: Information Technology (Computer Software)
Followers: 7

Kudos [?]: 42 [1] , given: 118

If 0 < r < 1 < s < 2, which of the following must be less than 1? I. [#permalink]  20 Mar 2011, 03:04
1
KUDOS
2
This post was
BOOKMARKED
00:00

Difficulty:

35% (medium)

Question Stats:

61% (02:01) correct 39% (00:49) wrong based on 71 sessions
If 0 < r < 1 < s < 2, which of the following must be less than 1?

I. r/s
II. rs
III. s - r

A. I only
B. II only
C. III only
D. I and II
E. I and III

OPEN DISCUSSION OF THIS QUESTION IS HERE: if-0-r-1-s-2-which-of-the-following-must-be-less-than-128112.html
[Reveal] Spoiler: OA
 Kaplan GMAT Prep Discount Codes Knewton GMAT Discount Codes Manhattan GMAT Discount Codes
Manager
Joined: 03 Mar 2011
Posts: 90
Location: United States
Schools: Erasmus (S)
GMAT 1: 730 Q51 V37
GPA: 3.9
Followers: 1

Kudos [?]: 110 [1] , given: 12

Re: If 0 < r < 1 < s < 2, which of the following must be less than 1? I. [#permalink]  20 Mar 2011, 03:09
1
KUDOS
We could solve this easily using contrexamples.
I is true since r<s and both are positive
II is false. Take r=2/3, s=3/2. rs=1
III is false. Take r=0.1, s=1.9. s-r=1.8

_________________

If my post is useful for you not be ashamed to KUDO me!
Let kudo each other!

Director
Status: No dream is too large, no dreamer is too small
Joined: 14 Jul 2010
Posts: 649
Followers: 37

Kudos [?]: 487 [0], given: 39

Re: If 0 < r < 1 < s < 2, which of the following must be less than 1? I. [#permalink]  17 Jun 2011, 03:56
nikhilsrl wrote:
if 0<r<1<s<2, which of the following must be less than 1?

I. r/s
II. rs
III. s - r

a) I only
b) II only
c) III only
d) I and II
e) I and III

OA is provided.

[Reveal] Spoiler:
I am not able to eliminate II.

Let r=1/2 and s=3/2

I. r/s = 1/3 this is < 1 true.
II. rs = 3/4 this is < 1 true.
III. s-r = 3/2-1/2 = 1 this is NOT < 1 false

Now let, r=2/3 and 3/2 as well.

I. r/s = 1/3 this is < 1 true.
II. rs = 1 this is NOT < 1 false
III. s-r = 3/2-1/2 = 5/6 this is < 1 true.
_________________

Collections:-
PSof OG solved by GC members: http://gmatclub.com/forum/collection-ps-with-solution-from-gmatclub-110005.html
DS of OG solved by GC members: http://gmatclub.com/forum/collection-ds-with-solution-from-gmatclub-110004.html
100 GMAT PREP Quantitative collection http://gmatclub.com/forum/gmat-prep-problem-collections-114358.html
Collections of work/rate problems with solutions http://gmatclub.com/forum/collections-of-work-rate-problem-with-solutions-118919.html
Mixture problems in a file with best solutions: http://gmatclub.com/forum/mixture-problems-with-best-and-easy-solutions-all-together-124644.html

GMAT Club Legend
Joined: 09 Sep 2013
Posts: 7304
Followers: 384

Kudos [?]: 93 [0], given: 0

Re: If 0 < r < 1 < s < 2, which of the following must be less than 1? I. [#permalink]  19 Apr 2015, 21:47
Hello from the GMAT Club BumpBot!

Thanks to another GMAT Club member, I have just discovered this valuable topic, yet it had no discussion for over a year. I am now bumping it up - doing my job. I think you may find it valuable (esp those replies with Kudos).

Want to see all other topics I dig out? Follow me (click follow button on profile). You will receive a summary of all topics I bump in your profile area as well as via email.
_________________
Math Expert
Joined: 02 Sep 2009
Posts: 30392
Followers: 5094

Kudos [?]: 57421 [0], given: 8811

Re: If 0 < r < 1 < s < 2, which of the following must be less than 1? I. [#permalink]  20 Apr 2015, 03:30
Expert's post
If 0 < r < 1 < s < 2, which of the following must be less than 1?
I. r/s
II. rs
III. s - r

A. I only
B. II only
C. III only
D. I and II
E. I and III

Notice that we are asked "which of the following MUST be lees than 1, not COULD be less than 1. For such kind of questions if you can prove that a statement is NOT true for one particular set of numbers, it will mean that this statement is not always true and hence not a correct answer.

Given: $$0 < r < s$$ --> divide by $$s$$ (we can safely do this since we know that $$s>0$$) --> $$\frac{r}{s}<1$$, so I must be true;

II. rs: if $$r=\frac{9}{10}<1$$ and $$1<(s=\frac{10}{9})<2$$ then $$rs=1$$, so this statement is not alway true;

III. s-r: if $$r=0.5<1$$ and 1$$<(s=1.5)<2$$ then $$s-r=1$$, so this statement is not alway true.

Check our Must or Could be True Questions to practice: search.php?search_id=tag&tag_id=193

Hope it helps.

OPEN DISCUSSION OF THIS QUESTION IS HERE: if-0-r-1-s-2-which-of-the-following-must-be-less-than-128112.html
_________________
Re: If 0 < r < 1 < s < 2, which of the following must be less than 1? I.   [#permalink] 20 Apr 2015, 03:30
Similar topics Replies Last post
Similar
Topics:
10 If 0<r<1<s<2. Which of the following must be less than 1. 7 25 Feb 2012, 01:06
If -1 < x < 0, which of the following must be true? 5 23 Oct 2011, 09:49
8 If 0 < r < 1 < s < 2, which of the following must be less 8 21 Jan 2011, 10:24
23 If 0 < r < 1 < s < 2, which of the following must be less 4 25 Oct 2010, 10:56
11 If 0 < x < 1, which of the following inequalities must be 18 08 Oct 2008, 05:48
Display posts from previous: Sort by


text:
# Cannot solve - dy/dx = (e^(1/x))/(x*((x+1)^2))

## Homework Statement

Solve the following differential equation:

y' = (e^(1/x)) / (x*((x+1)^2))

?

## The Attempt at a Solution

I wasted over 5 hours trying to solve this equation, but was unable to get a proper solution. Wolfram Alpha and Maple gave me the correct answer (the solution works in the differential equation), but were unable to elaborate. Any help would be appreciated!

## The Attempt at a Solution

Related Calculus and Beyond Homework Help News on Phys.org
Gib Z
Homework Helper
Welcome to PF.

So you just need to integrate your right hand side. From the looks of it, you should first let $u = \frac{1}{x}$ .

dextercioby
Homework Helper

$$\frac{dy}{dx} = \frac{e^{\frac{1}{x}}}{x(x+1)^2}$$

Change the variable $x=\frac{1}{p}$

Separate the new variables and integrate. What do you get ? Post your work.

First of all, thank you for the quick replies! I tried a u-substitution again but don't seem to get anywhere:

u = 1/x
dx = - (x^2) du

and v = - (e^u) / (u*((u^-1) + 1)^2) du

And that's as far as I get. Is there something that I am missing?

Bump.

Anyone?

dextercioby
Homework Helper
How can you simplify the denominator ?

I finally got it; this was one insane integral!

From where I left, the denominator had to be simplified and I had to do another integral (by parts) before I got the answer.

The solution was: y = [(x*exp(1/x)) / (x+1)] + k

Thanks for your help Gib Z and bigubau!


text:
# How can I remove inventory items in a Bukkit plugin?

I am making a Bukkit plugin that takes the player to a "FunZone" and allows them to do just about anything. I don't want data transferred between the two worlds. So far I have got most everything stopped. Here's the problem code:

            Integer normInvSize = player.getInventory().getSize();
Integer i = 0;
for (i=0; i<normInvSize; i++) {
ItemStack item = player.getInventory().getItem(i);
pConfig.set(player.getWorld().getName()+"Inv."+i.toString()+".amount", item.getAmount());
Short durab = item.getDurability();
pConfig.set(player.getWorld().getName()+"Inv."+i.toString()+".durabillity", durab.intValue());
pConfig.set(player.getWorld().getName()+"Inv."+i.toString()+".type", item.getTypeId());
player.getInventory().removeItem(new ItemStack(item.getType(), item.getAmount()));
}

I have everything set up how I want it but I get stray items following me between the worlds. The line

player.getInventory().removeItem(new ItemStack(item.getType(), item.getAmount()));

does not remove all of the inventory. I want some code that will remove all inventory items (I've handled armor already). I already have a way to restore the inventory later, but my code currently won't remove everything. For example I can end up transfering some stone tools from the "FunZone" to the normal world, which I don't want.

• Did you try to delete the item directly with player.getInventory().removeItem(item) ? Jan 17, 2012 at 18:35

You can't clear a list while you're iterating over it, at least not in this way. Let me show you this, we'll assume a list with 5 items:

1. List: 5, Index: 0
2. List: 4, Index: 1
3. List: 3, Index: 2
4. Break condition already met. 2 Items remaining.

What you want to do is clear the whole inventory after you've iterated over it.

// Cache the inventory instead of a number you'll only use once.
PlayerInventory inventory = player.getInventory();

// Cache the world name
String worldName = player.getWorld().getName();

// Use a foreach instead. Looks better.
for (ItemStack stack : inventory.getContents()) {
// More cache, String concetanations are expensive!
String start = worldName + "Inv." + Integer.toString(i);

pConfig.set(start + ".amount", stack.getAmount());
pConfig.set(start + ".durability", stack.getDurability().intValue()); // Please be aware that I fixed a typo in durability
pConfig.set(start + ".type", stack.getTypeId());
}

// And now clear the inventory
inventory.clear();

Also, I don't know what pConfig is, but the structure smells broken if you need save stuff like this. You use an Object-Oriented language, so if you need to split strings to get something, you're doing something wrong. You might want to rewrite that...thing.

For further infos please go to Stack Overflow, f.e.: Efficient Equivalent to Removing while Iterating a Collection

• Thank you very much for the help pConfig is my player config file is looks like this: File saveFile = new File(this.getDataFolder() + File.separator + "players", player.getName() + ".yml"); FileConfiguration pConfig = YamlConfiguration.loadConfiguration(saveFile); Jan 19, 2012 at 16:42
• Also i am very new to java i have been working on it for maybe a couple of weeks so im sure there are plenty better ways of doing things then how i do it. Long story short i am storing the players loc and inv from the world they came. And then when they leave fz(funzone) save inv and loc there. Then teleport and restore. As i said i have this all laid out already teleport inv save and fetch but removeing was not working.And Thanks to this suggestion i can now ride the unused slots (b4 i was saving all inv even blank slots). Then i need to work on armor and exp Jan 19, 2012 at 16:59
• Um i have a prob the ItemStack stack : inventory.getItems() does not work Jan 20, 2012 at 17:28
• @HcgRandon: Typo on my end. Jan 21, 2012 at 13:59
• yeah i got it all fixed Jan 23, 2012 at 13:44


text:
# Showing $\binom{2n}{n} = (-4)^n \binom{-1/2}{n}$

Is there a proof for the following identity that only uses the definition of the (generalized) binomial coefficient and basic transformations?

Let $n$ be a non-negative integer. $$\binom{2n}{n} = (-4)^n \binom{-\frac{1}{2}}{n}$$

• Try to show $1\cdot 3 \cdot 5 \cdots (2n-1)$, the product of the first $n$ odd numbers, is $(2n)!/(2^nn!)$ by inserting factors $2, 4, 6, \dots, 2n$ to make the product $(2n)!$ and then dividing by $2 \cdot 4 \cdot 6 \cdots (2n)$ and then pulling a factor of $2$ from each of those even numbers in the denominator. – KCd Jan 13 '15 at 2:17

You have not specified what is meant by the definition of the generalized binomial coefficient. We take one interpretation, which may not be the intended one.

The term $\binom{-1/2}{n}$ is equal to $$\frac{1}{n!}\left(-\frac{1}{2}\right)\left(-\frac{3}{2}\right)\cdots \left(-\frac{2n-1}{2}\right).$$ Multiply the top by $(2)(4)\cdots (2n)$ and the bottom by the same thing, in the form $2^n n!$. We get $$(-1)^n\frac{1}{n!}\cdot \frac{1}{2^n\cdot 2^n} \frac{2n!}{n!}.$$ The rest of the calculation is straightforward.

\begin{align*} (-4)^n\binom{-1/2}n&=(-4)^n\frac{(-1/2)^{\underline n}}{n!}\\\\ &=\frac{(-4)^n}{n!}\left(-\frac12\right)\left(-\frac32\right)\ldots\left(-\frac{2n-1}2\right)\\\\ &=\frac{(-4)^n}{n!}\cdot\frac{(2n-1)!!}{(-2)^n}\\\\ &=\frac{2^nn!(2n-1)!!}{(n!)^2}\\\\ &=\frac{(2n)!!(2n-1)!!}{(n!)^2}\\\\ &=\frac{(2n)!}{(n!)^2}\\\\ &=\binom{2n}n \end{align*}

\begin{align} \binom{-1/2}{ n} &= (-1/2)(-3/2)(-5/2)\ldots(-(2n-1)/2) /n! \\ &= (-1)^n 1\cdot 3\cdot 5\cdot\ldots\cdot(2n-1)/ (2^n n!) \\ &= (-1)^n (2n)!/ (2^n \cdot n! \cdot 2 \cdot 4 \cdot 6\cdot \ldots \cdot (2n)) \\ &= (-1)^n (2n)!/ (2^n n!)^2 \\ &= (-1/4)^n \binom{2n}{n}. \end{align}

Hence: $$(1-4X)^{-1/2}$$ generates (link) $$\binom{2n}{n}.$$

I'll assume the generalized binomial coefficient is defined via the gamma function, with $\binom{x}{y}=\frac{\Gamma(x+1)}{\Gamma(y+1)\Gamma(x-y+1)}$ This will match the normal definition for integers, and will follow most of the familiar properties. When dealing with the gamma function, the most important properties to remember are that $\Gamma(x+1)=x\Gamma(x)$ and that the gamma function is defined for all real numbers, except for the negative integers and zero. In my view, this is by far the most natural extension for the binomial coefficients.

\begin{align} (-4)^n\binom{-\frac{1}{2}}{n}&=(-4)^n\frac{\Gamma(\frac{1}{2})}{\Gamma(n+1)\Gamma(\frac{1}{2}-n)}\\&=(-4)^n\frac{(\prod\limits_{k=1}^n\frac{1}{2}-k)\Gamma(\frac{1}{2}-n)}{\Gamma(n+1)\Gamma(\frac{1}{2}-n)}\\&=(-4)^n\frac{(\prod\limits_{k=1}^n\frac{1}{2}-k)}{\Gamma(n+1)}\\&=2^n\frac{\prod\limits_{k=1}^n2k-1}{n!}\\&=2^n\frac{\frac{\prod\limits_{k=1}^n(2k-1)(2k)}{\prod\limits_{k-1}^n2k}}{n!}\\&=2^n\frac{\frac{\prod\limits_{k=1}^{2n}k}{2^n\prod\limits_{k=1}^nk}}{n!}=2^n\frac{\frac{(2n)!}{2^nn!}}{n!}\\&=\frac{(2n)!}{(n!)^2}\\&=\frac{(2n)!}{n!(2n-n)!}\\&=\binom{2n}{n} \end{align}


text:
Equipment - Parts - Service Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Slide Down Equipment - Parts - Service

## Engineering Performance

Globally, there are increasingly stringent standards on emissions – and the technology we use ensures our products meet the standards wherever the engines are being used in the world..

## Enriching Lives of OurCommunity

Globally, there are increasingly stringent standards on emissions – and the technology we use ensures our products meet the standards wherever the engines are being used in the world..