text:
# Mathematics Articles

## Jacobian (Change of Variables in Multiple Integrals)

Jacobians If $x=x(u,v)$ and $y=y(u,v)$ then the Jacobian of $x$ and $y$ with respect to $u$ and $v$ is $$\frac{\partial (x,y)}{\partial (u,v)} =J(u,v)=\left| \begin{array}{cc} \frac{\partial x}{\partial u} & \frac{\partial x}{\partial v} \\ \frac{\partial y}{\partial u} & \frac{\partial y}{\partial v} \end{array} \right|=\frac{\partial x}{\partial u}\frac{\partial y}{\partial v}-\frac{\partial y}{\partial u}\frac{\partial x}{\partial v}.$$ Example. Determine the Jacobian …

## Gram-Schmidt Process and QR Factorization

Gram-Schmidt Process The Gram–Schmidt process represents a change of basis from a basis $\mathcal{B}=(v_1, v_2, \ldots,v_m)$ of a subspace $V$ of $\mathbb{R}^n$ to an orthonormal basis $\mathcal{U}=(u_1, u_2, \ldots,u_m)$ of $V$; it is most sufficiently described in terms of the change of basis matrix $R$ from $\mathcal{B}$ to $\mathcal{U}$ via, M:=\begin{bmatrix} v_1 & v_2 …

## Triple Integrals in Cylindrical and Spherical Coordinates

Cylindrical Coordinates Each point in three dimensions is uniquely represented in cylindrical coordinates by $(r,\theta ,z)$ using $0\leq r<\infty ,$ $0\leq \theta < 2\pi ,$ and $-\infty <z<+\infty .$ The conversion formulas involving rectangular coordinates $(x,y,z)$ and cylindrical coordinates $(r,\theta ,z)$ are \begin{align} & r=\sqrt{x^2+y^2} & \tan \theta =\frac{y}{x} \\ & z=z & x=r \cos …

## Orthogonal Matrix and Orthogonal Projection Matrix

Orthogonal Transformations and Orthogonal Matrices A linear transformation $T$ from $\mathbb{R}^n$ to $\mathbb{R}^n$ is called an orthogonal transformation if it preserves the length of vectors: $\left|\left|T(x)\right|\right|=\left|\left|x\right|\right|$ for all $x\in \mathbb{R}^n.$ If $T(x)=Ax$ is an orthogonal transformation, we say $A$ is an orthogonal matrix. Lemma. (Orthogonal Transformation) Let $T$ be an orthogonal transformation from $\mathbb{R}^n$ to …

## Triple Integrals (With Fubini’s Theorem)

The Definition of a Triple Integral Suppose $f(x,y,z)$ is defined on a closed bounded solid region $R,$ which in turn is contained in a box $B$ in space. We partition $B$ into a finite number of smaller boxes, call this partition $P,$ we choose a representative point $\left(x_k^*, y_k^*, z_k^* \right)$ from each subdivision in …

## Taylor Polynomials and Approximations

Recall a tangent line approximation of a function is used to obtain a local linear approximation of the function near the point of tangency. We consider how to improve on the accuracy of tangent linear approximations by using higher-order polynomials as approximating functions. We also discuss the error associated with such approximations. Polynomial Approximations The …

## Orthonormal Bases and Orthogonal Projections

Orthonormal Bases and Orthogonal Projections The norm of a vector $v$ in $\mathbb{R}^n$ is $$\left|\left| v \right|\right| = \sqrt{v \cdot v}.$$ A vector $u$ in $\mathbb{R}^n$ is called a unit vector if $\left|\left|u\right|\right|=1.$ Example. If $v\in \mathbb{R}^n$ and $k$ is a scalar, then $\left|\left| k v\right|\right| =|k| \left|\left| v\right|\right|$, and if $v$ …

## Tonelli-Shanks Algorithm (by Example)

Solving quadratic congruence equations using a pseudo-random (Tonelli-Shanks) algorithm is discussed. We give several examples and many workable exercises. Introduction to Tonelli-Shanks Algorithm The Tonell-Shanks algorithm (sometimes called the RESSOL algorithm) is used within modular arithmetic where $a$ is a quadratic residue (mod $p$), and $p$ is an odd prime. Tonelli–Shanks cannot be used for …

## Surface Area Using Double Integrals

Introduction to Surface Area We apply double integrals to the problem of computing the surface area over a region. We demonstrate a formula that is analogous to the formula for finding the arc length of a one variable function and detail how to evaluate a double integral to compute the surface area of the graph …

## Taylor Series (and Maclaurin Series)

The Taylor series of a function is a representation as power series whose terms are calculated from the values of the function’s derivatives at a single point (the center). If the Taylor series is centered at zero, then that series is also called a Maclaurin series. We discuss the Maclaurin series of the sine and …

## Coordinates (Vectors and Similar Matrices)

Coordinate Vectors Definition. Let $\mathcal{B}=(v_1,\ldots,v_n)$ be a basis of a subspace $V$ of $\mathbb{R}^n.$ For any $x \in V$ we can write $v= c_1 v_1 + \cdots +c_m v_m.$ The scalars $c_1,\ldots,c_m$ are called the $\mathcal{B}$-coordinates of $x$ and the vector $$\left [ x \right ]_{\mathcal{B}}:= \begin{bmatrix}c_1\ \vdots \ c_m\end{bmatrix}$$ is called the …

First we discuss transforming and solving quadratic congruence equations. We then study quadratic residues using the Legendre symbol. Euler’s and Gauss’s Criterions are motivated and then the infamous Law of Quadratic Reciprocity is understood. General Quadratic Congruence Consider the general quadratic congruence, $$a x^2+b x+c\equiv 0 \pmod{p}$$ where $p$ is an odd prime and $(a,p)=1.$ …

## Euler’s Totient Function and Euler’s Theorem

We prove several properties of Euler’s Totient Function and give many examples. We also discuss solving functional equations and reduced residue systems. One of Euler’s most important theorems is then demonstrated and proven. Introduction to Euler’s Totient Function Definition. For each integer $n>1,$ let $\phi (n)$ denote the number of positive integers less than $n$ …

## Fubini’s Theorem for Double Integrals

Iterate Integrals Over Rectangular Regions Green’s Theorem is named after the mathematician Guido Fubini. Theorem. (Fubini’s Theorem for Rectangular Regions) If $f$ is a continuous function of $x$ and $y$ over the rectangle $R:$ $a\leq x\leq b,$ $c\leq y\leq d,$ then the double integral of $f$ over $R$ may be evaluated by either iterated …

## The Ratio Test and the Root Test

The Ratio and Root Tests are criterions for the convergence of an infinite series. We provide several examples using these convergence tests and several exercises. The Ratio Test The Ratio Test is a criterion for the convergence (a convergence test) of an infinite series $\sum a_n$. It depends on the quantity \label{rt} \lim_{n\to+\infty} \frac{a_{n+1}}{a_n}. …

## Transformation Definition and Rank-Nullity Theorem

Introduction to Linear Maps We begin with the definition of a linear transformation. Definition. Let $V$ and $W$ be linear spaces. A function $T$ from $V$ to $W$ is called a linear map if $$T(f+g)=T(f)+T(g) \qquad \text{and}\qquad T(k f)=k T(f)$$ for all elements $f$ and $g$ of $V$ and for all scalars $k.$ The …

## Fermat’s Theorem (and Wilson’s Theorem)

Wilson’s theorem, its converse, and Fermat’s theorem are discussed. We motivate each proof through example and careful write out the proof of each theorem. Several examples of their use are given. Wilson’s Theorem This theorem is named after one of Edward Waring‘s students, John Wilson. But actually, Wilson only observed the result to be true …

## Double Integrals and the Volume Under a Surface

The Volume Under a Surface Consider the rectangle given by $$R=[a,b]\times[c,d]=\{(x,y)\mid a\leq x\leq b, c\leq x\leq d\}.$$ We wish to construct a (regular) partition of $R.$ To do so, let $$a=x_0 < x_1 < x_2 < \cdots < x_{i-1} < x_i < \cdots < x_n=b$$ be a partition of $[a,b]$ into subintervals …

## Alternating Series Test (and Conditional Convergence)

Infinite series whose terms alternate in sign are called alternating series. We motivate and prove the Alternating Series Test and we also discuss absolute convergence and conditional convergence. Alternating p-series are detailed at the end. Alternating Series Infinite series whose terms alternate in sign are called alternating series. Definition. An alternating series has one of …

## Subspaces and Linear Independence

Definition. A subset $U$ of a vector space $\mathbb{V}$ is called a subspace of $\mathbb{V}$ if it has the following three properties (1) $U$ contains the zero vector in $\mathbb{V}$, (1) $U$ is closed under addition: if ${u}$ and ${v}$ are in $U$ then so is ${u}+{v}$, and (3) $U$ is closed under scalar multiplication: …

## Applications of Congruence (in Number Theory)

We discuss two applications of congruence problems. How to develop a divisibility test, emphasizing theory as well as usability. We then discuss the infamous Days of the Week problem. Applications of Congruence – Divisibility Tests Our first application of congruence is a collection of theorems which help determine divisibility of an integer with another. Divisibility …

Scroll to Top


text:
# Polynomial of $11^{th}$ degree

Let $f(x)$ be a polynomial of degree $11$ such that $f(x)=\frac{1}{x+1}$,for $x=0,1,2,3.......,11$.
Then what is the value of $f(12)?$

My attempt at this is:
Let $f(x)=a_0+a_1x+a_2x^2+a_3x^3+......+a_{11}x^{11}$

$f(0)=\frac{1}{0+1}=1=a_0$

$f(1)=\frac{1}{1+1}=\frac{1}{2}=a_0+a_1+a_2+a_3+......+a_{11}$

$f(2)=\frac{1}{2+1}=\frac{1}{3}=a_0+2a_1+4a_2+8a_3+......+2^{11}a_{11}$
.
.
.
$f(11)=\frac{1}{11+1}=\frac{1}{12}=a_0+11a_1+11^2a_2+11^3a_3+......+11^{11}a_{11}$

for calculating $f(12)$, I need to calculate $a_0,a_1,a_2,....,a_11$ but I could solve further.Is my approach right,how can I solve further or there is another right way to solve it.

$(A)\frac{1}{13}$

$(B)\frac{1}{12}$

$(C)0$

$(D)\frac{1}{7}$

which one is correct answer?

HINT:

