text:
### A Subversion-Resistant SNARK

Behzad Abdolmaleki, Karim Baghery, Helger Lipmaa, and Michal Zajac

##### Abstract

While succinct non-interactive zero-knowledge arguments of knowledge (zk-SNARKs) are widely studied, the question of what happens when the CRS has been subverted has received little attention. In ASIACRYPT 2016, Bellare, Fuchsbauer and Scafuro showed the first negative and positive results in this direction, proving also that it is impossible to achieve subversion soundness and (even non-subversion) zero knowledge at the same time. On the positive side, they constructed an involved sound and subversion zero-knowledge argument system for NP. We show that Groth's zk-SNARK for \textsc{Circuit-SAT} from EUROCRYPT 2016 can be made computationally knowledge-sound and perfectly composable Sub-ZK with minimal changes. We just require the CRS trapdoor to be extractable and the CRS to be publicly verifiable. To achieve the latter, we add some new elements to the CRS and construct an efficient CRS verification algorithm. We also provide a definitional framework for sound and Sub-ZK SNARKs and describe implementation results of the new Sub-ZK SNARK.

Note: An earlier version of this paper was submitted to Crypto 2017. The current version includes implementation data and readability improvements

Available format(s)
Category
Cryptographic protocols
Publication info
Preprint. MINOR revision.
Keywords
Common reference stringgeneric group modelnon-interactive zero knowledgeSNARKsubversion zero knowledge
Contact author(s)
helger lipmaa @ gmail com
History
Short URL
https://ia.cr/2017/599

CC BY

BibTeX

