there are two settings under which you can get $ o ( 1 ) $ worst - case times. if your setup is static, then fks hashing will get you worst - case $ o ( 1 ) $ guarantees. but as you indicated, your setting isn't static. if you use cuckoo hashing, then queries and deletes are $ o ( 1 ) $ worst - case, but insertion is only $ o ( 1 ) $ expected. cuckoo hashing works quite well if you have an upper bound on the total number of inserts, and set the table size to be roughly 25 % larger. there's more information here.


yes, there bwa - mem was published as a preprint bwa - mem ’ s seed extension differs from the standard seed extension in two aspects. firstly, suppose at a certain extension step we come to reference position x with the best extension score achieved at query position y.... secondly, while extending a seed, bwa - mem tries to keep track of the best extension score reaching the end of the query sequence and there is a description of the scoring algorithm directly in the source code of bwa - mem ( lines 22 - 44 ), but maybe the only solution is really to go though the source code.


i would ignore answers that say the surface area is ill - defined. in any realistic situation you have a lower limit for how fine a resolution is meaningful. this is like a pedant who says that hydrogen has an ill - defined volume because the electron wavefunction has no hard cutoff. technically true, but practically not meaningful. my recommendation is an optical profilometer, which can measure the surface area quite well ( for length scales above 400nm ). this method uses a coherent laser beam and interferometry to map the topography of the material's surface. once you have the topography you can integrate it to get the surface area. advantages of this method include : non - contact, non - destructive, variable surface area resolution to suit your needs, very fast ( seconds to minutes ), doesn't require any consumables besides electricity. disadvantages include : you have to flip over your rock to get all sides and stitch them together to get the total topography, the instruments are too expensive for casual hobbyists ( many thousands of dollars ), no atomic resolution ( but scanning tunneling microscopy is better for that ). the optics for these instruments look like below and it gives a topographic map like below. ( source : psu. edu )


short answer intermittent locomotion can increase the detection of prey by predators ( e. g. rats ), while it may lead to reduced attack rates in prey animals ( e. g., rats and chipmunks ). it may also increase physical endurance. background rather than moving continuously through the environment, many animals interrupt their locomotion with frequent brief pauses. pauses increase the time required to travel a given distance and add costs of acceleration and deceleration to the energetic cost of locomotion. from an adaptation perspective, pausing should provide benefits that outweigh these costs ( adam & kramer, 1998 ). one potential benefit of pausing is increased detection of prey by predators. slower movement speeds likely improve prey detection by providing more time to scan a given visual field. a second plausible benefit is reduced attack rate by predators. many predators are more likely to attack moving prey, perhaps because such prey is more easily detected or recognized. indeed, motionlessness ( ‘ freezing ’ ) is a widespread response by prey that detect a predator. a third benefit may be increased endurance. for animals moving faster than their aerobically sustainable speeds, the maximum distance run can be increased by taking pauses. these pauses allow the clearance of lactate from the muscles through aerobic mechanisms. ps : if you mean with'snappy'not only that small animals move intermittently, but also'fast ', then remi. b's answers nicely covers the story why small critters are quick. basically, it comes down to newton's second law, namely acceleration is inversely proportional to mass ( a = f / m ), but the size of muscle power is not. hence, bigger animals have more mass and need a lot more force to build up to accelerate at the same speed. that build up of force needs time ( ever witnessed the vertical lift - off of a space shuttle? ) hence, small critters accelerate quicker and allow them to move'snappy '. reference - adam & kramer, anim behav ( 1998 ) ; 55 : 109 – 117


i'm going to break up my answer into three parts. profiling, speeding up the python code via c, and speeding up python via python. it is my view that python has some of the best tools for looking at what your code's performance is then drilling down to the actual bottle necks. speeding up code without profiling is about like trying to kill a deer with an uzi. if you are really only interested in mat - vec products, i would recommend scipy. sparse. python tools for profiling profile and cprofile modules : these modules will give you your standard run time analysis and function call stack. it is pretty nice to save their statistics and using the pstats module you can look at the data in a number of ways. kernprof : this tool puts together many routines for doing things like line by line code timing memory _ profiler : this tool produces line by line memory foot print of your code. ipython timers : the timeit function is quite nice for seeing the differences in functions in a quick interactive way. speeding up python cython : cython is the quickest way to take a few functions in python and get faster code. you can decorate the function with the cython variant of python and it generates c code. this is very maintable and can also link to other hand written code in c / c + + / fortran quite easily. it is by far the preferred tool today. ctypes : ctypes will allow you to write your functions in c and then wrap them quickly with its simple decoration of the code. it handles all the pain of casting from pyobjects and managing the gil to call the c function. other approaches exist for writing your code in c but they are all somewhat more for taking a c / c + + library and wrapping it in python. python - only approaches if you want to stay inside python mostly, my advice is to figure out what data you are using and picking correct data types for implementing your algorithms. it has been my experience that you will usually get much farther by optimizing your data structures then any low level c hack. for example : numpy : a contingous array very fast for strided operations of arrays numexpr : a numpy array expression optimizer. it allows for multithreading numpy array expressions and also gets rid of the numerous temporaries numpy makes because of restrictions of the python interpreter. b


##list : a b - tree implementation of a list, very fast for inserting, indexing, and moving the internal nodes of a list pandas : data frames ( or tables ) very fast analytics on the arrays. pytables : fast structured hierarchical tables ( like hdf5 ), especially good for out of core calculations and queries to large data.


suppose that i have a conv layer which outputs an $ ( n, f, h, w ) $ shaped tensor where : $ n $ is the batch size $ f $ is the number of convolutional filters $ h, w $ are the spatial dimensions suppose the input is fed into a conv layer with $ f _ 1 $ 1x1 filters, zero padding and stride 1. then the output of this 1x1 conv layer will have shape $ ( n, f _ 1, h, w ) $. so 1x1 conv filters can be used to change the dimensionality in the filter space. if $ f _ 1 > f $ then we are increasing dimensionality, if $ f _ 1 < f $ we are decreasing dimensionality, in the filter dimension. indeed, in the google inception article going deeper with convolutions, they state ( bold is mine, not by original authors ) : one big problem with the above modules, at least in this naive form, is that even a modest number of 5x5 convolutions can be prohibitively expensive on top of a convolutional layer with a large number of filters. this leads to the second idea of the proposed architecture : judiciously applying dimension reductions and projections wherever the computational requirements would increase too much otherwise. this is based on the success of embeddings : even low dimensional embeddings might contain a lot of information about a relatively large image patch... 1x1 convolutions are used to compute reductions before the expensive 3x3 and 5x5 convolutions. besides being used as reductions, they also include the use of rectified linear activation which makes them dual - purpose. so in the inception architecture, we use the 1x1 convolutional filters to reduce dimensionality in the filter dimension. as i explained above, these 1x1 conv layers can be used in general to change the filter space dimensionality ( either increase or decrease ) and in the inception architecture we see how effective these 1x1 filters can be for dimensionality reduction, explicitly in the filter dimension space, not the spatial dimension space. perhaps there are other interpretations of 1x1 conv filters, but i prefer this explanation, especially in the context of the google inception architecture.


apparently you're not the first person to notice this ; in 1895, a german nose specialist called richard kayser found that we have tissue called erectile tissue in our noses ( yes, it is very similar to the tissue found in a penis ). this tissue swells in one nostril and shrinks in the other, creating an open airway via only one nostril. what's more, he found that this is indeed a'nasal cycle ', changing every 2. 5 hours or so. of course, the other nostril isn't completely blocked, just mostly. if you try, you can feel a very light push of air out of the blocked nostril. this is controlled by the autonomic nervous system. you can change which nostril is closed and which is open by laying on one side to open the opposite one. interestingly, some researchers think that this is the reason we often switch the sides we lay on during sleep rather regularly, as it is more comfortable to sleep on the side with the blocked nostril downwards. as to why we don't breathe through both nostrils simultaneously, i couldn't find anything that explains it. sources : about 85 % of people only breathe out of one nostril at a time nasal cycle


i doubt we know the precise number, or even anywhere near it. but there are several well - supported theorised colonisations which might interest you and help to build up a picture of just how common it was for life to transition to land. we can also use known facts about when different evolutionary lineages diverged, along with knowledge about the earlier colonisations of land, to work some events out for ourselves. i've done it here for broad taxonomic clades at different scales - if interested you could do the same thing again for lower sub - clades. as you rightly point out, there must have been at least one colonisation event for each lineage present on land which diverged from other land - present lineages before the colonisation of land. using the evidence and reasoning i give below, at the very least, the following 9 independent colonisations occurred : bacteria cyanobacteria archaea protists fungi algae plants nematodes arthropods vertebrates bacterial and archaean colonisation the first evidence of life on land seems to originate from 2. 6 ( watanabe et al., 2000 ) to 3. 1 ( battistuzzi et al., 2004 ) billion years ago. since molecular evidence points to bacteria and archaea diverging between 3. 2 - 3. 8 billion years ago ( feng et al., 1997 - a classic paper ), and since both bacteria and archaea are found on land ( e. g. taketani & tsai, 2010 ), they must have colonised land independently. i would suggest there would have been many different bacterial colonisations, too. one at least is certain - cyanobacteria must have colonised independently from some other forms, since they evolved after the first bacterial colonisation ( tomitani et al., 2006 ), and are now found on land, e. g. in lichens. protistan, fungal, algal, plant and animal colonisation protists are a polyphyletic group of simple eukaryotes, and since fungal divergence from them ( wang et al., 1999 - another classic ) predates fungal emergence from the ocean ( taylor & osborn, 1996 ), they must have emerged separately. then, since plants and fungi diverged whilst fungi were still in the ocean ( wang et al., 1999 ), plants must have colonised separately. actually, it has been explicitly discovered in various ways ( e. g. molecular