Let $(x+1)f(x)=1+A\prod_{r=0}^{11}(x-r)$ where $A$ is an arbitrary constant

• A is not an arbitrary constant. It is a fixed constant whose value we happen not to know. – Mariano Suárez-Álvarez Jul 26 '15 at 3:09
• @MarianoSuárez-Alvarez, See any arbitrary finite constant will satisfy the given condition, right? – lab bhattacharjee Jul 26 '15 at 3:10
• But f is a fixed, given polynomial. Your equation can only hold for exactly one scalar A. – Mariano Suárez-Álvarez Jul 26 '15 at 3:11
• Solving for $f(x)$ from your equation will in general yield a rational function - there is a unique choice of $A$ for which it simplifies to a polynomial. Can you find that value for $A$? – anon Jul 26 '15 at 3:13
• @MarianoSuárez-Alvarez, I was pointing to the given condition. But, from that $A$ can assume any arbitrary finite scalar value, right? – lab bhattacharjee Jul 26 '15 at 3:13

Somewhat less vague...

$(x+1)f(x)-1$ is a polynomial of degree 12 with roots at every integer in $[0,11]$, so could be $$(x+1)f(x)-1 = A \prod_{c=0}^{11} x-c$$ for some/any (nonzero) constant $A$.

When $x=-1$, we have $(0)f(-1)-1 = A (-1)^{12} 12!$, or $-1 = A \, 12!$ and discover only $A = \frac{-1}{12!}$ is consistent with the givens. (Why $-1$? Because it is the only choice we haven't already used (we have used the integers 0, ... 11) that makes some expression containing $x$s zero.)

Hence, $13 f(12) - 1 = \frac{-1}{12!} 12!$ and $f(12) = \frac{-1+1}{13} = 0$.

For convenience, let us shift the variable: $g(y)=\dfrac1y$ for $y=1,2,\cdots12$.

Then $$\frac{A(y-1)(y-2)\cdots(y-12)+1}y$$ is a polynomial of degree $11$ and coincides with $\dfrac1y$ at the given points, provided that the numerator has no independent term, i.e. $12!A+1=0$.

From this,

$$f(12)=g(13)=\frac{A(13-1)(13-2)\cdots(13-12)+1}{13}=\frac{12!A+1}{13}=0.$$

format: plain


text:
This topic is 4872 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Okay, this is one of those problems that shouldnt be a problem, or maybe an anomoly in the earths magnetic field has developed around my house making all kinds of weird things happen. Yes, that must be it. Okay, so I've got this engine working pretty decently so far (still very early on). I've set up my own math related classes for doing 3d math related things in my engine so that I can send those numbers to the renderer which is decoupled from any specific API (although designed around the features of directx, as that is the API I am working with atm). All that, in theory, works well. My 3D math skills are pretty lame, but I think I know how to find the basic formulas in books and other resources and transfer those into code (the only true use for derivitives, imo). Anywho, on to my problems. What I am currently doing is merely rendering a test cube while I set up all the features of my renderer, so I can see when things go wrong. This has evolved throughout developement to utilize the current interfaces of my renderer and other engine components. Currently, I am setting the transform matrices from the main loop in absense of a more proper way just yet (such as a scene graph, etc.), using my own matrix and vector structures. It looks something like this:
	Interface->SetTransform( TT_WORLD, FMatrix::Identity());
Interface->SetTransform( TT_VIEW, FMatrix::Identity().CameraLookAtMatrixLH(FVector( 0.0f, 3.0f,-10.0f ),FVector(),FVector(0.0f,1.0f,0.0f)));
Interface->SetTransform( TT_PROJECTION, FMatrix::Identity().ProjectionMatrixPerspectiveFOVLH(PI/4.0f,Viewport->SizeX/Viewport->SizeY,1.0f,1000.0f ));

What this is doing is calling the Identity() method, which is a static function that returns an instance of the struct initialized to an identity matrix. It works as it is supposed to. That value can then be used to set a camera look-at matrix, or a perspective matrix. The FVector struct initializes to 0,0,0 with a default constructor, and in this instance is the look at parameter. These numbers have been used since the early beginnings of my renderer, so I know they are valid and should work, and they do work ;) So, what is the problem, you ask? Well, to transform the cube I'm rendering, I've been using a vertex shader, and sending the matrix to the shader constants as you are supposed to. There are two problems with this procedure, however. First, the matrix I am giving to the hardware is World*View*Projection, which I believe would be correct, except it isnt. Maybe I read wrong (in several different places), but I am quite sure that the matrices are set correctly, and are correctly referenced when multiplying. Like so: WantedState.WorldViewProjection = (WantedState.Matrices[TS_WORLD] * WantedState.Matrices[TS_VIEW]) * WantedState.Matrices[TS_PROJECTION]; The result is, however, incorrect, but is correct if the order projection and view matrices are reversed. I know matrix multiplication isnt commutative, but isnt it supposed to be world*view*projection, or am I just crazy, illiterate, and blind? My projection matrix code, or even the multiplication code could be wonky, but it seems to work (I suck at math, so I cant do it long hand to check). I'll post more code if anyone thinks it would help. Second, I'm setting the result of the multiply/transpose in to a struct in my render state management code which holds the shader constant data needed to make the call (StartRegister, Data, and RegisterCount) until the render state is about to be commited to hardware (thus no redundant values are ever set). The matrix is passed as a float* and the pointer is valid in the debugger. This all happens after the vertices are sent to the vertex buffer. The problem is, calling CreateIndexBuffer causes the pointer to my matrix data to become invalid. It's valid right before the call, but never right after, but the matrix that the pointer is referring to (the pointer is actually pointing to float m[16]; in the matrix, which gets returned in the float* cast). Is this some trick of pointers that I'm missing, or some fluke, or some evil that harasses me for sport? I can reset the pointer after creating the index buffer, and it stays valid through the call to DIP, and works fine, OR allocating the pointer data with new works as well, but that either creates a memory leak, or I have to constantly delete [] the pointer before setting new data to it, thus making my design cumbersome.

1. 1
2. 2
3. 3
4. 4
Rutin
17
5. 5

• 14
• 9
• 10
• 12
• 17
• ### Forum Statistics

• Total Topics
632906
• Total Posts
3009160
• ### Who's Online (See full list)

There are no registered users currently online

×


text:
# B Thermodynamics questions

1. Nov 11, 2016

### Biker

I am going to learn an introductory to thermodynamics in my chemistry book(Senior year) so I thought I could ask some questions here about it to confirm my understanding:

1) Temperature: I have seen a lot of discussions here about what temperature really is. I came up with a summary (Thanks to Dr.Claude):
Temperature initially was what a thermometer reads. It is a scale which we use to represent the system tendency to give out heat until it reaches equilibrium. But now because of the kinetic theory, Temperature relates to the average of kinetic energy of the substance. So we say that the temperature now represents the average of kinetic energy of the molecules.

2) Is it wrong to starting thinking about pair of molecules and how they interact during phase changes?
I mean the temperature stays the same during phase changes because the heat goes into breaking the chemical bonds instead of increasing the kinetic energy. The question that comes to my mind is all these forces interactions, molecules moving around, some of them gaining energy and other losing (Kinetic) and you are telling me that the kinetic energy stays constant. At this stage should I just work stick to the math and stop trying to imagine all these physics interactions?

3) Does specific heat change with temperature? I have seen also threads about that here but most of them were a bit complicated, talking about quantum mechanics and all. So can someone explain it in kind of a simple way or a bit advanced and I will try to keep up? Just enough to satisfy my desire to know it.. (Just a disease, I am not required to search all of that. We are just required to understand enthlapy and hess' law but the problem they oversimplify things which I dont like)

4) In solutions, My books says that if the mass of the salt is not negligible then you just add the mass of the salt and water together and use the specific heat of water. Is that because the ratio of the mass of the salt to the mass of the solution times the specific heat for the dissolved salt is negligible?

2. Nov 11, 2016

### Staff: Mentor

Temperature is not the average kinetic energy of the molecules. The kinetic energy of the molecules is proportional to the temperature, but temperature is related to the entire energy content of the system (look up equipartition theorem, for instance). The contemporary definition of temperature comes from statistical physics:
$$\frac{1}{T} =\left( \frac{\partial S}{\partial U} \right)_{V,N}$$
i.e., it relates the change in entropy with the change in energy.

Phase transitions are emergent phenomena. If you consider a single pair of molecules, you will never see any phase transition.

It is not chemical bonds that are broken, but the potential energy due to molecule-molecule interactions that becomes markedly different.

Again, temperature is not kinetic energy. This is especially important here, because when two phases coexist, the average kinetic energy in both phases (say liquid and gas) is very different, although, since T is constant during the transition, the average KE in each phase stays the same. Consider going from a liquid to a gas: as molecules go from l to g, the interaction potential energy decreases and the kinetic energy increases a lot.

Mental pictures are still useful. You just have to have the right ones, and be careful that they are only imperfect pictures.

Yes (but not necessarily by much). This is again due to molecule-molecule interactions(*).

(*) A good way to figure this out is to compare with an ideal gas. If a behavior is not present in an ideal gas, then interactions most probably have something to do with it.

Do you mean if it is negligible?

3. Nov 11, 2016

### Biker

I will mark your replies from 1 to 7:
Btw, I said I am in Highschool senior year. However, I will still try to look for the concepts you gave me.
1) That why I said:
Temperature relates to the average of kinetic energy of the substance. So we say that the temperature now represents the average of kinetic energy of the molecules.

3) Sorry yes, wrong word. The interactions between molecules becomes weaker.

4) "interaction potential energy decreases" You mean increases? The forces attracting them decreases but the potential increases.
When water changes from liquid to gas, The system gains heat which is stored as potential energy due to molecules moving far a part. When the water completely becomes gas, Its kinetic energy starts to increase which relate to temperature increasing.

Bit confused here: "Again, temperature is not kinetic energy..... since T is constant during the transition, the average KE in each phase stays the same.""
You mean temperature relates to average but not the sum of kinetic energy.. right? I meant the average stays constant during the changing phase regardless of all these interactions.

6)Can you explain how does it relate to molecule-molecule interactions? What I have seen online was about vibration, rotation and transnational movement of molecules and how it affects specific heat capacity.

7) No, It is not negligible what I think the book means is like typical grams of solutions. I referred to the ratio between the mass of the salt and the solution as negligible.

4. Nov 11, 2016

### Staff: Mentor

Don't hesitate to say it if my answers are not understandable.