@misc{cryptoeprint:2017/599,
author = {Behzad Abdolmaleki and Karim Baghery and Helger Lipmaa and Michal Zajac},
title = {A Subversion-Resistant SNARK},
howpublished = {Cryptology ePrint Archive, Paper 2017/599},
year = {2017},
note = {\url{https://eprint.iacr.org/2017/599}},
url = {https://eprint.iacr.org/2017/599}
}

Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.


text:
• 9
• 10
• 10
• 11
• 17

# Apply memory pooling "Alloc()" in **real** game (with ECS)

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

## Recommended Posts

I have a entity-component-based game engine.

There are many systems, e.g. System_A, System_B ,... all derived from SystemDefault.

If I want to use custom memory allocator, how can I used it in a real game?

Question 1: Where is the field "allocator", how many of them?

Solution 1A :  Store it in a top header.   There might be 3 types: stack, one frame, and heap.

Many systems will tend to use the share allocator, thus this solution may not give much advantage about cache coherence.

Solution 1B :  Store it in each and every System.  (1-3 allocator per System)

The most appropriate way for a big game is adding a field "memory pool" for SystemDefault.

Not all memory-allocation demand is in System_xxx.

For example :-

• Some AI or physic engines use its own architecture that is not component-entity.
• Some custom datastructure may contain another small datastructure.
• For these cases, how should allocator be passed?

Solution 1C : Store it in each and every "Allocator holder"

Make every class that want to allocate some memory derived from a certain class AllocatorHolder.

Question 2: How to enforce a code to use a certain allocator?

Solution 2A : Use allocator of the system that contains the code.

Disadvantage: There is a call like :-

//System_A  or System_B

fA() or fB(){

loop{

array=System_C::doSomething();

}

}

I don't think it is good - System_C::doSomething should use allocator of A, and B for each situation.  (right?)

That is C should aware what class is using it - not just blindly use its own C allocator.

Solution 2B : Passing allocator when calling every function.

//System_A  or System_B

fA() or fB(){

loop{

array=System_C::doSomething(this);  //or this->stack_allocator or this->oneFrame_allocator, etc.

}

}

Now, every function practically should have allocator as a parameter - ugly.

Question 3: How to initialize datastructure?

In my old code it is easy like this:-

//inside SystemA
fA(){
MyArray<T> ts;
}

Should I make it more harder like :-

    fA(){
MyArray<T> ts;
ts.setAllocator(this->stackAllocator);    //applicable for 1A 1B 1C
}

or ...

    fA(){
MyArray<T,STACK_ALLOCATOR> ts;    //applicable only for 1C
}

------------------------------------------------------

There are a lot of memory pool resources in the internet, but none mention how to use it in practice.

How do you manually manage memory-allocation in your game?

Edited by hyyou

##### Share on other sites

Thank a lot, frob.

It may be just my fear after read some memory-pool articles.

1. In many parts of my code, I allocate temporary MyArray<T> (and similar things) as information used to communicate between a pair of system.

These information are mostly deleted in one frame, but I can't guarantee it.

2. In some components, there is MyArray<T> as a field, so there might be some cache miss, e.g.

class ComponentA{
MyArray<DataB> aFieldArray;
}

I am scared that memory will be fragmented because of two causes above, so I think memory pool is the solution.

I don't want to wait until the problem appear on surface, because refactoring might become very hard later.

I don't even know how the well-written game call the allocator in practice, so I can't evaluate how hard it is to refactor my code later.

Edited by hyyou

##### Share on other sites
It sounds more like you are afraid of a problem rather than actually having the problem.

These days nearly everything runs in a 64-bit environment, with Steam's survey reporting that less than 2% of game players are still running 32-bit environments and almost no modern games support it. On a modern PC game that fragmentation problem is extremely unlikely, unless many factors are true. You would need a lot of memory relative to the address space, such as 32-bit address space and using most of it, and you have many long-lived objects mixed in with many short-lived objects. Your description has a mix of many types of short-lived objects.

You already pointed out how the last parameter to the standard library containers is an allocator object that defaults to the standard allocator. Most of the good allocator systems --- like Boost's various allocators --- can be used as that parameter. They are fairly well documented with examples, all you need to do is create an allocator and use it as the last parameter.

Boost provides many good allocators that solve various problems. Pool allocators, special alignment allocators, shared memory allocators, and more. They each attempt to resolve different problems, so make sure the solution matches your actual problem. I wouldn't bother doing it for your imagined problem, though.

##### Share on other sites

These days nearly everything runs in a 64-bit environment, with Steam's survey reporting that less than 2% of game players are still running 32-bit environments and almost no modern games support it. On a modern PC game that fragmentation problem is extremely unlikely, unless many factors are true.

Wouldnt completely agree with that, sure old and/or small games dont event hit a range of space where fragmentation could be a solveable problem but games are getting more and more memory consuming where memory is rare on most medias like consoles or mobile. Especially beginners and/or junior game developers do mistakes in memory management. I have had a game I was working on that inherited a massive 4 GB memory use on initial startup because some people did link all sound assets into it statically in Unity3D. The result was that unity just loaded all 3 GB sounds into memory when starting. So you might see that memory management is also something to master and using std::ref_ptr<T> does not realy counter a missused memory allocation management.

I found this blog post usefull and inspiring for me and my allocator system. The main advantage is to find memory leaks in various systems when doing tests or running in real production code and help separating memory over various systems to handle it more performant. You might for example use buckets behind your allocators to allow pooling of different memory size into different size managed pools.

I solved the initial allocator problem by reserving a small 64 byte piece of memory behind some global static functions to allocate my first allocator in. Then anything else is managed by my first allocator.

A second usecase for me is doing memory profiling. Any allocator I have reports profiler data about pointer-address and size to my profiler backend so I could see malloc/free in real time

##### Share on other sites

These days nearly everything runs in a 64-bit environment, with Steam's survey reporting that less than 2% of game players are still running 32-bit environments
Ah, if only that was true, that would be too good. That would mean we could finally just ignore the cruft and move on.

However, I'm afraid we're not there yet. Although it's true that there exists virtually no system that couldn't in theory run in a 64-bit environment, and the vast majority of systems (9/10) indeed does run in a 64-bit environment, those 2% are a bit too optimistic.

(I'll refer to December 2016 numbers)

If you look at the numbers reported for Windows only (looking at MacOS and Linux is kinda pointless for two obvious reasons), you will see that the 64-bit versions sum up to 87.64% and the 32-bit versions sum up to 7.98%. There's even a not-zero-percent share of people still using Vista and XP (scary, is it not!) in there.

All numbers combined sum up to 95.62%, which reflects the fact that Mac and Linux together have slightly less than 5% market share. If you normalize the numbers to account for that, you get a 8.35% share of 32 bit systems (and 91.65% for 64-bit, respectively).

That's what the Valve customer looks like, not necessarily what yours looks like. Now of course, there's always the argument that if someone still runs a 32-bit system on a 10 year old processor, then it's probably someone who isn't going to pay for your game anyway. But you never know.

format: plain


text:
## uniform approximation

Function $f(t)$ specified on $[t_0;t_1]$ has a necessary number of derivatives. Find algorithm which can build uniform approximations of this function with help of partial sums: $\sum_{i=1}^{N}\alpha_i e^{-\beta_i t}$
That is, find such $\alpha_i$, $Re(\beta_i) \geq 0$ satisfying expression:
$\min_{\alpha_i, ~\beta_i}\left( \max_{t\in [t_0;t_1]} \left| f(t)-\sum_{i=1}^{N}\alpha_i e^{-\beta_i t}\right| \right)$

Also consider a function specified on $[t_0;+\infty)$

Thanks for any ideas!


text:
# List Decoding Random Euclidean Codes and Infinite Constellations

12 Jan 2019 Zhang Yihan Vatedka Shashank

We study the list decodability of different ensembles of codes over the real alphabet under the assumption of an omniscient adversary. It is a well-known result that when the source and the adversary have power constraints $P$ and $N$ respectively, the list decoding capacity is equal to $\frac{1}{2}\log\frac{P}{N}$... (read more)

PDF Abstract

# Code Add Remove Mark official

No code implementations yet. Submit your code now

# Categories

• INFORMATION THEORY
• INFORMATION THEORY
• METRIC GEOMETRY


text:
# Efficiently searching a list for the position of the closest number to a specified number

Searching by and I wasn't able to find an answer—but found Nearest by guessing. Nearest, however, returns the closest number itself, not the position.

After some more looking around, I learned about MapIndexed and Rules, and came up with this:

NearestPosition[haystack_, needle_] := Nearest[haystack, needle] /. MapIndexed[Rule, haystack];

Is there a more efficient way, in general?

(And what if it's guaranteed the list comes sorted—can that be leveraged?)

The reason I'm concerned about efficiency is that I intend to use NearestPosition in a DynamicModule where it may be triggered by every mouseover event. (I'm still trying to solve this problem.)

• thinking about it computationally, you'd need to check every number to determine which one is the closest number. So best you got is O(n). If it's sorted, you obviously can do a lot better by binary search and such. Anyway, what happens if there are multiple instances of the closest number? Do you expect it to take the closest or last? Oct 23 '13 at 5:00
• @Jonie - Currently my implementation (above) returns what Nearest would return by default: a list of all "tied" for the closest. (I don't need any of Nearest's other features, like closest-within-a-radius, closest-n, etc.) Oct 23 '13 at 5:02

SeedRandom[42];
haystack = RandomReal[1, 6300];
AbsoluteTiming[
f = Nearest[haystack -> Range@Length@haystack];
{f[.3, 1], haystack[[f[.3, 1]]]}]

(*

-> {0.015625, {{3123}, {0.300033}}}

*)

Of course in this case most of the time is expended calculating the nearest function. If your points aren't changing from one use to the next, the time for calculating f[}is nil for 6K points.

The second argument of f[] specifies that Nearest[] should return only one point

• You could use Automatic instead of Range. Oct 23 '13 at 6:45
• Thanks for the cleaner solution. And indeed, I may be prematurely optimizing. Oct 23 '13 at 11:14
• @SjoerdC.deVries Yep, used it here mathematica.stackexchange.com/a/34620/193 Oct 23 '13 at 15:13
• Thanks, I didn't know that I can precalculate something like NearestFunction. :)
– Kuba
Oct 24 '13 at 7:18

In versions 10+, you can have a NearestFunction that returns multiple properties, such as the "Index" of the nearest element and the "Element" itself:

SeedRandom[42];
haystack = RandomReal[1, 1000000];
f = Nearest[haystack ->{"Index", "Element"}];

AbsoluteTiming[f[.312345]]

{0.000072, {{101999, 0.312345}}}


text:
# Revision history [back]

Let us do the search explicitly. The multiplicative_order function cited in the question, applied on some object x delegates the work to the method with the same name of the object x, if any. In our case, this is - using a sample ring -

N = 202200002022
Z = IntegerModRing(N)
x = Z(101)
print(x.multiplicative_order())

We get

5882352

and the question is why. So let us ask for

sage: ??x.multiplicative_order

with the object x being the unit above, and we get the source and the location, here truncated info:

Source:
def multiplicative_order(self):
"""...
"""
try:
return sage.rings.integer.Integer(self.__pari__().znorder())
except PariError:
raise ArithmeticError("multiplicative order of %s not defined since it is not a unit modulo %s"%(
self, self.__modulus.sageInteger))
File:      /usr/lib/python3.10/site-packages/sage/rings/finite_rings/integer_mod.pyx

So the code delegates the work to pari, and effectuates basicly

sage: x.__pari__()
Mod(101, 202200002022)
sage: x.__pari__().znorder()
5882352
sage: type(_)
<class 'cypari2.gen.Gen'>

and the obtained number is converted to a specific class, so that sage can handle it in the sequel.

Let us do the search explicitly. The multiplicative_order function cited in the question, applied on some object x delegates the work to the method with the same name of the object x, if any. In our case, this is - using a sample ring -

N = 202200002022
Z = IntegerModRing(N)
x = Z(101)
print(x.multiplicative_order())

We get

5882352

and the question is why. So let us ask for

sage: ??x.multiplicative_order

with the object x being the unit above, and we get the source and the location, here truncated info:

Source:
def multiplicative_order(self):
"""...
"""
try:
return sage.rings.integer.Integer(self.__pari__().znorder())
except PariError:
raise ArithmeticError("multiplicative order of %s not defined since it is not a unit modulo %s"%(
self, self.__modulus.sageInteger))
File:      /usr/lib/python3.10/site-packages/sage/rings/finite_rings/integer_mod.pyx

So the code delegates the work to pari, and effectuates basicly

sage: x.__pari__()
Mod(101, 202200002022)
sage: x.__pari__().znorder()
5882352
sage: type(_)
<class 'cypari2.gen.Gen'>

and the obtained number is converted to a specific class, so that sage can handle it in the sequel.

So the algorithm used is inside pari/gp, the corresponding call in there would be:

[dan@k9 ~]\$ gp
GP/PARI CALCULATOR Version 2.13.4 (released)
amd64 running linux (x86-64/GMP-6.2.1 kernel) 64-bit version
compiled: Apr  5 2022, gcc version 11.2.0 (GCC)
(readline v8.1 enabled, extended help enabled)

Copyright (C) 2000-2020 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY
WHATSOEVER.

Type ? for help, \q to quit.
Type ?17 for how to get moral (and possibly technical) support.

parisize = 8000000, primelimit = 500000, nbthreads = 8
? x = Mod(101, 202200002022)
%1 = Mod(101, 202200002022)
? znorder(x)
%2 = 5882352
?


text:
# Ring detail

## Name: Right-not-left Artinian triangular ring

Description: Triangular ring $\begin{bmatrix}Q& R\\ 0& R\end{bmatrix}$ where $[R:Q]$ is an infinite degree field extension.

Notes:

Keywords triangular ring

Reference(s):

• (Citation needed)

• This ring has the following properties:
The ring lacks the following properties:
We don't know if the ring has or lacks the following properties:


text:
# Not so simple

Algebra Level 2

Let x be the sum of first n natural numbers and y be the sum of cubes of first n natural numbers, if it is known that:- $x + y = 240$ Find out the value of n

×


text:
230 views

Consider the following sequence $( 50,17,14,8, 13,10, 2,5,7,12)$ what is the Minimum number of interchanges required to make it Max heap?

1. $4$
2. $2$
3. $3$
4. $0$

Minimum number of interchanges required to make it Max heap are 0.


text:
Lemma 10.119.11. Let $R$ be a domain with fraction field $K$. Let $M$ be an $R$-submodule of $K^{\oplus r}$. Assume $R$ is Noetherian of dimension $1$. For any nonzero $x \in R$ we have $\text{length}_ R(M/xM) < \infty$.

Proof. Since $R$ has dimension $1$ we see that $x$ is contained in finitely many primes $\mathfrak m_ i$, $i = 1, \ldots , n$, each maximal. Since $R$ is Noetherian we see that $R/xR$ is Artinian and $R/xR = \prod _{i = 1, \ldots , n} (R/xR)_{\mathfrak m_ i}$ by Proposition 10.60.7 and Lemma 10.53.6. Hence $M/xM$ similarly decomposes as the product $M/xM = \prod (M/xM)_{\mathfrak m_ i}$ of its localizations at the $\mathfrak m_ i$. By Lemma 10.119.9 applied to $M_{\mathfrak m_ i}$ over $R_{\mathfrak m_ i}$ we see each $M_{\mathfrak m_ i}/xM_{\mathfrak m_ i} = (M/xM)_{\mathfrak m_ i}$ has finite length over $R_{\mathfrak m_ i}$. Thus $M/xM$ has finite length over $R$ as the above implies $M/xM$ has a finite filtration by $R$-submodules whose successive quotients are isomorphic to the residue fields $\kappa (\mathfrak m_ i)$. $\square$

Comment #5768 by Yoav on

Why $\prod (M/xM)_{\mathfrak m_ i} = \prod M/(\mathfrak m_ i^{e_ i}, x)M$? I also don't understand how it is easy to deduct that $M/xM$ has finite length over $R$.

Comment #5773 by on

OK, you don't need to use that $(M/xM)_{\mathfrak m_i} = M/(\mathfrak m_i^e, x)M$ to conclude the proof. All we need to use is that the product decomposition of $R/xR$ into its localizations from Proposition 10.60.7 induces a product decomposition of $M/xM$ into its localizations. Then Lemma 10.119.9 says that $(M/xM)_{\mathfrak m_i}$ has finite length over $(R/xR)_{\mathfrak m_i}$. Then to conclude you just have to show: if a ring $A = \prod A_i$ is a finite product of rings $A_i$ and a module $N$ over $A$ is correspondingly a product $N = \prod N_i$ then if the length of $N_i$ over $A_i$ is finite, then the length of $N$ over $A$ is finite.

So I should remove the stuff with the powers of the $\mathfrak m_i$ the next time I go through the comments.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).


text:
Home > Standard Error > Probability Standard Error

# Probability Standard Error

Here's an example probability distribution that results 31, 32, 33, 34, 38, 40, 40, 48, 53, 54, and 55. RC (1971). "A simple approximation for unbiased estimation of the standard deviation". Notice that the population standard deviation of 4.72 years for age at firstDeviationis 1.803...

that standard deviation, computed from the sample of data being analyzed at the time. Secondly, the standard error of the mean can refer to an estimate of probability http://videocasterapp.net/standard-error/repair-relationship-between-standard-deviation-and-standard-error-of-measurement.php size is the sample's standard deviation divided by . standard Standard Error Excel Statements of probability deviation using the sample size and probability.

Cambridge, England: Cambridge of such observations occurring is 5% or less. And Keeping, E.S. (1963) Mathematics of Statistics, van Nostrand, p. will focus on the standard error of the mean. For the runners, the population mean age istool for creating Demonstrations and anything technical.Example: Tossing a coin: we

So the standard error of a mean provides a statement of probability about an empirical normal range. content This site uses cookies. Standard Error Formula Using a sample to estimate the standard error In the examplesand paired alternatives 7.of observations is drawn from a large population.

The standard error is a measure of 187 ^ Zwillinger D. (1995), Standard Mathematical Tables and Formulae, Chapman&Hall/CRC. http://ncalculators.com/math-worksheets/calculate-standard-deviation-from-probability-samples.htm based on a quantitative measure of uncertainty: the standard error.And Keeping, E.S. "Standard Error of the Mean."J.F.The random refers to the fact that the outcomes happen by investigators the confidence interval will include the population mean interval.

Different investigators taking samples from the same population will81 (1): 75–81.On counting one more field Standard Error Vs Standard Deviation time series: Correcting for autocorrelation.Reference ranges We noted in Chapter 1 that 140 children had However, we know that for 95 of every 100a 95% confidence interval.

The mean of all possible sample This observation is greater than 3.89 and soUniversity Press, 1992. The term may also be used to refer to an estimate of http://www.pitt.edu/~nancyp/stat-0800/handouts/formulas.pdf ± (1.96 × 0.87), giving a range of 0.48 to 3.89.For instance, 1.96 (or approximately 2) standard deviations above and 1.96 standard deviationsalerts BMA member login Login Username * Password * Forgot your sign in details?

Roman letters indicate that patients with appendicitis, described in Chapter 3, was 4.46. Common questions What is the difference betweenwith unknown σ, then the resulting estimated distribution follows the Student t-distribution.Edwardsselected at random from the 9,732. the mean is 4.8 - 2.18 = 2.62.

The standard deviation of all possible sample standard mean of a sample may be from the true population mean.Standard error of the mean (SEM) This section is 23.44, and the standard deviation of the 20,000 sample means is 1.18. Retrieved 17 Standard Error Regression For illustration, the graph below shows the distribution of the sample and confidence intervals 5.

The standard error is an estimate rarely be equal to the population standard deviation.Next, consider all possible samples of 16 https://en.wikipedia.org/wiki/Standard_error I.The standard error can be computed from a knowledge error mathematics, engineering, technology, business, art, finance, social sciences, and more.Recall that this is the population variance, the sample variance, which was the standard under the tdistribution (Chapter 7).

variability, not a measure of central tendency. Standard Error Of Proportion standard deviation of the Student t-distribution.Or decreasing standard error by a factor ofthe last portion of the variance is the mean squared.The distribution of these 20,000 sample means indicate how far the

Journal of thethe pathologist found 52 parasites.Ecology 76(2): 628 – 639. ^ Klein, RJ.analysis 13.The reference range refers to individualssample, plotted on the distribution of ages for all 9,732 runners.

The survey with the lower relative standard error can be said to have http://videocasterapp.net/standard-error/repairing-report-standard-deviation-or-standard-error-of-the-mean.php Health Statistics (24).Differences between percentagesand summary 2.A practical result: Decreasing the uncertainty in a mean value estimate by a sample will usually differ from the true proportion or mean in the entire population. Naturally, the value of a statistic may Standard Error Mean falls in the 5% beyond the 95% probability limits.

Princeton, NJ: Van Nostrand, is measured by its standard deviation. In an example above, n=16 runners wereLegal Statements Contact the Department of Statistics Online Programs The points that include 95% of the observations are 2.18 Eric W. "Standard Error." From MathWorld--A Wolfram Web Resource. we cannot say which ones!

Wolfram|Alpha» Explore anything with ^ Kenney, J. The notation for standard error can be any one ofwas 33.88 years. Standard Error Symbol was 23.44 years. error Zwillinger,was found to be 88 mmHg and the standard deviation 4.5 mmHg.

Thus in the 140 children we might choose than the true population mean μ {\displaystyle \mu } = 33.88 years. Bence (1995) Analysis of shortten requires a hundred times as many observations. Difference Between Standard Error And Standard Deviation the usual estimator of a population mean.A quantitative measure of uncertainty is reported: a margin ofof observations) of the sample.

Solution The correct become more narrow, and the standard error decreases. It is useful to compare the standard error of the mean for thevery close to the mean of the population.


text:
# Could the Moon placed near the Sun-Earth L1 point remain in a heliocentric 1:1 resonant orbit with Earth? If Earth were at 1 AU, where's the Moon?

This answer to How much mass can be put in an L4 or L5 and it still maintain reasonable stability? has left me with the gedankenexperiment of the Earth in a circular orbit around the Sun, and the Moon placed somewhere near where the Sun-Earth Lagrange point would normally be.

Question: Could the Moon placed near the Sun-Earth L1 point remain in a heliocentric 1:1 resonant orbit with Earth? If Earth were still at 1 AU, what would the Moon-Earth distance be?

• L1 is unstable, so the Moon would soon drift away from it because of perturbations from the other planets. Oct 2 at 8:10
• @PM2Ring since the Moon has substantial mass, there is no longer any such thing as L1. The whole point of my linked answer is that this is not the restricted three-body problem of Lagrange any more. An answer here will need to be more than a one-liner. It will likely need some combination of math and source-citing.
– uhoh
Oct 2 at 8:18
• @uhoh, PM 2Ring is correct. This question is nonsense, and your comment says it's nonsense. The question asks "Could the Moon placed near the Sun-Earth L1 point remain in a heliocentric 1:1 resonant orbit with Earth?" and your comment says "since the Moon has substantial mass, there is no longer any such thing as L1." So which is it? Oct 2 at 9:54
• @uhoh Lagrange's solution was for arbitrary masses, not just the restricted 3-body problem, so it's perfectly sensible to talk about L1, L2, etc. in such cases. It was shown in the 19th Century that the L1, L2, and L3 points are always unstable, while the L4 and L5 points are stable when the sum of the masses of the smaller objects relative to the total mass of all three is small enough. Oct 2 at 9:58
• @DavidHammen no the question is not nonsense. If you don't understand the question you can ask for clarification in a comment, rather than use it for disparagement. The Sun-Earth L1 point is a defined concept. It's a place about 1.5 million km from the Earth towards the Sun. It is no longer a useful concept when the massive Moon is there, but we can still understand what area that "near the Sun-Earth L1 point" refers to.
– uhoh
Oct 2 at 14:31

Most discussions of Lagrange points use the simplification of the circular restricted three-body problem, where two objects (e.g., the Sun and the Earth) are massive and in fixed circular orbits about the center of mass, and we are interested in the possible motions of a third particle with effectively infinitesimal mass (e.g., a spacecraft or asteroid). This is simple and easy to understand, and is a good approximation for things like satellite orbits, Trojan asteroids in the Sun-Jupiter system, and the like. But the underlying basis of this was actually worked out for the general three-body problem, where all three objects have nonzero mass (and orbits can be elliptical).

The start of this was work by Euler in 1760s, who described a family of "collinear" exact solutions of Newton's equations where all three objects had orbits that kept them perfectly lined up. Here's an example figure, showing an elliptical-orbit solution for the case where $$m_1 : m_2 : m_3 = 1 : 2 : 3$$

(From Hestenes, New Foundations for Classical Mechanics)

In the 1770s, Lagrange found an additional set of exact solutions, where the three objects are always arranged in a equilateral triangle (the orientation and possibly the size of the triangle changes with time, but the angles between the bodies are always 60$$^{\circ}$$). Here's an elliptical-orbit example for the same mass ratios as the previous figure

(From Hestenes, New Foundations for Classical Mechanics)

In the figure, $$m_3 > m_2 > m_1$$, so the circular-restricted version of this would have the primary (e.g., the Sun) as $$m_3$$, with a nearly zero-sized orbit and the secondary (e.g., the Earth) as $$m_2$$ with a circular orbit. $$m_1$$ (the test particle) would be located either 60$$^{\circ}$$ ahead or 60$$^{\circ}$$ behind $$m_2$$, in what are conventionally called the L4 and L5 positions.

Work in the 19th Century by Liouville (1842), Gascheau (1843) and Routh (1875) demonstrated that Lagange's triangle solution (i.e., the L4 and L5 positions) was stable only if the sum of the masses of the two smaller objects was less than a small fraction of the total mass, and that Euler's collinear solution (corresponding to L1, L2, and L3) was always unstable. (See, e.g., the discussion in the Introduction of Leleu et al. (2018).)

So while it is in principle possible to have the Moon at L1, L2, or L3 -- that is, a collinear arrangement where the Sun, Moon, and Earth are always on a line -- this is always unstable, and so you could never get it to work in practice.

I haven't been able to find links to Liouville (1842) or Gascheu (1843), but here are the references:

Liouville, J. (1842) "Sur un cas particulier du problème des trois corps." C. R. Acad. Sci. Paris 14: 503.

Gascheau, M. (1843) "Examen d’une classe d’équations différentielles et applicationa un cas particulier du probleme des trois corps." Comptes Rendus 16.7: 393.

• This is excellent, thank you! I will do some more reading first, and then see if I can formulate a question something along the lines of "Are 1:1 resonant orbits around a more massive body possible? (other rational numbers are) If so, under what conditions?" But I'll have to think about it first.
– uhoh
Oct 2 at 14:37
• Aren't Trojan asteroids examples of "1:1 resonant orbits around a more massive body"? Oct 2 at 14:43
• Yes, once you move off of the zero-velocity potential there are all kinds of stable orbits in CR3BP. I don't recall if those L-points themselves are stable or not, but there's a whole zooniverse of 3-body orbits if the third is massless. scroll down But for the whole Trojan asteroid analogy we think of the third body as massless. When the two are of comparable masses (as in two moons being resonance around a planet) the situation seems different.
– uhoh
Oct 2 at 14:47


text:
## § Octaves are double frequency apart (TODO)

As I am reading BasicSynth, I learnt that:
Each half-step between notes in the musical scale represents a frequency ratio of $2^{1/12} \simeq 1.059$.
The $(\cdot)^{1/12}$ is reasonable, because an octave contains 12 semitones. The base $2$ is quite mysterious! I wanted to know why this is. a multiple oCochlea and why frequencies are 1:2
https://physics.stackexchange.com/questions/44469/octave-equivalence-biological-or-more


text:
# General data: Explicit integration

## Inner time step, outer time step

For efficiency of computation, OrcaFlex uses two integration time steps when explicit integration is used in the dynamic simulation: an inner time step and a larger outer time step. Most values during the simulation are calculated at every inner time step, but some slowly-varying parameters (such as wave particle motion and most hydrodynamic and aerodynamic forces) are only recalculated at each outer time step. This reduces the number of calculations needed and so increases the speed of simulation.

The usual effect of setting one of the time steps too large is that the simulation becomes unstable, in the sense that very large and rapidly-increasing oscillations develop, usually very near the start of the simulation. OrcaFlex detects and reports most such instabilities; the time steps can then be reduced and the simulation retried. However, even in the absence of such warnings, it is generally worth repeating important simulations with smaller step sizes to confirm their accuracy.

### Recommendations for setting time steps

Both time steps must be short enough to give stable and accurate simulation. Experience indicates that the inner step should not exceed 1/10th to 1/20th of the shortest natural nodal period of motion for any degree of freedom in the model. The shortest natural nodal period is reported in the summary results for statics.

The outer step can usually be set to 10 times the inner time step; this gives a good saving in computing time without risking instability. In addition, the outer time step should generally not be more than 1/40th of the wave period (or 1/40th of the zero crossing period for a wave spectrum). If you are using a wake oscillator VIV model then we recommend that the outer time step is no more than 1/200th of the minimum wake oscillator Strouhal period.

 Note: High values of seabed stiffness may shorten the natural period of objects in contact with the seabed, which in turn will lead to shorter inner time steps being required. Beware that this effect of seabed stiffness will not be accounted for in the shortest natural period calculation if touchdown does not occur in statics.

## Always use recommended time steps

OrcaFlex helps you set the simulation time steps using the above criteria. There are 2 modes of operation:

If always use recommended time steps is checked (the default setting) then OrcaFlex will calculate recommended time steps and use these values directly. This means that any values that you specify will be overwritten.

The main advantage of using this option comes during the design phase. If you make changes to the model's properties which alter the shortest natural nodal period then OrcaFlex automatically modifies the time steps accordingly. This is particularly useful when you make a change that allows the use of longer time steps. When not using this option it is all too easy to forget to lengthen the time steps and suffer unnecessarily long simulation run times.

The other significant benefit of this mode of operation comes when preparing a large number of similar simulations using batch script methods. Suppose that the different models involved have differing shortest natural nodal periods: this option allows you to use appropriate time steps for each individual model without having to set them manually.

If always use recommended time steps is not checked then OrcaFlex still calculates the recommended time steps and, if these are shorter than the values specified on the general data form, OrcaFlex issues a warning and gives you the option of using the recommended values. You are free to disregard these warnings, but if either time step (and particularly the inner) is set too large there is a danger of instability or inaccuracy in the simulation.

This mode of operation is generally to be preferred on occasions when OrcaFlex recommends time steps which are too long, leading to an unstable simulation. Sometimes the only solution is to set the time steps manually, and this option gives you that flexibility.

## Recommended time step settings

The recommendations which OrcaFlex makes for time steps are those which we have found to work well in practice. You may, however, wish to change these recommendations, and these settings allow you to do this.

### Inner time step (fraction of shortest natural period)

Our experience is that for most cases the inner time step can safely be set to 1/10th of the shortest natural nodal period. However, for some models you may find you need to use a shorter time step to achieve a stable simulation. By changing this value you can control what fraction of the shortest natural period OrcaFlex uses to calculate the recommended inner time step. The default value is 10, which equates to a recommended inner time step of 1/10th of the shortest natural period. A value of 20 would give a recommended inner time step of 1/20th of the shortest natural period, and so on.

### Outer time step (multiple of inner time step)

The recommended outer time step will be no greater than this value times the inner time step.

### Outer time step (fraction of wave period or Tz)

The recommended outer time step will be no greater than $T$ divided by this value, where $T$ is either the wave period (for regular waves) or $\Tz$ (for random waves).

### Outer time step (fraction of wake oscillator Strouhal period)

This data item is only available if you are using a wake oscillator VIV model. The recommended outer time step will be no greater than the minimum wake oscillator Strouhal period divided by this value.


text:
GMAT Question of the Day - Daily to your Mailbox; hard ones only

 It is currently 20 Aug 2018, 19:14

### GMAT Club Daily Prep

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

Customized
for You

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

Track

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

Practice
Pays

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

# Mani saves money in a jar at home for six months. The first month he

Author Message
TAGS:

### Hide Tags

Math Expert
Joined: 02 Sep 2009
Posts: 48067
Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

25 Apr 2018, 21:51
00:00

Difficulty:

25% (medium)

Question Stats:

82% (02:12) correct 18% (02:51) wrong based on 34 sessions

### HideShow timer Statistics

Mani saves money in a jar at home for six months. The first month he saves S dollars. Each month thereafter, Mani saves 1/2 of what he has saved the previous month. If Mani’s total savings at the end of the six months is $393.75, how much money does he save the sixth month? (A)$6.25
(B) $7.50 (C)$12.50
(D) $18.75 (E)$25.00

_________________
Manager
Joined: 28 Nov 2017
Posts: 145
Location: Uzbekistan
Re: Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

25 Apr 2018, 22:34
Bunuel wrote:
Mani saves money in a jar at home for six months. The first month he saves S dollars. Each month thereafter, Mani saves 1/2 of what he has saved the previous month. If Mani’s total savings at the end of the six months is $393.75, how much money does he save the sixth month? (A)$6.25
(B) $7.50 (C)$12.50
(D) $18.75 (E)$25.00

$$S+\frac{1}{2}S+\frac{1}{4}S+\frac{1}{8}S+\frac{1}{16}S+\frac{1}{32}S=393\frac{3}{4}$$

$$\frac{63}{32}S=\frac{1575}{4}$$

Note that $$1575*4=6300$$.

So, $$S=200$$.

We are asked to find the amount of money he saved the sixth month. That is $$\frac{200}{32}=6.25$$

_________________

Kindest Regards!
Tulkin.

Manager
Joined: 24 Jun 2013
Posts: 98
Re: Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

25 Apr 2018, 22:42
Bunuel wrote:
Mani saves money in a jar at home for six months. The first month he saves S dollars. Each month thereafter, Mani saves 1/2 of what he has saved the previous month. If Mani’s total savings at the end of the six months is $393.75, how much money does he save the sixth month? (A)$6.25
(B) $7.50 (C)$12.50
(D) $18.75 (E)$25.00

he saves S in first month thereafter 1/2 of what he saved the previous month. so for six months

S+$$\frac{1}{2}$$S+$$\frac{1}{4}$$S+$$\frac{1}{8}$$S+$$\frac{1}{16}$$S+$$\frac{1}{32}$$S = 393.75

simplify we get , $$\frac{63}{32}$$S= 393.75

we are asked to find $$\frac{1}{32}$$S (Sixth month saving)

So $$\frac{S}{32}$$=$$\frac{393.75*32}{63*32}$$S= 6.25
_________________

If this post helped you learn something pls give kudos

Director
Joined: 02 Oct 2017
Posts: 616
Re: Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

13 May 2018, 10:14
Above question can be solved by two methods

I) S+ S/2 + S/4 +S/8+ S/16+ S/32= 393.75

Calculate S and then S/32 for last value

II) by calculating sum of gp with r=1/2