clock methods, heckman et al., 2001 ) that plants must have left the ocean separately to fungi, but probably relied upon them to be able to do it ( brundrett, 2002 - see note at bottom about this paper ). next, simple animals... arthropods colonised the land independently ( pisani et al, 2004 ), and since nematodes diverged before arthropods ( wang et al., 1999 ), they too must have independently found land. then, lumbering along at the end, came the tetrapods ( long & gordon, 2004 ). note about the brundrett paper : it has over 300 references! that guy must have been hoping for some sort of prize. references battistuzzi fu, feijao a, hedges sb. 2004. a genomic timescale of prokaryote evolution : insights into the origin of methanogenesis, phototrophy, and the colonization of land. bmc evol biol 4 : 44. brundrett mc. 2002. coevolution of roots and mycorrhizas of land plants. new phytologist 154 : 275 – 304. feng d - f, cho g, doolittle rf. 1997. determining divergence times with a protein clock : update and reevaluation. proceedings of the national academy of sciences 94 : 13028 – 13033. heckman ds, geiser dm, eidell br, stauffer rl, kardos nl, hedges sb. 2001. molecular evidence for the early colonization of land by fungi and plants. science 293 : 1129 – 1133. long ja, gordon ms. 2004. the greatest step in vertebrate history : a paleobiological review of the fish ‐ tetrapod transition. physiological and biochemical zoology 77 : 700 – 719. pisani d, poling ll, lyons - weiler m, hedges sb. 2004. the colonization of land by animals : molecular phylogeny and divergence times among arthropods. bmc biol 2 : 1. taketani rg, tsai sm. 2010. the influence of different land uses on the structure of archaeal communities in amazonian anthrosols based on 16s rrna and amoa genes. microb ecol 59 : 734 – 743. taylor tn, osborn jm. 1996. the importance of fungi in shaping the paleoecos


##ystem. review of palaeobotany and palynology 90 : 249 – 262. wang dy, kumar s, hedges sb. 1999. divergence time estimates for the early history of animal phyla and the origin of plants, animals and fungi. proc biol sci 266 : 163 – 171. watanabe y, martini jej, ohmoto h. 2000. geochemical evidence for terrestrial ecosystems 2. 6 billion years ago. nature 408 : 574 – 578.


while you do spend some body energy to keep the book lifted, it's important to differentiate it from physical effort. they are connected but are not the same. physical effort depends not only on how much energy is spent, but also on how energy is spent. holding a book in a stretched arm requires a lot of physical effort, but it doesn't take that much energy. in the ideal case, if you manage to hold your arm perfectly steady, and your muscle cells managed to stay contracted without requiring energy input, there wouldn't be any energy spent at all because there wouldn't be any distance moved. on real scenarios, however, you do spend ( chemical ) energy stored within your body, but where is it spent? it is spent on a cellular level. muscles are made with filaments which can slide relative to one another, these filaments are connected by molecules called myosin, which use up energy to move along the filaments but detach at time intervals to let them slide. when you keep your arm in position, myosins hold the filaments in position, but when one of them detaches other myosins have to make up for the slight relaxation locally. chemical energy stored within your body is released by the cell as both work and heat. * both on the ideal and the real scenarios we are talking about the physical definition of energy. on your consideration, you ignore the movement of muscle cells, so you're considering the ideal case. a careful analysis of the real case leads to the conclusion that work is done and heat is released, even though the arm itself isn't moving. * ultimately, the work done by the cells is actually done on other cells, which eventually dissipates into heat due to friction and non - elasticity. so all the energy you spend is invested in keeping the muscle tension and eventually dissipated as heat.


tetrahedral complexes let's consider, for example, a tetrahedral $ \ ce { ni ( ii ) } $ complex ( $ \ mathrm { d ^ 8 } $ ), like $ \ ce { [ nicl4 ] ^ 2 - } $. according to hybridisation theory, the central nickel ion has $ \ mathrm { sp ^ 3 } $ hybridisation, the four $ \ mathrm { sp ^ 3 } $ - type orbitals are filled by electrons from the chloride ligands, and the $ \ mathrm { 3d } $ orbitals are not involved in bonding. already there are several problems with this interpretation. the most obvious is that the $ \ mathrm { 3d } $ orbitals are very much involved in ( covalent ) bonding : a cursory glance at a mo diagram will show that this is the case. if they were not involved in bonding at all, they should remain degenerate, which is obviously untrue ; and even if you bring in crystal field theory ( cft ) to say that there is an ionic interaction, it is still not sufficient. if accuracy is desired, the complex can only really be described by a full mo diagram. one might ask why we should believe the mo diagram over the hybridisation picture. the answer is that there is a wealth of experimental evidence, especially electronic spectroscopy ( $ \ mathrm { d - d ^ * } $ transitions being the most obvious example ), and magnetic properties, that is in accordance with the mo picture and not the hybridisation one. it is simply impossible to explain many of these phenomena using this $ \ mathrm { sp ^ 3 } $ model. lastly, hybridisation alone cannot explain whether a complex should be tetrahedral ( $ \ ce { [ nicl4 ] ^ 2 - } $ ) or square planar ( $ \ ce { [ ni ( cn ) 4 ] ^ 2 - } $, or $ \ ce { [ ptcl4 ] ^ 2 - } $ ). generally the effect of the ligand, for example, is explained using the spectrochemical series. however, hybridisation cannot account for the position of ligands in the spectrochemical series! to do so you would need to bring in mo theory. octahedral complexes moving on to $ \ ce { ni ( ii ) } $ octahedral complexes, like $ \ ce { [ ni ( h2o ) 6 ] ^ 2 + } $, the typical explanation is that there


is $ \ mathrm { sp ^ 3d ^ 2 } $ hybridisation. but all the $ \ mathrm { 3d } $ orbitals are already populated, so where do the two $ \ mathrm { d } $ orbitals come from? the $ \ mathrm { 4d } $ set, i suppose. the points raised above for tetrahedral case above still apply here. however, here we have something even more criminal : the involvement of $ \ mathrm { 4d } $ orbitals in bonding. this is simply not plausible, as these orbitals are energetically inaccessible. on top of that, it is unrealistic to expect that electrons will be donated into the $ \ mathrm { 4d } $ orbitals when there are vacant holes in the $ \ mathrm { 3d } $ orbitals. for octahedral complexes where there is the possibility for high - and low - spin forms ( e. g., $ \ mathrm { d ^ 5 } $ $ \ ce { fe ^ 3 + } $ complexes ), hybridisation theory becomes even more misleading : hybridisation theory implies that there is a fundamental difference in the orbitals involved in metal - ligand bonding for the high - and low - spin complexes. however, this is simply not true ( again, an mo diagram will illustrate this point ). and the notion of $ \ mathrm { 4d } $ orbitals being involved in bonding is no more realistic than it was in the last case, which is to say, utterly unrealistic. in this situation, one also has the added issue that hybridisation theory provides no way of predicting whether a complex is high - or low - spin, as this again depends on the spectrochemical series. summary hybridisation theory, when applied to transition metals, is both incorrect and inadequate. it is incorrect in the sense that it uses completely implausible ideas ( $ \ mathrm { 3d } $ metals using $ \ mathrm { 4d } $ orbitals in bonding ) as a basis for describing the metal complexes. that alone should cast doubt on the entire idea of using hybridisation for the $ \ mathrm { 3d } $ transition metals. however, it is also inadequate in that it does not explain the rich chemistry of the transition metals and their complexes, be it their geometries, spectra, reactivities, or magnetic properties. this prevents it from being useful even as a predictive model. what about other chemical species? you mentioned that hybridisation


works well for " other compounds. " that is really not always the case, though. for simple compounds like water, etc. there are already issues associated with the standard vsepr / hybridisation theory. superficially, the $ \ mathrm { sp ^ 3 } $ hybridisation of oxygen is consistent with the observed bent structure, but that's just about all that can be explained. the photoelectron spectrum of water shows very clearly that the two lone pairs on oxygen are inequivalent, and the mo diagram of water backs this up. apart from that, hybridisation has absolutely no way of explaining the structures of boranes ; wade's rules do a much better job with the delocalised bonding. and these are just period 2 elements - when you go into the chemistry of the heavier elements, hybridisation generally becomes less and less useful a concept. for example, hypervalency is a huge problem : $ \ ce { sf6 } $ is claimed to be $ \ mathrm { sp ^ 3d ^ 2 } $ hybridised, but in fact $ \ mathrm { d } $ - orbital involvement in bonding is negligible. on the other hand, non - hypervalent compounds, such as $ \ ce { h2s } $, are probably best described as unhybridised - what happened to the theory that worked so well for $ \ ce { h2o } $? it just isn't applicable here, for reasons beyond the scope of this post. there is probably one scenario in which it is really useful, and that is when describing organic compounds. the reason for this is because tetravalent carbon tends to conform to the simple categories of $ \ mathrm { sp } ^ n $ $ ( n \ in \ { 1, 2, 3 \ } ) $ ; we don't have the same teething issues with $ \ mathrm { d } $ - orbitals that have been discussed above. but there are caveats. for example, it is important to recognise that it is not atoms that are hybridised, but rather orbitals : for example, each carbon in cyclopropane uses $ \ mathrm { sp ^ 5 } $ orbitals for the $ \ ce { c - c } $ bonds and $ \ mathrm { sp ^ 2 } $ orbitals for the $ \ ce { c - h } $ bonds. the bottom line is that every model that we use in chemistry has a range of validity,


and we should be careful not to use a model in a context where it is not valid. hybridisation theory is not valid in the context of transition metal complexes, and should not be used as a means of explaining their structure, bonding, and properties.


the " roiling boil " is a mechanism for moving heat from the bottom of the pot to the top. you see it on the stovetop because most of the heat generally enters the liquid from a superheated surface below the pot. but in a convection oven, whether the heat enters from above, from below, or from both equally depends on how much material you are cooking and the thermal conductivity of its container. i had an argument about this fifteen years ago which i settled with a great kitchen experiment. i put equal amounts of water in a black cast - iron skillet and a glass baking dish with similar horizontal areas, and put them in the same oven. ( glass is a pretty good thermal insulator ; the relative thermal conductivities and heat capacities of aluminum, stainless steel, and cast iron surprise me whenever i look them up. ) after some time, the water in the iron skillet was boiling like gangbusters, but the water in the glass was totally still. a slight tilt of the glass dish, so that the water touched a dry surface, was met with a vigorous sizzle : the water was keeping the glass temperature below the boiling point where there was contact, but couldn't do the same for the iron. when i pulled the two pans out of the oven, the glass pan was missing about half as much water as the iron skillet. i interpreted this to mean that boiling had taken place from the top surface only of the glass pan, but from both the top and bottom surfaces of the iron skillet. note that it is totally possible to get a bubbling boil from an insulating glass dish in a hot oven ; the bubbles are how you know when the lasagna is ready. ( a commenter reminds me that i used the " broiler " element at the top of the oven rather than the " baking " element at the bottom of the oven, to increase the degree to which the heat came " from above. " that's probably why i chose black cast iron, was to capture more of the radiant heat. )