There is a relation between kinetic energy and temperature. Yes, when the temperature is higher, so is the kinetic energy, and you can figure out the temperature of a gas by measuring the kinetic energy of the molecules that compose it. But, we have to be careful not to say that kinetic energy is temperature. Going back to the case of the phase transition, consider the extreme example of the sublimation of CO2: you have two phases, solid and gas, at the same temperature, but the average kinetic energy of a given molecule is much different depending on which phase it is in.

Correct: I meant that the potential energy increases. My main point is again that the kenetic energy can be different at the same temperature, see above.

Hope the confusion is cleared up by what I wrote above.

There are two things to consider here: the heat capacities for different molecules and the heat capacity as a function of temperature. It is the first that is very much affected by vibrations and rotations. To increase the temperature of a molecule, you need to give it energy not only to increase its kinetic energy (translation), but also to increase its vibration and its rotation (again, this relates to the equiparition theorem). The variation of the heat capacity with temperature is mostly related to molecular interactions, but that variation is relatively small, see for instance http://www.engineeringtoolbox.com/water-thermal-properties-d_162.html

If the mass of the salt is not negligible, than indeed you need to add it to the mass of the solvent to get the mass of the solution. But the mass has to be small for it not to change the heat capacity of the solution compared to that of the solvent, see for example http://www.engineeringtoolbox.com/sodium-chloride-water-d_1187.html

5. Nov 11, 2016

### Biker

Awesome!,

So to summarize what you have told me,
Having same temperature doesn't mean that all these molecules have the same kinetic energy, It depends on what states it is in. However the average kinetic energy of all molecules relates to temperature which is constant in phase change for example

About heat capacity, So they were talking about why different molecules have different heat capacities not the variation of heat capacity as a function of temperature? The change is indeed small, That is why at least we approximate it to be constant. Thanks for the table

About salt mass, Again thanks for the chart. Apparently they give us solutions with mass concentration above 10 (In NaCl case the change of heat capacity was a bit high) they dont take into account the heat capacity changes. But at least now, I know how it changes.

Thank you so much for clearing this out for me :D

6. Feb 14, 2017

### HethensEnd25

I have a question I hope someone may be able to answer.

I am currently working out an adiabatic process that gives me an initial pressure,volume, and temperature. Along with a final pressure and given that the cylinder/piston assembly does not conduct any heat. Another given is that the Cp=3.5R

I have done the work to solve for my gamma and the final volume and temperature for the system. With that I was able to calculate work done by the system which is also the change in internal energy.

My question is how do I find ΔH?

I know that ΔH=ΔU+ΔPV, but I just don't think my way of thinking is correct as I would assume that I would substitute for ΔU=Q-W where I know Q will equal zero.

Is this a correct assumption? I look forward to any and all productive feed back.

Best Regards,

Dylan

7. Feb 14, 2017

### Staff: Mentor

Please submit this as a separate thread in the Homework forums, probably under Biology, Chemistry, and Earth Homework. I am closing the present thread since Biker seems to have all his questions answered.


text:
# Low Dimensional Topology

## April 9, 2016

### Arithmetic Chern-Simons

Filed under: Knot theory,Number theory,Quantum topology — dmoskovich @ 1:48 pm

The most compelling aspect of Quantum Topology for me is its connection to analytic number theory. Today I’d like to draw your attention to recent work of Minhyong Kim on Arithmetic Chern-Simons Theory (see his paper for more details). I was fortunate to hear him give a talk about this last Wednesday and a colloquium talk on related subjects the day before. People have been talking about such “quantum topological number theory” for a long time- e.g. this 2010 MO question – but we haven’t seen much of an uptake so far. This isn’t an easy direction to pursue because one needs to know both quantum topology and analytic number theory, but I was left with the strong feeling that “There’s gold in them thar hills”, both for topologists and for number theorists.

Chern-Simons theory is concerned with canonically associating functions to representations. In a typical topological context, we would be looking at the moduli space $\mathcal{M}$ of representations of a knot group into a group such as $SU(2,\mathbb{C})$. The associated functions are topological invariants, and such invariants are of primary interest in quantum topology. Examples of invariants arising as or from such functions are the Jones polynomial and the Alexander polynomial (indirectly; what actually shows up is the square root of analytic torsion).

I find it deeply unsatisfying that Chern-Simons theory for topologists (indeed all of quantum topology) all happens over the complex numbers $\mathbb{C}$ (some stuff can happen over $\mathbb{R}$ or $\mathbb{Q}$, but that’s as far as it goes). There is no conceptual justification for introducing complex numbers that I can see- for technical reasons we just seem to need the complex structure on the moduli space in order to be able to prove anything. There have been various attempts to study quantum topology over other fields or over rings such as the integers, but as far as I know the results are weak. For example, a fundamental result in quantum knot topology, that Vassiliev invariants are uniquely specified by weight systems, is only known over a few fields, as lamented e.g. by Bar-Natan.

In analytic number theory the goal is once again to canonically associate functions to representations. The parallel nature of the task is striking- the role of the knot complement is taken by an arithmetic scheme $X$, and the role of the group is played by a so-called motivic sheaf $\mathcal{F}$ which is uniquely built up from a representation of the arithmetic fundamental group of $X$. On the other side, the properties the canonical functions must satisfy nicely parallel those of Chern-Simons theory.

The functions thus constructed, assuming that they exist, are topological invariants of $(X,\mathcal{F})$. No general construction for these functions is known, but L-functions, whose constructions have been via ad-hoc methods, are examples. In fact, two major conjectures in analytic number theory, the Iwasawa Main Conjecture and the Hasse-Weil Conjecture, can both be framed as conjectures that such a canonical assigment of functions to representations exists.

I ought to mention parenthetically that quantum topological analytic number theory has already happened, when Le and Murakami used the Kontsevich invariant to discover relations between multiple-zeta values that had not been known previously, which analytic number theorists have since assimilated (see this recent survey by Furusho).

Arithmetic Chern-Simons promises to be exciting for both communities. For topologists, we may dream of a more flexible version of Chern-Simons theory which works over more general rings than just the complex numbers (although sadly we have a dearth of good conjectures in this direction at the moment). For number theorists, perhaps quantum topology can provide ideas to help attack some conjectures of interest. One may fantasize that, by way of these goals, we will gain an understanding of how knots and 3-manifolds fit into the main body of the big picture of mathematics, and how they might act special model cases not only in topology, but perhaps also in number theory.

Advertisements

## 2 Comments »

1. Reblogged this on Homepage of Rene Garcia.

Comment by ixxra — April 13, 2016 @ 8:13 am

2. […] 数论和数学物理的交互作用一直以来都是我最感兴趣的话题。一个显赫的例子是几何Langlands纲领。新近发展起来的”Arithmetic Chern-Simons Theory”则是另一个例子。 Minhyong Kim, Arithmetic Chern-Simons Theory I 关于这篇文章的「背景」，我很难在D.Moskovich的基础上说出更多了（原因之一是他的information sourse包括Kim本人），因此推荐大家直接去读他的博文。 […]

Pingback by 月旦 III | Fight with Infinity — April 29, 2016 @ 6:33 am

Create a free website or blog at WordPress.com.


text:
Report

Computing Lyapunov constants for random recurrences with smooth coefficients

Abstract:

In recent years, there has been much interest in the growth and decay rates (Lyapunov constants) of solutions to random recurrences such as the random Fibonacci sequence $x_{n+1} = \pm x_{n} \pm x_{n-1}$. Many of these problems involve non-smooth dynamics (nondifferentiable invariant measures), making computations hard. Here, however, we consider recurrences with smooth random coefficients and smooth invariant measures. By computing discretised invariant measures and applying Richardson extra...

Access Document

Files:
• (pdf, 192.0KB)

Authors

Publication date:
2000-02-05
URN:
uuid:51ea119c-3c3c-4ccb-9a20-68de774b0e76
Local pid:
oai:eprints.maths.ox.ac.uk:1280


text:
Cocky UPenn student throughs down challenge

• May 4th 2006, 05:50 PM
Jameson
Cocky UPenn student throughs down challenge
Quote:

Draw an isosceles triangle ABC with Side AB = Side AC. Draw a line from C to side AB and label that line CD. Now draw a line from B to side AC. Label that line BE. Let angle EBC = 60 degrees, angle BCD equal 70 degrees, angle ABE equal 20 degrees, and angle DCE equal 10 degrees. Now draw line DE.

Find what angle EDC is by using geometry only and no trigonometry.

Don't cheat and use protractors/rulers/all that stuff either! Go by pure geometric reasoning
This is a tedious drawing so if you are going to procede I'll thank you in advance. Here is my reasoning for solving this problem.

Call the intersection of BE and CD point M. Let ADE=x, EDM=y, DEA=z, and DEM=140-z.

Thus we have the following system of equations:

(x+y)+20+10=180
x+20+z=180
50+y+(140-z)=180

And when I solve this I get a large angle, a negative angle, and an angle of zero. I think my work is sound. Please look it over.

Thanks
• May 4th 2006, 07:34 PM
ThePerfectHacker
Try searching the internet for Langley's Problem. It is similar-I solved it some time ago using trigonometry.
• May 4th 2006, 07:56 PM
Jameson
Thanks. This is very similar. If you have time though or if someone else does, I'd appreciate it if it would be possible to look over my work. I'll try to include a diagram, but I think I haven't made any errors.
• May 4th 2006, 08:10 PM
ThePerfectHacker
Quote:

Originally Posted by Jameson
Thanks. This is very similar. If you have time though or if someone else does, I'd appreciate it if it would be possible to look over my work. I'll try to include a diagram, but I think I haven't made any errors.

Not necessarily you made a mistake, but the determinant of this system is zero. Because the matrix's diagnol is filled with zeros.
• May 4th 2006, 08:16 PM
Jameson
Then I need to find a way to set a system with a non-zero determinant. Hmmm... any ideas? I'm only missing four angles on this diagram.
• May 4th 2006, 08:21 PM
ThePerfectHacker
Quote:

Originally Posted by Jameson
Then I need to find a way to set a system with a non-zero determinant. Hmmm... any ideas? I'm only missing four angles on this diagram.

This problem is not designed to be treated as a high-school angle solving problem. The trick it to draw a contrusction and even from there it is difficult.
BTW if your system is consistent, then all solutions can be expressed though a parameter $t$. Then all you need to to find a solution that is 'reasonable' since there are infinitely many.
• May 9th 2006, 04:57 PM
c_323_h
hmm, i'll work on it
• May 9th 2006, 05:02 PM
c_323_h
is it 60????