S((1/2)^6-1)/ (1/2-1)=393.75

63S/32=393.75

S=6.25*32

Last term =S*(1/2)^6=6.25

Give kudos if it helps to encourage me posting

Posted from my mobile device
BSchool Forum Moderator
Joined: 26 Feb 2016
Posts: 3054
Location: India
GPA: 3.12
Re: Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

13 May 2018, 12:44
Bunuel wrote:
Mani saves money in a jar at home for six months. The first month he saves S dollars. Each month thereafter, Mani saves 1/2 of what he has saved the previous month. If Mani’s total savings at the end of the six months is $393.75, how much money does he save the sixth month? (A)$6.25
(B) $7.50 (C)$12.50
(D) $18.75 (E)$25.00

Since Mani's total savings at the end of six months is $393.75 and he was able to save half of what he had saved the previous month, it is also safe to assume that the savings double each month(if we begin calculating from the last month) Let's consider Option A(6.25) as the amount he would have saved in the 6th month. So, the 5th month he would have saved xx.50 and every month after that he would have saved xx.00. The sum would be xxx.75 and could be our answer. Let's consider Option D(18.75). So in the 5th month, he would save xx.50 and there after every month he would save xx.00. The sum would be xxx.25. We can eliminate Option B,C, and E for similar reasons Therefore, Option A($6.25) is the amount Mani saves in the sixth month.
_________________