the answers are no and no. being dimensionless or having the same dimension is a necessary condition for quantities to be " compatible ", it is not a sufficient one. what one is trying to avoid is called category error. there is analogous situation in computer programming : one wishes to avoid putting values of some data type into places reserved for a different data type. but while having the same dimension is certainly required for values to belong to the same " data type ", there is no reason why they can not be demarcated by many other categories in addition to that. newton meter is a unit of both torque and energy, and joules per kelvin of both entropy and heat capacity, but adding them is typically problematic. the same goes for adding proverbial apples and oranges measured in " dimensionless units " of counting numbers. actually, the last example shows that the demarcation of categories depends on a context, if one only cares about apples and oranges as objects it might be ok to add them. dimension is so prominent in physics because it is rarely meaningful to mix quantities of different dimensions, and there is a nice calculus ( dimensional analysis ) for keeping track of it. but it also makes sense to introduce additional categories to demarcate values of quantities like torque and energy, even if there may not be as nice a calculus for them. as your own examples show it also makes sense to treat radians differently depending on context : take their category ( " dimension " ) viz. steradians or counting numbers into account when deciding about addition, but disregard it when it comes to substitution into transcendental functions. hertz is typically used to measure wave frequency, but because cycles and radians are officially dimensionless it shares dimension with the unit of angular velocity, radian per second, radians also make the only difference between amperes for electric current and ampere - turns for magnetomotive force. similarly, dimensionless steradians are the only difference between lumen and candela, while luminous intensity and flux are often distinguished. so in those contexts it might also make sense to treat radians and steradians as " dimensional ". in fact, radians and steradians were in a class of their own as " supplementary units " of si until 1995. that year the international bureau on weights and measures ( bipm ) decided that " ambiguous status of the supplementary units compromises the internal coherence of the si ", and reclassified them as " dimensionless derived units,


the names and symbols of which may, but need not, be used in expressions for other si derived units, as is convenient ", thus eliminating the class of supplementary units. the desire to maintain a general rule that arguments of transcendental functions must be dimensionless might have played a role, but this shows that dimensional status is to a degree decided by convention rather than by fact. in the same vein, ampere was introduced as a new base unit into mks system only in 1901, and incorporated into si even later. as the name suggests, mks originally made do with just meters, kilograms, and seconds as base units, this required fractional powers of meters and kilograms in the derived units of electric current however. as @ dmckee pointed out energy and torque can be distinguished as scalars and pseudo - scalars, meaning that under the orientation reversing transformations like reflections, the former keep their value while the latter switch sign. this brings up another categorization of quantities that plays a big role in physics, by transformation rules under coordinate changes. among vectors there are " true " vectors ( like velocity ), covectors ( like momentum ), and pseudo - vectors ( like angular momentum ), in fact all tensor quantities are categorized by representations of orthogonal ( in relativity lorentz ) group. this also comes with a nice calculus describing how tensor types combine under various operations ( dot product, tensor product, wedge product, contractions, etc. ). one reason for rewriting maxwell's electrodynamics in terms of differential forms is to keep track of them. this becomes important when say the background metric is not euclidean, because the identification of vectors and covectors depends on it. different tensor types tend to have different dimensions anyway, but there are exceptions and the categorizations are clearly independent. but even tensor type may not be enough. before joule's measurements of the mechanical equivalent of heat in 1840s the quantity of heat ( measured in calories ) and mechanical energy ( measured in derived units ) had two different dimensions. but even today one may wish to keep them in separate categories when studying a system where mechanical and thermal energy are approximately separately conserved, the same applies to einstein's mass energy. this means that categorical boundaries are not set in stone, they may be erected or taken down both for practical expediency or due to a physical discovery. many historical peculiarities in the choice and development of units and unit systems are described in klein's book the science of measurement.


to the best of my knowledge, most physicists don't believe that antimatter is actually matter moving backwards in time. it's not even entirely clear what would it really mean to move backwards in time, from the popular viewpoint. if i'm remembering correctly, this idea all comes from a story that probably originated with richard feynman. at the time, one of the big puzzles of physics was why all instances of a particular elementary particle ( all electrons, for example ) are apparently identical. feynman had a very hand - wavy idea that all electrons could in fact be the same electron, just bouncing back and forth between the beginning of time and the end. as far as i know, that idea never developed into anything mathematically grounded, but it did inspire feynman and others to calculate what the properties of an electron moving backwards in time would be, in a certain precise sense that emerges from quantum field theory. what they came up with was a particle that matched the known properties of the positron. just to give you a rough idea of what it means for a particle to " move backwards in time " in the technical sense : in quantum field theory, particles carry with them amounts of various conserved quantities as they move. these quantities may include energy, momentum, electric charge, " flavor, " and others. as the particles move, these conserved quantities produce " currents, " which have a direction based on the motion and sign of the conserved quantity. if you apply the time reversal operator ( which is a purely mathematical concept, not something that actually reverses time ), you reverse the direction of the current flow, which is equivalent to reversing the sign of the conserved quantity, thus ( roughly speaking ) turning the particle into its antiparticle. for example, consider electric current : it arises from the movement of electric charge, and the direction of the current is a product of the direction of motion of the charge and the sign of the charge. $ $ \ vec { i } = q \ vec { v } $ $ positive charge moving left ( $ + q \ times - v $ ) is equivalent to negative charge moving right ( $ - q \ times + v $ ). if you have a current of electrons moving to the right, and you apply the time reversal operator, it converts the rightward velocity to leftward velocity ( $ - q \ times - v $ ). but you would get the exact same result by instead converting the electrons into positrons and letting them


continue to move to the right ( $ + q \ times + v $ ) ; either way, you wind up with the net positive charge flow moving to the right. by the way, optional reading if you're interested : there is a very basic ( though hard to prove ) theorem in quantum field theory, the tcp theorem, that says that if you apply the three operations of time reversal, charge conjugation ( switch particles and antiparticles ), and parity inversion ( mirroring space ), the result should be exactly equivalent to what you started with. we know from experimental data that, under certain exotic circumstances, the combination of charge conjugation and parity inversion does not leave all physical processes unchanged, which means that the same must be true of time reversal : physics is not time - reversal invariant. of course, since we can't actually reverse time, we can't test in exactly what manner this is true.


what type of solder is safest for home ( hobbyist ) use? this advice is liable to be met with doubt and even derision by some - by all means do your own checks, but please at least think about what i write here : i have cited a number of references below which give guidelines for soldering. these are as applicable for lead - free solders as for lead based solders. if you decide after reading the following not to trust lead based solders, despite my advice, then the guidelines will still prove useful. it is widely know that the improper handling of metallic lead can cause health problems. however, it is widely understood currently and historically that use of tin - lead solder in normal actual soldering applications has essentially no negative health impact. handling of the lead based solder, as opposed to the actual soldering, needs to be done sensibly but this is easily achieved with basic common sense procedures. while some electrical workers do have mildly increased epidemiological incidences of some diseases, these appear to be related to electric field exposure - and even then the correlations are so small as to generally be statistically insignificant. lead metal has a very low vapor pressure and when exposed at room temperatures essentially none is inhaled. at soldering temperatures vapor levels are still essentially zero. tin lead solder is essentially safe if used anything like sensibly. while some people express doubts about its use in any manner, these are not generally well founded in formal medical evidence or experience. while it is possible to poison yourself with tin - lead solder, taking even very modest and sensible precautions renders the practice safe for the user and for others in their household. while you would not want to allow children to suck it, anything like reasonable precautions are going to result in its use not being an issue. a significant proportion of lead which is " ingested " ( taken orally or eaten ) will be absorbed by the body. but you will acquire essentially no ingested lead from soldering if you don't eat it, don't suck solder and wash your hands after soldering. smoking while soldering is liable to be even unwiser than usual. it is widely accepted that inhaled lead from soldering is not at a dangerous level. the majority of inhaled lead is absorbed by the body. but the vapor pressure of lead at soldering temperatures is so low that there is essentially no lead vapor in the air while soldering. sticking a soldering iron up your nose ( hot or cold ) is