EDIT: ok, nevermind that's wrong.
• May 9th 2006, 06:52 PM
Jameson
The answer is 20. The question was asked on www.collegeconfidential.com on the UPenn forum, and the OP hasn't posted an explanation to the solution to this problem. Here is a link that will guide you though. http://agutie.homestead.com/files/LangleyProblem.html


text:
## Linear Algebra and Its Applications (5th Edition)

Multiply row (2) of the first matrix by $-2$ to get the second matrix. To reverse this operation, divide row (2) of the second matrix by $-2$ to get the original matrix.


text:
# Statistical machine translation

Statistical machine translation (SMT) is a machine translation paradigm where translations are generated on the basis of statistical models whose parameters are derived from the analysis of bilingual text corpora. The statistical approach contrasts with the rule-based approaches to machine translation as well as with example-based machine translation.[1]

The first ideas of statistical machine translation were introduced by Warren Weaver in 1949,[2] including the ideas of applying Claude Shannon's information theory. Statistical machine translation was re-introduced in the late 1980s and early 1990s by researchers at IBM's Thomas J. Watson Research Center[3][4][5] and has contributed to the significant resurgence in interest in machine translation in recent years. Nowadays it is by far the most widely studied machine translation method.

## Basis

The idea behind statistical machine translation comes from information theory. A document is translated according to the probability distribution ${\displaystyle p(e|f)}$ that a string ${\displaystyle e}$ in the target language (for example, English) is the translation of a string ${\displaystyle f}$ in the source language (for example, French).

The problem of modeling the probability distribution ${\displaystyle p(e|f)}$ has been approached in a number of ways. One approach which lends itself well to computer implementation is to apply Bayes Theorem, that is ${\displaystyle p(e|f)\propto p(f|e)p(e)}$, where the translation model ${\displaystyle p(f|e)}$ is the probability that the source string is the translation of the target string, and the language model ${\displaystyle p(e)}$ is the probability of seeing that target language string. This decomposition is attractive as it splits the problem into two subproblems. Finding the best translation ${\displaystyle {\tilde {e}}}$ is done by picking up the one that gives the highest probability:

${\displaystyle {\tilde {e}}=arg\max _{e\in e^{*}}p(e|f)=arg\max _{e\in e^{*}}p(f|e)p(e)}$.

For a rigorous implementation of this one would have to perform an exhaustive search by going through all strings ${\displaystyle e^{*}}$ in the native language. Performing the search efficiently is the work of a machine translation decoder that uses the foreign string, heuristics and other methods to limit the search space and at the same time keeping acceptable quality. This trade-off between quality and time usage can also be found in speech recognition.

As the translation systems are not able to store all native strings and their translations, a document is typically translated sentence by sentence, but even this is not enough. Language models are typically approximated by smoothed n-gram models, and similar approaches have been applied to translation models, but there is additional complexity due to different sentence lengths and word orders in the languages.

The statistical translation models were initially word based (Models 1-5 from IBM Hidden Markov model from Stephan Vogel[6] and Model 6 from Franz-Joseph Och[7]), but significant advances were made with the introduction of phrase based models.[8] Recent work has incorporated syntax or quasi-syntactic structures.[9]

## Benefits

The most frequently cited[citation needed] benefits of statistical machine translation over rule-based approach are:

• More efficient use of human and data resources
• There are many parallel corpora in machine-readable format and even more monolingual data.
• Generally, SMT systems are not tailored to any specific pair of languages.
• Rule-based translation systems require the manual development of linguistic rules, which can be costly, and which often do not generalize to other languages.
• More fluent translations owing to use of a language model

## Shortcomings

• Corpus creation can be costly.
• Specific errors are hard to predict and fix.
• Results may have superficial fluency that masks translation problems.[10]
• Statistical machine translation usually works less well for language pairs with significantly different word order.
• The benefits obtained for translation between Western European languages are not representative of results for other language pairs, owing to smaller training corpora and greater grammatical differences.

## Word-based translation

In word-based translation, the fundamental unit of translation is a word in some natural language. Typically, the number of words in translated sentences are different, because of compound words, morphology and idioms. The ratio of the lengths of sequences of translated words is called fertility, which tells how many foreign words each native word produces. Necessarily it is assumed by information theory that each covers the same concept. In practice this is not really true. For example, the English word corner can be translated in Spanish by either rincón or esquina, depending on whether it is to mean its internal or external angle.

Simple word-based translation can't translate between languages with different fertility. Word-based translation systems can relatively simply be made to cope with high fertility, but they could map a single word to multiple words, but not the other way about[citation needed]. For example, if we were translating from English to French, each word in English could produce any number of French words— sometimes none at all. But there's no way to group two English words producing a single French word.

An example of a word-based translation system is the freely available GIZA++ package (GPLed), which includes the training program for IBM models and HMM model and Model 6.[7]

The word-based translation is not widely used today; phrase-based systems are more common. Most phrase-based system are still using GIZA++ to align the corpus[citation needed]. The alignments are used to extract phrases or deduce syntax rules.[11] And matching words in bi-text is still a problem actively discussed in the community. Because of the predominance of GIZA++, there are now several distributed implementations of it online.[12]

## Phrase-based translation

In phrase-based translation, the aim is to reduce the restrictions of word-based translation by translating whole sequences of words, where the lengths may differ. The sequences of words are called blocks or phrases, but typically are not linguistic phrases, but phrasemes found using statistical methods from corpora. It has been shown that restricting the phrases to linguistic phrases (syntactically motivated groups of words, see syntactic categories) decreases the quality of translation.[13]

## Syntax-based translation

Syntax-based translation is based on the idea of translating syntactic units, rather than single words or strings of words (as in phrase-based MT), i.e. (partial) parse trees of sentences/utterances. The idea of syntax-based translation is quite old in MT, though its statistical counterpart did not take off until the advent of strong stochastic parsers in the 1990s. Examples of this approach include DOP-based MT and, more recently, synchronous context-free grammars.

## Hierarchical phrase-based translation

Hierarchical phrase-based translation combines the strengths of phrase-based and syntax-based translation. It uses synchronous context-free grammar rules, but the grammars may be constructed by an extension of methods for phrase-based translation without reference to linguistically motivated syntactic constituents. This idea was first introduced in Chiang's Hiero system (2005).[9]

## Challenges with statistical machine translation

Problems that statistical machine translation have to deal with include:

### Sentence alignment

In parallel corpora single sentences in one language can be found translated into several sentences in the other and vice versa.[14] Sentence aligning can be performed through the Gale-Church alignment algorithm.

### Word Alignment

Sentence alignment is usually either provided by the corpus or obtained by aforementioned Gale-Church alignment algorithm. To learn e.g. the translation model, however, we need to know which words align in a source-target sentence pair. Solutions are the IBM-Models or the HMM-approach.

### Statistical anomalies

Real-world training sets may override translations of, say, proper nouns. An example would be that "I took the train to Berlin" gets mis-translated as "I took the train to Paris" due to an abundance of "train to Paris" in the training set

### Idioms

Depending on the corpora used, idioms may not translate "idiomatically". For example, using Canadian Hansard as the bilingual corpus, "hear" may almost invariably be translated to "Bravo!" since in Parliament "Hear, Hear!" becomes "Bravo!". [15]

### Different word orders

Word order in languages differ. Some classification can be done by naming the typical order of subject (S), verb (V) and object (O) in a sentence and one can talk, for instance, of SVO or VSO languages. There are also additional differences in word orders, for instance, where modifiers for nouns are located, or where the same words are used as a question or a statement.

In speech recognition, the speech signal and the corresponding textual representation can be mapped to each other in blocks in order. This is not always the case with the same text in two languages. For SMT, the machine translator can only manage small sequences of words, and word order has to be thought of by the program designer. Attempts at solutions have included re-ordering models, where a distribution of location changes for each item of translation is guessed from aligned bi-text. Different location changes can be ranked with the help of the language model and the best can be selected.

Recently, Skype voice communicator started testing speech translation.[16] However, machine translation is following technological trends in speech at a slower rate than speech recognition. In fact, some ideas from speech recognition research have been adopted by statistical machine translation.[17]

### Out of vocabulary (OOV) words

SMT systems typically store different word forms as separate symbols without any relation to each other and word forms or phrases that were not in the training data cannot be translated. This might be because of the lack of training data, changes in the human domain where the system is used, or differences in morphology.

### Mobile devices

The rapid increase in the computing power of tablets and smartphones, combined with the wide availability of high-speed mobile Internet access, makes it possible for them to run machine translation systems. Experimental systems have already been developed to assist foreign health workers in developing countries. Similar systems are already available on the market. For example, Apple’s iOS 8 allows users to dictate text messages. A built-in ASR system recognizes the speech and the recognition results are edited by an online system.[18]

Projects such as Universal Speech Translation Advanced Research (U-STAR1, a continuation of the A-STAR project) and EU-BRIDGE2 are currently conducting research in translation of full sentences recognized from spoken language. Recent years have seen a growing interest in combining speech recognition, machine translation and speech synthesis. To achieve speech-to-speech translation, n-best lists are passed from the ASR to the statistical machine translation system. However, combining those systems raises problems of how to achieve sentence segmentation, de-normalization and punctuation prediction needed for quality translations.[19]

## Notes and references

