not sure if this is what you're asking, but yes, when the battery is connected, an electric field wave travels from the battery down the wires to the load. part of the electrical energy is absorbed by the load ( depending on ohm's law ), and the rest is reflected off the load and travels back to the battery, some is absorbed by the battery ( ohm's law again ) and some reflects off the battery, etc. eventually the combination of all the bounces reaches the stable steady - state value that you would expect. we usually don't think of it this way, because in most circuits it happens too quickly to measure. for long transmission lines it is measurable and important, however. no, the current does not " know " what the load is until the wave reaches it. until that time, it only knows the characteristic impedance or " surge impedance " of the wires themselves. it doesn't yet know if the other end is a short circuit or an open circuit or some impedance in between. only when the reflected wave returns can it " know " what's at the other end. see circuit reflection example and transmission line effects in high - speed logic systems for examples of lattice diagrams and a graph of how the voltage changes in steps over time. see termination of a transmission line for an animated simulation of different terminations that you can modify, and this for a light switch example. and in case you don't understand it, in your first circuit, the current is equal at every point in the circuit. a circuit is like a loop of pipework, all filled with water. if you cause the water to flow with a pump at one point, the water at every other point in the loop has to flow at the same rate. the electric field waves i'm talking about are analogous to pressure / sound waves traveling through the water in the pipe. when you move water at one point in the pipe, the water on the other end of the pipes doesn't change instantly ; the disturbance has to propagate through the water at the speed of sound until it reaches the other end.


the differential equation for a pendulum is $ $ \ ddot { \ phi } ( t ) = - \ frac { g } { l } \ cdot \ sin { \ phi ( t ) } $ $ if you solve this, you will get $ $ \ omega = \ sqrt { \ frac { g } { l } } $ $ or $ $ t _ { 1 / 2 } = \ pi \ sqrt { \ frac { l } { g } } $ $ $ $ g = \ pi ^ 2 \ frac { l } { t _ { 1 / 2 } ^ 2 } $ $ if you define one metre as the length of a pendulum with $ t _ { 1 / 2 } = 1 \, \ mathrm { s } $ this will lead you inevitably to $ g = \ pi ^ 2 $. this was actually proposed, but the french academy of sciences chose to define one metre as one ten - millionth of the length of a quadrant along the earth's meridian. see wikipedia ’ s article about the metre. that these two values are so close to each other is pure coincidence. ( well, if you don't take into account that the french academy of sciences could have chosen any fraction of the quadrant and probably took one matching the one second pendulum. ) besides that, $ \ pi $ has the same value in every unit system, because it is just the ratio between a circle ’ s diameter and its circumference, while $ g $ depends on the chosen units for length and time.


according kinetics, mechanism, and spectroscopy of the reversible binding of nitric oxide to aquated iron ( ii ). an undergraduate text book reaction revisited the correct structure is $ \ ce { [ fe ^ { iii } ( h _ 2o ) _ 5 ( no ^ { - } ) ] ^ { 2 + } } $ for many years it was thought that iron was reduced to $ \ ce { fe ^ { i } } $ and $ \ ce { no } $ oxidized to $ \ ce { no + } $, based upon an observed magnetic moment suggestive of three unpaired electrons, however, the current thinking is that high spin $ \ ce { fe ^ { iii } } $ ( $ s = 5 / 2 $ ) antiferromagnetically couples with $ \ ce { no - } $ ( $ s = 1 $ ) for an observed spin of $ s = 3 / 2 $.


on the top of this answer, you can see a section of updated links, where artificial intelligence, machine intelligence, deep learning or and database machine learning progressively step of the grounds of traditional signal processing / image analysis / computer vision. below, variations on the original answer. for a short version : successes of convolutional neural networks and deep learning have been looked like as a sort of galilean revolution. for a practical point of view, classical signal processing or computer vision were dead... provided that you have enough or good - enough labeled data, that you care little about evident classification failures ( aka deep flaws or deep fakes ), that you have infinite energy to run tests without thinking about the carbon footprint, and don't bother causal or rational explanations. for the others, this made us rethink about all what we did before : preprocessing, standard analysis, feature extraction, optimization ( cf. my colleague j. - c. pesquet work on deep neural network structures solving variational inequalities ), invariance, quantification, etc. and really interesting research is emerging from that, hopefully catching up with firmly grounded principles and similar performance. updated links : 2021 / 04 / 10 : hierarchical image peeling : a flexible scale - space filtering framework 2019 / 07 / 19 : the verge : if you can identify what ’ s in these images, you ’ re smarter than ai, or do you see a ship wreck, or insects on a dead leaf? 2019 / 07 / 16 : preprint : natural adversarial examples we introduce natural adversarial examples - - real - world, unmodified, and naturally occurring examples that cause classifier accuracy to significantly degrade. we curate 7, 500 natural adversarial examples and release them in an imagenet classifier test set that we call imagenet - a. this dataset serves as a new way to measure classifier robustness. like l _ p adversarial examples, imagenet - a examples successfully transfer to unseen or black - box classifiers. for example, on imagenet - a a densenet - 121 obtains around 2 % accuracy, an accuracy drop of approximately 90 %. recovering this accuracy is not simple because imagenet - a examples exploit deep flaws in current classifiers including their over - reliance on color, texture, and background cues. we observe that popular training techniques for improving robustness have little effect, but we show that some architectural changes can enhance robustness


to natural adversarial examples. future research is required to enable robust generalization to this hard imagenet test set. 2019 / 05 / 03 : deep learning : the final frontier for signal processing and time series analysis? " in this article, i want to show several areas where signals or time series are vital " 2018 / 04 / 23 : i just come back from the yearly international conference on acoustics, speech and signal processing, icassp 2018. i was amazed by the quantity of papers somewhat relying on deep learning, deep networks, etc. two pleanaries out of four ( by alex acero and yann lecun ) were devoted to such topic. at the same time, most of the researchers i have met were kind of joking about that ( " sorry, my poster is on filter banks, not on deep learning ", " i am not into that, i have small datasets " ), or were wondering about gaining 0. 5 % on grand challenges, and losing the interested in modeling the physics or statistical priors. 2018 / 01 / 14 : can a deep net see a cat?, from " abstract cat ", to " best cat " inverted, drawn, etc. and somehow surprizing results on sketches 2017 / 11 / 02 : added references to scattering transforms / networks 2017 / 10 / 21 : a review of convolutional neural networks for inverse problems in imaging deep learning and its applications to signal and information processing, ieee signal processing magazine, january 2011 deep learning references " stepping " on standard signal / image processing can be found at the bottom. michael elad just wrote deep, deep trouble : deep learning ’ s impact on image processing, mathematics, and humanity ( siam news, 2017 / 05 ), excerpt : then neural networks suddenly came back, and with a vengeance. this tribune is of interest, as it shows a shift from traditional " image processing ", trying to model / understand the data, to a realm of correctness, without so much insight. this domain is evolving quite fast. this does not mean it evolves in some intentional or constant direction. neither right nor wrong. but this morning, i heard the following saying ( or is it a joke? ) : a bad algorithm with a huge set of data can do better than a smart algorithm with pauce data. here was my very short try : deep learning may provide state - of - the - art results, but one does not always understand why, and part of our scientist job remains on explaining why


things work, what is the content of a piece of data, etc. deep learning used too require ( huge ) well - tagged databases. any time you do craftwork on single or singular images ( i. e. without a huge database behind ), especially in places unlikely to yield " free user - based tagged images " ( in the complementary set of the set " funny cats playing games and faces " ), you can stick to traditional image processing for a while, and for profit. a recent tweet summarizes that : ( lots of ) labeled data ( with no missing vars ) requirement is a deal breaker ( & unnecessary ) for many domains if they are being killed ( which i doubt at a short term notice ), they are not dead yet. so any skill you acquire in signal processing, image analysis, computer vision will help you in the future. this is for instance discussed in the blog post : have we forgotten about geometry in computer vision? by alex kendall : deep learning has revolutionised computer vision. today, there are not many problems where the best performing solution is not based on an end - to - end deep learning model. in particular, convolutional neural networks are popular as they tend to work fairly well out of the box. however, these models are largely big black - boxes. there are a lot of things we don ’ t understand about them. a concrete example can be the following : a couple of very dark ( eg surveillance ) images from the same location, needing to evaluate if one of them contains a specific change that should be detected, is potentially a matter of traditional image processing, more than deep learning ( as of today ). on the other side, as successful as deep learning is on a large scale, it can lead to misclassification of a small sets of data, which might be harmless " in average " for some applications. two images that just slightly differ to the human eye could be classified differently via dl. or random images could be set to a specific class. see for instance deep neural networks are easily fooled : high confidence predictions for unrecognizable images ( nguyen a, yosinski j, clune j. proc. computer vision and pattern recognition 2015 ), or does deep learning have deep flaws?, on adversarial negatives : the network may misclassify an image after the researchers applied a certain imperceptible perturbation. the perturbations are found by adjusting the pixel values to maximize the prediction


error. with all due respect to " deep learning ", think about " mass production responding to a registered, known, mass - validable or expected behaviour " versus " singular piece of craft ". none is better ( yet ) in a single index scale. both may have to coexist for a while. however, deep learning pervades many novel areas, as described in references below. many not - linear, complex features might be revealed by deep learning, that had not been seen before by traditional processing. deep learning for image compression real - time adaptive image compression, icml 2017 full resolution image compression with recurrent neural networks end - to - end optimized image compression, icrl 2017 deep learning for video compression can deep learning be applied to video compression? deep learning for denoising, restoration, artifact removal cas - cnn : a deep convolutional neural network for image compression artifact suppression super - resolution with deep convolutional sufficient statistics luckily, some folks are trying to find mathematical rationale behind deep learning, an example of which are scattering networks or transforms proposed by stephane mallat and co - authors, see ens site for scattering. harmonic analysis and non - linear operators, lipschitz functions, translation / rotation invariance, better for the average signal processing person. see for instance understanding deep convolutional networks.