liable to damage your health but not due to the effects of lead. the vapor pressure of lead at 330 °c ( very hot for solder ) / 600 kelvin is about 10⁻⁸ mm of mercury. lead = " pb " crosses x - axis at 600k on lower graph here. these are interesting and useful graphs of the vapor pressure with temperatures of many elements. ( by comparison, zinc has about 1, 000, 000 times as high a vapor pressure at the same temperature, and cadmium ( which should definitely be avoided ) 10, 000, 000 times as high. atmospheric pressure is ~ 760 mm of hg so lead vapor pressure at a very hot iron temperature is about 1 part in 10¹¹ or one part per 100 billion. the major problems with lead are caused either by its release into the environment where it can be converted to more soluble forms and introduced into the food chain, or by its use in forms which are already soluble or which are liable to be ingested. so, lead paint on toys or nursery furniture, lead paint on houses which gets turned into sanding dust or paint flakes, lead as an additive in petrol which gets disseminated in gaseous and soluble forms or lead which ends up in land fills are all forms which cause real problems and which have led to bans on lead in many situations. lead in solder is bad for the environment because of where it is liable to end up when it is disposed of. this general prohibition has lead to a large degree of misunderstanding about its use " at the front end ". if you insist on regularly vaporising lead in close proximity to your person by e. g. firing a handgun frequently, then you should take precautions re vapor inhalation. otherwise, common sense is very likely to be good enough. washing your hands after soldering is a wise precaution but more likely to be useful for removal of trace solid lead particles. use of a fume extractor & filter is wise - but i'd be far more worried about the resin or flux smoke than of lead vapor. sean breheney notes : " there is a significant danger associated with inhaling the fumes of certain fluxes ( including rosin ) and therefore fume extraction or excellent ventilation is, in my opinion, essential for anyone doing soldering more often than, say, 1 hour per week. i generally have trained myself to inhale when the fumes are not being generated and exhale slowly while actually soldering - but that is only adequate for very


small jobs and i try to remember to use a fume extractor for larger ones. ( added july 2021 ) note that there are many documents on the web which state that lead solder is hazardous. few or none try to explain why this is said to be the case. soldering precautions sheet. they note : potential exposure routes from soldering include ingestion of lead due to surface contamination. the digestive system is the primary means by which lead can be absorbed into the human body. skin contact with lead is, in and of itself, harmless, but getting lead dust on your hands can result in it being ingested if you don ’ t wash your hands before eating, smoking, etc. an often overlooked danger is the habit of chewing fingernails. the spaces under the fingernails are great collectors of dirt and dust. almost everything that is handled or touched may be found under the finger nails. ingesting even a small amount of lead is dangerous because it is a cumulative poison which is not excreted by normal bodily function. lead soldering safety guidelines standard advice their comments on lead fumes are rubbish. fwiw - the vapor pressure of lead is given by $ $ \ log _ { 10 } p ( mm ) = - \ frac { 10372 } { t } - \ log _ { 10 } t - 11. 35 $ $ quoted from the vapor pressures of metals ; a new experimental method wikipedia - vapor pressure for more on soldering in general see better soldering lead spatter and inhalation & ingestion it's been suggested that the statement : " the majority of inhaled lead is absorbed by the body. but the vapor pressure of lead at soldering temperatures is so low that there is essentially no lead vapor in the air while soldering. " is not relevant, as it's suggested that vapor pressure isn't important if the lead is being atomized into droplets that you can then inhale. look around the soldering iron and there's lead dust everywhere. in response : " inhalation " there referred to lead rendered gaseous - usually by chemical combination. eg the use of tetraethyl lead in petrol resulted in gaseous lead compounds not direcly from the tel itself but from wikipedia tetraethyllead page : the pb and pbo would quickly over - accumulate and destroy an engine. for this reason, the lead scavengers 1, 2 - dibromoethane and 1, 2 - dichloroethan


##e are used in conjunction with tel — these agents form volatile lead ( ii ) bromide and lead ( ii ) chloride, respectively, which are flushed from the engine and into the air. in engines this process occurs at far higher temperatures than exist in soldering and there is no intentional process which produces volatile lead compounds. ( the exceedingly unfortunate may discover a flux which contains substances like the above lead scavenging halides, but by the very nature of flux this seems vanishingly unlikely in the real world. ). lead in metallic droplets at soldering temperatures does not come close to being melted or vaporised at anything like significant partial pressures ( see comments and references above ) and if any enters the body it counts as'ingested ', not inhaled. basic precautions against ingestion are widely recommended, as mentioned above. washing of hands, not smoking while soldering and not licking lead has been noted as sensible. for lead " spatter " to qualify for direct ingestion it would need to ballistically enter the mouth or nose while soldering. it's conceivable that some may do this but if any does the quantity is very small. it's generally recognised both historically and currently that the actual soldering process is not what's hazardous. a significant number of webpages do state that lead from solder is vaporized by soldering and that dangerous quantities of lead can be inhaled. on every such page i have looked at there are no references to anything like reputable sources and in almost every such case there are no references at all. the general rohs prohibitions and the undoubted dangers that lead poses in appropriate circumstances has lead to a cachet of urban legend and spurious comments without any traceable foundations. and again... it was suggested that : anyone who's sneezed in a dusty room knows that it doesn't have to enter the nose or mouth " ballistically ". any time solder splatters or flux pops, it creates tiny droplets of lead that solidify to dust. small enough particles of dust can be airborne and small exposures over years accumulate in the body. " lead dust can form when lead - based paint is dry scraped, dry sanded, or heated. lead chips and dust can get on surfaces and objects that people touch. settled lead dust can re - enter the air when people vacuum, sweep or walk through it. " in response : a quality reference, or a few, that indicated that air borne dust can be produced


in significant quantity by soldering would go a long way to establishing the assertions. finding negative evidence is, as ever, harder. there is no question about the dangers from lead based paints, whether form airborne dust from sanding, children sucking lead painted objects or surface dust produced - all these are extremely well documented. lead in a metallic alloy for soldering is an entirely different animal. i have many decades of personal soldering experience experience and a reasonable awareness of industry experience. dusty rooms we all know about, but that has no link to whether solder does or doesn't produce lead dust. soldering can produce small lead particles, but these appear to be metallic alloyed lead. " lead " dust from paint is liable to contain lead oxide or occasionally other lead based substances. such dust may indeed be subject to aerial transmission if finely enough divided, but this provides no information about how metallic lead performs in dust production. i am unaware of discernible " lead dust " occurring from'popping flux ', and i'm unaware of any mechanism that would allow mechanically small lead droplets to achieve a low enough density to float in air in the normal sense. brownian motion could loft metallic lead particles of a small enough size. i've not seen any evidence ( or found any references ), that suggest that small enough particles are formed in measurable quantities. interestingly - this answer had 2 downvotes - now it has one. somebody changed their mind. thanks. somebody didn't. maybe they'd like to tell me why? the aim is to be balanced and objective and as factual as possible. if it falls short please advise. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ added 2020 : sucking solder? i remember biting solder when i was a kid and for about 2 years i wouldn't wash my hands after soldering. will the effects show up in the future?? i can only give you a layman's opinion. i'm not qualified to give medical advice. i'd guess it's probably ok but i don't know. i suspect that the effects are limited due to insolubility of lead - but lead poisoning from finely divided lead such as in paint is a significant poisoning path. you can be tested for


lead in the blood very easily ( it requires one drop of blood ) and it's probably worth doing. internet diagnosis is, as i'm sure you know, a very poor substitute for proper medical advice. that said here is mayo clinic's page on lead poisoning symptoms & causes. and here is their page on diagnosis and treatment. mayo clinic is one of the better sources for medical advice but, even then, it certainly does not replace proper medical advice.


a quick search on web of science yields " polyphasic wake / sleep episodes in the fire ant, solenopsis invicta " ( cassill et al., 2009, @ mike taylor found an accessable copy here ) as one of the first hits. the main points from the abstract : yes, ants sleep. indicators of deep sleep : ants are non - responsive to contact by other ants and antennae are folded rapid antennal movement ( ram sleep ) queens have about 92 sleep episodes per day, each 6 minutes long. queens synchronize their wake / sleep cycles. workers have about 253 sleep episodes per day, each 1. 1 minutes long. " activity episodes were unaffected by light / dark periods. " if you study the paper you might find more information in its introduction or in the references regarding why ants sleep, although there doesn't seem to be scientific consens. the abstract only says that the shorter total sleeping time of the workers is likely related to them being disposable.


okay, this is not so much of an answer as it is a summary of my own progress on this topic after giving it some thought. i don't think it's a settled debate in the community yet, so i don't feel so much ashamed about it : ) a few of the things worthy of note are : the bond energy found by the authors for this fourth bond is $ \ pu { 13. 2 kcal / mol } $, i. e. about $ \ pu { 55 kj / mol } $. this is very weak for a covalent bond. you can compare it to other values here, or to the energies of the first three bonds in triple - bonded carbon, which are respectively $ 348, 266 $, and $ \ pu { 225 kj / mol } $. this fourth bond is actually even weaker than the strongest of hydrogen bonds ( $ \ ce { f \ bond {... } h – f } $, at $ \ pu { 160 kj / mol } $ ). another point of view on this article could thus be : “ valence bond necessarily predicts a quadruple bond, and it was now precisely calculated and found to be quite weak. ” the findings of this article are consistent with earlier calculations using other quantum chemistry methods ( e. g. the dft calculations in ref. 48 of the nature chemistry paper ) which have found a bond order between 3 and 4 for molecular dicarbon. however, the existence of this quadruple bonds is somewhat at odds with the cohesive energy of gas - phase dicarbon, which according to wikipedia is $ \ pu { 6. 32 ev } $, i. e. $ \ pu { 609 kj / mol } $. this latter value is much more in line with typical double bonds, reported at an average of $ \ pu { 614 kj / mol } $. this is still a bit of a misery to me …


it has to be so common a question that the answer is actually given in various places on dupont's own website ( dupont are the makers of teflon ) : “ if nothing sticks to teflon®, then how does teflon® stick to a pan? " nonstick coatings are applied in layers, just like paint. the first layer is the primer — and it's the special chemistry in the primer that makes it adhere to the metal surface of a pan. and from this other webpage of theirs : the primer ( or primers, if you include the “ mid coat ” in the picture above ) adheres to the roughened surface, often obtained by sandblasting, very strongly : it's chemisorption, and the primer chemical nature is chosen as to obtain strong bonding to both the metal surface. then, the ptfe chain extremities create bonds with the primer. and thus, it stays put.


edit : this is now in sympy $ isympy in [ 1 ] : a = matrixsymbol ('a ', n, n ) in [ 2 ] : b = matrixsymbol ('b ', n, n ) in [ 3 ] : context = q. symmetric ( a ) & q. positive _ definite ( a ) & q. orthogonal ( b ) in [ 4 ] : ask ( q. symmetric ( b * a * b. t ) & q. positive _ definite ( b * a * b. t ), context ) out [ 4 ] : true older answer that shows other work so after looking into this for a while this is what i've found. the current answer to my specific question is " no, there is no current system that can answer this question. " there are however a few things that seem to come close. first, matt knepley and lagerbaer both pointed to work by diego fabregat and paolo bientinesi. this work shows both the potential importance and the feasibility of this problem. it's a good read. unfortunately i'm not certain exactly how his system works or what it is capable of ( if anyone knows of other public material on this topic do let me know ). second, there is a tensor algebra library written for mathematica called xact which handles symmetries and such symbolically. it does some things very well but is not tailored to the special case of linear algebra. third, these rules are written down formally in a couple of libraries for coq, an automated theorem proving assistant ( google search for coq linear / matrix algebra to find a few ). this is a powerful system which unfortunately seems to require human interaction. after talking with some theorem prover people they suggest looking into logic programming ( i. e. prolog, which lagerbaer also suggested ) for this sort of thing. to my knowledge this hasn't yet been done - i may play with it in the future. update : i've implemented this using the maude system. my code is hosted on github


first, a note : while oxygen has fewer allotropes than sulfur, it sure has more than two! these include $ \ ce { o } $, $ \ ce { o _ 2 } $, $ \ ce { o _ 3 } $, $ \ ce { o _ 4 } $, $ \ ce { o _ 8 } $, metallic $ \ ce { o } $ and four other solid phases. many of these actually have a corresponding sulfur variant. however, you are right in a sense that sulfur has more tendency to catenate … let's try to see why! here are the values of the single and double bond enthalpies : $ $ \ begin { array } { ccc } \ hline \ text { bond } & \ text { dissociation energy / } \ mathrm { kj ~ mol ^ { - 1 } } \ \ \ hline \ ce { o - o } & 142 \ \ \ ce { s – s } & 268 \ \ \ ce { o = o } & 499 \ \ \ ce { s = s } & 352 \ \ \ hline \ end { array } $ $ this means that $ \ ce { o = o } $ is stronger than $ \ ce { s = s } $, while $ \ ce { o – o } $ is weaker than $ \ ce { s – s } $. so, in sulfur, single bonds are favoured and catenation is easier than in oxygen compounds. it seems that the reason for the weaker $ \ ce { s = s } $ double bonds has its roots in the size of the atom : it's harder for the two atoms to come at a small enough distance, so that the $ \ mathrm { 3p } $ orbitals overlap is small and the $ \ pi $ bond is weak. this is attested by looking down the periodic table : $ \ ce { se = se } $ has an even weaker bond enthalpy of $ \ ce { 272 kj / mol } $. there is more in - depth discussion of the relative bond strengths in this question. while not particularly stable, it's actually also possible for oxygen to form discrete molecules with the general formula $ \ ce { h - o _ n - h } $ ; water and hydrogen peroxide are the first two members of this class, but $ n $ goes up to at least $ 5 $. these " hydrogen polyoxides " are described further in this


question.


pick your poison. i recommend using homebrew. i have tried all of these methods except for " fink " and " other methods ". originally, i preferred macports when i wrote this answer. in the two years since, homebrew has grown a lot as a project and has proved more maintainable than macports, which can require a lot of path hacking. installing a version that matches system compilers if you want the version of gfortran to match the versions of gcc, g + +, etc. installed on your machine, download the appropriate version of gfortran from here. the r developers and scipy developers recommend this method. advantages : matches versions of compilers installed with xcode or with kenneth reitz's installer ; unlikely to interfere with os upgrades ; coexists nicely with macports ( and probably fink and homebrew ) because it installs to / usr / bin. doesn't clobber existing compilers. don't need to edit path. disadvantages : compiler stack will be really old. ( gcc 4. 2. 1 is the latest apple compiler ; it was released in 2007. ) installs to / usr / bin. installing a precompiled, up - to - date binary from hpc mac os x hpc mac os x has binaries for the latest release of gcc ( at the time of this writing, 4. 8. 0 ( experimental ) ), as well as g77 binaries, and an f2c - based compiler. the petsc developers recommend this method on their faq. advantages : with the right command, installs in / usr / local ; up - to - date. doesn't clobber existing system compilers, or the approach above. won't interfere with os upgrades. disadvantages : need to edit path. no easy way to switch between versions. ( you could modify the path, delete the compiler install, or kludge around it. ) will clobber other methods of installing compilers in / usr / local because compiler binaries are simply named'gcc ','g + + ', etc. ( without a version number, and without any symlinks ). use macports macports has a number of versions of compilers available for use. advantages : installs in / opt / local ; port select can be used to switch among compiler versions ( including system compilers ). won't


interfere with os upgrades. disadvantages : installing ports tends to require an entire " software ecosystem ". compilers don't include debugging symbols, which can pose a problem when using a debugger, or installing petsc. ( sean farley proposes some workarounds. ) also requires changing path. could interfere with homebrew and fink installs. ( see this post on superuser. ) use homebrew homebrew can also be used to install a fortran compiler. advantages : easy to use package manager ; installs the same fortran compiler as in " installing a version that matches system compilers ". only install what you need ( in contrast to macports ). could install a newer gcc ( 4. 7. 0 ) stack using the alternate repository homebrew - dupes. disadvantages : inherits all the disadvantages from " installing a version that matches system compilers ". may need to follow the homebrew paradigm when installing other ( non - homebrew ) software to / usr / local to avoid messing anything up. could interfere with macports and fink installs. ( see this post on superuser. ) need to change path. installs could depend on system libraries, meaning that dependencies for homebrew packages could break on an os upgrade. ( see this article. ) i wouldn't expect there to be system library dependencies when installing gfortran, but there could be such dependencies when installing other homebrew packages. use fink in theory, you can use fink to install gfortran. i haven't used it, and i don't know anyone who has ( and was willing to say something positive ). other methods other binaries and links are listed on the gfortran wiki. some of the links are already listed above. the remaining installation methods may or may not conflict with those described above ; use at your own risk.


i apologize in advance for the length of this post : it is with some trepidation that i let it out in public at all, because it takes some time and attention to read through and undoubtedly has typographic errors and expository lapses. but here it is for those who are interested in the fascinating topic, offered in the hope that it will encourage you to identify one or more of the many parts of the clt for further elaboration in responses of your own. most attempts at " explaining " the clt are illustrations or just restatements that assert it is true. a really penetrating, correct explanation would have to explain an awful lot of things. before looking at this further, let's be clear about what the clt says. as you all know, there are versions that vary in their generality. the common context is a sequence of random variables, which are certain kinds of functions on a common probability space. for intuitive explanations that hold up rigorously i find it helpful to think of a probability space as a box with distinguishable objects. it doesn't matter what those objects are but i will call them " tickets. " we make one " observation " of a box by thoroughly mixing up the tickets and drawing one out ; that ticket constitutes the observation. after recording it for later analysis we return the ticket to the box so that its contents remain unchanged. a " random variable " basically is a number written on each ticket. in 1733, abraham de moivre considered the case of a single box where the numbers on the tickets are only zeros and ones ( " bernoulli trials " ), with some of each number present. he imagined making $ n $ physically independent observations, yielding a sequence of values $ x _ 1, x _ 2, \ ldots, x _ n $, all of which are zero or one. the sum of those values, $ y _ n = x _ 1 + x _ 2 + \ ldots + x _ n $, is random because the terms in the sum are. therefore, if we could repeat this procedure many times, various sums ( whole numbers ranging from $ 0 $ through $ n $ ) would appear with various frequencies - - proportions of the total. ( see the histograms below. ) now one would expect - - and it's true - - that for very large values of $ n $, all the frequencies would be quite small. if we were to be so bold ( or foolish ) as to attempt to "


take a limit " or " let $ n $ go to $ \ infty $ ", we would conclude correctly that all frequencies reduce to $ 0 $. but if we simply draw a histogram of the frequencies, without paying any attention to how its axes are labeled, we see that the histograms for large $ n $ all begin to look the same : in some sense, these histograms approach a limit even though the frequencies themselves all go to zero. these histograms depict the results of repeating the procedure of obtaining $ y _ n $ many times. $ n $ is the " number of trials " in the titles. the insight here is to draw the histogram first and label its axes later. with large $ n $ the histogram covers a large range of values centered around $ n / 2 $ ( on the horizontal axis ) and a vanishingly small interval of values ( on the vertical axis ), because the individual frequencies grow quite small. fitting this curve into the plotting region has therefore required both a shifting and rescaling of the histogram. the mathematical description of this is that for each $ n $ we can choose some central value $ m _ n $ ( not necessarily unique! ) to position the histogram and some scale value $ s _ n $ ( not necessarily unique! ) to make it fit within the axes. this can be done mathematically by changing $ y _ n $ to $ z _ n = ( y _ n - m _ n ) / s _ n $. remember that a histogram represents frequencies by areas between it and the horizontal axis. the eventual stability of these histograms for large values of $ n $ should therefore be stated in terms of area. so, pick any interval of values you like, say from $ a $ to $ b \ gt a $ and, as $ n $ increases, track the area of the part of the histogram of $ z _ n $ that horizontally spans the interval $ ( a, b ] $. the clt asserts several things : no matter what $ a $ and $ b $ are, if we choose the sequences $ m _ n $ and $ s _ n $ appropriately ( in a way that does not depend on $ a $ or $ b $ at all ), this area indeed approaches a limit as $ n $ gets large. the sequences $ m _ n $ and $ s _ n $ can be chosen in a way that depends only on


$ n $, the average of values in the box, and some measure of spread of those values - - but on nothing else - - so that regardless of what is in the box, the limit is always the same. ( this universality property is amazing. ) specifically, that limiting area is the area under the curve $ y = \ exp ( - z ^ 2 / 2 ) / \ sqrt { 2 \ pi } $ between $ a $ and $ b $ : this is the formula of that universal limiting histogram. the first generalization of the clt adds, when the box can contain numbers in addition to zeros and ones, exactly the same conclusions hold ( provided that the proportions of extremely large or small numbers in the box are not " too great, " a criterion that has a precise and simple quantitative statement ). the next generalization, and perhaps the most amazing one, replaces this single box of tickets with an ordered indefinitely long array of boxes with tickets. each box can have different numbers on its tickets in different proportions. the observation $ x _ 1 $ is made by drawing a ticket from the first box, $ x _ 2 $ comes from the second box, and so on. exactly the same conclusions hold provided the contents of the boxes are " not too different " ( there are several precise, but different, quantitative characterizations of what " not too different " has to mean ; they allow an astonishing amount of latitude ). these five assertions, at a minimum, need explaining. there's more. several intriguing aspects of the setup are implicit in all the statements. for example, what is special about the sum? why don't we have central limit theorems for other mathematical combinations of numbers such as their product or their maximum? ( it turns out we do, but they are not quite so general nor do they always have such a clean, simple conclusion unless they can be reduced to the clt. ) the sequences of $ m _ n $ and $ s _ n $ are not unique but they're almost unique in the sense that eventually they have to approximate the expectation of the sum of $ n $ tickets and the standard deviation of the sum, respectively ( which, in the first two statements of the clt, equals $ \ sqrt { n } $ times the standard deviation of the box ). the standard deviation is one measure of the spread of values, but it is by no means the only one nor is it the most " natural, " either historically or for


many applications. ( many people would choose something like a median absolute deviation from the median, for instance. ) why does the sd appear in such an essential way? consider the formula for the limiting histogram : who would have expected it to take such a form? it says the logarithm of the probability density is a quadratic function. why? is there some intuitive or clear, compelling explanation for this? i confess i am unable to reach the ultimate goal of supplying answers that are simple enough to meet srikant's challenging criteria for intuitiveness and simplicity, but i have sketched this background in the hope that others might be inspired to fill in some of the many gaps. i think a good demonstration will ultimately have to rely on an elementary analysis of how values between $ \ alpha _ n = a s _ n + m _ n $ and $ \ beta _ n = b s _ n + m _ n $ can arise in forming the sum $ x _ 1 + x _ 2 + \ ldots + x _ n $. going back to the single - box version of the clt, the case of a symmetric distribution is simpler to handle : its median equals its mean, so there's a 50 % chance that $ x _ i $ will be less than the box's mean and a 50 % chance that $ x _ i $ will be greater than its mean. moreover, when $ n $ is sufficiently large, the positive deviations from the mean ought to compensate for the negative deviations in the mean. ( this requires some careful justification, not just hand waving. ) thus we ought primarily to be concerned about counting the numbers of positive and negative deviations and only have a secondary concern about their sizes. ( of all the things i have written here, this might be the most useful at providing some intuition about why the clt works. indeed, the technical assumptions needed to make the generalizations of the clt true essentially are various ways of ruling out the possibility that rare huge deviations will upset the balance enough to prevent the limiting histogram from arising. ) this shows, to some degree anyway, why the first generalization of the clt does not really uncover anything that was not in de moivre's original bernoulli trial version. at this point it looks like there is nothing for it but to do a little math : we need to count the number of distinct ways in which the number of positive deviations from the mean can differ from the number of negative deviations


by any predetermined value $ k $, where evidently $ k $ is one of $ - n, - n + 2, \ ldots, n - 2, n $. but because vanishingly small errors will disappear in the limit, we don't have to count precisely ; we only need to approximate the counts. to this end it suffices to know that $ $ \ text { the number of ways to obtain } k \ text { positive and } n - k \ text { negative values out of } n $ $ $ $ \ text { equals } \ frac { n - k + 1 } { k } $ $ $ $ \ text { times the number of ways to get } k - 1 \ text { positive and } n - k + 1 \ text { negative values. } $ $ ( that's a perfectly elementary result so i won't bother to write down the justification. ) now we approximate wholesale. the maximum frequency occurs when $ k $ is as close to $ n / 2 $ as possible ( also elementary ). let's write $ m = n / 2 $. then, relative to the maximum frequency, the frequency of $ m + j + 1 $ positive deviations ( $ j \ ge 0 $ ) is estimated by the product $ $ \ frac { m + 1 } { m + 1 } \ frac { m } { m + 2 } \ cdots \ frac { m - j + 1 } { m + j + 1 } $ $ $ $ = \ frac { 1 - 1 / ( m + 1 ) } { 1 + 1 / ( m + 1 ) } \ frac { 1 - 2 / ( m + 1 ) } { 1 + 2 / ( m + 1 ) } \ cdots \ frac { 1 - j / ( m + 1 ) } { 1 + j / ( m + 1 ) }. $ $ 135 years before de moivre was writing, john napier invented logarithms to simplify multiplication, so let's take advantage of this. using the approximation $ $ \ log \ left ( \ frac { 1 - x } { 1 + x } \ right ) = - 2x - \ frac { 2x ^ 3 } { 3 } + o ( x ^ 5 ), $ $ we find that the log of the relative frequency is approximately $ $ - \ frac { 2 } { m + 1 } \ left ( 1 + 2 +


\ cdots + j \ right ) - \ frac { 2 } { 3 ( m + 1 ) ^ 3 } \ left ( 1 ^ 3 + 2 ^ 3 + \ cdots + j ^ 3 \ right ) = - \ frac { j ^ 2 } { m } + o \ left ( \ frac { j ^ 4 } { m ^ 3 } \ right ). $ $ because the error in approximating this sum by $ - j ^ 2 / m $ is on the order of $ j ^ 4 / m ^ 3 $, the approximation ought to work well provided $ j ^ 4 $ is small relative to $ m ^ 3 $. that covers a greater range of values of $ j $ than is needed. ( it suffices for the approximation to work for $ j $ only on the order of $ \ sqrt { m } $ which asymptotically is much smaller than $ m ^ { 3 / 4 } $. ) consequently, writing $ $ z = \ sqrt { 2 } \, \ frac { j } { \ sqrt { m } } = \ frac { j / n } { 1 / \ sqrt { 4n } } $ $ for the standardized deviation, the relative frequency of deviations of size given by $ z $ must be proportional to $ \ exp ( - z ^ 2 / 2 ) $ for large $ m. $ thus appears the gaussian law of # 3 above. obviously much more analysis of this sort should be presented to justify the other assertions in the clt, but i'm running out of time, space, and energy and i've probably lost 90 % of the people who started reading this anyway. this simple approximation, though, suggests how de moivre might originally have suspected that there is a universal limiting distribution, that its logarithm is a quadratic function, and that the proper scale factor $ s _ n $ must be proportional to $ \ sqrt { n } $ ( as shown by the denominator of the preceding formula ). it is difficult to imagine how this important quantitative relationship could be explained without invoking some kind of mathematical information and reasoning ; anything less would leave the precise shape of the limiting curve a complete mystery.