1. ^ Philipp Koehn (2009). Statistical Machine Translation. Cambridge University Press. p. 27. ISBN 0521874157. Retrieved 22 March 2015. Statistical machine translation is related to other data-driven methods in machine translation, such as the earlier work on example-based machine translation. Contrast this to systems that are based on hand-crafted rules.
2. ^ W. Weaver (1955). Translation (1949). In: Machine Translation of Languages, MIT Press, Cambridge, MA.
3. ^ P. Brown; John Cocke, S. Della Pietra, V. Della Pietra, Frederick Jelinek, Robert L. Mercer, P. Roossin (1988). "A statistical approach to language translation". COLING'88. Association for Computational Linguistics. 1: 71–76. Retrieved 22 March 2015.
4. ^ P. Brown; John Cocke, S. Della Pietra, V. Della Pietra, Frederick Jelinek, John D. Lafferty, Robert L. Mercer, P. Roossin (1990). "A statistical approach to machine translation". Computational Linguistics. MIT Press. 16 (2): 79–85. Retrieved 22 March 2015.
5. ^ P. Brown; S. Della Pietra, V. Della Pietra, and R. Mercer (1993). "The mathematics of statistical machine translation: parameter estimation". Computational Linguistics. MIT Press. 19 (2): 263–311. Retrieved 22 March 2015.
6. ^ S. Vogel, H. Ney and C. Tillmann. 1996. HMM-based Word Alignment in Statistical Translation. In COLING ’96: The 16th International Conference on Computational Linguistics, pp. 836-841, Copenhagen, Denmark.
7. ^ a b F. Och and H. Ney. (2003). A Systematic Comparison of Various Statistical Alignment Models. Computational Linguistics, 29(1):19-51
8. ^ P. Koehn, F.J. Och, and D. Marcu (2003). Statistical phrase based translation. In Proceedings of the Joint Conference on Human Language Technologies and the Annual Meeting of the North American Chapter of the Association of Computational Linguistics (HLT/NAACL).
9. ^ a b D. Chiang (2005). A Hierarchical Phrase-Based Model for Statistical Machine Translation. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics (ACL'05).
10. ^ Zhou, Sharon (July 25, 2018). "Has AI surpassed humans at translation? Not even close!". Skynet Today. Retrieved 2 August 2018.
11. ^ P. Koehn, H. Hoang, A. Birch, C. Callison-Burch, M. Federico, N. Bertoldi, B. Cowan, W. Shen, C. Moran, R. Zens, C. Dyer, O. Bojar, A. Constantin, E. Herbst. 2007. Moses: Open Source Toolkit for Statistical Machine Translation. ACL 2007, Demonstration Session, Prague, Czech Republic
12. ^ Q. Gao, S. Vogel, "Parallel Implementations of Word Alignment Tool", Software Engineering, Testing, and Quality Assurance for Natural Language Processing, pp. 49-57, June, 2008
13. ^ Philipp Koehn, Franz Josef Och, Daniel Marcu: Statistical Phrase-Based Translation (2003)
14. ^ Philip Williams; Rico Sennrich; Matt Post (1 August 2016). Syntax-based Statistical Machine Translation. Morgan & Claypool Publishers. ISBN 978-1-62705-502-4. Unknown parameter |coauthors= ignored (|author= suggested) (help)
15. ^ W. J. Hutchins and H. Somers. (1992). An Introduction to Machine Translation, 18.3:322. ISBN 978-0-12-362830-5
16. ^ Skype Translator Preview
17. ^ Wołk, K.; Marasek, K. "Real-Time Statistical Speech Translation". Advances in Intelligent Systems and Computing. Springer. 275: 107–114. ISBN 978-3-319-05950-1. ISSN 2194-5357.
18. ^ Wołk K.; Marasek K. (2014). Polish-English Speech Statistical Machine Translation Systems for the IWSLT 2014. Proceedings of the 11th International Workshop on Spoken Language Translation, Lake Tahoe, USA.
19. ^ Wołk K.; Marasek K. (2013). Polish-English Speech Statistical Machine Translation Systems for the IWSLT 2013. Proceedings of the 10th International Workshop on Spoken Language Translation, Heidelberg, Germany. pp. 113–119.


text:
# Volume with double integral

Find the volume of the region bounded by the planes $$6x+5y+6z = 6$$, $$y=x$$, $$x=0$$ and $$z=0$$.

From this, I got that the volume would simply consist of the region under $$z = 1-x-(5/6)y$$. And as $$z=0$$, the plane intersects the $$x-y$$ plane at $$6x+5y=6$$. Therefore, I thought the region was bounded by $$y = x$$, $$6x+5y = 6$$ and $$x=0$$. After rearranging the equations and drawing the diagrams, I got the following integral:

$$\int _0^{ \frac{6}{5}}\int _x^{\frac{6}{5}-\frac{6}{5}x}1-x-\frac{5}{6}y\:dydx$$

This integral gave me a volume of $$186/625$$, but this was not correct.

Any help would be highly appreciated!

• What is the correct answer? – K Split X Nov 29 '18 at 2:29

$$6x+5y+6z = 6$$, $$y=x$$, $$x=0$$ and $$z=0$$

The bounds for $$z$$ is from $$0$$ to $$\dfrac{6-6x-5y}{6}$$

The solid region onto the $$xy$$ plane is

$$y=x,\ x=0,\ 6x+5y=6$$

The bounds for $$y$$ is from $$x$$ to $$\dfrac{6-6x}{5}$$

The bounds for $$x$$ is from $$0$$ to $$\dfrac{6}{11}$$

The Volume is $$\int_{0}^{\frac{6}{11}}\int_{x}^{\frac{6-6x}{5}}\dfrac{6-6x-5y}{6}\ dy\ dx=\dfrac{6}{55}$$


text:
Everything's Relative | A Mathematics Blog
sin^2x + cos^2x = 1
y = frac (-b +- sqrt(b^2 - 4ac)) (2a)
(x + 2)^2 + (y - 3)^2 = 16
slope = m = frac (\text(change in y)) (\text(change in x)) = frac (Deltay) (Deltax)

# Get Math Help!

<< Back to Blog

#### Introduction

Everything's Relative will be my home for all my math articles covering concepts that I think are important for students to understand as they are learning mathematics. I'm calling it this because it's something that I firmly believe is true in all things in life, plus it refers to a mathematical concept, slope, which I think is one of the most important and versatile concepts in mathematics. I will get into it in depth in my first post which will be all about slope.

Here, I will cover topics over a variety of math subjects from middle-school-level to college-level courses. My intent is to help you understand mathematics; why certain things work, and why they don't. Additionally, I'll present it in a mathematically correct way. There are too many mathematics blog sites already on the web that are just not very good in terms of how the material is presented. Some are just incorrect in places; others are correct but not written very well. There are a lot of high school math teachers that have mathematics blogs that are very well intentioned, but aren't at a high quality standard. If I post something on here, you can be sure that it is correct and presented correctly in all aspects. I will not post anything if I don't know the material completely and can present it in a clear manner.

So, we'll see how this goes. Hopefully, I'm able to help students who may be struggling as they progress through their mathematical academic journey, and they are able to increase their level of mathematical maturity.

#### Popular Tags

here are the poupluar tags...


text:
# Rubiks Cube 4x4x4 Top Layer Issue - One Edge Pair Flipped

I have trouble with that edge. Please give algorithm or images for solutions for turning it up so that I can form a cross.

• If you truly want to understand the cube and other permutation puzzles, you need to learn commutators, as explained in this post. Then it is obvious that this is a singe pair swap, which needs a parity fix (e.g. quarter slice turn), after which you have a 5-cycle on the edges and you can also find a 5-cyle on centre-pairs, and each 5-cycle is easily solved using 2 commutators. Of course there are shorter solutions, but they are ad-hoc and require memorization. Nov 3, 2021 at 11:40

The algorithm is

$$r \ U^2$$ - X - $$r \ U^2 \ r\ U^2 \ r' \ U^2\ l \ U^2 \ r' \ U^2\ r \ U^2\ r' \ U^2\ r'$$

Where $$r$$ means you have to turn two layers from the right upwards and $$r'$$ means downwards, $$l$$ means you have to turn two layers from the left downwards. and x means you have to turn the whole cube one face upwards.

Initial

$$rU^2$$

$$\times$$ one face up

$$rU^2$$

$$rU^2$$

$$r'U^2$$

$$lU^2$$ remember left down!

$$r'U^2$$

$$rU^2$$

$$r'U^2$$

$$r'$$

Now you can solve the top layer.


text:
# Typesetting issue from MAC to Windows

Hey Guys my Professor send me a LATEX document from MAC with the code

\begin{figure}
\centering

\psfrag{k}[][]{$k$}

\psfrag{y}[][]{$Y^{\prime }$}

\psfrag{x}[][]{$X^{\prime }$}

\psfrag{n}[][]{}

\psfrag{r}[][]{$O$}

\psfrag{a}[][]{$x$}

\psfrag{c}[][]{$y$}

\psfrag{m}[][]{$M$}

\psfrag{h}[][]{$\;\dfrac{1}{k}$}

\includegraphics[width=0.4\textwidth]{fig3.eps}

\caption{The flow near the leading edge of a thin aerofoil.}

\label{fig3_ms}
\end{figure}

The problem is that the image with the PDF he sent and the one I get when I run this are different.

Why is that?

The top image is how it should look, the bottom is mine.

• We are going to need more than 'different' ... – Joseph Wright Jun 17 at 17:42
• unlikely to be related to operating system. Are you using latex dvips ps2pdf (correct) or pdflatex (wrong) ? – David Carlisle Jun 17 at 17:56
• I've edited the post, How do I change ps2pdf? – kisrui Jun 17 at 21:33
• what command are you using to process the document, it should be latex, not pdflatex if you use psfrag. – David Carlisle Jun 18 at 8:20


text:
# Knowledge Base

 Navigation: DEVICE Suite > Finite Element IDE > Solvers Charge Transport (CT)

The Charge Transport (CHARGE) solver is a physics-based electrical simulation tool for semiconductor devices, which self-consistently solves the system of equations describing the electrostatic potential (Poisson’s equation) and density of free carriers (the drift-diffusion equations). The drift-diffusion model is an established and robust method that will produce accurate results for a wide range of semiconductor devices under common operating conditions.

### Video resources

More videos (lumerical.com)

### Charge Transport Solver Physics

This section will introduce the basic mathematical and physics formalism behind the self-consistent algorithm used in CHARGE, starting from the non-linear Poisson and drift-diffusion equations.  CHARGE solves the drift-diffusion equations for electrons and holes (carriers)

where Jn,p is the current density (A/cm2), q is the positive electron charge, μn,p is the mobility, E is the electric field, Dn,p is the diffusivity, and n and p are the densities of the electrons and holes, respectively (the subscripts n and p indicate quantities that are specific to the carrier type). Each carrier (electron or hole) moves under the influence of two competing processes: drift due to the applied electric field, and random thermal diffusion due to the gradient in the density. These processes are represented in the drift-diffusion equations as the sum of two terms.

The mobility μn,p  describes the ease with which carriers can move through the semiconductor material, and is related to the diffusivity Dn,p  through the Einstein relation,

$$D_{n,p}=\mu_{n,p}\frac{K_bT}{q}$$

where kB is the Boltzmann constant. The mobility is a key property of the material, and may be modeled as a function of temperature, impurity (doping) concentration, carrier concentration, and electric field. For further details, please see the section on material models.

To solve the drift-diffusion equations, the electric field must be known. To determine the electric field, Poisson's equation is solved:$$-\nabla\cdot\left(\varepsilon\nabla V\right)=q\rho$$

where ε is the dielectric permittivity, V the electrostatic potential (E = $$-\nabla V$$ ) and ρ the net charge density,

$$\rho = p-n+C$$

which includes the contribution $$C$$ from the ionized impurity density.

Finally, the auxiliary continuity equations are required to account for charge conservation

where Rn,p is the net recombination rate (the difference between the recombination rate and generation rate). The physical processes associated with the material are assumed to act equivalently when applied to electrons or holes, and as a result, R = Rn = Rp. The recombination and generation processes are important factors in the material-specific calculation of carrier behavior. Multiple recombination and generation processes are modeled, which may depend on temperature, impurity (doping) concentration, carrier concentration, electric field, and current density. For further details, please see the section on material models.

CHARGE discretizes and solves the drift-diffusion and Poisson’s equations on an unstructured finite-element mesh in one and two dimensions. The simulation region is partitioned into multiple domains along boundaries between materials with unique physical descriptions. The materials used in the simulation may be categorized as insulators, semiconductors, or conductors; each type of material has an associated user-specified model or collection of models that describe its behavior. In particular, specialized multi-coefficient models are provided for semiconductors that describe the fundamental properties, mobility, and recombination processes inherent to that material.

The system of equations solved by CHARGE admits both a steady-state and time-varying result. By enforcing the condition

$$\frac{\partial n}{\partial t}=\frac{\partial p}{\partial t} = 0$$

in the continuity equations, the carrier density and electrostatic potential can be solved at steady-state. Steady-state simulations can be used to examine the system’s behavior at a fixed operating point, and are also useful when extracting small-signal parameters for a component (e.g. for frequency response analysis). Alternately, by specifying an initial condition for the carrier density and electrostatic potential, the equations can be solved in a sequence of discrete times. The time-dependent behavior of the component can then be used to directly evaluate its large-signal time-domain response or extract large-signal AC parameters.

Boundary conditions are very important in an accurate semiconductor device simulation. Two categories of boundary condition are present in CHARGE: those that relate to the electrostatic potential (Poisson’s equation) and those that relate to the carrier densities (the drift-diffusion equations). Poisson’s equation and the drift-diffusion equations are second-order partial differential equations (PDE), and each requires that the solution be explicitly specified for at least one location. This is known as a Dirichlet boundary condition. For the electrostatic potential, the Dirichlet condition takes the form of a boundary (internal or external) with a fixed voltage specified,

$$V(x) = V_1$$

as is typical of an electrical contact. For the carrier densities, the majority carrier concentration is set to its equilibrium value at the interface between a contact and the semiconductor, such that

$$p-n+C=0$$

At internal boundaries between two domains that are not contacts, the boundary conditions are determined from the physical properties of the interface. In the case of the electrostatic potential, the electric flux density must be continuous across the boundary in the absence of a surface charge. For the electron and hole densities, boundary conditions between the semiconductor and adjacent materials may be specified in terms of a surface recombination current density, which will default to zero (no carrier flux across the boundary) for insulators or an infinite recombination velocity (forcing the carrier density to its equilibrium value) for contacts. At the external (open) boundaries of the simulation domain, homogenous Neumann boundary conditions are applied: the electric field normal to the boundary is set to zero as is the surface recombination current density. Physically, this corresponds to an insulating boundary across which no charge can flow.

### Small Signal AC Analysis

Small signal AC analysis gives a frequency domain solution to the linearized charge transport equations (Poisson and drift-diffusion). The CHARGE transport solver will find a self-consistent solution to the coupled, non-linear system of equations.

At steady-state, the time derivatives $$\frac{\partial n}{\partial t}$$ and \frac{\partial p}{\partial t} are zero, and solution $$\bar{x} = (\bar{V}, \bar{n}, \bar{p})$$ is determined. The function $$F_{V,n,p}$$ can be expanded in a Taylor series around the operating point $$\bar{x}$$ with a perturbation $$\widetilde{x} e^{j\omega t}$$(in response to an applied perturbation $$q=\bar{q}+\widetilde{q} e^{j\omega t}$$ and truncated at first order, e.g.

The steady-state residual $$F_{V}(\bar{x})$$ is zero. Incorporating the time derivatives, we obtain the system of equations

where we assume that the perturbations to the carrier densities at the terminals are zero ($$\widetilde{q}_{n,p}=0$$) and $$\widetilde{q}_{n,p}$$ represents the applied small amplitude signal. This system of equations is solved for the (complex) small amplitude responses $$\widetilde{V}$$, $$\widetilde{n}$$ and $$\widetilde{p}$$.

The terminal currents are calculated as the sum of their components, including the displacement and carrier currents. The small amplitude displacement current density is

The electron and hole currents are found by assuming a first-order expansion around the operating point, e.g.

The net currents are resolved as the integrated flux into the terminals.

The small signal analysis is a computationally effective way of resolving the frequency domain response of a semiconductor device under conditions where the small amplitude/linear approximation is valid. For large signal response when the behavior of the semiconductor device is non-linear, a full time domain simulation can be performed.

### Coupled Heat Charge Transport

To extend the charge transport solver to account for self-heating effects, the drift-diffusion equations are adapted to account for the influence of a gradient in the temperature,

where $$\mu$$is the carrier mobility, $$k$$ is the Boltzmann constant, $$q$$ is the elementary charge, and where the driving fields are described as

In these equations,$$E_c$$ and $$E_v$$ are the conduction band and valence band energies, respectively;  $$N_c$$ and $$N_v$$  are the electron and hole effective densities of states, respectively; and$${m_n}^*$$ and $${m_p}^*$$ are the electron and hole effective masses, respectively, scaled by the electron rest mass$$m_0$$. An additional term is added when Fermi-Dirac statistics are used. In the absence of a temperature gradient, these equations reduce to the classic drift-diffusion equations.

In a coupled heat and charge transport (CHCT) simulation, the drift-diffusion equations defined above are solved self-consistently with Poisson’s equation and the heat transport equation (see heat transport solver physics description),

$$c_p \rho \frac{\partial T}{\partial t} -\nabla\cdot\left(k\nabla T\right) = Q$$

where the applied heat $$Q$$(W/m3) is now generated from the combination of Joule heating from the carrier currents and from carrier recombination:

$$Q=Q_n+Q_p+Q_R$$

In this description of heating,

where $$E_g$$ is the bandgap energy and $$R$$ is the net recombination (recombination less generation).

The boundary conditions for the heat transport equation are set by the temperatures at the contacts, which are assumed to be constant and uniform. All other thermal boundaries are assumed to be insulating.

### Meshing

CHARGE uses an unstructured, finite-element mesh, like the one shown in the following screenshot. The solution to the system of equations used to determine the physical quantities of interest is estimated from the discrete formulation of those equations. Consequently, it's important to understand that of the fundamental simulation quantities (material properties, geometry information, electrostatic potential, and carrier concentrations) are calculated at each mesh vertex.

A finer mesh (with shorter edge lengths and smaller elements) will better approximate the exact solution to the system of equations, but at a substantial cost. As the mesh features become smaller, the simulation time and memory requirements will increase.  CHARGE provides a number of tools, including the automatic and guided mesh refinement, that allow you to obtain accurate results, while minimizing computational effort.

### Units and normalization

 Quantity Description Units Unit description Length Length units in semiconductor models.  This is reflected in the semiconductor device literature, and in the parameter coefficients for the material models. cm Centimeter Energy The electron energy E is related to the local electrostatic potential (voltage) as E = -qV. All energies (and voltages) are referenced from the (equilibrium) Fermi level of an electrical contact in the system. eV Electron volts

### Selected Application Examples

Getting Started Examples

Vertical Photodetector

Traveling Wave Modulator

Thin film GaAs solar cell

GaAs PIN diode

MOSFET

Copyright Lumerical Inc. | Privacy | Site Map


text:
# Definition of Significant Figures

In my textbooks, significant figures are defined as:

1. “Significant figures by definition are the reliable digits in a number that are known with certainty.”

2. “A significant figure is the one which is known to be reasonably reliable.”

Reliable means giving the same result on successive trials or reliable information can be trusted to be accurate. However, at the end of each of the two definitions it is also written that ‘the last digit of a number is generally considered uncertain in the absence of qualifying information.' For example if the mass of an object is 12.248 gm, the last digit which is ‘8’ is uncertain by plus or minus 0.001 gm. This uncertainty is unreliability in the information. So, the digit ‘8’ is uncertain, and thus according to the definition 1 it is not a significant figure. However, the rules for significant figures say that ‘non-zero digits are all significant’. Due to the last digit ‘8’, if the object was weighed with careful handling minimizing the chances of error, the figures preceding ‘8’ that are (1, 2, 2, 4) are certain and reliable. If the mass of another object is 2 gm, then it is uncertain by plus or minus 1 gm i.e. its mass could be 3 gm or could be 1 gm. ‘2’ is therefore not certain!
What is the reason that significant figures are defined to be the reliable digits in a number? In what sense they are said to be reliable?

• I propose migrating this over to Physics, since they are much more concerned with sig fig. It' can be tricky to explain, esp when you consider 0.00120
– Calvin Lin
Jun 18, 2013 at 15:27
• I think this is a mathematics question and should have stayed where it originated. There is nothing in the question that is related specifically to physics rather than any other numerate discipline. The only thing I would say about significant digits in any science subject is to not use them except when asking someone in an exam to do a calculation to a specific number of digits. Quote size of the errors instead. Jun 18, 2013 at 16:10
• More on significant figures. Jun 18, 2013 at 18:05
• I know this is OT, but the abbreviation of gram is "g", not "gm". In the metric system, gm means gram-metre, ie grams times metres. And, of course, mg means milligram and Gm is gigametres! Jun 20, 2013 at 0:58

I encounter significant digits much more often in chemistry than in physics. So basically:

Say you have a ruler with centimeter and millimeter markings. You measure the length of a pencil, and it comes out to somewhere in between 8.6 cm and 8.7 cm. It seems a touch closer to 8.6 than to 8.7. So, you say that the pencil is 8.63 cm long. The last digit implies that it is $\pm.01$. This way, the value could be 8.62, 8.63, 8.64, or anywhere in between. The most that you know is that it is definitely closer to 8.6 than 8.7, and the range from 8.62-8.64 just about covers your uncertainty about the measurement.

If you wanted to be absolutely precise, every single measurement you make and quantity you calculate would have a tolerance based on the limitations of your measuring apparatus. Of course, it would be cumbersome to keep writing $\pm.01$ every time, so it is simply assumed that the value is known exactly except for the last digit, which is uncertain.

Now when you do calculations, you can't use the value that you found, because it has some uncertainty associated with it. To be correct, you would have to carry out multiple calculations, first on the lower bound, and then on the upper bound, to figure out what the uncertainties of your new quantity are. This doubles the number of calculations you need to make, and is just cumbersome and tedious. That is why the rules for significant digits arose. They are a guideline for figuring out what kind of uncertainty your new quantity has without having to make any extraneous calculations. Thus, when you multiply 2 numbers, one with 3 sig figs and the other with 2, you will know for sure that the product will have 2 sig figs, one of which is absolutely certain, the other slightly uncertain.

To reiterate, in the example above, our value of 8.63 cm for the length of the pencil has 3 significant digits; two of which are absolutely certain (8 and 6), and the last one certain to $\pm1$.

• That is exactly how I have always handled significant figures in the lab. However, because this question was migrated from the math forum I think his question is asking about the formal correctness of his textbook's definition. For the lab, the practicalities of using the instrumentation really takes precedence. But as I just learned when answering the question - there is also a topic of math called "significance arithmetic." Jun 19, 2013 at 21:26

I think you are correct, the definition quoted from your textbook seems inadequate - as you pointed out there is a contradiction around the use of the word "reliable." Also the reference you cite no where mentions anything about "reliability."

That is a problem with textbooks, authors sometimes don't explain the material very well they consider to be preliminary.

If you want a mathematically rigorous explanation of this, you might have to find a book about Significance Arithmetic.

Here is a link to a Decimal Arithmetic FAQ from IBM that explains the difference between decimal arithmetic and significance arithmetic.

If you are interested in computer science, you might have to find a book about Floating Point variables.

Experimental physicists need to 1) read instruments and 2) communicate the precision of measured or computed values correctly. The rules for reporting measured values in print vary with field and editorial convention. Measured values, and values calculated from measured values, have significant figures. Constants do not have significant figures.