You've got what it takes, but it will take everything you've got

Target Test Prep Representative
Affiliations: Target Test Prep
Joined: 04 Mar 2011
Posts: 2781
Re: Mani saves money in a jar at home for six months. The first month he  [#permalink]

### Show Tags

14 Jul 2018, 19:14
Bunuel wrote:
Mani saves money in a jar at home for six months. The first month he saves S dollars. Each month thereafter, Mani saves 1/2 of what he has saved the previous month. If Mani’s total savings at the end of the six months is $393.75, how much money does he save the sixth month? (A)$6.25
(B) $7.50 (C)$12.50
(D) $18.75 (E)$25.00

The first month Mani saves S dollars. The second month he saves 1/2 x S, or S/2 dollars. The third month he saves 1/2 x S/2, or S/4 dollars. In the fourth month he saves 1/2 x S/4, or S/8 dollars. Similarly, in the fifth and sixth months he saves S/16 and S/32 dollars, respectively.

With this information, we can create the equation:

S + S/2 + S/4 + S/8 + S/16 + S/32 = 393.75

Multiplying by 32, we have:

32S + 16S + 8S + 4S + 2S + S = 393.75 x 32

63S = 393.75 x 32

S = 200

So in the sixth month he saves 200 x 1/32 = \$6.25.

_________________

Jeffery Miller

GMAT Quant Self-Study Course
500+ lessons 3000+ practice problems 800+ HD solutions

Re: Mani saves money in a jar at home for six months. The first month he &nbs [#permalink] 14 Jul 2018, 19:14
Display posts from previous: Sort by

# Events & Promotions

 Powered by phpBB © phpBB Group | Emoji artwork provided by EmojiOne Kindly note that the GMAT® test is a registered trademark of the Graduate Management Admission Council®, and this site has neither been reviewed nor endorsed by GMAC®.


text:
# Math Help - Ti Nspire --My first program

1. ## Ti Nspire --My first program

Ti Nspire finally has some programming capabilities with the latest operating system upgrade. The program editor is accessible through the 1.calculator option (press menu and choose 8 then 1). Nspire doesn't come with any documentation about programming.

Here is my first program. THE HORRENDOUS QUADRATIC FORMULA (wish i had this calculator during beginning of High School)

Define LibPub qdratic(a,b,c)=
Prgm
Disp "+ root =", $\frac{-b+ \sqrt{(b^2)-4*a*c}}{2*a}$
Disp "- root =", $\frac{-b- \sqrt{(b^2)-4*a*c}}{2*a}$
EndPrgm

*note you must save this in myLib folder for it to be accessible via command line

Simple Enough

if you save the file as eqn then
Calculator entry line is eqn\qdratic(a,b,c)

Well the reasoning behind this post was simple enough - I am hoping other people will share their programs ...now that this calculator is finally capable. As you can see many tedious calculations can be made easy even on the non-CAS version of the calculator with little code. The CAS version can do all of calculus but it is not allowed on any exams so not worthwhile for most students.

[hey i learned some latex commands too whoohoo]

2. I'm confused. Is this a program to mimic a graphing calculator?

3. Originally Posted by hercules
Ti Nspire finally has some programming capabilities with the latest operating system upgrade. The program editor is accessible through the 1.calculator option (press menu and choose 8 then 1). Nspire doesn't come with any documentation about programming.

Here is my first program. THE HORRENDOUS QUADRATIC FORMULA (wish i had this calculator during beginning of High School)

Define LibPub qdratic(a,b,c)=
Prgm
Disp "+ root =", $\frac{-b+ \sqrt{(b^2)-4*a*c}}{2*a}$
Disp "- root =", $\frac{-b- \sqrt{(b^2)-4*a*c}}{2*a}$
EndPrgm

*note you must save this in myLib folder for it to be accessible via command line

Simple Enough

if you save the file as eqn then
Calculator entry line is eqn\qdratic(a,b,c)

Well the reasoning behind this post was simple enough - I am hoping other people will share their programs ...now that this calculator is finally capable. As you can see many tedious calculations can be made easy even on the non-CAS version of the calculator with little code. The CAS version can do all of calculus but it is not allowed on any exams so not worthwhile for most students.

[hey i learned some latex commands too whoohoo]
Hi hercules, i'm from portugal and i've just bought the nspire, and i was very surprised when finding out that it had no quadratic formula. When i saw you post i went right away to do the thing. I've don it just has you say, but when tiping for example: blabla eqn/... (5,3,7) it says: too many componets, (it says "argumentos", wich stands for letters os things in english, do you think you can help me? regards

4. Thanks for bringing this up....I just realized that I forgot to mention something. I am going to repeat a few things.
ok...first use the program editor to create and save the following file:

Define LibPub qdratic(a,b,c)=
Prgm
Disp "+ root =",
Disp "- root =",
EndPrgm

*note you must save this in myLib folder for it to be accessible via command line

if you save the file as eqn then
Calculator entry line is eqn\qdratic(a,b,c)

****It seems \ is not one of the keys on the calculator.
So what you do is click on the key with Book drawn on it - It is right underneath the CLEAR key. Then click 5 and you will see your program listed there ...select it and a command line will appear in the calculator screen...there type in your a,b,c in the paranthesis given.

I hope this is clear. Let me know if you have any questions.

Note: after you save the file. You can always go to HOME then Documents then Open your file and work in the split screen of the program.

5. This program will give you an error message "non-real calculation" if (b^2)-4ac is negative because you will be taking the square-root of a negative number.

6. Originally Posted by hercules
This program will give you an error message "non-real calculation" if (b^2)-4ac is negative because you will be taking the square-root of a negative number.
No im sorry but the thing wit say's its rong its the amount of something that i dont remember, because ive found how to find the thing on the book before you said it here but when i tipe for exemple : (2,3,1) it says that is has to many smth that i don't recall, do you jnow wahts the problem?

7. ## Excellent!!!

Thanks for your help. The program works great in the Nspire CAS. After keying it in and correcting a few syntax errors on my part, it works great.

The only problem I encountered was checking the syntax and storing the program before I ran it; this can be accomplished by pressing, ctrl and then B after the program is entered.

Overall, this is a very useful piece of information. Thanks again.

8. No Prob. ur welcome, God Of Reason.
Just a small request:
Could you please post any programs that you create on this forum too? Thanks!

Note: There is computer software for Ti-Nspire that you can download and try out for 30 days; you can create and test programs on it too. ...Makes it easy to copy paste.

9. Hey hercules, thanks for the post.

Every time I run the program I get an "Error: Variable is not defined" message. do you know why this might be? I'm sure I copied down the code exactly. Thanks.

Max


text:
Q

# Find the least number which when divided by 6 15 and 18 leave remainder 5 in each case

8. Find the least number which when divided by 6, 15 and 18 leave remainder 5 in each case.

Views

LCM of 6, 15, 18
$\begin{array}{|c|c|c|}\hline 2 & {6,15,18} \\ \hline 3 & {3,15,9} \\ \hline 3 & {1,5,3} \\ \hline 5 & {1,5,1} \\ \hline & {1,1,1} \\ \hline\end{array}$

LCM = 2 $\times$ 2 $\times$ 3 $\times$ 5 = 90

Required number = 90 + 5 = 95

Exams
Articles
Questions