no need to use taylor series, this can be derived in a similar way to the formula for geometric series. let's find a general formula for the following sum : $ $ s _ { m } = \ sum _ { n = 1 } ^ { m } nr ^ { n }. $ $ notice that \ begin { align * } s _ { m } - rs _ { m } & = - mr ^ { m + 1 } + \ sum _ { n = 1 } ^ { m } r ^ { n } \ \ & = - mr ^ { m + 1 } + \ frac { r - r ^ { m + 1 } } { 1 - r } \ \ & = \ frac { mr ^ { m + 2 } - ( m + 1 ) r ^ { m + 1 } + r } { 1 - r }. \ end { align * } hence $ $ s _ m = \ frac { mr ^ { m + 2 } - ( m + 1 ) r ^ { m + 1 } + r } { ( 1 - r ) ^ 2 }. $ $ this equality holds for any $ r $, but in your case we have $ r = \ frac { 1 } { 3 } $ and a factor of $ \ frac { 2 } { 3 } $ in front of the sum. that is \ begin { align * } \ sum _ { n = 1 } ^ { \ infty } \ frac { 2n } { 3 ^ { n + 1 } } & = \ frac { 2 } { 3 } \ lim _ { m \ rightarrow \ infty } \ frac { m \ left ( \ frac { 1 } { 3 } \ right ) ^ { m + 2 } - ( m + 1 ) \ left ( \ frac { 1 } { 3 } \ right ) ^ { m + 1 } + \ left ( \ frac { 1 } { 3 } \ right ) } { \ left ( 1 - \ left ( \ frac { 1 } { 3 } \ right ) \ right ) ^ { 2 } } \ \ & = \ frac { 2 } { 3 } \ frac { \ left ( \ frac { 1 } { 3 } \ right ) } { \ left ( \ frac { 2 } { 3 } \ right ) ^ { 2 } } \ \ & = \ frac { 1 } { 2 }. \ end