Here is an example of significance arithmetic applied to experimental chemistry.

Put another way, the significant figures in a measurement value are not guaranteed to be accurate (i.e. reliable.) The number of significant figures can be defined for a very poor measurement.


text:
# Alphabet Checksum

Given a string of lowercase letters, output the "alphabet checksum" of that string, as a letter.

### Example

Let's say we have the string "helloworld". With a = 0, b = 1, c = 2 ... z = 25, we can replace all of the letters with numbers:

h  e  l  l  o  w  o  r  l  d
7  4  11 11 14 22 14 17 11 3

Now, we can sum these:

7+4+11+11+14+22+14+17+11+3 = 114

If we mod this by 26, we get:

114 % 26 = 10

Now, using the same numbering system as before, get the 10th letter, k. This is our answer.

### Test cases

Input          Output

helloworld     k
abcdef         p
codegolf       h
stackexchange  e
aaaaa          a

This is , so shortest code in bytes wins.

• Sandbox Oct 21, 2022 at 17:54

# Excel (ms365), 59, 58 bytes

-1 Thanks to @TheThonnu

=CHAR(MOD(SUM(CODE(MID(A1,SEQUENCE(LEN(A1)),1))+7),26)+97)

• I think you can change the -97 to +7 (as some other people have done in their answers) Oct 23, 2022 at 7:55
• @TheThonnu, you are right, but only the 1st one.
– JvdV
Oct 23, 2022 at 8:03
• Yes, I meant the first one. Oct 23, 2022 at 11:01