i can think of a few courses that would need calculus, directly. i have used bold face for the usually obligatory disciplines for a computer science degree, and italics for the usually optional ones. computer graphics / image processing, and here you will also need analytic geometry and linear algebra, heavily! if you go down this path, you may also want to study some differential geometry ( which has multivariate calculus as a minimum prerequisite ). but you'll need calculus here even for very basic things : try searching for " fourier transform " or " wavelets ", for example - - these are two very fundamental tools for people working with images. optimization, non - linear mostly, where multivariate calculus is the fundamental language used to develop everything. but even linear optimization benefits from calculus ( the derivative of the objective function is absolutely important ) probability / statistics. these cannot be seriously studied without multivariate calculus. machine learning, which makes heavy use of statistics ( and consequently, multivariate calculus ) data science and related subjects, which also use lots of statistics ; robotics, where you will need to model physical movements of a robot, so you will need to know partial derivatives and gradients. discrete math and combinatorics ( yes!, you may need calculus for discrete counting! ) - - if you get serious enough about generating functions, you'll need to know how to integrate and derivate certain formulas. and that is useful for analysis of algorithms ( see the book by sedgewick and flajolet, " analysis of algorithms " ). similarly, taylor series and calculus can be useful in solving certain kinds of recurrence relations, which are used in algorithm analysis. analysis of algorithms, where you use the notion of limit right from the start ( see landau notation, " little $ o $ " - - it's defined using a limit ) there may be others - - this is just off the top of my head. and, besides that, one benefits indirectly from a calculus course by learning how to reason and explain arguments with technical rigor. this is more valuable than students usually think. finally - - you will need calculus in order to, well, interact with people from other exact sciences and engineering. and it's not uncommon that a computer scientist needs to not only talk but also work together with a physicist or an engineer.


the hough transform and the radon transform are indeed very similar to each other and their relation can be loosely defined as the former being a discretized form of the latter. the radon transform is a mathematical integral transform, defined for continuous functions on $ \ mathbb { r } ^ n $ on hyperplanes in $ \ mathbb { r } ^ n $. the hough transform, on the other hand, is inherently a discrete algorithm that detects lines ( extendable to other shapes ) in an image by polling and binning ( or voting ). i think a reasonable analogy for the difference between the two would be like the difference between calculating the characteristic function of a random variable as the fourier transform of its probability density function ( pdf ) and generating a random sequence, calculating its empirical pdf by histogram binning and then transforming it appropriately. however, the hough transform is a quick algorithm that can be prone to certain artifacts. radon, being more mathematically sound, is more accurate but slower. you can in fact see the artifacts in your hough transform example as vertical striations. here's another quick example in mathematica : img = import [ " radon = radon [ img, method - > " radon " ] ; hough = radon [ img, method - > " hough " ] ; graphicsrow [ { # 1, # 2, colornegate @ imagedifference [ # 1, # 2 ] } & @ @ { radon, hough } ] the last image is really faint, even though i negated it to show the striations in dark color, but it is there. tilting the monitor will help. you can click all figures for a larger image. part of the reason why the similarity between the two is not very well known is because different fields of science & engineering have historically used only one of these two for their needs. for example, in tomography ( medical, seismic, etc. ), microscopy, etc., radon transform is perhaps used exclusively. i think the reason for this is that keeping artifacts to a minimum is of utmost importance ( an artifact could be a misdiagnosed tumor ). on the other hand, in image processing, computer vision, etc., it is the hough transform that is used because speed is primary. you might find this article quite interesting and topical : m. van ginkel, c. l. luengo hendriks and l. j


. van vliet, a short introduction to the radon and hough transforms and how they relate to each other, quantitative imaging group, imaging science & technology department, tu delft the authors argue that although the two are very closely related ( in their original definitions ) and equivalent if you write the hough transform as a continuous transform, the radon has the advantage of being more intuitive and having a solid mathematical basis. there is also the generalized radon transform similar to the generalized hough transform, which works with parametrized curves instead of lines. here is a reference that deals with it : toft, p. a., " using the generalized radon transform for detection of curves in noisy images ", ieee icassp - 96, vol. 4, 2219 - 2222 ( 1996 )


based on your description, i may have found the article you originally saw, or at least one very similar. researchers from dartmouth college published a paper $ \ mathrm { ^ 1 } $ in which they report, among other things, the results of viewing sunlit white paper through two 3 meter lengths of plexiglass ; one filled with $ \ ce { h2o } $ and one with $ \ ce { d2o } $. sure enough, because of the lower frequency of the maximum absorption of $ \ ce { d2o } $ in the red to near ir wavelengths, the blue color that is characteristic of $ \ ce { h2o } $ is far less pronounced in $ \ ce { d2o } $. this website is based on the published paper and additionally shows a photograph of the blue colored $ \ ce { h2o } $ on the left with the far less colored $ \ ce { d2o } $ on the right : " why is water blue ", charles l. braun and sergei n. smirnov, j. chem. edu., 1993, 70 ( 8 ), 612


off the top of head as a medical professional i can imagine the following mechanisms ( everything is just speculative reasoning ) : insects don't have blood. instead, they have hemolymph whose primary role is not oxygen transport ( they have an additional tracheal system for this purpose ), but rather that of nutrients. thus they don't need ( and don't have ) an intense proliferation of blood cell precusors - - these ( bone marrow, spleen ) are the most susceptible to radiation in a human and animal body. insects have a rather primitive immune system that is mostly humoral [ a ] and much less cellular [ b ] compared to the immune system of animals and humans. this eliminates the next common weak place in the body : lymphatic nodes, thymus, again spleen and bone marrow etc. insects have generally a much primitive and in many cases also rather decentralized nervous system : the ganglia are organized in a sort of a cord and even though the capital ganglia are usually larger, these dominance is not as prominent as in case of cns and pns in animals and humans. therefore this system is much more tolerant to losses. 1. - 3. therefore, the only sensitive part of insects is the intestinal epithelium which gets renewed on a regular basis ( similar to that of humans, also a known target of radiation ), but... insects ( and generally the arthropodes ) are known to have exoskeleton. this potentially serves as a good " armor " for vulnerable intestine cells, filtering out the most heavy particles ( like alpha - and in some respect also the beta - particles ). edit : this seems not to be real protection, see the discussion in comments. therefore it is not a surprise that insects generally show much higher resistance against radiation. edit : as it was correctly added in the comments, there are also gamets, that are most sensitive to radiation ( because they bear only the half of the normal genetic information and cannot repair mutations ). even though the lesions in gamets do not lead to immediate death, the potential sterility can easily cause the extinction. however, cockroaches ( and insects generally ) are known to be r - animals, meaning that they favor the quantity ( r ) over quality ( k ) of their off - spring. this strategy is optimal when dealing with radiation - induced changes in gametes : the high number of offsprings compensates for the genetic imperfections in game


##tes. [ a ] - - meaning that is has secreted peptides in their hemolymph that protect them [ b ] - - there are phagocytes, somewhat similar to tissue magrophages in humans, but the rest of the cell chains in immune response in vertrebrates, like t - and b - cells, are completely missing. those are responsible for the mediation and amplification of the immune response in vertebrates and are the cells that are most susceptible to radiation damage.


the key / value / query formulation of attention is from the paper attention is all you need. how should one understand the queries, keys, and values the key / value / query concept is analogous to retrieval systems. for example, when you search for videos on youtube, the search engine will map your query ( text in the search bar ) against a set of keys ( video title, description, etc. ) associated with candidate videos in their database, then present you the best matched videos ( values ). the attention operation can be thought of as a retrieval process as well. as mentioned in the paper you referenced ( neural machine translation by jointly learning to align and translate ), attention by definition is just a weighted average of values, $ $ c = \ sum _ { j } \ alpha _ jh _ j $ $ where $ \ sum \ alpha _ j = 1 $. if we restrict $ \ alpha $ to be a one - hot vector, this operation becomes the same as retrieving from a set of elements $ h $ with index $ \ alpha $. with the restriction removed, the attention operation can be thought of as doing " proportional retrieval " according to the probability vector $ \ alpha $. it should be clear that $ h $ in this context is the value. the difference between the two papers lies in how the probability vector $ \ alpha $ is calculated. the first paper ( bahdanau et al. 2015 ) computes the score through a neural network $ $ e _ { ij } = a ( s _ i, h _ j ), \ qquad \ alpha _ { i, j } = \ frac { \ exp ( e _ { ij } ) } { \ sum _ k \ exp ( e _ { ik } ) } $ $ where $ h _ j $ is from the encoder sequence, and $ s _ i $ is from the decoder sequence. one problem of this approach is, say the encoder sequence is of length $ m $ and the decoding sequence is of length $ n $, we have to go through the network $ m * n $ times to acquire all the attention scores $ e _ { ij } $. a more efficient model would be to first project $ s $ and $ h $ onto a common space, then choose a similarity measure ( e. g. dot product ) as the attention score, like $ $ e _ { ij } = f ( s _ i ) g ( h _


j ) ^ t $ $ so we only have to compute $ g ( h _ j ) $ $ m $ times and $ f ( s _ i ) $ $ n $ times to get the projection vectors and $ e _ { ij } $ can be computed efficiently by matrix multiplication. this is essentially the approach proposed by the second paper ( vaswani et al. 2017 ), where the two projection vectors are called query ( for decoder ) and key ( for encoder ), which is well aligned with the concepts in retrieval systems. ( there are later techniques to further reduce the computational complexity, for example reformer, linformer, flashattention. ) how are the queries, keys, and values obtained the proposed multihead attention alone doesn't say much about how the queries, keys, and values are obtained, they can come from different sources depending on the application scenario. $ $ \ begin { align } \ text { multihead ( $ q $, $ k $, $ v $ ) } & = \ text { concat } ( \ text { head } _ 1, \ dots, \ text { head } _ h ) w ^ { o } \ \ \ text { where head $ _ i $ } & = \ text { attention ( $ qw _ i ^ q $, $ kw _ i ^ k $, $ vw _ i ^ v $ ) } \ end { align } $ $ where the projections are parameter matrices : $ $ \ begin { align } w _ i ^ q & \ in \ mathbb { r } ^ { d _ \ text { model } \ times d _ k }, \ \ w _ i ^ k & \ in \ mathbb { r } ^ { d _ \ text { model } \ times d _ k }, \ \ w _ i ^ v & \ in \ mathbb { r } ^ { d _ \ text { model } \ times d _ v }, \ \ w _ i ^ o & \ in \ mathbb { r } ^ { hd _ v \ times d _ { \ text { model } } }. \ end { align } $ $ for unsupervised language model training like gpt, $ q, k, v $ are usually from the same source, so such operation is also called self - attention. for the machine translation task in the second paper, it first applies self - attention separately to source and target sequences, then on top of that it


applies another attention where $ q $ is from the target sequence and $ k, v $ are from the source sequence. for recommendation systems, $ q $ can be from the target items, $ k, v $ can be from the user profile and history.


it's a bad idea because vector needs to allocate as many objects in space as there are rows in your matrix. allocation is expensive, but primarily it is a bad idea because the data of your matrix now exists in a number of arrays scattered around memory, rather than all in one place where the processor cache can easily access it. it's also a wasteful storage format : std : : vector stores two pointers, one to the beginning of the array and one to the end because the length of the array is flexible. on the other hand, for this to be a proper matrix, the lengths of all rows must be the same and so it would be sufficient to store the number of columns only once, rather than letting each row store its length independently.


it's hard to ignore the wealth of statistical packages available in r / cran. that said, i spend a lot of time in python land and would never dissuade anyone from having as much fun as i do. : ) here are some libraries / links you might find useful for statistical work. there's plenty of other stuff out there, but this is what i find the most useful along the lines you mentioned. numpy / scipy you probably know about these already. but let me point out the cookbook where you can read about many statistical facilities already available and the example list which is a great reference for functions ( including data manipulation and other operations ). another handy reference is john cook's distributions in scipy. pandas this is a really nice library for working with statistical data - - tabular data, time series, panel data. includes many builtin functions for data summaries, grouping / aggregation, pivoting. also has a statistics / econometrics library. statsmodels statistical modeling : linear models, glms, among others. pymc for your bayesian / mcmc / hierarchical modeling needs. highly recommended. scikit - learn a modular framework and a comprehensive collection of machine learning models and tools ( data pre - processing, model selection, evaluation etc ). biopython useful for loading your biological data into python, and provides some rudimentary statistical / machine learning tools for analysis. projects that are dead or not actively maintained as of 2025 : larry labeled array that plays nice with numpy. provides statistical functions not present in numpy and good for data manipulation. python - statlib a fairly recent effort which combined a number of scattered statistics libraries. useful for basic and descriptive statistics if you're not using numpy or pandas. scikits statistical and scientific computing packages - - notably smoothing, optimization and machine learning. as of 2025, the page is dead, but it used to list well - known projects, such as scikit - learn. pymix mixture models. if speed becomes a problem, consider theano - - used with good success by the deep learning people. pytensor is the current successor to theano.


you pretty much have to buy pre - made modules, you can't expect to wire up your own transmitter / receiver from a few transistors and a crystal, rf circuit design is unforgiving and all but requires a custom pcb ( or custom ic ) to do. you could probably build your own rf module on a pcb if you did some work, but at that point if you are making your own pcb's, you're not saving much money versus the very cheap modules that are available. sparkfun has rf transmitters & receivers for $ 4 and $ 5 respectively. since they are just basic parts, you will need to do a little extra logic on your microcontroller to compensate for interference, eg sending error control codes so that missing / flipped bits can be detected and recovered. i found seeedstudio sells almost the exact same thing, but even cheaper. it's $ 4. 90 for a pair of a receiver and transmitter.


bwa mem is newer, faster, and [ should be ] more accurate, particularly for longer reads. from the bwa man page ( presumably in heng li's own words ) : bwa is a software package for mapping low - divergent sequences against a large reference genome, such as the human genome. it consists of three algorithms : bwa - backtrack, bwa - sw and bwa - mem. the first algorithm is designed for illumina sequence reads up to 100bp, while the rest two for longer sequences ranged from 70bp to 1mbp. bwa - mem and bwa - sw share similar features such as long - read support and split alignment, but bwa - mem, which is the latest, is generally recommended for high - quality queries as it is faster and more accurate. bwa - mem also has better performance than bwa - backtrack for 70 - 100bp illumina reads.


this is a bit complex. basically, there are a number of limiting factors : the io lines from the microcontroller ( i. e. the analog and digital pins ) have both an aggregate ( e. g. total ) current limit, and an per - pin limit : from the atmega328p datasheet. however, depending on how you define the arduino " pins ", this is not the entire story. the 5v pin of the arduino is not connected through the microcontroller. as such, it can source significantly more power. when you are powering your arduino from usb, the usb interface limits your total power consumption to 500 ma. this is shared with the devices on the arduino board, so the available power will be somewhat less. when you are using an external power supply, through the barrel power connector, you are limited by the local 5v regulator, which is rated for a maximum of 1 amp. however, this it also thermally limited, meaning that as you draw power, the regulator will heat up. when it overheats, it will shut down temporarily. the 3. 3v regulated output is able to supply 150 ma max, which is the limit of the 3. 3v regulator. in summary the absolute maximum for any single io pin is 40 ma ( this is the maximum. you should never actually pull a full 40 ma from a pin. basically, it's the threshold at which atmel can no longer guarantee the chip won't be damaged. you should always ensure you're safely below this current limit. ) the total current from all the io pins together is 200 ma max the 5v output pin is good for ~ 400 ma on usb, ~ 900 ma when using an external power adapter the 900 ma is for an adapter that provides ~ 7v. as the adapter voltage increases, the amount of heat the regulator has to deal with also increases, so the maximum current will drop as the voltage increases. this is called thermal limiting the 3. 3v output is capable of supplying 150 ma. note - any power drawn from the 3. 3v rail has to go through the 5v rail. therefore, if you have a 100 ma device on the 3. 3v output, you need to also count it against the 5v total current. note : this does not apply to the arduino due, and there are likely some differences for the arduino mega. it is likely generally true


for any arduino based off the atmega328 microcontroller.


since this question has multiple sub - questions in edits, comments on answers, etc., and these have not been addressed, here goes. matched filters consider a finite - energy signal $ s ( t ) $ that is the input to a ( linear time - invariant bibo - stable ) filter with impulse response $ h ( t ) $, transfer function $ h ( f ) $, and produces the output signal $ $ y ( \ tau ) = \ int _ { - \ infty } ^ \ infty s ( \ tau - t ) h ( t ) \, \ mathrm dt. \ tag { 1 } $ $ what choice of $ h ( t ) $ will produce a maximum response at a given time $ t _ 0 $? that is, we are looking for a filter such that the global maximum of $ y ( \ tau ) $ occurs at $ t _ 0 $. this really is a very loosely phrased ( and really unanswerable ) question because clearly the filter with impulse response $ 2h ( t ) $ will have larger response than the filter with impulse response $ h ( t ) $, and so there is no such thing as the filter that maximizes the response. so, rather than compare apples and oranges, let us include the constraint that we seek the filter that maximizes $ y ( t _ 0 ) $ subject to the impulse response having a fixed energy, for example, subject to $ $ \ int _ { - \ infty } ^ \ infty | h ( t ) | ^ 2 \, \ mathrm dt = \ mathbb e = \ int _ { - \ infty } ^ \ infty | s ( t ) | ^ 2 \, \ mathrm dt. \ tag { 2 } $ $ here onwards, " filter " shall mean a linear time - invariant filter whose impulse response satisfies ( 2 ). the cauchy - schwarz inequality provides an answer to this question. we have $ $ y ( t _ 0 ) = \ int _ { - \ infty } ^ \ infty s ( t _ 0 - t ) h ( t ) \, \ mathrm dt \ leq \ sqrt { \ int _ { - \ infty } ^ \ infty | s ( t _ 0 - t ) | ^ 2 \, \ mathrm dt } \ sqrt { \ int _ { - \ infty } ^ \ infty


| h ( t ) | ^ 2 \, \ mathrm dt } = \ mathbb e $ $ with equality occurring if $ h ( t ) = \ lambda s ( t _ 0 - t ) $ with $ \ lambda > 0 $ where from ( 2 ) we get that $ \ lambda = 1 $, that is, the filter with impulse response $ h ( t ) = s ( t _ 0 - t ) $ produces the maximal response $ y ( t _ 0 ) = \ mathbb e $ at the specified time $ t _ 0 $. in the ( non - stochastic ) sense described above, this filter is said to be the filter matched to $ s ( t ) $ at time $ t _ 0 $ or the matched filter for $ s ( t ) $ at time $ t _ 0. $ there are several points worth noting about this result. the output of the matched filter has a unique global maximum value of $ \ mathbb e $ at $ t _ 0 $ ; for any other $ t $, we have $ y ( t ) < y ( t _ 0 ) = \ mathbb e $. the impulse response $ s ( t _ 0 - t ) = s ( - ( t - t _ 0 ) ) $ of the matched filter for time $ t _ 0 $ is just $ s ( t ) $ " reversed in time " and moved to the right by $ t _ 0 $. a. if $ s ( t ) $ has finite support, say, $ [ 0, t ] $, then the matched filter is noncausal if $ t _ 0 < t $. b. the filter matched to $ s ( t ) $ at time $ t _ 1 > t _ 0 $ is just the filter matched at time $ t _ 0 $ with an additional delay of $ t _ 1 - t _ 0 $. for this reason, some people call the filter with impulse response $ s ( - t ) $, ( that is, the filter matched to $ s ( t ) $ at $ t = 0 $ ) the matched filter for $ s ( t ) $ with the understanding that the exact time of match can be incorporated into the discussion as and when needed. if $ s ( t ) = 0 $ for $ t < 0 $, then the matched filter is noncausal. with this, we can rephrase 1. as the matched filter for $ s ( t ) $ produces a unique global maximum value $ y


( 0 ) = \ mathbb e $ at time $ t = 0 $. furthermore, $ $ y ( t ) = \ int _ { - \ infty } ^ \ infty s ( t - \ tau ) s ( - \ tau ) \, \ mathrm d \ tau = \ int _ { - \ infty } ^ \ infty s ( \ tau - t ) s ( \ tau ) \, \ mathrm d \ tau = r _ s ( t ) $ $ is the autocorrelation function of the signal $ s ( t ) $. it is well - known, of course, that $ r _ s ( t ) $ is an even function of $ t $ with a unique peak at the origin. note that the output of the filter matched at time $ t _ 0 $ is just $ r _ s ( t - t _ 0 ) $, the autocorrelation function delayed to peak at time $ t _ 0 $. no filter other than the matched filter for time $ t _ 0 $ can produce an output as large as $ \ mathbb e $ at $ t _ 0 $. however, for any $ t _ 0 $, it is possible to find filters that have outputs that exceed $ r _ s ( t _ 0 ) $ at $ t _ 0 $. note that $ r _ s ( t _ 0 ) < \ mathbb e $. the transfer function of the matched filter is $ h ( f ) = s ^ * ( f ) $, the complex conjugate of the spectrum of $ s ( f ) $. thus, $ y ( f ) = \ mathfrak f [ y ( t ) ] = | s ( f ) | ^ 2 $. think of this result as follows. since $ x ^ 2 > x $ for $ x > 1 $ and $ x ^ 2 < x $ for $ 0 < x < 1 $, the matched filter has low gain at those frequencies where $ s ( f ) $ is small, and high gain at those frequencies where $ s ( f ) $ is large. thus, the matched filter is reducing the weak spectral components and enhancing the strong spectral components in $ s ( f ) $. ( it is also doing phase compensation to adjust all the " sinusoids " so that they all peak at $ t = 0 $ ). but what about noise and snr and stuff like that which is what the op was asking about? if the


signal $ s ( t ) $ plus additive white gaussian noise with two - sided power spectral density $ \ frac { n _ 0 } { 2 } $ is processed through a filter with impulse response $ h ( t ) $, then the output noise process is a zero - mean stationary gaussian process with autocorrelation function $ \ frac { n _ 0 } { 2 } r _ h ( t ) $. thus, the variance is $ $ \ sigma ^ 2 = \ frac { n _ 0 } { 2 } r _ h ( 0 ) = \ frac { n _ 0 } { 2 } \ int _ { - \ infty } ^ { \ infty } | h ( t ) | ^ 2 \, \ mathrm dt. $ $ it is important to note that the variance is the same regardless of when we sample the filter output. so, what choice of $ h ( t ) $ will maximize the snr $ y ( t _ 0 ) / \ sigma $ at time $ t _ 0 $? well, from the cauchy - schwarz inequality, we have $ $ \ text { snr } = \ frac { y ( t _ 0 ) } { \ sigma } = \ frac { \ int _ { - \ infty } ^ \ infty s ( t _ 0 - t ) h ( t ) \, \ mathrm dt } { \ sqrt { \ frac { n _ 0 } { 2 } \ int _ { - \ infty } ^ \ infty | h ( t ) | ^ 2 \, \ mathrm dt } } \ leq \ frac { \ sqrt { \ int _ { - \ infty } ^ \ infty | s ( t _ 0 - t ) | ^ 2 \, \ mathrm dt } \ sqrt { \ int _ { - \ infty } ^ \ infty | h ( t ) | ^ 2 \, \ mathrm dt } } { \ sqrt { \ frac { n _ 0 } { 2 } \ int _ { - \ infty } ^ \ infty | h ( t ) | ^ 2 \, \ mathrm dt } } = \ sqrt { \ frac { 2 \ mathbb e } { n _ 0 } } $ $ with equality exactly when $ h ( t ) = s ( t _ 0 - t ) $


, the filter that is matched to $ s ( t ) $ at time $ t _ 0 $!! note that $ \ sigma ^ 2 = \ mathbb en _ 0 / 2 $. if we use this matched filter for our desired sample time, then at other times $ t _ 1 $, the snr will be $ y ( t _ 1 ) / \ sigma < y ( t _ 0 ) / \ sigma = \ sqrt { \ frac { 2 \ mathbb e } { n _ 0 } } $. could another filter give a larger snr at time $ t _ 1 $? sure, because $ \ sigma $ is the same for all filters under consideration, and we have noted above that it is possible to have a signal output larger than $ y ( t _ 1 ) $ at time $ t _ 1 $ by use of a different non - matched filter. in short, " does the matched filter maximize the snr only at the sampling instant, or everywhere? " has the answer that the snr is maximized only at the sampling instant $ t _ 0 $. at other times, other filters could give a larger snr than what the matched filter is providing at time $ t _ 1 $, but this still smaller than the snr $ \ sqrt { \ frac { 2 \ mathbb e } { n _ 0 } } $ that the matched filter is giving you at $ t _ 0 $, and if desired, the matched filter could be redesigned to produce its peak at time $ t _ 1 $ instead of at time $ t _ 0. $ " why not make a filter that makes a really tall skinny spike at the point of decision. wouldn't that make the snr even better? " the matched filter does produce a spike of sorts at the sampling time but it is constrained by the shape of the autocorrelation function. any other filter that you can devise to produce a tall skinny ( time - domain ) spike is not a matched filter and so will not give you the largest possible snr. note that increasing the amplitude of the filter impulse response ( or using a time - varying filter that boosts the gain at the time of sampling ) does not change the snr since both the signal and the noise standard deviation increase proportionately. " the i & d will basically ramp up until it gets to the sampling time and the idea is that one samples at the peak of the i & d because at that point, the snr is a


maximum. " for nrz data and rectangular pulses, the matched filter impulse response is also a rectangular pulse. the integrate - and - dump circuit is a correlator whose output equals the matched filter output only at the sampling instants, and not in - between. see the figure below. if you sample the correlator output at other times, you get noise with smaller variance but you can't simply add up the samples of i & d output taken at different times because the noise variables are highly correlated, and the net variance works out to be much larger. nor should you expect to be able to take multiple samples from the matched filter output and combine them in any way to get a better snr. it doesn't work. what you have in effect is a different filter, and you cannot do better than the ( linear ) matched filter in gaussian noise ; no nonlinear processing will give a smaller error probability than the matched fiter.


a quick and general answers without mathematical abstractions. there are several options to impose boundary conditions, e. g. strictly speaking the galerkin method requires that you choose a set of basis functions which satisfy the bc of the problem ( e. g. via basis recombination and / or splitting of the approximation $ u _ h = u _ 0 + u _ n $ wit $ u _ 0 $ responsible for inhomogenous solutions and $ u _ n $ a partial sum which relies on basis functions which satisfies the homogenous conditions ) penalty methods / lagrange multiplies where one essentially add a penalty term which incorporated the boundary condition, e. g. $ a + \ tau \ cdot b = b + \ tau \ cdot b _ p $ where $ b $ is a matrix responsible for the discrete boundary condition and $ b _ p $ is responsible for inhomogenous terms. in the limit $ \ tau \ to \ infty $ the conditions is strongly imposed and otherwise it is weakly imposed. choice of $ \ tau $ affects conditioning of the system. tau method where a number of equations are exchanged ( modification of rows in galerkin system ) with discrete versions of boundary conditions which is then enforced explicitly. note : one option is also to make the systems overdetermined with additional boundary conditions. before discretization ( ritz method ) rewrite galerkin formulation via gauss divergence theorem to transform volume integrals to boundary integrals and then incorporate ( exact or approximately ) boundary conditions directly in formulation before discretization. finally, by exploiting connection between nodal / modal expansions it is also possible to derive a nodal galerkin method where the solution to the system is the coefficients of a lagrange basis rather than a modal basis.


this is a well - framed question and a very useful thing to understand. korrok is correct to refer you to von neumann analysis and leveque's book. i can add a bit more to that. i'd like to write a detailed answer, but at the moment i only have time for a short one : with $ \ alpha = \ beta = 1 / 2 $, you get a method that is absolutely stable for arbitrarily large step sizes, as well as second - order accurate. however, the method is not l - stable, so very high frequencies will not be damped, which is unphysical. with $ \ alpha = \ beta = 1 $, you get a method that is also unconditionally stable, but only 1st - order accurate. this method is very dissipative. it is l - stable. if you take $ \ alpha \ ne \ beta $, your method can be understood as applying an additive runge - kutta method to the centered - difference semi - discretization. the stability and accuracy analysis for such methods is considerably more complicated. a very nice paper on such methods is here. which approach to recommend depends strongly on the magnitude of $ d $, the kind of initial data you deal with, and the accuracy you seek. if very low accuracy is acceptable, then $ \ alpha = \ beta = 1 $ is a very robust approach. if $ d $ is moderate or large, then the problem is diffusion - dominated and very stiff ; typically $ \ alpha = \ beta = 1 / 2 $ will give good results. if $ d $ is very small, then it may be advantageous to use an explicit method and higher - order upwinding for the convective terms.


first, to dispel a possible cognitive dissonance : reasoning about infinite structures is not a problem, we do it all the time. as long as the structure is finitely describable, that's not a problem. here are a few common types of infinite structures : languages ( sets of strings over some alphabet, which may be finite ) ; tree languages ( sets of trees over some alphabet ) ; execution traces of a non - deterministic system ; real numbers ; sets of integers ; sets of functions from integers to integers ; … coinductivity as the largest fixpoint where inductive definitions build a structure from elementary building blocks, coinductive definitions shape structures from how they can be deconstructed. for example, the type of lists whose elements are in a set a is defined as follows in coq : inductive list ( a : set ) : set : = | nil : list a | cons : a - > list a - > list a. informally, the list type is the smallest type that contains all values built from the nil and cons constructors, with the axiom that $ \ forall x \, y, \ : \ mathtt { nil } \ ne \ mathtt { cons } \ : x \ : y $. conversely, we can define the largest type that contains all values built from these constructors, keeping the discrimination axiom : coinductive colist ( a : set ) : set : = | conil : colist a | cocons : a - > colist a - > colist a. list is isomorphic to a subset of colist. in addition, colist contains infinite lists : lists with cocons upon cocons. cofixpoint flipflop : colist : = cocons 1 ( cocons 2 flipflop ). cofixpoint from ( n : ) : colist : = cocons n ( from ( 1 + n ) ). flipflop is the infinite ( circular list ) $ 1 : : 2 : : 1 : : 2 : : \ ldots $ ; from 0 is the infinite list of natural numbers $ 0 : : 1 : : 2 : : \ ldots $. a recursive definition is well - formed if the result is built from smaller blocks : recursive calls must work on smaller inputs. a corecursive definition is well - formed if the result builds larger objects. induction looks at constructors,


coinduction looks at destructors. note how the duality not only changes smaller to larger but also inputs to outputs. for example, the reason the flipflop and from definitions above are well - formed is that the corecursive call is guarded by a call to the cocons constructor in both cases. where statements about inductive objects have inductive proofs, statements about coinductive objects have coinductive proofs. for example, let's define the infinite predicate on colists ; intuitively, the infinite colists are the ones that don't end with conil. coinductive infinite a : colist a - > prop : = | inf : forall x l, infinite l - > infinite ( cocons x l ). to prove that colists of the form from n are infinite, we can reason by coinduction. from n is equal to cocons n ( from ( 1 + n ) ). this shows that from n is larger than from ( 1 + n ), which is infinite by the coinduction hypothesis, hence from n is infinite. bisimilarity, a coinductive property coinduction as a proof technique also applies to finitary objects. intuitively speaking, inductive proofs about an object are based on how the object is built. coinductive proofs are based on how the object can be decomposed. when studying deterministic systems, it is common to define equivalence through inductive rules : two systems are equivalent if you can get from one to the other by a series of transformations. such definitions tend to fail to capture the many different ways non - deterministic systems can end up having the same ( observable ) behavior in spite of having different internal structure. ( coinduction is also useful to describe non - terminating systems, even when they're deterministic, but this isn't what i'll focus on here. ) nondeterministic systems such as concurrent systems are often modeled by labeled transition systems. an lts is a directed graph in which the edges are labeled. each edge represents a possible transition of the system. a trace of an lts is the sequence of edge labels over a path in the graph. two lts can behave identically, in that they have the same possible traces, even if their internal structure is different. graph isomorphism is too strong to define their equivalence. instead, an lts $ \ mathscr { a } $ is said to simulate another


lts $ \ mathscr { b } $ if every transition of the second lts admits a corresponding transition in the first. formally, let $ s $ be the disjoint union of the states of the two lts, $ l $ the ( common ) set of labels and $ \ rightarrow $ the transition relation. the relation $ r \ subseteq s \ times s $ is a simulation if $ $ \ forall ( p, q ) \ in r, % \ forall p'\ in s, \ forall \ alpha \ in l, \ text { if } p \ stackrel \ alpha \ rightarrow p'\ text { then } \ exists q ', \ ; q \ stackrel \ alpha \ rightarrow q'\ text { and } ( p ', q') \ in r $ $ $ \ mathscr { a } $ simulates $ \ mathscr { b } $ if there is a simulation in which all the states of $ \ mathscr { b } $ are related to a state in $ \ mathscr { a } $. if $ r $ is a simulation in both directions, it is called a bisimulation. simulation is a coinductive property : any observation on one side must have a match on the other side. there are potentially many bisimulations in an lts. different bisimulations might identify different states. given two bisimulations $ r _ 1 $ and $ r _ 2 $, the relation given by taking the union of the relation graphs $ r _ 1 \ cup r _ 2 $ is itself a bisimulation, since related states give rise to related states for both relations. ( this holds for infinite unions as well. the empty relation is an unintersting bisimulation, as is the identity relation. ) in particular, the union of all bisimulations is itself a bisimulation, called bisimilarity. bisimilarity is the coarsest way to observe a system that does not distinguish between distinct states. bisimilarity is a coinductive property. it can be defined as the largest fixpoint of an operator : it is the largest relation which, when extended to identify equivalent states, remains the same. references coq and the calculus of inductive constructions yves bertot and pierre casteran. interactive theorem proving and program development — coq'art : the calculus of inductive constructions. springer, 2004


. ch. 13. [ website ] [ amazon ] eduardo gimenez. an application of co - inductive types in coq : verification of the alternating bit protocol. in workshop on types for proofs and programs, number 1158 in lecture notes in computer science, pages 135 – 152. springer - verlag, 1995. [ google books ] eduardo gimenez and pierre casteran. a tutorial on [ co - ] inductive types in coq. 2007. [ pdf ] labeled transition systems and bisimulations robin milner. communication and concurrency. prentice hall, 1989. davide sangiorgi. on the origins of bisimulation and coinduction. acm transactions on programming languages and systems ( toplas ), volume 31 issue 4, may 2009. [ pdf ] [ acm ] associated course slides : [ pdf ] [ citeseer ] davide sangiorgi. the pi - calculus : a theory of mobile processes. cambridge university press, 2003. [ amazon ] more references suggested by anton trunov a chapter in certified programming with dependent types by a. chlipala d. sangiorgi. " introduction to bisimulation and coinduction ". 2011. [ pdf ] d. sangiorgi and j. rutten. advanced topics in bisimulation and coinduction. cambridge university press, 2012. [ cup ]


what i'd go with is essentially jason r's " random resampler ", which in turn is a presampled - signal based implementation of yoda's stochastic sampling. i've used simple cubic interpolation to one random point between each two samples. for a primitive synth sound ( decaying from a saturated non - bandlimited square - like signal + even harmonics to a sine ) it looks like this : let's compare it to a higher - sampled version, and the weird one with the same samplerate but no interpolation. notable artifact of this method is the overshoot in the square - like domain, but this is actually what the pdf of the sinc - filtered signal ( as i said, my signal is not bandlimited ) would also look like and represents the perceived loudness much better than the peaks, if this were an audio signal. code ( haskell ) : cubinterpolate vll vl v vr vrr vrrr x = v * lspline x + vr * rspline x + ( ( vr - vl ) - ( vrr - vll ) / 4 ) * ldspline x + ( ( vrr - v ) - ( vrrr - vl ) / 4 ) * rdspline x where lspline x = rspline ( 1 - x ) rspline x = x * x * ( 3 - 2 * x ) ldspline x = x * ( 1 + x * ( x - 2 ) ) rdspline x = - ldspline ( 1 - x ) - - rand list in samples out samples stochasticantialias : : [ double ] - > [ double ] - > [ double ] stochasticantialias rs ( lsll : lsl : lsc : lsr : lsrr : [ ] ) = [ ] stochasticantialias ( r : rlst ) ( lsll : lsl : lsc : lsr : lsrr : lsrrr : t ) = ( cubinterpolate lsll lsl lsc lsr lsrr lsrrr r ) : stochasticantialias rlst ( lsll : lsl : lsc : lsr : lsrr : lsrrr : t ) rand list is a list of random variables in range [ 0, 1 ].


i we did the experiment. ( early results indicate that dipping may win, though the final conclusion remains uncertain. ) $ \ mathrm { h _ 2o } $ ice bath canning jar thermometer pot of boiling water stop watch there were four trials, each lasting 10 minutes. boiling water was poured into the canning jar, and the spoon was taken from the ice bath and placed into the jar. a temperature reading was taken once every minute. after each trial the water was poured back into the pot of boiling water and the spoon was placed back into the ice bath. method : final temp. 1. no spoon 151 f 2. spoon in, no motion 149 f 3. spoon stirring 147 f 4. spoon dipping 143 f temperature readings have an uncertainty of $ \ pm1 \, \ mathrm { ^ \ circ f } $. red line : no spoon green line : spoon in, no motion aqua line : stirring blue line : dipping $ $ \ begin { array } { | c | cl | cl | cl | cl | } \ hline \ text { min } & \ text { no spoon } & & \ text { spoon } & & \ text { stirring } & & \ text { dipping } \ \ \ hline & \ text { °f } & \ text { °c } & \ text { °f } & \ text { °c } & \ text { °f } & \ text { °c } & \ text { °f } & \ text { °c } \ \ \ hline 1'& 180 & 82. 22 & 175 & 79. 44 & 175 & 79. 44 & 177 & 80. 56 \ \ 2'& 174 & 78. 89 & 172 & 77. 78 & 171 & 77. 22 & 173 & 78. 33 \ \ 3'& 171 & 77. 22 & 168 & 75. 56 & 167 & 75 & 168 & 75. 56 \ \ 4'& 168 & 75. 56 & 165 & 73. 89 & 164 & 73. 33 & 164 & 73. 33 \ \ 5'& 164 & 73. 33 & 162 & 72. 22 & 161 & 71. 67 & 160 & 71. 11 \ \ 6'& 161 & 71. 67 & 160 & 71. 11 & 158 & 70 & 156 & 68. 89 \ \ 7'& 158 & 70 & 156 & 68. 89 & 155 & 68. 33 & 152 & 66. 67 \ \ 8'& 155 & 68. 33 & 153 & 67. 22 &


152 & 66. 67 & 149 & 65 \ \ 9'& 153 & 67. 22 & 151 & 66. 11 & 150 & 65. 56 & 146 & 63. 33 \ \ 10'& 151 & 66. 11 & 149 & 65 & 147 & 63. 89 & 143 & 61. 67 \ \ \ hline \ end { array } $ $


given an image $ i ( m, n ) $ with $ m, n $ integers, the interpolation of that image at any arbitrary point $ m ', n'$ can be written as $ $ \ tilde { i } ( m ', n') = \ sum _ { m = \ left \ lfloor m'\ right \ rfloor - w + 1 } ^ { \ left \ lfloor m'\ right \ rfloor + w } \ \ sum _ { n = \ left \ lfloor n'\ right \ rfloor - w + 1 } ^ { \ left \ lfloor n'\ right \ rfloor + w } i ( m, n ) \ f ( m'- m, n'- n ) $ $ the result $ \ tilde { i } $ is still only an approximation to the true underlying continuous image $ \ mathcal { i } ( x, y ) $ and all that different interpolating functions do is to minimize the approximation error under different constraints and goals. in signal processing, you'd like the interpolating function $ f ( m, n ) $ to be the ideal low - pass filter. however, its frequency response requires infinite support and is useful only for bandlimited signals. most images are not bandlimited and in image processing there are other factors to consider ( such as how the eye interprets images. what's mathematically optimal might not be visually appealing ). the choice of an interpolating function, much like window functions, depends very much on the specific problem at hand. i have not heard of connes, welch and parzen ( perhaps they're domain specific ), but the others should be the 2 - d equivalents of the mathematical functions for a 1 - d window given in the wikipedia link above. just as with window functions for temporal signals, it is easy to get a gist of what an image interpolating kernel does by looking at its frequency response. from my answer on window functions : the two primary factors that describe a window function are : width of the main lobe ( i. e., at what frequency bin is the power half that of the maximum response ) attenuation of the side lobes ( i. e., how far away down are the side lobes from the mainlobe ). this tells you about the spectral leakage in the window. this pretty much holds true for interpolation kernels. the


choice is basically a trade - off between frequency filtering ( attenuation of sidelobes ), spatial localization ( width of mainlobe ) and reducing other effects such as ringing ( gibbs effect ), aliasing, blurring, etc. for example, a kernel with oscillations such as the sinc kernel and the lanczos4 kernel will introduce " ringing " in the image, whereas a gaussian resampling will not introduce ringing. here's a simplified example in mathematica that let's you see the effects of different interpolating functions : true = exampledata [ { " testimage ", " lena " } ] ; resampling = { " nearest ", " bilinear ", " biquadratic ", " bicubic ", " gaussian ", " lanczos ", " cosine ", " hamming ", " hann ", " blackman ", " bartlett ", " connes ", " welch ", " parzen ", " kaiser " } ; small = imageresize [ true, scaled [ 1 / 4 ] ] ; here, true represents the image which i assume to be the discrete equivalent of the " exact " image $ \ mathcal { i } ( x, y ) $, and small represents a smaller scale image $ i ( m, n ) $ ( we don't know how it was obtained ). we'll interpolate $ i ( m, n ) $ by 4x to give $ \ tilde { i } ( m ', n') $ which is the same size as the original. below, i show the results of this interpolation and a comparison with the true image : you can see for yourself that different interpolating functions have different effects. nearest and a few others have very coarse features and you can essentially see jagged lines ( see full sized image, not the grid display ). bicubic, biquadratic and parzen overcome this but introduce a lot of blurring. of all the kernels, lanczos seems ( visually ) to be the most appealing and one that does the best job of the lot. i'll try to expand upon this answer and provide more intuitive examples demonstrating the differences when i have the time. you might want to read this pretty easy and informative article that i found on the web ( pdf warning ).


new addition : a big list of freely available online courses on algebraic geometry, from introduction to advanced topics, has been compiled in this other answer. and a digression on motivation for studying the subject along with a self - learning guide of books is in this new answer. there are other similar questions, above all asking for references for self - studying, whose answers may be helpful : ( undergraduate ) algebraic geometry textbook recomendations. reference for algebraic geometry. best algebraic geometry text book? ( other than hartshorne ). my personal recommendation is that you start and get your motivation in the following freely available notes. they are extremely instructive, from the very basics of complex algebraic curves up to schemes and intersection theory with grothendieck - riemann - roch, and prove of some of the theorems i mention below. they are excellent for self - study mixing rigor with many pictures! ( sadly, something quite unusual among ag references ) : matt kerr - lecture notes algebraic geometry iii / iv, washington university in st. louis. andreas gathmann - class notes : algebraic geometry, university of kaiserslautern. for a powerful, long and abstract course, suitable for self - study, these notes have become famous : ravi vakil - foundations of algebraic geometry, stanford university. also, there are many wonderful lecture videos for complete courses on elementary algebraic geometry, algebraic surfaces and beyond, by the one old master : miles reid - lecture courses on video ( wcu project at sogang university ), where you can really start at a slow pace ( following his undergraduate textbook ) to get up to the surface classification theorem. now, algebraic geometry is one of the oldest, deepest, broadest and most active subjects in mathematics with connections to almost all other branches in either a very direct or subtle way. the main motivation started with pierre de fermat and rene descartes who realized that to study geometry one could work with algebraic equations instead of drawings and pictures ( which is now fundamental to work with higher dimensional objects, since intuition fails there ). the most basic equations one could imagine to start studying were polynomials on the coordinates of your plane or space, or in a number field in general, as they are the most basic constructions from the elementary arithmetic operations. equations of first order, i. e. linear polynomials, are the straight lines, planes, linear subspaces and hyperplanes. equations of second order turned out to comprise all the classical conic sections ; in fact the conics classification in the


affine, euclidean and projective cases ( over the real and complex numbers ) is the first actual algebraic geometry problem that every student is introduced to : the classification of all possible canonical forms of polynomials of degree 2 ( either under affine transformations or isometries in variables $ ( x, y ) $, or projective transformations in homogeneous variables $ [ x : y : z ] $ ). thus the basic plane curves over the real numbers can be studied by the algebraic properties of polynomials. working over the complex numbers is actually more natural, as it is the algebraic closure of the reals and so it simplifies a lot the study tying together the whole subject, thanks to elementary things like the fundamental theorem of algebra and the hilbert nullstellensatz. besides, working within projective varieties, enlarging our ambient space with the points at infinity, also helps since then we are dealing with topologically compact objects and pathological results disappear, e. g. all curves intersect at least at a point, giving the beautiful bezout's theorem. from a purely practical point of view, one has to realize that all other analytic non - polynomial functions can be approximated by polynomials ( e. g. by truncating the series ), which is actually what calculators and computers do when computing trigonometric functions for example. so when any software plots a transcendental surface ( or manifold ), it is actually displaying a polynomial approximation ( an algebraic variety ). so the study of algebraic geometry in the applied and computational sense is fundamental for the rest of geometry. from a pure mathematics perspective, the case of projective complex algebraic geometry is of central importance. this is because of several results, like lefschetz's principle by which doing ( algebraic ) geometry over an algebraically closed field of characteristic $ 0 $ is essentially equivalent to doing it over the complex numbers ; furthermore, chow's theorem guarantees that all projective complex manifolds are actually algebraic, meaning that differential geometry deals with the same objects as algebraic geometry in that case, i. e. complex projective manifolds are given by the zero locus of a finite number of homogeneous polynomials! this was strengthened by jean - pierre serre's gaga theorems, which unified and equated the study of analytic geometry with algebraic geometry in a very general setting. besides, in the case of projective complex algebraic curves one is actually working with compact orientable real surfaces ( since these always admit a holomorphic structure ), therefore unifying the theory of compact riemann


surfaces of complex analysis with the differential geometry of real surfaces, the algebraic topology of 2 - manifolds and the algebraic geometry of algebraic curves! here one finds wonderful relations and deep results like all the consequences of the concept of degree, index and curvature, linking together the milestone theorems of gauß - bonnet, poincare - hopf and riemann - roch theorem! in fact the principal classification of algebraic curves is given in terms of their genus which is an invariant proved to be the same in the different perspectives : the topological genus of number of doughnut holes, the arithmetic genus of the hilbert polynomial of the algebraic curve and the geometric genus as the number of independent holomorphic differential 2 - forms over the riemann surface. analogously, the study of real 4 - manifolds in differential geometry and differential topology is of central importance in mathematics per se but also in theoretical and mathematical physics, for example in gauge theory, so the study of complex algebraic surfaces gives results and provides tools. the full birational classification of algebraic surfaces was worked out decades ago in the kodaira - enriques theorem and served as a starting point to mori's minimal model program to birationally classify all higher - dimensional ( projective ) complex algebraic varieties. a fundamental difference with other types of geometry is the presence of singularities, which play a very important role in algebraic geometry as many of the obstacles are due to them, but the fundamental hironaka's resolution theorem guarantees that, at least in characteristic zero, varieties always have a smooth birational model. also the construction and study of moduli spaces of types of geometric objects is a very important topic ( e. g. deligne - mumford construction ), since the space of all such objects is often an algebraic - geometric object itself. there are also many interesting problems and results in enumerative geometry and intersection theory, starting from the classic and amazing cayley - salmon theorem that all smooth cubic surfaces defined over an algebraic closed field contain exactly 27 straight lines, the thom - porteus formula for degeneracy loci, schubert calculus up to modern quantum cohomology with kontsevich's and elsv formulas ; torelli's theorem on the reconstruction of algebraic curves from their jacobian variety, and finally the cornerstone ( grothendieck ) - hirzebruch - riemann - roch theorem computing the number of independent global sections of vector bundles, actually their euler - poincare characteristics, by the intersection


numbers of generic zero loci of characteristic classes over the variety. besides all this, since the foundational immense work of alexandre grothendieck, the subject has got very solid and abstract foundations so powerful to fuse algebraic geometry with number theory, as many were hoping before. thus, the abstract algebraic geometry of sheaves and schemes plays nowadays a fundamental role in algebraic number theory disguised as arithmetic geometry. wondeful results in diophantine geometry like faltings theorem and mordell - weil theorem made use of all these advances, along with the famous proof of wiles of fermat's last theorem. the development of abstract algebraic geometry was more or less motivated to solve the remarkable weil conjectures relating the number of solutions of polynomials over finite number fields to the geometry of the complex variety defined by the same polynomials. for this, tremendous machinery was worked out, like etale cohomology. also, trying to apply complex geometry constructions to arithmetic has led to arakelov geometry and the arithmetic grothendieck - riemann - roch among other results. related to arithmetic geometry, thanks to schemes, there has emerged a new subject of arithmetic topology, where properties of the prime numbers and algebraic number theory have relationships and dualities with the theory of knots, links and 3 - dimensional manifolds! this is a very mysterious and interesting new topic, since knots and links also appear in theoretical physics ( e. g. topological quantum field theories ). also, anabelian geometry interestingly has led the way to studies on the relationships between the topological fundamental group of algebraic varieties and the galois groups of arithmetic number field extensions. so, mathematicians study algebraic geometry because it is at the core of many subjects, serving as a bridge between seemingly different disciplines : from geometry and topology to complex analysis and number theory. since in the end, any mathematical subject works within specified algebras, studying the geometry those algebras define is a useful tool and interesting endeavor in itself. in fact, the requirement of being commutative algebras has been dropped since the work of alain connes and the whole'new'subject of noncommmutative geometry has flourished, in analytic and algebraic styles, to try to complete the geometrization of mathematics. on the other hand it attempts to give a quantum counterpart to classical geometries, something of extreme interest in fundamental physics ( complex algebraic geometry and noncommutative geometry appear almost necessarily in one way or another in any attempt to unify the fundamental forces with gravity,


i. e. quantum field theory with general relativity ; even abstract and categorical algebraic geometry play a role in topics like homological mirror symmetry and quantum cohomology, which originated in physics ). therefore, the kind of problems mathematicians try to solve in algebraic geometry are related to much of everything else, mostly : anything related to the classification ( as fine as possible ) of algebraic varieties ( and schemes, maybe someday ), their invariants, singularities, deformations and moduli spaces, intersections, their topology and differential geometry, and framing arithmetic problems in terms of geometry. there are many interesting open problems : birational minimal model program for all varieties, hodge conjecture, jacobian conjecture, hartshorne's conjecture, general griffiths conjecture, fujita's conjecture, linearization and cancelation conjectures, coolidge - nagata conjecture, resolution of singularities in nonzero characteristic, grothendieck's standard conjectures on algebraic cycles, grothendieck's anabelian section conjecture, classification of vector bundles over projective spaces, unirationality of moduli spaces of curves, unirationality of rationally connected varieties, full rigorous formalization of mirror symmetry and quantum cohomology, full theory of a universal cohomology and mixed motives ( e. g. voevodsky vanishing conjecture ). in my personal case, i started as a theoretical physicists but switched completely to pure mathematics because of algebraic geometry, and i also began by self - learning. it is a very deep subject with connections to almost everything else, once one has learned enough to realize that. it is also a very demanding field because of the tremendous background one has to master, in commutative and homological algebra for example, before being able to get to the most modern and interesting results. the effort nevertheless pays off! in fact, the route through commutative algebra actually paves the way not only to algebraic geometry but to algebraic number theory and arithmetic geometry. i had a strong background in differential geometry so i arrived at algebraic geometry through complex ( kahler ) geometry, and ended up fascinated by even the most abstract incarnations of it. " algebraic geometry seems to have acquired the reputation of being esoteric, exclusive, and very abstract, with adherents who are secretly plotting to take over all the rest of mathematics. in one respect this last point is accurate... " - david mumford. so the question could be instead " why not study algebraic geometry!? " i hope this answer


motivates you enough to dive into this deep ocean of the mathematical world and to corroborate it yourself. best luck!


consider the following : clam - project. org : clam ( c + + library for audio and music ) is a full - fledged software framework for research and application development in the audio and music domain. it offers a conceptual model as well as tools for the analysis, synthesis and processing of audio signals. marf : marf is an open - source research platform and a collection of voice / sound / speech / text and natural language processing ( nlp ) algorithms written in java and arranged into a modular and extensible framework facilitating addition of new algorithms. marf can run distributedly over the network and may act as a library in applications or be used as a source for learning and extension. aubio : aubio is a tool designed for the extraction of annotations from audio signals. its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.


i think that you need a liftover chain file to transform your coordinates. you can obtain such a file using bcftools consensus with the - c parameter : - c, - - chain < file > write a chain file for liftover then you can use it to transform coordinates in various genomic formats using crossmap.


this answer may have a slightly more mathematical bent than you were looking for. the important thing to recognize is that all of these means are simply the arithmetic mean in disguise. the important characteristic in identifying which ( if any! ) of the three common means ( arithmetic, geometric or harmonic ) is the " right " mean is to find the " additive structure " in the question at hand. in other words suppose we're given some abstract quantities $ x _ 1, x _ 2, \ ldots, x _ n $, which i will call " measurements ", somewhat abusing this term below for the sake of consistency. each of these three means can be obtained by ( 1 ) transforming each $ x _ i $ into some $ y _ i $, ( 2 ) taking the arithmetic mean and then ( 3 ) transforming back to the original scale of measurement. arithmetic mean : obviously, we use the " identity " transformation : $ y _ i = x _ i $. so, steps ( 1 ) and ( 3 ) are trivial ( nothing is done ) and $ \ bar x _ { \ mathrm { am } } = \ bar y $. geometric mean : here the additive structure is on the logarithms of the original observations. so, we take $ y _ i = \ log x _ i $ and then to get the gm in step ( 3 ) we convert back via the inverse function of the $ \ log $, i. e., $ \ bar x _ { \ mathrm { gm } } = \ exp ( \ bar { y } ) $. harmonic mean : here the additive structure is on the reciprocals of our observations. so, $ y _ i = 1 / x _ i $, whence $ \ bar x _ { \ mathrm { hm } } = 1 / \ bar { y } $. in physical problems, these often arise through the following process : we have some quantity $ w $ that remains fixed in relation to our measurements $ x _ 1, \ ldots, x _ n $ and some other quantities, say $ z _ 1, \ ldots, z _ n $. now, we play the following game : keep $ w $ and $ z _ 1 + \ cdots + z _ n $ constant and try to find some $ \ bar x $ such that if we replace each of our individual observations $ x _ i $ by $ \ bar x $, then the " total " relationship is still conserved. the distance – velocity


– time example appears to be popular, so let's use it. constant distance, varying times consider a fixed distance traveled $ d $. now suppose we travel this distance $ n $ different times at speeds $ v _ 1, \ ldots, v _ n $, taking times $ t _ 1, \ ldots, t _ n $. we now play our game. suppose we wanted to replace our individual velocities with some fixed velocity $ \ bar v $ such that the total time remains constant. note that we have $ $ d - v _ i t _ i = 0 \ >, $ $ so that $ \ sum _ i ( d - v _ i t _ i ) = 0 $. we want this total relationship ( total time and total distance traveled ) conserved when we replace each of the $ v _ i $ by $ \ bar v $ in our game. hence, $ $ n d - \ bar v \ sum _ i t _ i = 0 \ >, $ $ and since each $ t _ i = d / v _ i $, we get that $ $ \ bar v = \ frac { n } { \ frac { 1 } { v _ 1 } + \ cdots + \ frac { 1 } { v _ n } } = \ bar v _ { \ mathrm { hm } } \ >. $ $ note that the " additive structure " here is with respect to the individual times, and our measurements are inversely related to them, hence the harmonic mean applies. varying distances, constant time now, let's change the situation. suppose that for $ n $ instances we travel a fixed time $ t $ at velocities $ v _ 1, \ ldots, v _ n $ over distances $ d _ 1, \ ldots, d _ n $. now, we want the total distance conserved. we have $ $ d _ i - v _ i t = 0 \ >, $ $ and the total system is conserved if $ \ sum _ i ( d _ i - v _ i t ) = 0 $. playing our game again, we seek a $ \ bar v $ such that $ $ \ sum _ i ( d _ i - \ bar v t ) = 0 \ >, $ $ but, since $ d _ i = v _ i t $, we get that $ $ \ bar v = \ frac { 1 } { n } \ sum _ i v _ i = \


bar v _ { \ mathrm { am } } \ >. $ $ here the additive structure we are trying to maintain is proportional to the measurements we have, so the arithmetic mean applies. equal volume cube suppose we have constructed an $ n $ - dimensional box with a given volume $ v $ and our measurements are the side - lengths of the box. then $ $ v = x _ 1 \ cdot x _ 2 \ cdots x _ n \ >, $ $ and suppose we wanted to construct an $ n $ - dimensional ( hyper ) cube with the same volume. that is, we want to replace our individual side - lengths $ x _ i $ by a common side - length $ \ bar x $. then $ $ v = \ bar x \ cdot \ bar x \ cdots \ bar x = \ bar x ^ n \ >. $ $ this easily indicates that we should take $ \ bar x = ( x _ i \ cdots x _ n ) ^ { 1 / n } = \ bar x _ { \ mathrm { gm } } $. note that the additive structure is in the logarithms, that is, $ \ log v = \ sum _ i \ log x _ i $ and we are trying to conserve the left - hand quantity. new means from old as an exercise, think about what the " natural " mean is in the situation where you let both the distances and times vary in the first example. that is, we have distances $ d _ i $, velocities $ v _ i $ and times $ t _ i $. we want to conserve the total distance and time traveled and find a constant $ \ bar v $ to achieve this. exercise : what is the " natural " mean in this situation?


to my knowledge, yes. a partial list of recently emerged / emerging viral diseases ( i certainly could have missed some ), with probable reservoir hosts : chikungunya * ( birds, rodents ) coronaviruses / sarbecoviruses ( sars [ bats ], mers [ camels ], covid - 19 [?? bats?? pangolins?? ] ) ebola and other filoviruses ( marburg ) : ( bats? ) hantavirus ( rodents ) hendra, nipah ( bats ) ross river virus * ( various mammals ) hiv ( primates ) influenza ( h1n1, avian ) ( birds / pigs ) lassa fever ( rats ) mpox ( formerly monkeypox : monkeys, rodents ) west nile virus * ( birds ) zika * (? " a wide range of animals in west africa " ) starred examples are vector - borne ( so perhaps of slightly lower concern - might not fit your criterion of " capable of causing a global pandemic " ). omitted : older zoonotic viruses ( rabies, dengue, hepatitis,... ) non - viral zoonoses ( malaria, plague, anthrax, tularemia ) a list of zoonoses ; another from us cdc more generally, the only other place an emerging virus could come from would be from mutation or recombination of existing human viruses. i'm not aware of such an example.


solder fumes aren't very good for you. some people can become sensitized to flux fumes, especially from the older rosin flux used in cored solder, and get breathing problems : controlling health risks from rosin ( colophony ) based solder fluxes the no - clean flux isn't as bad. i once felt quite ill after assembling about 30 boards that i had to do myself as my distributor wanted them very quickly. breathing out whilst you are soldering each joint helps a lot, if you don't have fume extraction.


yes. if the datasheet says " fully static operation ", then you can clock it at any speed, even 0 hz. a " dynamic " chip needs to have a clock at a specific rate or it loses its state.


a short summary of the paper mentioned in another answer and another good site. basically planes fly because they push enough air downwards and receive an upwards lift thanks to newton's third law. they do so in a variety of manners, but the most significant contributions are : the angle of attack of the wings, which uses drag to push the air down. this is typical during take off ( think of airplanes going upwards with the nose up ) and landing ( flaps ). this is also how planes fly upside down. the asymmetrical shape of the wings that directs the air passing over them downwards instead of straight behind. this allows planes to fly level to the ground without having a permanent angle on the wings. explanations showing a wing profile without an angle of attack are incorrect. airplane wings are attached at an angle so they push the air down, and the airfoil shape lets them do so efficiently and in a stable configuration. this incidence means that even when the airplane is at zero degrees, the wing is still at the 5 or 10 degree angle. - - what is the most common degree for the angle of attack in 747's, 757's, and 767's any object with an angle of attack in a moving fluid, such as a flat plate, a building, or the deck of a bridge, will generate an aerodynamic force ( called lift ) perpendicular to the flow. airfoils are more efficient lifting shapes, able to generate more lift ( up to a point ), and to generate lift with less drag. - - airfoil


researchers from the national physical laboratory ( npl ), in london, in cooperation with partners in2teck ltd and gwent electronic materials ltd, have developed a 3d printable circuit board that separates into individual components when immersed in hot water. the goal of the reuse project was to increase the recyclability of electronic assemblies in order to reduce the ever - increasing amount of electronic waste. source : if that doesn't work, nitric acid will work on just about everything. oh, if you wanted to'roll your own'manufacturing process, you could find a dissolveable material ( maybe a some kind of cellulose? ) and print on it with on of these pcb conductive ink printers : as per edgar browns suggestion, also this idea for dissolving polyimide for flat flex : try a mixture of methanol : thf = 1 : 1, but it will take 1 - 2 days ; the easiest way to dissolve kapton - is to use 0. 1 - 0. 3m naoh in water. by using alkaline solutions you can completely decompose the kapton - down to initial monomers. naoh is lye, i don't know in what concentration you would have to have to get kapton to dissolve but that seems like it would be easy to experiment with.


there's not particularly any " physical " meaning to the convolution operation. the main use of convolution in engineering is in describing the output of a linear, time - invariant ( lti ) system. the input - output behavior of an lti system can be characterized via its impulse response, and the output of an lti system for any input signal $ x ( t ) $ can be expressed as the convolution of the input signal with the system's impulse response. namely, if the signal $ x ( t ) $ is applied to an lti system with impulse response $ h ( t ) $, then the output signal is : $ $ y ( t ) = x ( t ) * h ( t ) = \ int _ { - \ infty } ^ { \ infty } x ( \ tau ) h ( t - \ tau ) d \ tau $ $ like i said, there's not much of a physical interpretation, but you can think of a convolution qualitatively as " smearing " the energy present in $ x ( t ) $ out in time in some way, dependent upon the shape of the impulse response $ h ( t ) $. at an engineering level ( rigorous mathematicians wouldn't approve ), you can get some insight by looking more closely at the structure of the integrand itself. you can think of the output $ y ( t ) $ as the sum of an infinite number of copies of the impulse response, each shifted by a slightly different time delay ( $ \ tau $ ) and scaled according to the value of the input signal at the value of $ t $ that corresponds to the delay : $ x ( \ tau ) $. this sort of interpretation is similar to taking discrete - time convolution ( discussed in atul ingle's answer ) to a limit of an infinitesimally - short sample period, which again isn't fully mathematically sound, but makes for a decently intuitive way to visualize the action for a continuous - time system.


keep in mind that ridge regression can't zero out coefficients ; thus, you either end up including all the coefficients in the model, or none of them. in contrast, the lasso does both parameter shrinkage and variable selection automatically. if some of your covariates are highly correlated, you may want to look at the elastic net [ 3 ] instead of the lasso. i'd personally recommend using the non - negative garotte ( nng ) [ 1 ] as it's consistent in terms of estimation and variable selection [ 2 ]. unlike lasso and ridge regression, nng requires an initial estimate that is then shrunk towards the origin. in the original paper, breiman recommends the least - squares solution for the initial estimate ( you may however want to start the search from a ridge regression solution and use something like gcv to select the penalty parameter ). in terms of available software, i've implemented the original nng in matlab ( based on breiman's original fortran code ). you can download it from : btw, if you prefer a bayesian solution, check out [ 4, 5 ]. references : [ 1 ] breiman, l. better subset regression using the nonnegative garrote technometrics, 1995, 37, 373 - 384 [ 2 ] yuan, m. & lin, y. on the non - negative garrotte estimator journal of the royal statistical society ( series b ), 2007, 69, 143 - 161 [ 3 ] zou, h. & hastie, t. regularization and variable selection via the elastic net journal of the royal statistical society ( series b ), 2005, 67, 301 - 320 [ 4 ] park, t. & casella, g. the bayesian lasso journal of the american statistical association, 2008, 103, 681 - 686 [ 5 ] kyung, m. ; gill, j. ; ghosh, m. & casella, g. penalized regression, standard errors, and bayesian lassos bayesian analysis, 2010, 5, 369 - 412


here is a partial and positive result, valid around the " triple point " $ a = b = c = \ frac13 \ mathbb 1 $. let $ a, b, c \ in m _ n ( \ mathbb c ) $ be hermitian satisfying $ a + b + c = \ mathbb 1 $, and additionally assume that $ $ \ | a - \ tfrac13 \ mathbb 1 \ | \,, \, \ | b - \ tfrac13 \ mathbb 1 \ | \,, \, \ | c - \ tfrac13 \ mathbb 1 \ | \ : \ leqslant \ : \ tfrac16 \ tag { 1 } $ $ in the spectral or operator norm. ( in particular, $ a, b, c $ are positive - definite. ) then we have $ $ 6 \ left ( a ^ 3 + b ^ 3 + c ^ 3 \ right ) + \ mathbb 1 \ : \ geqslant \ : 5 \ left ( a ^ 2 + b ^ 2 + c ^ 2 \ right ) \,. \ tag { 2 } $ $ proof : let $ a _ 0 = a - \ frac13 \ mathbb 1 $ a. s. o., then $ a _ 0 + b _ 0 + c _ 0 = 0 $, or $ \, \ sum _ \ text { cyc } a _ 0 = 0 \, $ in notational short form. consider the sum of squares $ $ \ sum _ \ text { cyc } \ big ( a _ 0 + \ tfrac13 \ mathbb 1 \ big ) ^ 2 \ : = \ : \ sum _ \ text { cyc } \ big ( a _ 0 ^ 2 + \ tfrac23 a _ 0 + \ tfrac19 \ mathbb 1 \ big ) \ : = \ : \ sum _ \ text { cyc } a _ 0 ^ 2 \ : + \ : \ tfrac13 \ mathbb 1 $ $ sum of cubes $ $ \ sum _ \ text { cyc } \ big ( a _ 0 + \ tfrac13 \ mathbb 1 \ big ) ^ 3 \ : = \ : \ sum _ \ text { cyc } \ big ( a _ 0 ^ 3 + 3a _ 0 ^ 2 \ cdot \ tfrac13 + 3a _ 0 \ cdot \ tfrac1 { 3 ^


2 } + \ tfrac1 { 3 ^ 3 } \ mathbb 1 \ big ) \ \ \ ; = \ : \ sum _ \ text { cyc } a _ 0 ^ 3 \ : + \ : \ sum _ \ text { cyc } a _ 0 ^ 2 \ : + \ : \ tfrac19 \ mathbb 1 $ $ to obtain $ $ 6 \ sum _ \ text { cyc } \ big ( a _ 0 + \ tfrac13 \ mathbb 1 \ big ) ^ 3 + \ mathbb 1 \ ; - \ ; 5 \ sum _ \ text { cyc } \ big ( a _ 0 + \ tfrac13 \ mathbb 1 \ big ) ^ 2 \ : = \ : \ sum _ \ text { cyc } a _ 0 ^ 2 \, ( \ mathbb 1 + 6a _ 0 ) \ : \ geqslant \ : 0 $ $ where positivity is due to each summand being a product of commuting positive - semidefinite matrices. $ \ quad \ blacktriangle $ two years later observation : in order to conclude $ ( 2 ) $ the additional assumptions $ ( 1 ) $ may be weakened a fair way off to $ $ \ tfrac16 \ mathbb 1 \ : \ leqslant \ : a, b, c \ tag { 3 } $ $ or equivalently, assuming the smallest eigenvalue of each matrix $ a, b, c \, $ to be at least $ \ tfrac16 $. proof : consider the very last summand in the preceding proof. revert notation from $ a _ 0 $ to $ a $ and use the same argument, this time based on $ ( 3 ) $, to obtain $ $ \ sum _ \ text { cyc } \ big ( a - \ tfrac13 \ mathbb 1 \ big ) ^ 2 \, ( 6a - \ mathbb 1 ) \ : \ geqslant \ : 0 \,. \ qquad \ qquad \ blacktriangle $ $


i don't believe you have enough information in the source image to produce the mask image. you might start by segmenting on color, i. e. green is not trail, gray / brown is. however, there are gray / brown regions on the " trail borders " that are not represented in your mask. ( see the lower left quadrant of your source image. ) the mask you provide implies structural constraints not evident in the source image : for example, perhaps your trails are of fixed width - then you can use that information to constrain the preliminary mask returned by your pattern recognizer. continuing the topic of structure : do trails merge with others? are trails delineated with certain soil / gravel features? as a human ( that is reasonably good at pattern recognition! ), i'm challenged by the features shown in the lower left quadrant : i see gray / brown regions that i cannot discount as " trail ". perhaps i could do so conclusively if i had more information : a map and a coarsely - known location, personal experience on this trail, or perhaps a sequence of images leading to this point - perhaps this view is not so ambiguous if the recognizer " knows " what led to this scene. a collection of images is the most interesting approach in my opinion. continuing that line of thought : one image might not provide enough data, but a panoramic view might disambiguate the scene.


there are only two possibilities to consider. for every positive integer $ n $, the string $ 0 ^ n $ appears in the decimal representation of $ \ pi $. in this case, the algorithm that always returns 1 is always correct. there is a largest integer $ n $ such that $ 0 ^ n $ appears in the decimal representation of $ \ pi $. in this case the following algorithm ( with the value $ n $ hard - coded ) is always correct : zeros - in - pi ( n ) : if ( n > n ) then return 0 else return 1 we have no idea which of these possibilities is correct, or what value of $ n $ is the right one in the second case. nevertheless, one of these algorithms is guaranteed to be correct. thus, there is an algorithm to decide whether a string of $ n $ zeros appears in $ \ pi $ ; the problem is decidable. note the subtle difference with the following proof sketch proposed by gallais : take a random turing machine and a random input. either the computation will go on for ever or it will stop at some point and there is a ( constant ) computable function describing each one of these behaviors.??? profit! alex ten brink explains : watch out what the halting theorem states : it says that there exists no single program that can decide whether a given program halts. you can easily make two programs such that either one computes whether a given program halts : the first always says'it halts ', the second'it doesn't halt'- one program is always right, we just can't compute which one of them is! sepp2k adds : in the case of alex's example neither of the algorithms will return the right result for all inputs. in the case of this question one of them will. you can claim that the problem is decidable because you know that there is an algorithm that produces the right result for all inputs. it doesn't matter whether you know which one that algorithm is. 10


short answer shedding or reabsorbing the endometrial lining is energetically advantageous to the female. the advantage of shedding over re - absorption may be that sperm - born pathogens are removed from the uterus. a more parsimonious explanation, however, is that the endometrium in primates has developed into too large of a structure to be completely reabsorbed by the uterus wall. background basically you ask why are estrous cycles in mammals accompanied by regression and build up of the endometrial lining? the main reason for either reabsorbing or shedding the endometrial lining is thought to be to save energy. it has been calculated that, when implantation fails, a cyclical regression and renewal of the endometrium is energetically less costly than maintaining it in a metabolically active state required for implantation. in the regressed state, oxygen consumption in human endometria declines nearly sevenfold. metabolic rate is at least 7 % lower, on average, during the follicular phase than during the luteal phase in women, which signifies an estimated energy savings of 53 mj over four cycles, or nearly six days worth of food ( strassmann, 1996 ; crawford, 1998 ). in fact, impaired shedding of the endometrial lining may lead to pathologies. if no egg is released and the estrogen / progesterone system becomes imbalanced, the endometrium may continue to thicken, instead of breaking down and being shed normally as a menstrual period. this abnormal thickening is called endometrial hyperplasia. periodically, the thickened lining is shed incompletely and irregularly, causing irregular and more heavy bleeding. if this cycle of abnormal thickening and irregular shedding continues, precancerous cells may develop, increasing the risk of cancer of the uterine lining ( endometrial cancer ), even in young women ( source : msd manual ). now the question of why human females shed the endometrial lining instead of resorbing it? indeed, shedding the endometrium is mainly limited to primates, as opposed to reabsorbing it ( like in most other mammals ). here, i do not have a definitive answer, but i like to share two opposing hypothesis on the matter. hypothesis 1 : profet ( 1993 ) hypothesized that shedding the endometrium may


be an effective way to get rid of sperm - based pathogens. the accompanying bleeding, profet hypothesizes, delivers immune cells into the uterine cavity that can combat pathogens. hypothesis 2 : strassmann ( 1996 ) surmises that the endometrial microvasculature is designed to provide the blood supply to the endometrium and the placenta, and that external bleeding appears to be a side effect of endometrial regression that arises when there is too much blood and other tissue for complete reabsorption. the relatively large blood loss as seen in humans and chimpanzees can be attributed to the large size of the uterus relative to adult female size and to the design of the microvasculature in the uterus wall. references - crawford ( ed ), handbook of evolutionary psychology : ideas, issues, and applications, psychology press ( 1998 ) - profet, quarterly rev biol ( 1993 ) ; 68 ( 3 ) : 355 - 86 - strassmann, quarterly rev biol ( 1996 ) ; 71 ( 2 ) : 181 - 220


i've only done a little bit of functional programming, so take this answer with a grain of salt. pros : functional programming looks very mathematical ; it's a nice paradigm for expressing some mathematical concepts there are good libraries available for things like formal verification of programs and theorem proving, so it's possible to write programs that reason about programs - - this aspect is good for reproducibility you can do functional programming in python and c + + via lambda expressions ; you can also do functional programming in julia and mathematica not many people use it, so you can be a pioneer. much like there were early adopters of matlab, python, r, and now julia, there need to be early adopters of functional programming for it to catch on cons : languages that are typically thought of as functional programming languages, like haskell, ocaml ( and other ml dialects ), and lisp are generally thought of as slow relative to languages used for performance - critical scientific computing. ocaml is, at best, around half as fast as c. these languages lack library infrastructure compared to languages commonly used in computational science ( fortran, c, c + +, python ) ; if you want to solve a pde, it's way easier to do it in a language more commonly used in computational science than one that is not. there isn't as much of a computational science community using functional programming languages as there is using procedural languages, which means you won't get a whole lot of help learning it or debugging it, and people are probably going to give you crap for using it ( whether or not you deserve it ) the style of functional programming is different than the style used in procedural programming, which is typically taught in introductory computer science classes and in " matlab for scientists and engineers " - type classes i think many of the objections in the " cons " section could be overcome. as is a common point of discussion on this stack exchange site, developer time is more important than execution time. even if functional programming languages are slow, if performance - critical portions can be delegated to a faster procedural language and if productivity gains can be demonstrated through rapid application development, then they might be worth using. it's worth noting here that programs implemented in pure python, pure matlab, and pure r are considerably slower than implementations of these same programs in c, c + +, or fortran. languages like python, matlab, and r are popular precisely because they trade execution speed