{ align * } added note : we can define $ $ s _ m ^ k ( r ) = \ sum _ { n = 1 } ^ m n ^ k r ^ n. $ $ then the sum above considered is $ s _ m ^ 1 ( r ) $, and the geometric series is $ s _ m ^ 0 ( r ) $. we can evaluate $ s _ m ^ 2 ( r ) $ by using a similar trick, and considering $ s _ m ^ 2 ( r ) - rs _ m ^ 2 ( r ) $. this will then equal a combination of $ s _ m ^ 1 ( r ) $ and $ s _ m ^ 0 ( r ) $ which already have formulas for. this means that given a $ k $, we could work out a formula for $ s _ m ^ k ( r ) $, but can we find $ s _ m ^ k ( r ) $ in general for any $ k $? it turns out we can, and the formula is similar to the formula for $ \ sum _ { n = 1 } ^ m n ^ k $, and involves the bernoulli numbers. in particular, the denominator is $ ( 1 - r ) ^ { k + 1 } $.


a byte of data is eight bits, there may be more bits per byte of data that are used at the os or even the hardware level for error checking ( parity bit, or even a more advanced error detection scheme ), but the data is eight bits and any parity bit is usually invisible to the software. a byte has been standardized to mean'eight bits of data '. the text isn't wrong in saying there may be more bits dedicated to storing a byte of data of than the eight bits of data, but those aren't typically considered part of the byte per se, the text itself points to this fact. you can see this in the following section of the tutorial : doubleword : a 4 - byte ( 32 bit ) data item 4 * 8 = 32, it might actually take up 36 bits on the system but for your intents and purposes it's only 32 bits.


i myself was always confused why $ \ ce { h3o ^ + } $ is so well - known and yet almost nobody talks of $ \ ce { h4o ^ 2 + } $. i mean, $ \ ce { h3o ^ + } $ still has a lone pair, right? why can't another proton just latch onto that? adding to the confusion, $ \ ce { h4o ^ 2 + } $ is very similar to $ \ ce { nh4 + } $, which again is extremely well - known. even further, the methanium cation $ \ ce { ch5 + } $ exists ( admittedly not something you'll find on a shelf ), and that doesn't even have an available lone pair! it is very useful to rephrase the question " why is $ \ ce { h4o ^ 2 + } $ so rare? " into " why won't $ \ ce { h3o ^ + } $ accept another proton? ". now we can think of this in terms of an acid - base reaction : $ $ \ ce { h3o ^ + + h + - > h4o ^ 2 + } $ $ yes, that's right. in this reaction $ \ ce { h3o ^ + } $ is the base, and $ \ ce { h ^ + } $ is the acid. because solvents can strongly influence the acidity of basicity of dissolved compounds, and because inclusion of solvent makes calculations tremendously more complicated, we will restrict ourselves to the gas phase ( hence $ \ ce { ( g ) } $ next to all the formulas ). this means we will be talking about proton affinities. before we get to business, though, let's start with something more familiar : $ $ \ ce { h2o ( g ) + h + ( g ) - > h3o ^ + ( g ) } $ $ because this is in the gas phase, we can visualise the process very simply. we start with a lone water molecule in a perfect vacuum. then, from a very large distance away, a lone proton begins its approach. we can calculate the potential energy of the whole system as a function of the distance between the oxygen atom and the distant proton. we get a graph that looks something like this : for convenience, we can set the potential energy of the system at 0 when the distance is infinite. at very large distances, the lone proton only very slightly