# MATL, 10 bytes

2Y2j97-sQ)

### Explanation

2Y2j97-sQ)
2Y2         % Push predefined literal: string 'abc···xyz'
% STACK: 'abc···xyz'
j        % Take input as a string
% STACK: 'abc···xyz', 'helloworld'
97-     % Push 97 (ASCII code of 'a'), and subtract element-wise
% STACK: 'abc···xyz', [7 4 11 11 14 22 14 17 11 3]
s    % Sum
% STACK: 'abc···xyz', 114
Q)  % Add 1, and use as index (1-based, modular). Implicit display
% STACK: 'k'

• Please can you add an explanation? Oct 21, 2022 at 19:39
• @TheThonnu Done! Oct 21, 2022 at 20:13

# JavaScript (Node.js), 51 bytes

s=>(B=Buffer)([B(s).map(c=>t+=c+7,t=0)|97+t%26])+''

Try it online!

# Go, 68 bytes

func(s string)(t int){for _,r:=range s{t+=int(r)-97}
return t%26+97}

Attempt This Online!

# brainfuck, 142 126 bytes

,[>++++++++[-<------------>]<-[->>>>+<<<<],]>>>>>+++++[->+++++<]>+<<[>+>->+<[>]>[<+>-]<<[<]>-]>>>>++++++++[-<++++++++++++>]<+.

Try it online!

Edit: -16 bytes due to common sense. Remembered I didn't have to load 97 into its own cell before adding/subtracting.

My first time golfing in brainfuck! Here's the ungolfed code for your viewing displeasure:

,					GET EACH CHARACTER IN THE INPUT
[
>++++++++[-<------------>]<-	SUBTRACT 97 (8 TIMES 12 PLUS 1) FROM CELL 0
[->>>>+<<<<]			ADD CELL 0 TO CELL 4
, 				INPUT TO CELL 0
]
>>>>					GO TO CELL 4
>+++++[->+++++<]>+<<			LOAD 26 (5 TIMES 5 PLUS 1) INTO CELL 6
[>+>->+<[>]>[<+>-]<<[<]>-]		TAKE CELL 4 MOD CELL 6
>>>					GO TO RESULT IN CELL 7
>++++++++[-<++++++++++++>]<+		ADD 97 (8 TIMES 12 PLUS 1) TO CELL 7
.					DISPLAY

• As stated in some other answers, you can probably save some bytes by replacing the "-97" by "+7" (because 97+7 = 104 and 104%26=0). Oct 24, 2022 at 8:30
• @F.Carette I tried to do that by just changing the third line of the ungolfed code to +++++++, but that started giving me the wrong answer somehow. Oct 25, 2022 at 7:43
• Looks like you suffer overflow, current code fail zzzzzzzzzzzzzzz (assuming another answer is correct)
– l4m2
Jan 15 at 5:27

# 05AB1E, 6 bytes

ADIkOè

Input as a list of characters.

Explanation:

A       # Push the lowercase alphabet
D      # Duplicate it
I     # Push the input-list
k    # Get the index of each character in the (top) alphabet
O   # Sum these together
è  # (Modular 0-based) index it into the alphabet
# (after which this character is output as result)

# R v4.2.0, 63 59

-4 thanks to Dominic van Essen

\(x,l=letters)l[(sum(match(el(strsplit(x,"")),l)-1)%%26)+1]

The input string x is parsed as characters, and match is used to retrieve the index of each character in the letters builtin, minus one to convert from 1-based to 0-based.

• Nice approach. However, generally 'code golf' assumes that you need to include the code to 'receive' the string that you're being given, rather than assuming it's already been stored inside a variable whose name you know (as x here). For R, this typically involves using scan(,'') , or defining a function that accepts the string as a parameter (here this would add 4 bytes like this) Nov 1, 2022 at 9:47
• (and, by the way, match is vectorized, so you can shave-off a few bytes by skipping the lapply altogether like this...) Nov 1, 2022 at 9:55
• @DominicvanEssen again, thanks for the tips! I wasn't aware of the "\" function shorthand -- it seems that's new with R 4.1. Very handy indeed. Nov 1, 2022 at 16:29

# Gaia, 16 15 bytes

⟨c97%⟩¦Σ26%97+c

Try it online!

Pretty standard implementation of what the challenge asks.

I was able to save a byte thanks to the golfing advice given by
Dominic van Essen!

## Explained

⟨c97%⟩¦Σ26%97+c
⟨    ⟩¦           # To each letter in the input {
c97%            #  modulo the character code by 96
#  }
Σ26%      # Get the sum of that list and modulo 26
97+c   # and add 97 to turn it back into an ascii letter

• Why use mod 96 + decrement instead of just mod 97? Nov 1, 2022 at 14:29
• @DominicvanEssen I'm not the best at figuring out modulos just yet. Thanks for the golfing advice! Nov 2, 2022 at 12:23

# Mathematica, 60 48 bytes

