Hierarchical and variational geometric modeling with wavelets This paper discusses how wavclet techniques may be applied to a variety of geomcbic modeling tools. In particular. wavelet decompositions are shown to be useful for hierarchical control point or least squares editing. In addition, direct curve and surface manipulation methods using an underlying geometric variational principle can be solved more efficiently by using a wavelet basis. Because the wavelet basis is hierarchical, iterative solution methods converge rapidly. Also, since the wavelet coefficients indicate the degree of detail in the solution, the number of basis functions needed to express the variational minimum can be reduced. avoiding unnecessary computation. An implemcntatiou of a curve and surface modeler based MI these ideas is discussed and experimenral results arc reported. Wavclet analysis provides a set of tools for representing functions hierarchically. These tools can be used to facilitate a number of geometric modeling operations easily and cfficicntly. In particular. this paper explores three paradigms for free-form curve and surhcc construction: control point cditin g, direct manipulation using least squares. and direct manipulation using variational minimization techniques. For each of these paradigms, the hierarchical nature of wavelct analysis can bc used to either provide a more intuitive modeling interface or to provide more efficient numerical solutions.. In control point editing, the user sculpts a free-form curve or surface by dragging a set of control points. A better interface allows the user to directly manipulate the curve or surface itself, which defnes a set of constraints. In a lr~sf sq~tarrs pzuadigm, given a current curve or surface. the modcling tool returns the curve ' Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and Its date appear, and notice is given that copying is by permission of the Association of Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 1995 Symposium on Interactive 3D Graphics, Monterey CA USA 0 1995 ACM O-69791-736-7/95/0004... $3.50 or surface that meets the constraints by changing the current control points by the least squares amount [ 1. 1 11.. The behavior of the modeling tool is determined by the type of control points and husisfun~tions used to describe the curve or surface. With the uniform cubic B-spline basis, for example, the user's actions result in local changes at a predclermined scale. This is not fully desirable; at times the user may want to make fine changes of detail, while at other times he may want to easily make broad changes. Hierarchical B-splines offer a representation that allows both control point and least squares editing to bc done at multiple resolutions [9] . Hierarchical B-splines, though, form an over-representation for curves and surface (i.e., any curve has multiple representations using hierarchical B-splines). As a result, the same curve may behave differently to a user depending on the particular underlying rcprescntation. In conlrast. B-spline wavelets form a hierarchical basis for the space of B-spline curves and surfaces in which every object has a unique representation. Wavelet methods in conjunction with hierarchical B-splines provide nmethod for constructing a useful geometric modeling inlerface. This approach is similar to the one described by Finkelstcin and Salesin [ 81. In this paper we will discuss some of the various issues that are relevant to building such a modeling tool.. Variational modeling is a third general paradigm for geometric modelingl2, 28, 211. In this setting, a user alters a cuI-ve or surface by directly manipulation. as above, defining a set of constraints. The variational modeling paradigm seeks the "best" solution amongst all answers that meet the constraints. The notion of best, which is formally defined as the solution that tthitttizrs some etwrgyfitnc~ion, is often taken to mean the stnoo~lrrsf solution.. III theory, the desired solution is the curve or surface that hns the minimum energy of 011 possible curves or surfaces that meet the constraints. Unfortunntcly there is liule hope Lo find a closed form solution ' Therefore, in practice, the "space" of pammctric curves or surfaces is restricted to those represented by a linear combination of a fixed set of basis functions such as cubic B-splines. Given a set of 71 basis functions, the goal of finding the best curve or surface is then reduced to that of finding the best set of 71 co&Cents. This reduction is rcferrcd to as thefinirr rlrtnrttf ttrrfhod 1271.. The general case requires solving a non-linear optimization prohlem. In the best case, the energy function is quadratic and the constraints are linear leading to a single linear system to solve. But even this can be costly when n is large since direct methods for matrix inversion require O(rt3) time. To accelerate this process it is tempting to use gradient-type iterative methods to solve the linear system; these methods only take O(n) time per iteration, due to the ~371) matrix sparsity created by the finite clement formulation. Unfortunately, the linear syslctns arising from a finite element formulation are often expensive to solve using iterative mcthocls. This is because the systems are ill-conditioned. and thus require many iterations to converge to a minimum 126. 2.5). Intuitively speaking this occurs bccnusc each basis function represent3 a very narrow region of lhc answer; there is ~JO basis function which can be moved lo change the answer in some broad manner. For example. changing one cocfficicnt in a cubic H-sptinc curve during an iteration alters the curvature in a local region only. In order to produce a broad smooth curve, the coefficients of the neighboring B-splints will move in next few iterations. Over the next many iterations, the solution process will affect wider and wider regions. and the effect will spread out slowly like a wave moving along a string. The result is very slow convergence (see Figure (1 In a wavclet basis, the answer is represented hierarchically. This allows the solution method to o!ter the answer at any desired resolution by altering the proper basis function. and thus the ill-conilitic,nirIg is avoided. In this paper we show how to use a wavelet consb-uction, which is based on cubic H-splines, to quickly solve variational modeling problems in an elegant fashion.. Another problem with the finite element approach is choosing the density of the basis functions. If too few basis functions (too few B-spline segments or tensor product B-spline patches) are used then the solul:ion obtained will he fan from the actual minimum. If too many basis functions arc used then unnecessary computation will be performed during each iteration (n is too big). III order lo successfully choose a prop" density, one must know how much detail exists in the variational minimum answer. Since, a priori. this is unknown, an efficient solver must be able to adaptively change the brlsis during the solution process [28] . one needs an easy way to detect that too many or too few basis functions are being used. In addition, one needs a basis for which adding more detail, (i.c., refinement), is easy. Wavclets offer a basis wbere this task cau be accomplished quickly and elegantly.. The work presented in this paper combines the wavelct approaches of [2.5] . [ 121. and [ 161. Like [25] , this paper uses hicrarchical basis functions a$ a pre-conclitioner, so that fewer iterations are needed for convergence. Similar to 1121 and [ 161, wavclets are also used as a method for limiting the solution method to the proper level of detail. This paper has explored the use of wavelet analysis in a variety of modeling settings. It has shown how wavelets can be used IO obtain multircsolution control point and least squares control. It has shown how wavelets can be used to solve variational problems more efticicnlly.. Future work will be required to explore the use of higher order functionals like those given in 121. 241. Because the optimization problems resulting from those functionals are non-linear, they are much more computationally expensive, and it is even more important to find efficieut methods. It is also important to study optimization modcling methods where constraint changes only have local effects.. Many of lhcse concepts can be extended beyond the realm of tensor product uniform El-splines. Just ~9 one can create a ladder of nested function spaces V; satisfying the properly of Equation (IO) using uniform cubic R-splines of various resolutions, one can also create a nested ladder using non-uniform H-splines [ 181.. Subdivision surfaces arc a powerful technique for describing surfaces with arbitrary topology [14] . A subdivision surface is defiued by iteratively refining an inpuf control mesh. As explaiucd by Lounsbery et al. [ 171, one can develop a wavclet decomposition 01 such surfaces. Thus. many of the ideas developed in this paper may be applicable to that representation as well.. IXrecl manipulation of a surface. The user is able to interadivcly drag, twist and place constraints. Light hluc blocks represent positional ionslrdints without valid "delta vectors". Reddish blocks indicate valid "delta vectors". and NTOWS indlcatc tangent constraints.

O O O O O O O O B O O O O O O O O O O O O O B O O B O O O O O O O O B B O O O O O O B O O B B O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O B B O O B B O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O B O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O B O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O B B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Navigation Domain Representation For Interactive Multiview Imaging Abstract-Enabling users to interactively navigate through different viewpoints of a static scene is a new interesting functionality in 3D streaming systems. While it opens exciting perspectives toward rich multimedia applications, it requires the design of novel representations and coding techniques to solve the new challenges imposed by the interactive navigation. In particular, the encoder must prepare a priori a compressed media stream that is flexible enough to enable the free selection of multiview navigation paths by different streaming media clients. Interactivity clearly brings new design constraints: the encoder is unaware of the exact decoding process, while the decoder has to reconstruct information from incomplete subsets of data since the server generally cannot transmit images for all possible viewpoints due to resource constrains. In this paper, we propose a novel multiview data representation that permits us to satisfy bandwidth and storage constraints in an interactive multiview streaming system. In particular, we partition the multiview navigation domain into segments, each of which is described by a reference image (color and depth data) and some auxiliary information. The auxiliary information enables the client to recreate any viewpoint in the navigation segment via view synthesis. The decoder is then able to navigate freely in the segment without further data request to the server; it requests additional data only when it moves to a different segment. We discuss the benefits of this novel representation in interactive navigation systems and further propose a method to optimize the partitioning of the navigation domain into independent segments, under bandwidth and storage constraints. Experimental results confirm the potential of the proposed representation; namely, our system leads to similar compression performance as classical inter-view coding, while it provides the high level of flexibility that is required for interactive streaming. Because of these unique properties, our new framework represents a promising solution for 3D data representation in novel interactive multimedia services. In this paper, we propose a novel data representation method for interactive multiview imaging. It is based on the notion of navigation domain, which is optimally split into several navigation segments. Each of these navigation segments is described with one reference image and auxiliary information, which enables a high quality user navigation at the receiver. In addition to this novel representation framework, we have proposed a solution for effective partitioning of the navigation domain and for selecting the best position for reference images. Experimental results show that the viewing experience of the user is significantly improved with a reasonable rate and storage cost. The comparison with common image-based representation methods is very encouraging and outline the potential of our framework for emerging interactive multiview systems, since our method enables navigation without large penalty on compression performance. Our future work will mainly focus on the extension of our navigation framework to dynamic scenes in order to enable efficient interactive multiview video viewing.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An improved articulated model of the human hand We present an improved anatomically based approach to modeling the human hand for use in the animation of the American Sign Language. The joint rotations in the model are based on the bone and muscle configurations of the hand, and a forward kinematic solution is used to position the hand. In particular, we investigate the rotations of the base joint of the thumb. This joint is a saddle joint with nontrivial rotational axes and centers, and must be treated with care in such a model. We take advantage of several correlations between joint rotations in the hand to reduce the number of degrees of freedom in the model and to provide a simple, natural, and interactive interface for American Sign Language handshape transcription. Our model provides a natural interface for shaping the positions of the fingers in the hand for ASL and many other applications. Initial user tests within the deaf community have been very promising, as it took only a few minutes for test subjects to familiarize themselves with the interface and then less than 2 min for them to transcribe a handshape such as ASL's "m" or "t". This model still has one main deficiency that does not hinder its effectiveness for ASL. The absence of the metacarpal bones for the pinky and ring fingers makes it difficult to place the hand in certain configurations where the thumb is touching the pinky. Thus, we must make the palm deformable and add support for these two bones in the model and interface. The next major improvement for this model would then be to transform the palm and fingers into deformable surfaces and to model the underlying bones and musculature of the hand to give it a far more realistic appearance as in Wilhelms and Van Gelder (1997), Gourret et al. (1989) , and Scheepers et al. (1997) .

O O O O O O O O O O O O O O O O B O O O O O O O B O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


AUG-Segmenter: a user-friendly tool for segmentation of long time series In this study, three algorithms are presented for time series segmentation. The first algorithm is based on the branch-and-bound approach, the second on the dynamic programming while the third is a modified version of the latter into which the remaining cost concept of the former is introduced. A user-friendly computer program called AUG-Segmenter is developed. Segmentation-by-constant and segmentation-by-linear-regression can be performed by the program. The program is tested on real-world time series of thousands of terms and found useful in performing segmentation satisfactorily and fast. Due to various natural or man-made causes datasets are not necessarily homogeneous or consistent. Therefore structural characteristics (jump, trend, randomness, intermittency, probability distribution function, etc) of the data should be known prior to its use (Fanta et al. 2001; Adeloye & Montaseri 2002; Xiong & Guo 2004; Aksoy 2007; Dahamsheh & Aksoy 2007; Aksoy et al. 2008b) . A trend in a time series can result from gradual natural and humaninduced disruptive and evolutionary changes in the environment whereas a jump may result from sudden catastrophic natural events. Without looking if it is gradual or sudden, inhomogeneity and inconsistency in the time series should be identified, detected or be estimated and then corrected (Peterson et al. 1998; Aguilar et al. 2003; Wijngaard et al. 2003; DeGaetano 2006) . Any change in the time series is most reliable if it is detected by statistical tests and also has physical and historical evidence. Projections for the future cannot be made without having this information to hand. Detection of irregularities, jumps and changes is of great importance and therefore such changes must be taken into account when the past is extrapolated into the future.. Change point (jump) analysis is used to determine if there is a change in the statistical properties of a time series (mean, variance, etc) and to estimate the number and position(s) of change point(s). Chen & Gupta (2000 present an extensive literature review of change point analysis. Homogenization, on the other hand, is an application of change point analysis in hydrology and climatology, which consists of detecting and correcting artificial change points only, which is often done by comparing the candidate series to neighbour series to isolate artificial changes only. Jump analysis is a change point detection problem that can also be referred to as segmentation of a time series simply aiming at dividing a given number of observations into subseries (segments) with The development of fast and efficient segmentation algorithms emerges as a practically significant problem.. An early study on hydrological time series segmentation was made by Buishand (1982) . Many segmentation methods and a very extensive bibliography are presented in Basseville & Nikiforov (1993) . Hubert et al. (1989) worked on the segmentation of hydrometeorological time series with a continuous effort (Hubert 2000; Hubert et al. 2007 ).. For the purpose of time series segmentation, the dynamic programming (DP) algorithm has been presented in a preliminary form in . Similarly, early versions of the newly developed branch-andbound (BB) approach-based algorithm (denoted as AUG) appeared in Aksoy et al. (2007 Aksoy et al. ( , 2008a and Gedikli et al. (2008) . All of these studies contain fairly extensive references to the segmentation literature, which was therefore only mentioned in brief here.. Motivation for this study comes from the work on multiple segments, offline segmentation by Hubert (2000) . In the offline segmentation an entire time series ðx 1 ; x 2 ; … ; x T Þ is given and it is required to divide it into segments. In the online segmentation, on the other hand, the data points ðx 1 ; x 2 ; … ; x t ; …Þ arrive one at a time and, at every time step t, it is required to decide whether x t belongs to the previous segment or is assigned to a new segment which starts at t (Dobigeon & Tourneret 2007) .. In this study, three offline segmentation algorithms, one based on the BB approach and another on the DP approach, are used. The third algorithm (mDP) is a new version of the latter modified by the remaining cost concept of the former. The remaining cost concept was introduced for the first time by Gedikli et al. (2008) , and later by Aksoy et al. (2008a) and Gedikli et al. (2010) . The BB, DP and mDP algorithms have been evaluated on several real-world hydrometeorological time series Aksoy et al. 2007 Aksoy et al. , 2008a Gedikli et al. 2008; 2010) and progress has been achieved in the segmentation algorithm of Hubert (2000) by using the remaining cost concept.. A user-friendly computer program (AUG-Segmenter) was developed in this study that uses the above algorithms.. For details on the BB algorithm see Gedikli et al. (2008) and Aksoy et al. (2008a) ; on the DP algorithm see and on the mDP algorithm see Gedikli et al. (2010) .. The unique perspective of this study is the AUG-Segmenter software using the above algorithms. The software is presented together with its pros and cons, and updates foreseen for the future. Currently, it is fast and capable to

O O O O O B O O B I O O O O O O O O B I B O O O O O O O B I O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O B I B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The impact of false-negative reads on the performance of RFID-based shelf inventory control policies Effective retail in-store logistics are paramount to provide high product availability at minimal operating costs. Despite various efforts by retailers to lower out-of-stock rates on retail shelves, product availability remains insufficient thereby significantly degrading a store's performance. Currently, retailers consider the introduction of Radio Frequency Identification (RFID) to improve the efficiency of replenishment processes in stores. However, the possibilities of RFID are ultimately limited by the physical characteristics of RF communications. Tag detuning and the absorption of radio waves by the tag's environment may lead to so-called 'false-negative' reads, i.e., RFID tags in range being undetected by the reader device. Retailers ignoring the impact of false-negatives on the performance of RFID-based inventory control systems run the risk of overestimating the benefits to be expected from RFID. We develop an inventory control policy based on shelf stock information generated by RFID, which specifically accounts for inaccuracies associated with false-negative reads. The mathematical model is optimized for operating costs and compared to a basic periodic review strategy in a numerical study. The results indicate that the impact of false-negatives on cost remains modest for medium to high read rates. However, the system performance is sensitive to a number of exogenous parameters that must be considered when evaluating the practical use of RFID. From an operational perspective, the core business of the retail industry is to partition bulk products into smaller lot sizes or individual items and then sell them to consumers at a convenient location. With intense competition in metropolitan areas retailers are obliged to provide high product availability at low operating costs to establish a profitable and sustainable position in the market and to achieve satisfaction and loyalty among customers [43] . To manage the high complexity of current retail supply chains more efficiently, retailers introduced novel management concepts into their supply chains to obtain fine-grain information about operational processes and to facilitate information sharing among supply chain partners. However, despite the widespread deployment of information technology and industry initiatives such as 'Efficient Consumer Response (ECR)', inventory inaccuracies [17] , stock-outs [31] , shrinkage [38] , invoice inaccuracies [32] , and goods that become unsellable (e.g., perished or damaged goods) [47] still result in significant unnecessary costs thereby deteriorating revenues.. Radio Frequency Identification (RFID) offers opportunities for further improvements of operational processes by providing automatic identification of pallets, cases, and items to increase supply chain visibility [6, 9, 15, 44, 53] . One of the potential applications of RFID in retail is its use to improve in-store logistics processes such as shelf replenishment. Studies detailing out-of-stock rates for U.S. and European retailers identified that the majority of root causes for stock-outs are found in insufficient shelf replenishment practices [1, 2, 19, 24, 33] . Stock-outs affect sales in numerous ways: consumers substitute one item for another, switch brands, delay the purchase, or buy the product at a different store [21, 56, 59] . These consumer responses to stock-outs result in a profit reduction of up to 10% [49] and dwindling consumer loyalty may have a long-term impact on market share [5] . Gruen et al. [33] estimate that 25% of all stock-out situations are caused by inefficiencies in the shelf replenishment process, that is, products are in the store, but not on the shelf. Stores' product availabilities average only 91.7% while product availabilities at the manufacturer and distribution center usually range from 98% to 99%. A study on European retailers by Thonemann et al. [58] found that service levels range from 90% in the worst case up to 98.7% in the best case. The retail executives involved in this survey ranked current in-store logistics processes as the most promising point for improvement in the retail supply chain. Currently, response-based in-store logistics are widely established in the industry [61] . Store clerks visually inspect inventory levels on retail shelves by regularly walking the aisles. They add products to picking lists for replenishment from the backroom if shelf inventory levels are low. Among the most important factors influencing the economical effectiveness of such a periodic review policy are labor cost that arises from the manual inspection of inventory levels and accuracy of data collection. A consequence of high labor cost is often a low observation frequency that may cause delays in the detection of low inventory levels. The introduction of RFID aims at automating the inventory monitoring process thereby reducing the cost for data collection while increasing the update rate. Since about the year 2000, RFID has gained significant attention in white papers and trade journals that discuss the technology's potential impact on supply chain performance. Reports prepared by PwC Consulting [48] , Accenture [4] , A.T. Kearney [1] , and GCI [30] were among the first publications that elaborated on potential benefits of introducing RFID into retail store logistics. Many of these early publications emerged from standardization consortia such as the Auto-ID Center -an industrysponsored project at the Massachusetts Institute of Technology (1999-2003) -while others were commissioned by industry organizations such as the Grocery Manufacturers of America (GMA). Although these sources may serve as a valuable foundation for understanding the industry's interest in RFID, the numerous estimates on actual business value and market potential should be interpreted with care. In fact, the vast majority of these publications suffer from a 'credibility gap' [18] because the provided estimates are hardly substantiated.. In recent years, the academic community has developed a number of solid models that enable a more realistic assessment of the value of RFID [46, 50, 54] . Lee and Ö zer [44] provide a comprehensive overview of various approaches from an operations management perspective. They accredit RFID two distinct values-visibility of inventory movements and prevention of inventory record inaccuracies. Quantitative analyses on the potential improvements that will arise from the elimination of inventory inaccuracies were presented by Atali et al. [7] , de Kok et al. [16] , Fleisch and Tellkamp [25] , Gaukler et al. [29] , Heese [37] , Kang and Gershwin [41] , Kök and Shang [42] , Rekik et al. [51] , and Rekik et al. [52] . However, although these studies offer valuable insight into the potential of RFID to eliminate inaccuracies due to shrinkage, misplacements, and transaction errors, they usually do not provide a detailed model of the actual shelf replenishment processes in stores and the impact of RFID thereon.. A reason for the low number of publications on this topic may be that companies have tried to avoid retail store backroom inventory to establish so-called 'one-touch replenishment' policies. Cooper et al. [14] identify the elimination of backroom inventory as one of three major areas of logistics innovation in the UK grocery industry that started in the mid-1980s. Nevertheless, there are several reasons why retailers have still kept backroom inventory until today: more products can be stored per area in the backroom than on the sales floor, backroom inventory acts as an inventory buffer for uncertain or imperfect deliveries and long lead times, and there may not be enough shelf space to store all products on the sales floor for bulky products or products with high turn-over rates [61] . The downside of a replenishment strategy from the backroom is that the inventory handling costs significantly contribute to the total supply chain costs. For example, 38% of the total supply chain costs for non-perishable goods are inventory handling costs [60] . Furthermore, retailers have directed most of their efforts to the optimization of processes between the distribution center and the store by introducing automatic reordering systems, leaving retail store shelf replenishment with great potential for improvements in efficiency and cost.. Wong and McFarlane [61] provide a qualitative analysis of the main factors of suboptimal replenishment performance, e.g., delayed reviews or outdated pick lists. The authors describe the structure of the traditional process based on a push policy and a pull policy. They distinguish between the two policies based on whether the review occurs in the backroom or on the sales floor. Furthermore, they discuss opportunities for improvement by using RFID to automate the monitoring of stock levels and product movements as well as the automatic compilation of pick lists.. Hardgrave et al. [36] report on Wal-Mart's pilot project conducted from February to September 2005 that included 12 stores with varying store formats. In total 4554 different products were tagged at the case level to allow monitoring product movements between the backroom and the sales floor. In this trial, the use of RFID led to an average reduction of stock-outs by 16% over a control group consisting of 12 similar stores. The best improvement was observed for products with a daily demand of 6-15 units. The reduction in stock-outs for these products was recorded at 62%. The impact of RFID on stock-outs could be confirmed in a second study comparing the improvement in inventory record accuracy before and after implementing RFID-enabled adjustments to the inventory management system [35] . The authors report reductions in the percentage of stockouts ranged from 21% to 36%, depending on category. A similar study was also conducted by Bertolini et al. [8] in 30 retail stores. The results indicate that RFID not only improves accuracy and efficiency of logistics processes but also leads to additional sales through stockout reduction.. Lee et al. [45] use simulation models to investigate the effects of the elimination of inventory inaccuracies, the redesign of the shelf replenishment process, and the exchange of inventory level information between a supplier and a retailer through the use of RFID. To draw conclusions for the redesign of the shelf replenishment process, the traditional process of inventory management based on periodic reviews is compared to continuous reviews accomplished by using RFID readers on shelves. The authors show that RFID allows for a better adaptation to actual demand thereby necessitating lower shelf stock levels. However, the significance of their findings is limited because they chose arbitrary inventory policies instead of optimized ones to examine the performance of the different replenishment strategies. In addition, they only consider stock levels and stock-outs as the main performance indicator instead of total cost. A further simulation study was presented by Abdulmalek et al. [3] , who also observe RFID-induced stockout reductions but do not provide an analysis of cost and profitability metrics, too.. Other authors presented analytical models of RFID-based inventory control in stores. Szmerekovsky and Zhang [57] study the effect of RFID at the item level for a manufacturer and a retailer, relying on RFID in a vendor-managed inventory system. They compare a system of continuous review using RFID and a non-RFID system of periodic review. The authors determine the optimal inventory policies in a centralized system and establish conditions under which the RFID system is preferable to the system without RFID. The limitations of their single-period model include fixed shelf space, fixed review/replenishment intervals, and the fact that replenishment costs are not considered. C -akıcı et al. [12] analyze the incremental benefits of RFID technology over barcodes for managing pharmaceutical inventories. Based on a case study, the authors show that inventory managers can benefit from RFID by leveraging automatic counting and continuous review and by tracking shrinkage actively. Using a mathematical model, they show that the switch to continuous review achieves savings with regard to inventory holding, backorder, and ordering costs. The results indicate that the total cost savings of RFID combined with business process reengineering increases in all policy parameters except for cost per order under RFID. Gaukler [27] examines a retail store operation with backroom and shelf stock and the impact of RFID on profit improvements. The study confirms that the direct effect of more efficient and effective backroom-to-shelf replenishment contributes the majority of the total RFID benefit.. A simplification common to most models that incorporate RFID data into the decision making process is the disregard of RFID read rates. In fact, the majority of prior works implicitly assume perfect detection accuracy, which does not correspond to the reality of today's RFID hardware components. There exist many sources for measurement errors during the operation of an RFID-based shelf inventory monitoring system, e.g., dysfunctional tags, incomplete labeling of products, tags that are accidentally removed or destroyed by employees or customers, physical shielding by metals or liquids in the product or its packaging, shielding by other tags and errors in the installation or the configuration of reader hardware and antennae, etc. Read rates will continue to pose challenges among all product types despite foreseeable technological advances (e.g., by new product packaging, process changes, improved antennae design). Even if the physical characteristics of a product, tag placement, and store environment do not influence read rates (e.g., in the case of textiles), RFID systems are still vulnerable to the problem of stacked tags, i.e., RFID labels shielding or detuning each other [26] . Imperfect read rates significantly distort inventory data thereby influencing the parameters of an optimal replenishment strategy. To allow for an accurate assessment of potential improvement of the shelf replenishment process, the fundamental limitations of RF communication hence have to be accounted for.. Kang [40] seems to be the first one to specifically address the issue of limited read rates of RFID tags in the context of inventory control systems. His study provides an approach that treats this inventory control problem as an imperfect state information problem where the measurement data represents stochastically uncertain observations of the stock quantities. Although imperfect state information dynamic programming provides a means to determine the optimal policy for a problem that is subject to measurement errors, it requires highly intensive computing as the dimension of the information vector containing all information available at a certain time grows excessively with time. The author provides an optimal policy for a control system with a planning horizon of only five days. The fast-growing state dimensions of the imperfect state information problem limits the feasibility of this approach to small and simplified problems.. Condea et al. [13] investigate the impact of suboptimal read rates in a simulation study of an inventory control policy based on RFID data with case-level tagging. They propose a heuristic extension to cope with the problem of 'replenishment freezes' and other downsides of RFID-based inventory control. The results indicate that RFID has the potential to improve cost efficiency and service levels depending on the achievable read rate. Similarly, Buyurgan et al. [10] investigate the impact of inventory decisions in the supply chain based on imperfect data generated by RFID systems. Again, the results reveal the relation between RFID system performance and the achievable benefits. However, both studies do not provide any deeper analytical insights beyond the numerical results generated from simulation runs.. Some further studies at least account for the suboptimal performance of RFID in an indirect way. De Kok et al. [16] make use of a parameter a that denotes the fraction of theft that can be eliminated through RFID. In their numerical evaluation, they consider different values for parameter a to illustrate the influence of RFID on balancing RFID expenses and theft reduction. Atali [7] includes three random variables that represent the amount of undetected sales, misplacements, and shrinkage. However, the impact of detection rates on replenishment efficiency is not explicitly investigated in these works.

O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O B O O O O O O O O O O O O B O O O O O O O O B I O O O O O B O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O B O O O B O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


First-class nonstandard interpretations by opening closures We motivate and discuss a novel functional programming construct that allows convenient modular run-time nonstandard interpretation via reflection on closure environments. This map-closure construct encompasses both the ability to examine the contents of a closure environment and to construct a new closure with a modified environment. From the user's perspective, map-closure is a powerful and useful construct that supports such tasks as tracing, security logging, sandboxing, error checking, profiling, code instrumentation and metering, run-time code patching, and resource monitoring. From the implementor's perspective, map-closure is analogous to call/cc. Just as call/cc is a non-referentiallytransparent mechanism that reifies the continuations that are only implicit in programs written in direct style, map-closure is a nonreferentially-transparent mechanism that reifies the closure environments that are only implicit in higher-order programs. Just as CPS conversion is a non-local but purely syntactic transformation that can eliminate references to call/cc, closure conversion is a non-local but purely syntactic transformation that can eliminate references to map-closure. We show how the combination of map-closure and call/cc can be used to implement set! as a procedure definition and a local macro transformation. Categories and Subject DescriptorsNonstandard interpretation is a powerful tool, with a wide variety of important applications. Typical techniques for performing nonstandard interpretation are compile-time only, require modification of global resources, or require rewriting of code to abstract over portions subject to nonstandard semantics. This paper proposes a construct to support modular run-time nonstandard interpretation.For expository purposes, let us consider a very simple example of nonstandard interpretation. Suppose one wished to add complex numbers and complex arithmetic to a programming-language implementation that supports only real arithmetic. One might repPermission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. POPL'07 January 17-19, 2007, Nice, France. Copyright c 2007 resent the complex number a + bi as an Argand pair a, b . Extending the programming language to support complex arithmetic can be viewed as a nonstandard interpretation where real numbers r are lifted to complex numbers r, 0 , and operations such as + : R × R → R are lifted to + :One can accomplish this in SCHEME by redefining the arithmetic primitives, such as +, to operate on combinations of native SCHEME reals and Argand pairs a, b represented as SCHEME pairs (a . b). For expository simplicity, we ignore the fact that many of SCHEME's numeric primitives can accept a variable number of arguments. We define a new procedure lift-+ which we use to redefine + at the top level. Functor-based module systems [8] , overloading mechanisms such as aspect-oriented programming [9] , and map-closure are related, in that all three support nonstandard interpretation. The difference is in the scope of that nonstandard interpretation. In a functor-based module system, the scope is lexical. With overloading, the scope is global. With map-closure, the scope is dynamic.. The dynamic scope of map-closure affords interesting control over modularity. One can apply a nonstandard interpretation to only part of a program. Or, different nonstandard interpretations to different parts of a program. Or, to different invocations of the same part of a program. One can compose multiple nonstandard interpretations, controlling the composition order when they do not commute. For example, composing complex arithmetic with logging arithmetic in different orders would allow one to control whether one logged the calls to complex arithmetic or the calls to the operations used to implement complex arithmetic. With map-closure, nonstandard interpretations become first-class entities.. If all aggregate data structures are Church-encoded as closures, CPS conversion followed by closure conversion subsumes store conversion: it explicitly threads a store, represented as an environment, through the program. However, compilers that perform both CPS conversion and closure conversion generally do so in the opposite order. Just as call/cc affords one the power of explicit continuations while allowing one to write in direct style, map-closure affords one the power of explicit closure environments while allowing one to write in higher-order style. The combination of call/cc and map-closure affords the power of explicit store threading while allowing one to write in a direct higher-order style.. In the implementation of set! in figure 4 , the original continuation is not mutated but discarded. Instead of discarding this original continuation, it can be preserved and invoked later in order to implement such control structures as fluid-let [5] and amb [10] with associated side effects that are undone upon backtracking [11] . Side effects that can be undone can be used to implement PROLOG-style logic variables and unification [12] . All this can be implemented as defined procedures and local macro transformations in a language that has no explicit mutation operations, but that supports call/cc and map-closure, allowing map-closure to apply to continuations.. Like other powerful constructs, map-closure may seem difficult to implement efficiently. However, the same was said of constructs like recursion, dynamic typing, garbage collection, and (define (trace thunk) call/cc when first introduced. Of particular concern is that it may appear that map-closure precludes compiler optimizations such as inlining, especially of primitive procedures. Well known techniques (e.g., declarations, module systems, and flow analysis) allow SCHEME compilers to perform inlining despite the fact that the language allows redefinition of (primitive) procedures. These techniques can be extended and applied to allow inlining in the presence of map-closure. Even without such techniques, map-closure does not preclude inlining: a compiler can generate whatever code it wishes, so long as the run-time system can reconstruct the closure-slot information that map-closure passes to its first argument, and any information needed to construct the result closure. Each invocation of map-closure might even perform run-time compilation, including optimizations such as inlining.. The history of programming-language research is replete with examples of powerful constructs that were initially eschewed for performance reasons but later became widely adopted as their power was appreciated and performance issues were addressed. We hope that this will also be the case for map-closure.. Note that, by design, map-closure does not expose the internal representation of closures and environments to the user. This design also preserves hygiene: the lexical hierarchy of variable scoping. Since map-closure does not allow one to add, remove, or rename variables, it is not possible to create unbound variable references or change the lexical scoping of variables through shadowing or unshadowing at run time.. An alternate, more traditional way to provide the functionality of map-closure would be to provide an interface to access the environment and code components of closures and construct new closures out of such environment and code components, along with an interface to access environment components and construct new environments. However, such an alternate interface would expose the internal representation of closures and environments to the user, perhaps via interfaces and data types that differ in detail between implementations, and might well break hygiene. On the other hand, map-closure exposes only one new data type: names as passed as the first argument to the first argument of map-closure. The values passed as the second argument to the first argument of map-closure and the values returned by the first argument of map-closure are ordinary SCHEME values.. Also note that names are opaque. They are created by new syntax to allow implementations to treat them as variables in every sense. They can only be compared via identity, so an implementation is free to represent names in the same way as variable addresses: stack offsets, absolute global addresses, etc. In fact, just as implementations can have different representations of variable addresses for variables of different types and lifetimes, implementations can have similarly different representations of names. Moreover names can be avoided entirely by using a weaker variant of map-closure that only exposes closure-slot values. Such a weaker variant suffices for many applications, including all examples here except for the implementation of set!.. Closure conversion is not the only implementation strategy for map-closure. For instance, a native implementation could operate directly on higher-order code. Such an implementation would only need a mechanism for accessing slots of existing closures and creating closures with specified values for their slots. These mechanisms already exist in any implementation of a higher-order language, and must simply be repackaged as part of the implementation of a map-closure primitive. Furthermore, native implementations of map-closure are possible in systems that use alternate closure representations, such as linked or display closures, unlike the flat-closure representation used here. While the implementation of map-closure for different representations of closures and environments would be different, programs that use map-closure would be portable across all such implementations. This is not the case with the aforementioned alternate interface.. Nonstandard interpretation is ubiquitous in programming language theory, manifesting itself in many contexts. It could be reasonably suggested that the lack of a simple way to easily perform a nonstandard interpretation may have held back the application of this powerful idea, and resulted in a great deal of implementation effort building systems that each perform some specific nonstandard interpretation. For this reason map-closure, or some other construct that provides first-class dynamic nonstandard interpretation, may prove a surprisingly handy tool. In fact, the authors have already found it quite useful in the implementation of automatic differentiation in a functional programming language. Nonstandard interpretation is a powerful tool, with a wide variety of important applications. Typical techniques for performing nonstandard interpretation are compile-time only, require modification of global resources, or require rewriting of code to abstract over portions subject to nonstandard semantics. This paper proposes a construct to support modular run-time nonstandard interpretation.. For expository purposes, let us consider a very simple example of nonstandard interpretation. Suppose one wished to add complex numbers and complex arithmetic to a programming-language implementation that supports only real arithmetic. One might repPermission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. resent the complex number a + bi as an Argand pair a, b . Extending the programming language to support complex arithmetic can be viewed as a nonstandard interpretation where real numbers r are lifted to complex numbers r, 0 , and operations such as + : R × R → R are lifted to + : C × C → C.. a1, b1 + a2, b2 = a1 + a2, b1 + b2. One can accomplish this in SCHEME by redefining the arithmetic primitives, such as +, to operate on combinations of native SCHEME reals and Argand pairs a, b represented as SCHEME pairs (a . b). For expository simplicity, we ignore the fact that many of SCHEME's numeric primitives can accept a variable number of arguments. We define a new procedure lift-+ which we use to redefine + at the top level.. (define (lift-+ +) (lambda (x y) (let ((x (if (pair? x) x (cons x 0))) (y (if (pair? y) y (cons y 0)))) (cons (+ (car x) (car y)) (+ (cdr x) (cdr y))))))

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Robust adaptive Metropolis algorithm with coerced acceptance rate Abstract. The adaptive Metropolis (AM) algorithm of Haario, Saksman and Tamminen [Bernoulli 7 (2001) 223-242] uses the estimated covariance of the target distribution in the proposal distribution. This paper introduces a new robust adaptive Metropolis algorithm estimating the shape of the target distribution and simultaneously coercing the acceptance rate. The adaptation rule is computationally simple adding no extra cost compared with the AM algorithm. The adaptation strategy can be seen as a multidimensional extension of the previously proposed method adapting the scale of the proposal distribution in order to attain a given acceptance rate. The empirical results show promising behaviour of the new algorithm in an example with Student target distribution having no finite second moment, where the AM covariance estimate is unstable. In the examples with finite second moments, the performance of the new approach seems to be competitive with the AM algorithm combined with scale adaptation. Markov chain Monte Carlo (MCMC) is a general method to approximate integrals of the form. where π is a probability density function, which can be evaluated point-wise up to a normalising constant. Such an integral occurs frequently when computing Bayesian posterior expectations [e.g., 12, 20, 22] . The MCMC method is based on a Markov chain (X n ) n≥1 that is easy to simulate in practice, and for which the ergodic averages I n := n −1 n k=1 f (X k ) converge to the integral I as the number of samples n tends to infinity.. One of the most generally applicable MCMC method is the random walk Metropolis (RWM) algorithm. Suppose q is a symmetric probability density supported on R d (for example the standard Gaussian density) and let S ∈ R d×d be a non-singular matrix. Set X 1 ≡ x 1 , where x 1 ∈ R d is a given starting point in the support; π(x 1 ) > 0. For n ≥ 2 apply recursively the following two steps:. The present paper introduces a new algorithm alternative to the ASWAM approach. The aim is to seek a matrix factor S * that captures the shape of π and at the same time allows to attain a given mean acceptance rate. Unlike the multi-criteria adaptation in ASWAM, the new approach is based on a single matrix update formula that is computationally equivalent to the covariance factor update in AM. The algorithm, called here the robust adaptive Metropolis (RAM), differs from the ASWAM approach by avoiding the use of the empirical covariance, which can be problematic in some settings, especially if π has no finite second moment. The proposed approach is reminiscent, yet not equivalent, with robust pseudo-covariance estimation, which has also been proposed to be used in place of the AM approach [3] .. The RAM algorithm is described in detail in the next section. Section 3 provides analysis on the stable points of the adaptation rule, that is, where the sequence of matrices S n is supposed to converge. In Section 4, the validity of the algorithm is verified under certain sufficient conditions. It is also shown that the adaptation converges to a shape of an elliptically symmetric target distribution. The RAM algorithm was empirically tested in some example settings and compared with the AM and the ASWAM approaches. Section 5 summarises the encouraging findings. The final section concludes with some discussion on the approach as well as directions of further research. A new robust adaptive Metropolis (RAM) algorithm was presented. The algorithm attains a given acceptance probability, and at the same time finds an estimate of the shape of the target distribution. The algorithm can cope with targets having arbitrarily heavy tails unlike the AM and ASWAM algorithms based on the covariance estimate. The RAM algorithm has some obvious limitations. It is not suitable for strongly multi-modal targets, but this is the case for any random walk based approach. For sufficiently regular targets, it seems to work well and the experiments indicate that RAM is competitive with the AM and ASWAM algorithms also in case of light-tailed targets having second moments.. There are several interesting directions of further research that were not covered in the present work. The RAM algorithm can be used also within Gibbs sampling, that is, when updating a block of coordinate variables at a time instead of the whole vector. This approach is often very useful especially when the target distribution π consists of a product of conditional densities, which is often the case with Bayesian hierarchical models. In such a setting, the computational cost of evaluating the ratio π(y)/π(x) after updating one coordinate block can be significantly less than the full evaluation of π(y). It would also be worth investigating the effect of different adaptation step sizes, perhaps even adaptive ones as suggested by [3] .. Regarding theoretical questions, the existence and uniqueness of the fixed points of the approach could be verified in a more general setting; the present work only covers elliptically symmetric and product type target densities, which are too restrictive in practice. The experiments indicate the overall stability of the RAM algorithm; see also Remark 10. However, proving the stability of RAM without prior bounds is directly related to the more general open question on the stability of adaptive MCMC algorithms, or even more generally to the stability of stochastic approximation. Having the stability and more general conditions on the fixed points, one could also prove the convergence of S n in a more general setting. We shall use the notation P s f (x) := R d f (y)P s (x, dy) to denote the integration of a function with respect to the kernel P s . Let us check that the following assumptions are satisfied. (A1) For all possible s ∈ S a,b , the kernels P s have a unique invariant probability distribution π for which (A4) There is a constant c < ∞ such that for all n ≥ 1, s ∈ S a,b , x ∈ R d and u ∈ R d the bound |H(s, x, u)| ≤ c holds. The uniqueness of the invariant distribution (A1) follows by observing that the kernels P s are irreducible, aperiodic and reversible with respect to π [see, e.g . 19] . The simultaneous drift and minorisation condition (A2) and the continuity condition was established by [1] . The continuity condition (A3) was established by [1] for Gaussian proposal distributions and was extended to cover the Student proposal in [28] . The bound (A4) is easy to verify.. Assumption 16 ensures that for any ǫ > 0 there exist constants 0 < a ǫ ≤ b ǫ < ∞ such that all the eigenvalues of S n S T n stay within the interval [a ǫ , b ǫ ] at least with probability P(Ω 0 ) − ǫ. This is enough to ensure that the strong law of large numbers holds by [1, Proposition 6] . For details, see also [26, Theorem 2] and [28, Theorem 20] . In what follows, suppose that the proposal density q is spherically symmetric: there exists a functionq : R → [0, ∞) such that q(x) =q( x ) for all x ∈ R d . Let s 1 ∈ R d×d be a lower-diagonal matrix with positive diagonal elements, and suppose {η n } n≥1 ⊂ (0, 1] is a step size sequence decaying to zero. Furthermore, let x 1 ∈ R d be some point in the support of the target distribution, π(x 1 ) > 0, and let α * ∈ (0, 1) stand for the target mean acceptance probability of the algorithm.. The robust adaptive Metropolis process is defined recursively through (R1) compute Y n := X n−1 + S n−1 U n , where U n ∼ q is an independent random vector, (R2) with probability α n := min{1, π(Y n )/π(X n−1 )} the proposal is accepted, and X n := Y n ; otherwise the proposal is rejected and X n := X n−1 , and (R3) compute the lower-diagonal matrix S n with positive diagonal elements satisfying the equation. where I ∈ R d×d stands for the identity matrix.. The steps (R1) and (R2) implement one iteration of the RWM algorithm, but with a random matrix S n−1 in (R1). In the adaptation step (R3) the unique S n satisfying (1) always exists, since it is the Cholesky factor of the matrix in the right hand side, which is verified below to be symmetric and positive definite. T n−1 , and the vector S n−1 U n / U n is drawn as a dot. The contours defined by S n S T n are dashed.. d×d is a non-singular matrix, u ∈ R d is a non-zero vector and a ∈ (−1, ∞) is a scalar. Then, the matrix M := S I + a. T is symmetric and positive definite.. Proof. The symmetricity is obvious. Let x ∈ R d \ {0}, denoteũ := u u and define z := Sũ. We may write M = SS T + azz T , whence. This already establishes the claim in the case a ≥ 0. Suppose then a ∈ (−1, 0).. Let us then see what happens in the adaptation in intuitive terms. Observe first that in (R1) the proposal Y n is formed by adding an increment W n := S n−1 U n to the previous point X n−1 . Since U n is distributed according to the spherically symmetric q, the random variable W n is distributed according to the elliptically symmetric density. n−1 w) with the main axes defined by the eigenvectors and the corresponding eigenvalues of the matrix S n−1 S T n−1 . To illustrate the behaviour of the RAM update (R3), Figure 1 shows two examples how the contours of the proposal change in the update. The example on the left shows how the contour ellipsoid expands to the direction of S n U n when η n (α n −α * ) = 0.8 > 0. Similarly, the example on the right shows how the ellipsoid shrinks when η n (α n − α * ) = −0.8 < 0. These examples reflect the basic idea behind the approach. If the acceptance probability is smaller than desired, α n < α * (or more than desired, α n > α * ) the proposal distribution is shrunk (or expanded) with respect to the direction of the current proposal increment.. We can also see this behaviour from the update equation by considering the radius of the contour ellipsoid defined by S n S T n with respect to different directions. Let v ∈ R d be a unit vector. As in the proof of Proposition 1, we may write. where Z n = S n U n / U n . If Z n and v are orthogonal, the latter term vanishes and S Remark 2. In dimension one, the value of S n can be computed directly by log S n = log S n−1 + 1 2 log 1 + η n (α n − α * ) .. When η n is small, this is almost equivalent to the update. implying that the RAM algorithm will exhibit a similar behaviour with the ASM algorithm as proposed by [6] and [3] and analysed by [28] . Therefore, it is justified to consider RAM as a multidimensional generalisation of the ASM adaptation rule.. Remark 3. In practice, the matrix S n in (R3) can be computed as a rank one Cholesky update or downdate of S n−1 when α n − α * > 0 and α n − α * < 0, respectively [10] . Therefore, the algorithm is computationally efficient up to a relatively high dimension. In fact, the full d-dimensional matrix multiplication required when generating the proposal in (R1) has the same O(d 2 ) complexity as the Cholesky update or downdate, rendering the adaptation to only add a constant factor to the complexity of the RWM algorithm.. Remark 4. While the step size sequence η n can be chosen quite freely, in practice it is often defined as η n = n −γ with an exponent γ ∈ (1/2, 1]. The choice γ = 1, which is employed in the original setting of the AM algorithm [13] is not advisable for the RAM algorithm. For simplicity, consider a one-dimensional setting like in Remark 2. Then, if η n = n −1 the logarithm of S n can increase or decrease only at the speed ± n k=1 η k ≈ log(n). Therefore, S n can grow or shrink only linearly or at the speed 1/n, respectively. This renders the adaptation inefficient, if the initial value s 1 differs significantly from the the scale and shape of π. The RAM algorithm was tested with three types of target distributions: heavytailed Student, Gaussian and a mixture of Gaussians. The performance of RAM was compared against the seminal adaptive Metropolis (AM) algorithm [13] and an adaptive scaling within adaptive Metropolis (ASWAM) algorithms [3, 6] . Especially the comparison against ASWAM is of interest, since it attains a given acceptance rate like the RAM algorithm.. There are several parameters that are fixed throughout the experiments. The adaptation step size sequence was set to η n = n −2/3 for the AM and the ASWAM algorithms. For the RAM approach, the weight sequence was modified slightly so that η n = min{1, d · n −2/3 }. The extra factor was added to compensate the expected growth or shrinkage of the eigenvalues being of the order d −1 ; see the proof of Theorem 7. The target mean acceptance rate was α * = 0.234. In all the experiments, the Student proposal distribution of the form q(z) = (1 + z 2 ). was used. Such a heavy-tailed proposal was employed in order to have good convergence properties in case of heavy-tailed target densities [17] .. All the tests were performed using the publicly available Grapham software [27] ; the latest version of the software includes an implementation of the RAM algorithm. respectively. That is, the target density π(. Clearly, π has no second moments and thereby the empirical covariance estimate used by AM and ASWAM is deemed to be unstable in this example. Figure 2 shows the results for one hundred runs of the algorithms. The grey area indicates the interval between the 10% and the 90% percentiles, and the black line shows the median. The top row shows the logarithm of the first diagonal element of the matrix S n . The AM covariance grows without an upper bound as expected. When the scale adaptation is added, the ASWAM approach manages to keep the factor S n = θ n L n within certain bounds, but there is a considerable variation that does not seem to vanish. This is due to the fact that L n , the Cholesky factor of Cov(X 1 , . . . , X n ), grows without an upper bound but at the same time the scaling Figure 2. Bivariate Student example: logarithm of the first diagonal component of the matrix S n (top) and the proportion of X n in the set A after 100,000 burn-in iterations (bottom).. factor θ n decays to keep the acceptance rate around the desired 23.4%. The RAM algorithm seems to converge nicely to a limiting value. Such undesided behaviour of the AM and the ASWAM algorithms may also have an effect on the validity of their simulation. Indeed, let us consider the 90% highest probability density (HPD) set of the target, that is, the set A : Figure 2 (bottom) shows the percentage of X n outside the 90% HPD computed after a 100,000 sample burn-in period. The AM algorithm tends to overestimate the ratio slightly, with more variation than the ASWAM and the RAM approaches. The estimate produced by the ASWAM algorithm has approximately the same variation as RAM, but there is a tendency to underestimate the ratio. The RAM estimates are centred around the true value.. To check how the RAM algorithm copes with higher dimensions, let us follow [24] and consider a matrix Σ = MM T , where M ∈ R d×d is randomly generated with i.i.d. standard Gaussian elements. Such a matrix Σ is used as the pseudocovariance of a Student distribution, so that π(. 2 . [21] showed that in the case of Gaussian target and proposal distributions, one can measure the 'suboptimality' by the factor b : 1/2 Σ −1/2 . The factor equals one if the matrices are proportional to each other, and is larger otherwise. While the factor may not have the same interpretation in the present setting involving Student distributions, it serves as a good measure of mismatch between S n S T n and Σ. Figure 3 shows the factor b in increasing dimensions each based on 100 runs of the RAM algorithm. The convergence of S n S T n → Σ is slower in higher dimensions, but the algorithm seems to find a fairly good approximation already with a moderate number of samples. T n → θ * Σ. The algorithms were tested in different dimensions, for one thousand covariance matrices randomly generated as described in Section 5.1. The algorithms were always started in 'steady state' so that X 1 ∼ N(0, Σ). The algorithms were run half a million iterations: 100,000 burn-in and 400,000 to estimate the proportions of the samples X n in the 10%, 25%, 50%, 75% and 90% HPD of the distribution. Table 1 shows the overall root mean square error. For dimension two, the results are comparable. Surprisingly, when the dimension increases the RAM approach provides more accurate results than the AM and the AMS algorithms.. One possible explanation is that in order to approximate the sample covariance, the covariance adaptation in AM and ASWAM should be done using the weight sequence η n = n −1 as this corresponds almost exactly to the usual sample covariance estimator. This setting was tried also; the results appear also in Table 1 . It seems that using such a sequence will indeed imply better results, when starting from s 1 ≡ I or s 1 ≡ 10 −4 · I. However, when the initial factor s 1 = 10 4 · I was 'too large', this approach failed. This is probably due to the fact that in this case the eigenvalues of the covariance estimate can decay only slowly, at the speed n −1 . Another explanation for the unsatisfactory performance of the AM and ASWAM approaches is that in the experiments the adaptation was started right away, not after a burn-in phase run with a fixed proposal covariance as suggested in the original work [13] . It is expected that the AM and the ASWAM algorithms would perform better by a suitable fixed proposal burn-in and perhaps with yet another step size sequences. In any case, this experiment demonstrates one strength of the RAM adaptation mechanism, namely that it does not require such a burn-in period. 1, 100, . . . , 100) . In such a case, the mixing will be especially problematic with respect to the first coordinate. Table 2 shows the root mean square error of the expectation of the first coordinate X. (1) and the overall error for the rest X (2) , . . . , X (d) . The errors in the first coordinate for the RAM are significantly higher than for the AM and the ASWAM for dimensions 2, 4 and 8. The estimates from all the algorithms are already quite unreliable in dimension 16. For the latter coordinates, the RAM approach seems to provide better estimates. Observe also that when comparing ASWAM with AM, the results are also worse in the first coordinate and better in the rest, like in the RAM approach. This indicates that the true optimal acceptance rate is here probably slightly less than the enforced 23.4%.. The example shows how the RAM approach finds the 'local shape' of the distribution. In fact, it is quite easy to see what happens if the means of the mixture components would be made further and further apart: there would be a stable point of the RAM algorithm that would approach the common covariance of the mixture components. Such a behaviour of the RAM approach is certainly a weakness in certain settings, as this example, but it can be also advantageous. Notice also that even such a simple multimodal setting poses a challenge for the random walk based approaches.

O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An intrinsical description of group codes Abstract. A (left) group code of length n is a linear code which is the image of a (left) ideal of a group algebra via an isomorphism FG → F n which maps G to the standard basis of F n . Many classical linear codes have been shown to be group codes. In this paper we obtain a criterion to decide when a linear code is a group code in terms of its intrinsical properties in the ambient space F n , which does not assume an "a priori" group algebra structure on F n . As an application we provide a family of groups (including metacyclic groups) for which every two-sided group code is an abelian group code.It is well known that Reed-Solomon codes are cyclic and its parity check extensions are elementary abelian group codes. These two classes of codes are included in the class of Cauchy codes. Using our criterion we classify the Cauchy codes of some lengths which are left group codes and the possible group code structures on these codes.

O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O