tugs the electrons of the $ \ ce { h2o } $ molecule, but they attract and the system is slightly stabilised. the attraction gets stronger as the lone proton approaches. however, there is also a repulsive interaction, between the lone proton and the nuclei of the other atoms in the $ \ ce { h2o } $ molecule. at large distances, the attraction is stronger than the repulsion, but this flips around if the distance is too short. the happy medium is where the extra proton is close enough to dive into the molecule's electron cloud, but not close enough to experience severe repulsions with the other nuclei. in short, a lone proton from infinity is attracted to a water molecule, and the potential energy decreases up to a critical value, the bond length. the amount of energy lost is the proton affinity : in this scenario, a mole of water molecules reacting with a mole of protons would release approximately $ \ mathrm { 697 \ kj \ mol ^ { - 1 } } $ ( values from this table ). this reaction is highly exothermic alright, now for the next step : $ $ \ ce { h3o ^ + ( g ) + h + ( g ) - > h4o ^ 2 + ( g ) } $ $ this should be similar, right? actually, no. there is a very important difference between this reaction and the previous one ; the reagents now both have a net positive charge. this means there is now a strong additional repulsive force between the two. in fact, the graph above changes completely. starting from zero potential at infinity, instead of a slow decrease in potential energy, the lone proton has to climb uphill, fighting a net electrostatic repulsion. however, even more interestingly, if the proton does manage to get close enough, the electron cloud can abruptly envelop the additional proton and create a net attraction. the resulting graph now looks more like this : very interestingly, the bottom of the " pocket " on the left of the graph ( the potential well ) can have a higher potential energy than if the lone proton was infinitely far away. this means the reaction is endothermic, but with enough effort, an extra proton can be pushed into the molecule, and it gets trapped in the pocket. indeed, according to olah et al., j. am. chem. soc. 1986, 108 ( 5 ), pp 1032 - 1035, the formation of $


\ ce { h4o ^ 2 + } $ in the gas phase was calculated to be endothermic by $ \ mathrm { 248 \ kj \ mol ^ { - 1 } } $ ( that is, the proton affinity of $ \ ce { h3o ^ + } $ is $ \ mathrm { - 248 \ kj \ mol ^ { - 1 } } $ ), but once formed, it has a barrier towards decomposition ( the activation energy towards release of a proton ) of $ \ mathrm { 184 \ kj \ mol ^ { - 1 } } $ ( the potential well has a maximum depth of $ \ mathrm { 184 \ kj \ mol ^ { - 1 } } $ ). due to the fact that $ \ ce { h4o ^ 2 + } $ was calculated to form a potential well, it can in principle exist. however, since it is the product of a highly endothermic reaction, unsurprisingly it is very hard to find. the reality in solution phase is more complicated, but its existence has been physically verified ( if indirectly ). but why stop here? what about $ \ ce { h5o ^ 3 + } $? $ $ \ ce { h4o ^ 2 + ( g ) + h + ( g ) - > h5o ^ 3 + ( g ) } $ $ i've run a rough calculation myself using computational chemistry software, and here it seems we really do reach a wall. it appears that $ \ ce { h5o ^ 3 + } $ is an unbound system, which is to say that its potential energy curve has no pocket like the ones above. $ \ ce { h5o ^ 3 + } $ could only ever be made transiently, and it would immediately spit out at least one proton. the reason here really is the massive amount of electrical repulsion, combined with the fact that the electron cloud can't reach out to the distance necessary to accommodate another atom. you can make your own potential energy graphs here. note how depending on the combination of parameters, the potential well can lie at negative potential energies ( an exothermic reaction ) or positive potential energies ( an endothermic reaction ). alternatively, the pocket may not exist at all - these are the unbound systems. edit : i've done some calculations of proton affinities / stabilities on several other simple molecules, for comparison. i do not


claim the results to be quantitatively correct. $ $ \ begin { array } { lllll } \ text { species } & \ ce { ch4 } & \ ce { ch5 + } & \ ce { ch6 ^ 2 + } & \ ce { ch7 ^ 3 + } & \ ce { ch8 ^ 4 + } \ \ \ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 556 & - 246 & - 1020 & n / a & n / a \ \ \ end { array } $ $ notes : even without a lone pair, methane ( $ \ ce { ch4 } $ ) protonates very exothermically in the gas phase. this is a testament to the enormous reactivity of a bare proton, and the huge difference it makes to not have push a proton into an already positively - charged ion. for most of the seemingly hypercoordinate species in these tables ( more than four bonds ), the excess hydrogen atoms " pair up " such that it can be viewed as a $ \ ce { h2 } $ molecule binding sideways to the central atom. see the methanium link at the start. $ $ \ begin { array } { lllll } \ text { species } & \ ce { nh3 } & \ ce { nh4 + } & \ ce { nh5 ^ 2 + } & \ ce { nh6 ^ 3 + } \ \ \ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 896 & - 410 & n / a & n / a \ \ \ end { array } $ $ notes : even though the first protonation is easier relative to $ \ ce { ch4 } $, the second one is harder. this is likely because increasing the electronegativity of the central atom makes the electron cloud " stiffer ", and less accommodating to all those extra protons. the $ \ ce { nh5 ^ { 2 + } } $ ion, unlike other


ions listed here with more than four hydrogens, appears to be a true hypercoordinate species. del bene et al. indicate a five - coordinate square pyramidal structure with delocalized nitrogen - hydrogen bonds. $ $ \ begin { array } { lllll } \ text { species } & \ ce { h2o } & \ ce { h3o + } & \ ce { h4o ^ 2 + } & \ ce { h5o ^ 3 + } \ \ \ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 722 & - 236 & n / a & n / a \ \ \ end { array } $ $ notes : the first series which does not accommodate proton hypercoordination. $ \ ce { h3o + } $ is easier to protonate than $ \ ce { nh4 + } $, even though oxygen is more electronegative. this is because the $ \ ce { h4o ^ 2 + } $ nicely accommodates all protons, while one of the protons in $ \ ce { nh5 ^ 2 + } $ has to fight for its space. $ $ \ begin { array } { lllll } \ text { species } & \ ce { hf } & \ ce { h2f + } & \ ce { h3f ^ 2 + } & \ ce { h4f ^ 3 + } \ \ \ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 501 & - 459 & n / a & n / a \ \ \ end { array } $ $ notes : even though $ \ ce { h3f ^ 2 + } $ still formally has a lone pair, its electron cloud is now so stiff that it cannot reach out to another proton even at normal bonding distance. $ $ \ begin { array } { lllll } \ text { species } & \ ce { ne } & \ ce { neh + } & \ ce { neh2 ^ 2 + } \ \


\ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 204 & n / a & n / a \ \ \ end { array } $ $ notes : $ \ ce { ne } $ is a notoriously unreactive noble gas, but it too will react exothermically with a bare proton in the gas phase. depending on the definition of electronegativity used, it is possible to determine an electronegativity for $ \ ce { ne } $, which turns out to be even higher than $ \ ce { f } $. accordingly, its electron cloud is even stiffer. $ $ \ begin { array } { lllll } \ text { species } & \ ce { h2s } & \ ce { h3s + } & \ ce { h4s ^ 2 + } & \ ce { h5s ^ 3 + } & \ ce { h6s ^ 4 + } \ \ \ text { stable in gas phase? } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { yes } & \ text { no } \ \ \ text { approximate proton affinity } \ ( \ mathrm { kj \ mol ^ { - 1 } } ) & 752 & - 121 & - 1080 & n / a & n / a \ \ \ end { array } $ $ notes : the lower electronegativity and larger size of $ \ ce { s } $ means its electrons can reach out further and accommodate protons at a larger distance, while reducing repulsions between the nuclei. thus, in the gas phase, $ \ ce { h2s } $ is a stronger base than $ \ ce { h2o } $. the situation is inverted in aqueous solution due to uniquely strong intermolecular interactions ( hydrogen bonding ) which are much more important for $ \ ce { h2o } $. $ \ ce { h3s + } $ also has an endothermic proton affinity, but it is lower than for $ \ ce { h3o + } $, and therefore $ \ ce { h4s ^ 2 + } $ is easier to make. accordingly, $ \ ce { h4s ^ 2 + } $


has been detected in milder ( though still superacidic! ) conditions than $ \ ce { h4o ^ 2 + } $. the larger size and lower electronegativity of $ \ ce { s } $ once again are shown to be important ; the hypercoodinate $ \ ce { h5s ^ 3 + } $ appears to exist, while the oxygen analogue doesn't.


bcftools has sample / individual filtering as an option for most of the commands. you can subset individuals by using the - s or - s option : - s, - - samples [ ^ ] list comma - separated list of samples to include or exclude if prefixed with " ^ ". note that in general tags such as info / ac, info / an, etc are not updated to correspond to the subset samples. bcftools view is the exception where some tags will be updated ( unless the - i, - - no - update option is used ; see bcftools view documentation ). to use updated tags for the subset in another command one can pipe from view into that command. for example : - s, - - samples - file file file of sample names to include or exclude if prefixed with " ^ ". one sample per line. see also the note above for the - s, - - samples option. the command bcftools call accepts an optional second column indicating ploidy ( 0, 1 or 2 ) or sex ( as defined by - - ploidy, for example " f " or " m " ), and can parse also ped files. if the second column is not present, the sex " f " is assumed. with bcftools call - c trio, ped file is expected. file formats examples : sample1 1 sample2 2 sample3 2 or sample1 m sample2 f sample3 f or a. ped file ( here is shown a minimum working example, the first column is ignored and the last indicates sex : 1 = male, 2 = female ) : ignored daughtera fathera mothera 2 ignored sonb fatherb motherb 1 example usage : bcftools view - s sample1, sample2 file. vcf > filtered. vcf bcftools view - s sample _ file. txt file. vcf > filtered. vcf see the bcftools manpage for more information.


one major problem with using uracil as a base is that cytosine can be deaminated, which converts it into uracil. this is not a rare reaction ; it happens around 100 times per cell, per day. this is no major problem when using thymine, as the cell can easily recognize that the uracil doesn't belong there and can repair it by substituting it by a cytosine again. there is an enzyme, uracil dna glycosylase, that does exactly that ; it excises uracil bases from double - stranded dna. it can safely do that as uracil is not supposed to be present in the dna and has to be the result of a base modification. now, if we would use uracil in dna it would not be so easy to decide how to repair that error. it would prevent the usage of this important repair pathway. the inability to repair such damage doesn't matter for rna as the mrna is comparatively short - lived and any potential errors don't lead to any lasting damage. it matters a lot for dna as the errors are continued through every replication. now, this explains why there is an advantage to using thymine in dna, it doesn't explain why rna uses uracil. i'd guess it just evolved that way and there was no significant drawback that could be selected against, but there might be a better reason ( more difficult biosynthesis of thymine, maybe? ). you'll find a bit more information on that in " molecular biology of the cell " from bruce alberts et al. in the chapter about dna repair ( from page 267 on in the 4th edition ).