FromLetterNumber[Tr[LetterNumber@#-1]~Mod~26+1]&

View it on Wolfram Cloud!

-12 bytes thanks to JSorngard!

• -12 bytes if we avoid StringLength with some arithmetic tricks Nov 2, 2022 at 13:22

# K (ngn/k), 16 14 bytes

c$97+26!+/97!  Try it online! -2 bytes thanks to coltim! Explanation: c$97+26!+/97!  Main function. Takes implicit input
97!  Modulo by 97 to each character in the string
to convert them into the 0..25 system
(In K, every character in a string is also an ASCII charcode)
+/     Sum
26!       Modulo by 26
97+          + 97 to each of them to convert them back to ASCII charcode
c$And convert them back to characters  • You don't need the ' on the -97+ (it will "vectorize" automatically); additionally, -97+ can be swapped out for 97! Nov 4, 2022 at 14:52 # Python 3, 43 bytes -1 byte from @Arnauld lambda s:chr(sum(ord(c)+7for c in s)%26+97)  Try it online! • No need for f=, just put it in the header code (saving you 2 bytes). Oct 21, 2022 at 18:09 • The +7 is really clever! I had the exact same solution, except I used -97 instead. Oct 22, 2022 at 2:22 • @TheThonnu can you explain how 'header code' is valid for not being able to call this function now? How does this work and how is this valid for a code golf? Oct 27, 2022 at 9:16 • @Jeroentetje3 - there's a rule somewhere on codegolf.meta.stackexchange.com where it says that for lambda functions in Python, you can name it in the header. If you look at some other Python answers as well, you'll see this convention. Oct 27, 2022 at 9:26 • @Jeroentetje3 - I found it: codegolf.meta.stackexchange.com/a/1503/114446: functions do not need to be named. Oct 27, 2022 at 9:45 # Japt, 8 bytes ;x!aC gC  Try it Input as an array of characters. Explanation: ;x!aC gC ; # C = "abcdefghijklmnopqrstuvwxyz" x # Compute the following for each character, then sum the results: !aC # Find its index in C gC # Get the character at that index in C (wrapping)  You can also rearrange things like this for a different 8 byte solution which works almost exactly the same way. # jq, 37 bytes explode|map(.-97)|[add%26+97]|implode  Try it online! # Raku, 27 bytes {chr sum(.ords X-97)%26+97}  Try it online! # Nibbles, 7 bytes (14 nibbles) +%+.$-$;'a'26   . # map over$           # the input:
-          #   subtract
'a'     #   the letter 'a'
;        #   (and save it)
$# from each letter # (which gives its 0-based index) + # now sum this list % 26 # apply modulo-26 + # and add back the saved letter 'a'  # Java (OpenJDK 8), 132 bytes interface T{static void main(String[]a){int i=a[0].length(),s=0;for(;i-->0;s+=a[0].charAt(i)+7);System.out.print((char)(97+s%26));}}  Try it online! • Welcome to Code Golf, and nice answer! Oct 23, 2022 at 19:23 ## C# (.Net 6), 64 bytes int i=0,j=0;for(;i<a.Length;)j+=a[i++]-97;return(char)(97+j%26);  Try it here # J, 19 bytes (26|+/)&.(_97+3&u:)  Attempt This Online! (26|+/)&.(_97+3&u:) &. NB. F&.G y applies G⁻¹(F(G x)) to y, rank is decided by G (_97+3&u:) NB. fork converting str to char codes and subtracting 97 from each (26|+/) NB. fork that sums the arg and mods the result by 26 NB. +/ can be used because u: operates on y as a whole NB. The inverse of G in this case would be to add 97 to NB. the result of F and then convert char code to str  # Bits, 130 bits = 16.25 bytes 1110000111000001110001011111110111010100000001100111110101011100011000000110001011001101101110000000110100111001111101010111111100  This was very painful. ### Explanation 11100001 // Get a string input 1100000 // Push 0 to the stack [this will be our running sum] 11100010 // For each character in the input string: 111111101 // Get ord(c) 1101010 // Add [to the running sum] 000000 // Separator so the numbers don't get joined together 1100111 // Push 7 1101010 // Add [to the running sum] 11100011 // ENDFOR 000000 // Separator so the numbers don't get joined together 1100010 // Push 2 1100110 // Push 6 [this gets joined into 26] 1101110 // Mod our running sum by 26 000000 // Separator so the numbers don't get joined together 1101001 // Push 9 1100111 // Push 7 [this gets joined into 97] 1101010 // Add [to the result of the mod] 111111100 // Get chr(x) // [implicit output of the item on the top of the stack]  ### Output # Julia 1.0, 36 26 bytes !s=sum([s...].-'a')%26+'a'  Try it online! -10 MarcMush • -10 bytes by adding and subtracting chars directly !s=sum([s...].-'a')%26+'a' Nov 12, 2022 at 10:25 # Thon (Symbols)s flag, 10 bytes $åị$Σ26%å  ### Explanation $åị$Σ26%å // (implicit input as a string)$  $// For each character in the input string: åị // Get the index in the alphabet // (implicitly create a list of all of these indexes) Σ // Sum the list 26% // Mod by 26 å // Get that letter of the alphabet // (implicit output)  • -1? Please explain? It works fine for all test cases. Oct 21, 2022 at 18:56 • My guess is that the downvote is for the challenge poster immediately posting their own solution. – Adám Oct 23, 2022 at 6:42 • @Adám thanks. I thought that was fine. I won't do that in future, then. Oct 23, 2022 at 6:44 • Well, it is fine, especially when doing so in a lesser known language. It is just my guess that the downvoter expressed their personal opinion. – Adám Oct 23, 2022 at 6:45 # Python, 74 bytes from string import* f=lambda s,l=ascii_lowercase:l[sum(map(l.index,s))%26]  Try it online! # Python + golfing-shortcuts, 47 bytes lambda S:Sl[s(m(Sl.index,S))%26] from s import*  (Is this one a competitive answer?) # Ruby, 33 32 bytes -1 byte thanks to Arnauld ->a{(a.sum{_1.ord+7}%26+97).chr}  Attempt This Online! • @Arnauld Nice! Thanks. Oct 21, 2022 at 18:29 # Factor + math.unicode, 25 24 bytes [ 7 v+n Σ 26 mod 97 + ]  -1 byte thanks to some black magic from Arnauld! Try it online!  ! "helloworld" 7 ! "helloworld" 7 v+n ! { 111 108 115 115 118 126 118 121 115 107 } Σ ! 1154 26 ! 1154 26 mod ! 10 97 ! 10 97 + ! 107  # simply, 76 bytes It is a pretty long one... Creates an anonymous function that outputs the expected result. fn($S){$X=0each$S as$C;$X=&add($X&sub(&ord($C)97))out!ABCL[$_=&mod($X,26)];}

Yes, that's right, I'm assigning the result of &mod into a variable.
Without it, it gives a syntax error, because ... I made mistakes in the compiler...

# Using the code

Simply call the function.

$fn = fn($S){$X=0each$S as$C;$X=&add($X&sub(&ord($C)97))out!ABCL[$_=&mod($X,26)];}

// should output "h"
call $fn("codegolf");  # Ungolfed Somewhat code-y looking: $fn = fn($string) => {$sum = 0;
each $string as$char {
$sum = &add($sum, &sub(&ord($char), 97)); }$index = call &mod($sum, 26); echo !ABCL[$index];
}

Plain English-ish/Pseudo-code looking:

Set $fn to an anonymous function($string).
Begin.
Set $sum to 0. Loop through$string as $char. Begin. Set$sum to the result of calling the function &add(
$sum, Call the function &sub( Call the function &ord($char),
97
)
).
End.

Set $index to the result of calling the function &mod($sum, 26).

Show the value !ABCL[\$index].
End.

Both versions do exactly the same.

# Jelly, 8 bytes

O+7S‘ịØa

A monadic Link that accepts a list of characters and yields a character.

Try it online! Or see the test-suite.

### How?

O+7S‘ịØa - Link: list of characters, Message
O        - ordinals (Message)
S     - sum
‘    - increment
Øa - "abc...xyz"
ị   - index into (1-based and modular)

# Fig, $$\10\log_{256}(96)\approx\$$ 8.231 bytes

ica%26S+7C

Using Arnauld's logic. Accepts a list of characters

Try it online!

ica%26S+7C
C # str -> char code, vectorises
+7  # add 7 to each item
S    # sum
%26     # sum % 26
ca        # lowercase alphabet
i          # index intro ca using result

# Alternate $$\13\log_{256}(96)\approx\$$ 10.701 bytes

ica%26SM'lxca

Try it online!

ica%26SM'lxca
ca  # lowercase alphabet
x    # input
M'l     # map find over x where we look for each char in ca, returns index
S        # sum
%26         # sum % 26
ica            # index into ca using the result

# C (gcc), 46

t;f(char*s){for(t=0;*s;)t+=*s++-97;t=t%26+97;}

Try it online!

• 41 Oct 22, 2022 at 12:50
• You can save one more by changing char to int. Oct 22, 2022 at 18:18
• 40 bytes
– jdt
Nov 2, 2022 at 13:32

# ARM Thumb machine code, 18 bytes

61 20 04 c9 61 3a 10 44 fb d5 1a 38 fd d2 7b 30
70 47

Assembler source:

    .syntax unified
.arch armv7-a
.thumb
.globl alpha_checksum
.thumb_func
// Input: r1: null terminated UTF-32LE string
// Output: r0
// Clobbers: r0-r2
alpha_checksum:
// Initial accumulator. Start at 'a' to cancel the checksum
// loop adding '\0' - 'a' when the null terminator is reached.
movs   r0, #'a'
.Lloop:
ldmia  r1!, {r2}
// Subtract 'a' to convert to a number, set flags
// In the case of the null terminator, this will result in
// -'a', which ends the loop condition below.
subs   r2, #'a'
// Add to the checksum, without setting the flags
// Loop if the subs didn't return negative,
// which happens only with the null terminator.
bpl    .Lloop
.Lend:
// Calculate (checksum % 26) - 26 using a naive subtraction loop
.Lmodulo:
// Subtract 26
subs   r0, #26
// Loop while it was >= 26
bhs    .Lmodulo
// Add 26 to correct the modulo, and 'a' to convert to ASCII.
// Return
bx     lr

This can be called from C using a dummy parameter to place ptr in r1.

ptr is expected to be a pointer to a null terminated UTF-32LE string.

char32_t alpha_checksum(int dummy, const char32_t *ptr);

• I was curious how much it saves to take UTF32 / wchar_t input: The ldmia is only 2 bytes (04 c9), but a 11 f8 01 2b ldrb r2, [r1], #1 post-increment byte load is 4 bytes. So a char* version would be 2 bytes longer. Passing a length as another arg would also cost extra bytes, since an implicit-length C string allows folding the check into a subs we're already doing. And there's no [R1, R2] addressing mode with pre-decrement of one register. Oct 22, 2022 at 8:30
• Not that it matters for code size, but I think it would be more idiomatic to use bge or bhs to keep looping while the input character was >= 'a' (signed or unsigned), rather than branching on the sign of the subtraction result. bpl is different from bge if there's signed overflow. In this case you could think about it as doing a (potentially signed-wrapping) subtraction and then checking the sign of the result, but it seems like a bad habit vs. using the flags result of subs like it was a cmp. Probably not worth editing the answer to change, though. Nice one. Oct 22, 2022 at 8:47
• Yeah I could also do bge or bhs, I chose bpl because I was emphasizing the fact that it will end up adding a negative. Oct 22, 2022 at 13:34
• Oh that makes sense, good point. Oct 22, 2022 at 13:35

# Clojure, 65 bytes

(defn a[s](char(+(mod(apply + (map #(- % 97)(map int s)))26)97)))

Try it online!

Ungolfed:

(defn alpha-checksum [s]
(char (+ (mod (apply + (map #(- % 97) (map int s))) 26) 97)))

• You can remove the space in + ( for -1, and you can use fn instead of defn a (using an anonymous function) to save another 4, and then combine the two map statements to save a bunch more - TIO Oct 22, 2022 at 18:14
• And off of that, you can save one more byte by using a # lambda for the outer function and fn on the inner one (which allows removing a whitespace): Try it online! Oct 22, 2022 at 18:17
• And off of that (sorry lol), you can save one more byte using a trick from the other answers (changing -97 to +7): Try it online! Oct 22, 2022 at 18:19