mathematical explanation when examining the linear combination of atomic orbitals ( lcao ) for the $ \ ce { h2 + } $ molecular ion, we get two different energy levels, $ e _ + $ and $ e _ - $ depending on the coefficients of the atomic orbitals. the energies of the two different mo's are : $ $ \ begin { align } e _ + & = e _ \ text { 1s } + \ frac { j _ 0 } { r } - \ frac { j'+ k'} { 1 + s } \ \ e _ - & = e _ \ text { 1s } + \ frac { j _ 0 } { r } - \ frac { j'- k'} { 1 - s } \ end { align } $ $ note that $ j _ 0 = \ frac { e ^ 2 } { 4 \ pi \ varepsilon _ 0 } $, $ r $ is the internuclear distance, $ s = \ int \ chi _ \ text { a } ^ * \ chi _ \ text { b } \, \ text { d } v $ the overlap integral, $ j'$ is a coulombic contribution to the energy and $ k'$ is a contribution to the resonance integral, and it does not have a classical analogue. $ j'$ and $ k'$ are both positive and $ j'\ gt k'$. you'll note that $ j'- k'> 0 $. this is why the energy levels of $ e _ + $ and $ e _ - $ are not symmetrical with respect to the energy level of $ e _ \ text { 1s } $. intuitive explanation the intuitive explanation goes along the following line : imagine two hydrogen nuclei that slowly get closer to each other, and at some point start mixing their orbitals. now, one very important interaction is the coulomb force between those two nuclei, which gets larger the closer the nuclei come together. as a consequence of this, the energies of the molecular orbitals get shifted upwards, which is what creates the asymmetric image that we have for these energy levels. basically, you have two positively charged nuclei getting closer to each other. now you have two options : stick some electrons between them. don't stick some electrons between them. if you follow through with option 1, you'll diminish the coulomb forces between the two nuclei somewhat in favor of electron -


nucleus attraction. if you go with method 2 ( remember that the $ \ sigma ^ * _ \ text { 1s } $ mo has a node between the two nuclei ), the nuclei feel each other's repulsive forces more strongly. further information i highly recommend the following book, from which most of the information above stems : peter atkins and ronald friedman, in molecular quantum mechanics ; $ 5 ^ \ text { th } $ ed., oxford university press : oxford, united kingdom, 2011 ( isbn - 13 : 978 - 0199541423 ).


oscilloscopes usually require significant power and are physically big. having a chassis that size, which would include exposed ground on the bnc connectors and the probe ground clips, floating would be dangerous. if you have to look at waveforms in wall - powered equipment, it is generally much better to put the isolation transformer on that equipment instead of on the scope. once the scope is connected, it provides a ground reference to that part of the circuit so other parts could then be at high ground - referenced voltages, which could be dangerous. however, you'll likely be more careful not to touch parts of the unit under test than the scope. scopes can also have other paths to ground that are easy to forget. for example, the scope on my bench usually has a permanent rs - 232 connection to my computer. it would be easy to float the scope but forget about such things. the scope would actually not be floating. at best a fuse would pop when it is first connected to a wall powered unit under test in the wrong place. manufacturers could isolate the scope easily enough, but that probably opens them to liability problems. in general, bench equipment is not isolated but hand - held equipment is. if you really need to make isolated measurements often, you can get battery operated handheld scopes.


for computing three - dimensional delaunay triangulations ( tetrahedralizations, really ), tetgen is a commonly used library. for your convenience, here's a little benchmark on how long it takes to compute the terehedralization of a number of random points from the unit cube. for 100, 000 points it takes 4. 5 seconds on an old pentium m. ( this was done with mathematica's tetgen interface. i don't know how much overhead it introduces. ) regarding your other question : if you already have the voronoi tessellation, then getting the delaunay triangulation is a relatively simple transformation.


because " pixel " isn't a unit of measurement : it's an object. so, just like a wall that's 30 bricks wide by 10 bricks tall contains 300 bricks ( not bricks - squared ), an image that's 30 pixels wide by 10 pixels tall contains 300 pixels ( not pixels - squared ).


great question! note that from a prescriptive standpoint, the terms pipeline and workflow don't have any strict or precise definitions. but it's still useful to take a descriptive standpoint and discuss how the terms are commonly used in the bioinformatics community. but before talking about pipelines and workflows, it's helpful to talk about programs and scripts. a program or script typically implements a single data analysis task ( or set of related tasks ). some examples include the following. fastqc, a program that checks ngs reads for common quality issues trimmomatic, a program for cleaning ngs reads salmon, a program for estimating transcript abundance from ngs reads a custom r script that uses deseq2 to perform differential expression analysis a pipeline or a workflow refers to a particular kind of program or script that is intended primarily to combine other independent programs or scripts. for example, i might want to write an rna - seq workflow that executes trimmomatic, fastqc, salmon, and the r script using a single command. this is particularly useful if i have to run the same command many times, or if the commands take a long time to run. it's very inconvenient when you have to babysit your computer and wait for step 3 to finish so that you can launch step 4! so when does a program become a pipeline? honestly, there are no strict rules. in some cases it's clear : the 10 - line python script i wrote to split fasta files is definitely not a pipeline, but the 200 - line python script i wrote that does nothing but invoke 6 other bioinformatics programs definitely is a pipeline. there are a lot of tools that fall in the middle : they may require running multiple steps in a certain order, or implement their own processing but also delegate processing to other tools. usually nobody worries too much about whether it's " correct " to call a particular tool a pipeline. finally, a workflow engine is the software used to actually execute your pipeline / workflow. as mentioned above, general - purpose scripting languages like bash, python, or perl can be used to implement workflows. but there are other languages that are designed specifically for managing workflows. perhaps the earliest and most popular of these is gnu make, which was originally intended to help engineers coordinate software compilation but can be used for just about any workflow. more recently there has been a proliferation of tools intended


to replace gnu make for numerous languages in a variety of contexts. the most popular in bioinformatics seems to be snakemake, which provides a nice balance of simplicity ( through shell commands ), flexibility ( through configuration ), and power - user support ( through python scripting ). build scripts written for these tools ( i. e., a makefile or snakefile ) are often called pipelines or workflows, and the workflow engine is the software that executes the workflow. the workflow engines you listed above ( such as argo ) can certainly be used to coordinate bioinformatics workflows. honestly though, these are aimed more at the broader tech industry : they involve not just workflow execution but also hardware and infrastructure coordination, and would require a level of engineering expertise / support not commonly available in a bioinformatics setting. this could change, however, as bioinformatics becomes more of a " big data " endeavor. as a final note, i'll mention a few more relevant technologies that i wasn't able to fit above. docker : managing a consistent software environment across multiple ( potentially dozens or hundreds ) of computers ; singularity is docker's less popular step - sister common workflow language ( cwl ) : a generic language for declaring how each step of a workflow is executed, what inputs it needs, what outputs it creates, and approximately what resources ( ram, storage, cpu threads, etc. ) are required to run it ; designed to write workflows that can be run on a variety of workflow engines dockstore : a registry of bioinformatics workflows ( heavy emphasis on genomics ) that includes a docker container and a cwl specification for each workflow toil : a production - grade workflow engine used primarily for bioinformatics workflows


let's try this wittgenstein's ladder style. first let's consider this : simulate this circuit – schematic created using circuitlab we can calculate the current through r1 with ohm's law : $ $ { 1 \ : \ mathrm v \ over 100 \ : \ omega } = 10 \ : \ mathrm { ma } $ $ we also know that the voltage across r1 is 1v. if we use ground as our reference, then how does 1v at the top of the resistor become 0v at the bottom of the resistor? if we could stick a probe somewhere in the middle of r1, we should measure a voltage somewhere between 1v and 0v, right? a resistor with a probe we can move around on it... sounds like a potentiometer, right? simulate this circuit by adjusting the knob on the potentiometer, we can measure any voltage between 0v and 1v. now what if instead of a pot, we use two discrete resistors? simulate this circuit this is essentially the same thing, except we can't move the wiper on the potentiometer : it's stuck at a position 3 / 4th from the top. if we get 1v at the top, and 0v at the bottom, then 3 / 4ths of the way up we should expect to see 3 / 4ths of the voltage, or 0. 75v. what we have made is a resistive voltage divider. it's behavior is formally described by the equation : $ $ v _ \ text { out } = { r _ 2 \ over r _ 1 + r _ 2 } \ cdot v _ \ text { in } $ $ now, what if we had a resistor with a resistance that changed with frequency? we could do some neat stuff. that's what capacitors are. at a low frequency ( the lowest frequency being dc ), a capacitor looks like a large resistor ( infinite at dc ). at higher frequencies, the capacitor looks like a smaller resistor. at infinite frequency, a capacitor has to resistance at all : it looks like a wire. so : simulate this circuit for high frequencies ( top right ), the capacitor looks like a small resistor. r3 is very much smaller than r2, so we will measure a very small voltage here. we could say that the input has been attenuated a lot. for low


frequencies ( lower right ), the capacitor looks like a large resistor. r5 is very much bigger than r4, so here we will measure a very large voltage, almost all of the input voltage, that is, the input voltage has been attenuated very little. so high frequencies are attenuated, and low frequencies are not. sounds like a low - pass filter. and if we exchange the places of the capacitor and the resistor, the effect is reversed, and we have a high - pass filter. however, capacitors aren't really resistors. what they are though, are impedances. the impedance of a capacitor is : $ $ z _ \ text { capacitor } = - j { 1 \ over 2 \ pi f c } $ $ where : \ $ c \ $ is the capacitance, in farads \ $ f \ $ is the frequency, in hertz \ $ j \ $ is the imaginary unit, \ $ \ sqrt { - 1 } \ $ notice that, because \ $ f \ $ is in the denominator, the impedance decreases as frequency increases. impedances are complex numbers, because they contain \ $ j \ $. if you know how arithmetic operations work on complex numbers, then you can still use the voltage divider equation, except we will use \ $ z \ $ instead of \ $ r \ $ to suggest we are using impedances instead of simple resistances : $ $ v _ \ text { out } = v _ { in } { z _ 2 \ over z _ 1 + z _ 2 } $ $ and from this, you can calculate the behavior of any rc circuit, and a good deal more.


you can use the python builtin ctypes module as described on fortran90. org. it is pretty straight forward and doesn't require any external dependencies. also, the ndpointer arg type helper is very handy.