text:
# Use the properties of logarithms to write each expression as a single logarithm. Assume that all variables are defined in

###### Question:

Use the properties of logarithms to write each expression as a single logarithm. Assume that all variables are defined in such a way that the variable expressions are positive, and bases are positive numbers not equal to 1. See Examples 1-4. $\log _{b} w+\log _{b} z$

#### Similar Solved Questions

2) Relate the ionic strengths 1 = }} <? (m:/mº) of solutions of the following electrolytes to the molal concentration m, of the solution: (a) KCI; (b) FeCl3; (c) CuSO4; (d) MgCl2; (e) Al2(SO4)3; (f) Fe2(SO4)3....
##### Question 9 We can make the observation that we can hear around corners (somewhat) but not see around corners Estimate why this is s0 by considering doorway and two kinds of waves passing through it: Dicure NotJmniachro1. Abeam of red light ( = 680 nm) 2. A sound wave playing an A" (f 440 Hz). Treat these two waves as plane waves passing through a slit whose width equals the width of the door: Find the angle that gives the position of the first dark diffraction fringe. From that, assuming yo
Question 9 We can make the observation that we can hear around corners (somewhat) but not see around corners Estimate why this is s0 by considering doorway and two kinds of waves passing through it: Dicure Not Jmniachro 1. Abeam of red light ( = 680 nm) 2. A sound wave playing an A" (f 440 Hz)....
##### Of Resistor B while is half the mugnilude = An electric circuit creuled Enoumnebclox Resistor Resistor B is half the magnitude ResistorVz b RGNNN21. Rank the current going through each resistor from largest to smallest:Rank the voltage change across each resistor from greatest t0 least;/Czh: 6 >CRank the power dissipated across each resistor from least t0 greatest Ra &k L& LcA -c
of Resistor B while is half the mugnilude = An electric circuit creuled Enoumnebclox Resistor Resistor B is half the magnitude Resistor Vz b RGNNN 21. Rank the current going through each resistor from largest to smallest: Rank the voltage change across each resistor from greatest t0 least; /Czh: 6 &...
##### A During a Diels-Alder reaction why does Compound react more slowly than Compound B and why does Compound â‚¬ not react (Reactivity)CompoundCompound BCompoundB Compound A and Compound B reacts under the conditions of heat; absent of light; overnight but when UV light is used the reaction doesnt not occur WHY? (Explain wl Molecular Orbital)
A During a Diels-Alder reaction why does Compound react more slowly than Compound B and why does Compound â‚¬ not react (Reactivity) Compound Compound B Compound B Compound A and Compound B reacts under the conditions of heat; absent of light; overnight but when UV light is used the reaction doe...
##### What is the lower bound of4^x > 3x^2
What is the lower bound of 4^x > 3x^2...
##### Part III: Multiple Choice 20. Which of the following statements is not a characteristic of a...
Part III: Multiple Choice 20. Which of the following statements is not a characteristic of a perfectly competitive firm? a. Perfectly competitive firms view cach other as fierce rivals. b. Firms are price-takers. c. All firms produce a homogeneous product. d. Perfectly competitive markets allow free...
##### 01tatan & dmt Erd Aht JaeJ ZC EitatuF Jenlarinant telodn Ue nbart oltha catlobk {Jnd clhc t humanglyalt Aante numenical coluetinAecelatelut Etha Exrllarino'Jong Ehe * gah tt Iny [Lna [Mernid nean anenn butda noterr unit IntatanEaptealun(ettueftuneAantandy -Qehetttuntht haalnaerinaemtadthr HateneHnee-htuuorhnenk cridrey urd Enlntutkn Dera euuiared mauu Danntna L4canternaa EneTumetlralamruut 4E>7 at[n IEandan t Lnng dut du nul &Le
01tatan & dmt Erd Aht JaeJ ZC EitatuF Jenlarinant telodn Ue nbart oltha catlobk {Jnd clhc t humanglyalt Aante numenical coluetin Aecelatelut Etha Exrllarino 'Jong Ehe * gah tt Iny [Lna [Mernid nean anenn butda noterr unit Intatan Eaptealun (ettu eftuneAant andy - Qehetttuntht haalnaerinaem...
##### 1 1B Vt dluride 8 DFuru} That WeMdc pC ( Ful Ue" HaKuicuct ET Jau 1 1 TCPMCcd 3Bu1na,
1 1 B Vt dluride 8 DFuru} That WeMdc pC ( Ful Ue" HaKuicuct ET Jau 1 1 TCPMCcd 3 Bu1na,...
##### Please complete both, very confused 14. A device that establishes an electrical connection to the earth...
Please complete both, very confused 14. A device that establishes an electrical connection to the earth is a a grounding conductor C. grounding electrode b. equipment grounding conductor d.grounding electrode conductor 15. The size of an equipment grounding conductor is based on the size of in ci...
##### Review the characteristics of the three major types of economies: Free markets, Command markets and Mixed...
Review the characteristics of the three major types of economies: Free markets, Command markets and Mixed markets. Which system do you consider to be the most beneficial to the business owner and why? to the consumer and why?...
##### HfiFinn nnna 1 Oinn hann Solve 1 bulciOI[ cc? - 12) L7 } (Roue autdipou
HfiFinn nnna 1 Oinn hann Solve 1 bulciOI [ cc? - 12) L7 } (Roue autdi pou...
##### Answer Questions 8-11 8. [-12 Points] DETAILS SERCP11 12.3.P.012. A chemical reaction transfers 72.50 ) of...
Answer Questions 8-11 8. [-12 Points] DETAILS SERCP11 12.3.P.012. A chemical reaction transfers 72.50 ) of thermal energy inte 10.4 moles of an ideal gas while the system expands by 2.00 x 10-2 mat a constant pressure of 1.45 x 105 P.. HINT (a) Find the change in the intemal energy in J). (b) Calcul...
##### Moist air at 30°C, 1 atm, and 42% relative humidity enters an evaporative cooling unit operating...
Moist air at 30°C, 1 atm, and 42% relative humidity enters an evaporative cooling unit operating at steady state consisting of a heating section followed by a soaked pad evaporative cooler operating adiabatically. The air passing through the heating section is heated to 45°C. Next, the air p...
##### The number of bacteria in a culture is given by the function n(t) 900e.5t where t...
The number of bacteria in a culture is given by the function n(t) 900e.5t where t is measured in hours. (a) What is the relative rate of growth of this bacterium population? (b) What is the initial population of the culture? (c) How many bacteria will the culture contain at time t-5 hours? License P...
##### For n â‚¬ N let an â‚¬ R and definelan + anlanE InanPnProve that:If Cn 1 Gn is conditionally convergent then both Cn_1 Dn and Cn_1 In diverge: If Cn 1 Gn is absolutely convergent then both Cn1 Dn and Cn1 In converge andUn T= ]Pn n=[4n. n=1
For n â‚¬ N let an â‚¬ R and define lan + an lanE In an Pn Prove that: If Cn 1 Gn is conditionally convergent then both Cn_1 Dn and Cn_1 In diverge: If Cn 1 Gn is absolutely convergent then both Cn1 Dn and Cn1 In converge and Un T= ] Pn n=[ 4n. n=1...
##### Which of the following is true in the addition polymerization of thermosets? a. You cannot make...
Which of the following is true in the addition polymerization of thermosets? a. You cannot make thermosets by addition polymerization b. Polymerization only occurs in a diluent solution c. One carbon to carbon double bond is required d.    Two carbon to carbon doub...
ouna your answers t0 tne nearest cent: ) Quarter Interest Earned Balance S4000.00 $/4100 X 4202 X 100 X X X 102 104,04 eBook... 1 answer ##### You take out a 30-year loan in the amount of$450,000 at a 6 percent rate...
You take out a 30-year loan in the amount of \$450,000 at a 6 percent rate annually. The loan is to be paid off by equal monthly installments over 30 years. How much is the total interest payment for the first five months? Draw an amortization table to support your answer showing the beginning balanc...
##### Prob- (20 points) From past experience, stockbroker believes that under present economic conditions customer WilI invest in tax- frce bonds with probability of 0.6_ will invest Inutual [unds with probability of 0.25. and will invest in either tax-free bonds or mutual funds with probability of 0.7 .(a) Find the probability that customer will invest in Lax-free bonds but not in mtual [unds _(b) Is the event that customer invests in tax-free bonds independent from the event that customer inve
Prob- (20 points) From past experience, stockbroker believes that under present economic conditions customer WilI invest in tax- frce bonds with probability of 0.6_ will invest Inutual [unds with probability of 0.25. and will invest in either tax-free bonds or mutual funds with probability of 0.7 . ...
##### State the domain of f(x) VnGx)e-2x+l = 13Solve for x:10. Evaluatelogz 6 * log6 8x3 Vr+1 x >2 In (x-2)211. Expand using log rules
State the domain of f(x) VnGx) e-2x+l = 13 Solve for x: 10. Evaluate logz 6 * log6 8 x3 Vr+1 x >2 In (x-2)2 11. Expand using log rules...
##### Is the answer 0.551 N? 7. Three point-like charges are placed as shown in the figure,...
Is the answer 0.551 N? 7. Three point-like charges are placed as shown in the figure, r r2 56.0 cm. Find the magnitude of the electric force exerted on the charge q3. Let qi-1.50 C, q23.80 HC, q3-+4.60 HC. q1 43 r1...


text:
MathSciNet bibliographic data MR1116640 (92h:58159) 58F20 Baldwin, Stewart An extension of Šarkovskiĭ's theorem to the $n\text{-od}$$n\text{-od}$. Ergodic Theory Dynam. Systems 11 (1991), no. 2, 249–271. Article

For users without a MathSciNet license , Relay Station allows linking from MR numbers in online mathematical literature directly to electronic journals and original articles. Subscribers receive the added value of full MathSciNet reviews.

format: plain


text:
# Is sugar in mead different from "regular sugar"?

My understanding of the process of making mead is that you combine honey, yeast and water in an anaerobic environment. The yeast-bacteria ferments the sugar in the honey and produces ethanol (among other things?). If this is true, how come labels for mead still list e.g. 90g of sugars per litre? If I'm consuming mead, am I really consuming 90g of regular sugars as found in fruit, candy etc or is this some variant of sugar that is chemically different (sugar alcohol?) in a significant way such that traditional advise "eat less sugar" do not apply?

• Plenty of alcoholic drinks still contain a great deal of sugar (even beer is often as sweet as sugary Coke). Fermentation often doesn't use up all the starting sugar. What is left is still sugar and will affect your sugar levels whether it is fructose, glucose, sucrose or some other specific sugar. Sep 4, 2019 at 10:46

Honey usually contains mainly naturally occuring glucose + fructose, with ratio typically 100:104-170. Sacharose occurs as well, but in minority.

Fermentation consumes just part of sugars, but that is not limited to mead. It applies to beer,wine, and bases for spirits as well.

E.g. typical "future beer" before fermentation has sugar content $$\pu{100-120 g/L}$$.

• This suggests that mead, despite being very tasty, is not a great choice of brew for someone wanting to reduce their sugar intake.
– Ed V
Sep 3, 2019 at 15:31
• Well, it is question of amount. One usually does not drink 1 L of mead. Sep 3, 2019 at 15:35
• Maybe I should try the experiment, for science, of course! :-)
– Ed V
Sep 3, 2019 at 15:42
• It is said mead is the good servant to warm you up, but the bad lord, due heavy hangovers. Sep 3, 2019 at 15:46


text:
Compatible connection on the associated vector bundle

Assume $E\rightarrow X$ is a holomorphic vector bundle of rank $n$ with a linear connection $\nabla=\nabla^{1, 0}+\bar\partial_E$ which is compatible with the complex (somewhere the literature says "holomorphic") structure of $E$. Let $P\rightarrow X$ be the associated principal $GL_n(\mathbb{C})$-bundle (say the frame bundle of $E$).

There is a theorem which states that $\nabla$ induces a unique connection 1-form $\omega$ on $P$.

Let further $V$ be a representation of $GL_n(\mathbb{C})$ and let $P\times_{GL_n(\mathbb{C})}V$ be the associated vector bundle which should be in my opinion holomorphic as well. The principal connection $\omega$ induces always a linear connection $\tilde{\nabla}$ on the associated vector bundle $P\times_{GL_n(\mathbb{C})}V$. The question I want to pose is the following:

Is $\tilde{\nabla}$ compatible with the complex structure on $P\times_{GL_n(\mathbb{C})}V$?

P.S.:Thanks in advance for any clarifications, corrections and responses to that for me very interesting question.

• Yes. You can do everything in the holomorphic category: a holomorphic connection induces a holomorphic connection on $P$, and this induces a holomorphic connection on any associated vector bundle.
– abx
Apr 1, 2014 at 17:03
• Thanks for your fast comment. $\nabla$ is NOT a holomorphic connection. It is just compatible with the complex structure (somewhere they say "holomorphic structure") of $E$. Compatible connection means $\nabla=\nabla^{1, 0}+\bar\partial_E$, where $\bar\partial_E^2=0$. Apr 1, 2014 at 17:11
• Yes. Write out the connection on $P \times_{GL_n(\mathbb{C})} V$, in a basis of local sections, in terms of the connection on $P$ and, you should see compatibility immediately. May 2, 2014 at 11:10
• Just to minimize confusion: in the common parlance, "complex" refers to topology, namely a vector bundle whose fiber is a complex vector space. The term "holomorphic bundle" refers to a holomorphic structure on a complex bundle, namely a way of picking out which sections are locally holomorphic vector valued functions on the base. The latter is most often described by a $\overline{\partial}$-operator as you've indicated above. Once you agree that it's these operators giving the holomorphic structure, the question you asked is largely reduced to a tautology. Jul 31, 2014 at 1:58
• This question has been answered in a satisfactory way.
– abx
Nov 28, 2014 at 6:32

According to your last comment, the holomorphic structure is irrelevant; you just have a $GL_n(\mathbb{C})$-bundle. I presume that your representation is complex, i.e., merely a homomorphism $H:=GL_n(\mathbb{C})\to G:=GL_m(\mathbb{C})$. (Otherwise, there is nothing to speak about.) This gives you a map $P\to P\times_HG$ of principal bundles, which is called extension of the structure group. (Unlike reduction of the structure group, it is well defined and involves no choices.) In this situation, any $H$-connection extends uniquely to a $G$-connection (e.g., via translations in the fibers, see the definition of connections as $1$-forms and their properties; BTW, a $1$-form is not induced by a connection: it is the connection). Since this is a $G$-connection, it is compatible with the complex structure just by definition.
• I don't follow here. Do you basically claim that $\tilde{\nabla}$ is compatible with the complex structure of $P\times_{GL_n(\mathbb{C})}V$? Apr 1, 2014 at 20:06
• Sure, $V$ is a complex vector space. So the representation is indeed a complex homomorphism as you pointed out. Ah, so basically it turns out that every connection on $P\times_{H}V$ coming from a connection 1-form on $P$ has to be compatible with the complex structure of $P\times_HV$? Apr 1, 2014 at 20:16
• Any induced connection is "compatible" with the new structure group, whatever this means. If the new group is in $GL_n(\mathbb{C})$, the connection is compatible with the complex structure (e.g., just because $J\in GL_n(\mathbb{C})$). Apr 1, 2014 at 20:37


text:
# Directed Acyclic graph implementation in Ruby on Rails

I have an implementation for a graph node class that I'd like to have function as a directed acyclic graph.

The associations are roughly as follows

class Node
has_many :parents,
class_name: 'Edge',
foreign_key: :child_id

has_many :children,
class_name: 'Edge',
foreign_key: :parent_id
end

class Edge
belongs_to :parent, class_name: 'Node'
belongs_to :child, class_name: 'Node'

has_many :edge_properties
end

Me and a co-worker of mine had a discussion about the proper way to do this has_many relationship. The rails paradigm seems to dictate that node.parents should return a Node::ActiveRecord_Relation. However, in this case, node.parents returns a list of edges, which results the ask for the node's parents into something of the sort:

Node.where(id: Edge.where(child: node))

The question is; is this a code smell? Can we do this relationship better where node.parents would return Node::ActiveRecord? If so, how would one access edge.edge_properties?

• The rails paradigm seems to dictate that node.parents should return a Node::ActiveRecord_Relation. This has nothing to do with the Rails paradigm, a has_many can return whatever you need. node.parents should of course return nodes, not edges. For that, create node.incoming_edges, node.outgoing_edges or similar. – tokland Oct 28 '16 at 8:41
• Isn't what you said contradiction? Stating that it has nothing to do with the rails paradigm but then going on and saying that should of course return nodes, not edges?. I think we both can agree rails prefers a particular solution and that in itself is it's paradigm. – David Zhang Oct 28 '16 at 19:59
• I meant that it's graph terminology. A parent/child of a node is another node, not an edge. At least, AFAIK, I may be wrong. – tokland Oct 28 '16 at 20:53

You should take a look at the through: option of has_many:

class Node
has_many :parent_edges, class_name: "Edge", foreign_key: :child_id
has_many :parents, through: :parent_edges

# ditto for children
end

Getting at edge_properties depends on the version of Rails you are using.

• It seems that rails does not recognize the correct id on the edge class.  SELECT nodes.* FROM nodes INNER JOIN edges ON nodes.id = edges.parent_id WHERE edges.node_id = 16 ORDER BY node.name ASC  – David Zhang Oct 28 '16 at 0:54
• @DavidZhang You almost certainly need to specify additional options. I don't know them off the top of my head but there is plenty of documentation out there. – benzado Oct 28 '16 at 17:16


text:
# How should data about past interactions be stored?

I have been developing a text-based rpg in C++, using sqlite as my database.

When it comes to interactions that change the world around the player in some permanent fashion I have been unable to find a satisfactory method of storing them.

Example

The player kills a character then if they return to the same area I do a check in my "game_data" table for "character_x_is_dead" and if the character is dead then the player sees the body on the floor, if they are alive then the player can talk to them.

Is there a better way to handle this type of thing without having to impose conditions on an area that are checked and then the correct output is picked from a list of possibilities? (I'm just thinking about how as the game gets bigger and the player does more things this table is just going to grow more and more with potentially a lot of the contents becoming no longer needed)

Edit - clarification about "list of interactions"

By this phrase I mean any interactions that may alter how the player is allowed to interact with an area, hopefully these examples might make it clearer:

1. The first time the player talks with the innkeeper at the starting town they get given some money - when they talk to the innkeeper the next time, the money adding event should not fire again.
2. After the player has gone through a dungeon, any chests they open should still be empty if they come back later.
3. If the player helps a character then the next time they talk to the character they give one of their positive responses instead of their standard ones.

Probably the cleanest way of doing this is just to explicitly store your entities as classes:

class Entity
{
Room location;
...
etc.
}

And just store a flat list of all your entities in the world.

List<Entity> entities;

You can also store, for each room, a list of entities that are currently in the room:

class Room
{
List<Entity> entities;
}

foreach(Entity entity in room.entities)
{
{
// Do something
}
}

In order to prevent entities from building up, you may want to delete them under certain conditions.

• Thanks, I was thinking this (and started to implement it) for single play-throughs, but what about when loading a save-game? – Kvothe Mar 18 '15 at 23:36
• It doesn't work any differently for a save game. Just store the parameters for each entity in your save file. It will help to give every entity an ID – mklingen Mar 18 '15 at 23:40
• Sorry, I was meaning, would saving the list of interactions that may need to be checked against in a table in the database be best or is would you recommend another way to store it? – Kvothe Mar 18 '15 at 23:46
• I'm not sure what you mean by "list of interactions". Maybe you can modify your question? – mklingen Mar 18 '15 at 23:47

I assume that you're asking because file sizes would be too large to make copies of your SQLite file for each "new game", so I don't believe you have any alternative. Otherwise I'd say just copy that original game state and alter it directly.

You may consider the idea of firing a sort of OnLoad() event whenever a new area is visited. It could check the time of death on each enemy found in that area and "expire" them away from your data file before you finally display that area to the user.

It might be a bit tricky, but you could even have another thread combing for expirable changes in your gamestate whenever your main thread is not actively trying to access the file. You'd want to think of a clever of indexing "expirable" state changes however.

• I hadn't thought about simply copying the original game state and altering a copy of it. I'll have a look at structuring it to make that easy to do, and also into your other suggestions, thanks. – Kvothe Mar 19 '15 at 0:05

You have two initial options: to hard-code the conditions or to use scripts.

Hard-coding is quick and great for prototypes, but it allows 0 flexibility. I expect your game to out-grow this very quickly.

Using a script takes more time to get started because you need a script file parser first. Apart from proven scripting languages like LUA, you can devise your own simple instructions.

With scripting in place, I can think of two ways to store state of the game world:

1. introduce simple flags
2. put all interaction events into an event store and check for occurences of kinds of events in the script; the series of events is a log of what the player has done (with which you could play back all interactions in the game; not the movements, of course)

The event store approach will work well with a SQLite database, if one .sqlite file equals a save game.

Flags are simpler, though. Savegames need to be a list of flags only.

## Using state Flags

Flags work like this: you create a flags array of N integers. This array contains all game states.

Your script may trigger setting flags[107] = 3 through something like SETFLAG 107, 3 in a dialogue to signify that some NPC has revealed a detail. Conditional dialogues are possible checking the flags for a value in the scripts: IF 107 > 2 ... ENDIF

Chests on your map can be populated using map launch scripts: IF 222 = 0 fill with items and close; ELSE make it empty.

Flags are very low-tech and easily work for most kinds of RPGs. They're not convenient to manage, because the numbers won't tell what they're about. You have to keep track of them in spreadsheets.

### Example

I got most of this flags-related stuff from Jeff Hangartner aka Tsugumo and FrozenEmu from old QuickBasic times.

The simple scripts I devised 15 years ago with their help look like this:

checkflag,5,ST,1,a
kollide,21,39,1
end
tag,a
kollide,21,39,0
end

Which in pseudo-code means:

if flag[5] < 1
goto A
else
exit
endif

A:
remove_collision_block(21, 39)
exit

tl;dr

You have rooms, you need "keep an eye on them" by saving them and their contents (NPCs / items) to your sqlite. Each room has entities that can be in different states, you need possibly a simple Enum to save those states, the one row per entity can "remember" that entities state for you.

You are mixing two things together. One is the state of the world, places, NPC's and items. The other is the player's activity. Normally, you wouldn't be storing player activity, and instead storing the state of the game world and all entities (places / NPC's / items) inhabiting it.

The reason being, that some changes occur due to other things. For instance, time passes by and the forest becomes dark as the night draws near (unrelated to player actions).

Each room / place needs to be aware of its state and its inhabitants. It should also have some sort of template (with blanks) that gets filled by function calls to the NPCs and items in that room.

For instance:

### Some Room:

Template text:

You are in a <insert room.description(room.current_state)>. There is a <insert entity.description(entity.current_state)>, in the <insert entity.description(positional_state)>.

Obviously the template needs to be more elaborate than this (possibly). The idea is that you need to maintain a Table or during play a Vector of Rooms where each Room knows:

1. Which room indices it is connected to.
2. How to describe itself in it's state.
3. What entities are inside.
4. It's own description's template needs "blanks" inthat get filled with useful information about the entities inside it.

If there are very few states an entity can be in (dead or alive, there or gone), then it is likely that you can define a simple Enum to contain the state of the entity. Then you create a switch that returns the correct string description for each state. If the states are more complex then you may need to use a more sophisticated funtion.

How about using Set Theory to model your data as relations (this is easy with any relational database, or any language/library support for sets and tuples):

Imagine a relation killed_by(a, b) where a and b are both members of the set of all living things. character_x_is_dead when there exists any solution to killed_by(?, b). You could store this on disk or in memory as a set of tuples (a, b). A set is simply a list with no duplicates; there are lots of ways to search sets quickly.

A chest has a relation contains(a, b) where a is a member of the set of all chests (or all things that can contain anything -- the player's inventory can contain things too!) and b is a member of the set of all items (or the ID that represents it). You similarly store this on disk or in memory as a list of tuples.


text:
## Monday, June 26, 2017

### Coherent inverse scattering via transmission matrices: Efficient phase retrieval algorithms and a public dataset - Dataset -

I just came upon this  work from the good folks at Rice and Northwestern that also features an attendant dataset. Enjoy !

Coherent inverse scattering via transmission matrices: Efficient phase retrieval algorithms and a public dataset by Christopher A. Metzler ; Manoj K. Sharma ; Sudarshan Nagesh ; Richard G. Baraniuk ; Oliver Cossairt ; Ashok Veeraraghavan

A transmission matrix describes the input-output relationship of a complex wavefront as it passes through/reflects off a multiple-scattering medium, such as frosted glass or a painted wall. Knowing a medium's transmission matrix enables one to image through the medium, send signals through the medium, or even use the medium as a lens. The double phase retrieval method is a recently proposed technique to learn a medium's transmission matrix that avoids difficult-to-capture interferometric measurements. Unfortunately, to perform high resolution imaging, existing double phase retrieval methods require (1) a large number of measurements and (2) an unreasonable amount of computation.

In this work we focus on the latter of these two problems and reduce computation times with two distinct methods: First, we develop a new phase retrieval algorithm that is significantly faster than existing methods, especially when used with an amplitude-only spatial light modulator (SLM). Second, we calibrate the system using a phase-only SLM, rather than an amplitude-only SLM which was used in previous double phase retrieval experiments. This seemingly trivial change enables us to use a far faster class of phase retrieval algorithms. As a result of these advances, we achieve a $100\times$ reduction in computation times, thereby allowing us to image through scattering media at state-of-the-art resolutions. In addition to these advances, we also release the first publicly available transmission matrix dataset. This contribution will enable phase retrieval researchers to apply their algorithms to real data. Of particular interest to this community, our measurement vectors are naturally i.i.d.~subgaussian, i.e., no coded diffraction pattern is required.
Dataset:

A public dataset containing the transmission matrices of various scattering media can be downloaded here.

The properties of the TM are briefly described here.

Join the CompressiveSensing subreddit or the Google+ Community or the Facebook page and post there !
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.


text:
Archived

This topic is now archived and is closed to further replies.

Rendering primitives, light

Recommended Posts

Hello all, i have to step on your nerves again: Im rendering 4 Walls and a floor. The walls do render, but when i try to set a light in the scene, it cant be set to the middle of the room. it appears to jump from corner to corner. I bould the position of the light to the position of the camera to examine the effect. the light appears at the corner of the room where my camera is located. when i move to the middle of the room, the light disappears. when i move closer to one of the corners, the light jumps to one of the corners. im trying to find the problem for days now, so i hope someone can help me. Here is the code(the whole project can be downloaded at http://www.nwmedia.de/nwmedia/download.html):
  //this is called at scene init: device->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE ); device->SetRenderState(D3DRS_ZENABLE,D3DZB_TRUE); // get textures for walls and floor if( FAILED( D3DXCreateTextureFromFile( device, "ground.bmp", &g_pGroundTexture))) { LogError("CreateTextureFromFile for ground failed!"); return false; } ZeroMemory(&Material,sizeof(Material)); Material.Diffuse.r = 1.0f; Material.Diffuse.g = 1.0f; Material.Diffuse.b = 1.0f; if( FAILED( D3DXCreateTextureFromFile( device, "wall.bmp", &g_pWallTexture))) { LogError("CreateTextureFromFile for wall failed!"); return false; } if( FAILED( device->CreateVertexBuffer( 4*sizeof(CUSTOMVERTEX),0,D3DFVF_CUSTOMVERTEX,D3DPOOL_DEFAULT, &g_pVBfloor))) { LogError("CreateVertexBuffer failed!"); return false; } // the other vertex buffers are created the same style, so i cut them out //fill data into the buffers: if(FAILED(device->SetVertexShader(D3DFVF_CUSTOMVERTEX))) { LogError("SetVertexshader Failed!"); return false; } if( FAILED( g_pVBfloor->Lock( 0, 0, (BYTE**)&pVertices, 0 ) ) ) { LogError("pVBfloor->Lock failed!"); return false; } pVertices[0].position=D3DXVECTOR3(0.0f,0.0f,0.0f); pVertices[0].normal=D3DXVECTOR3(0.0f,10.0f,0.0f); pVertices[0].tu=0.0f; pVertices[0].tv=0.0f; pVertices[1].position=D3DXVECTOR3(0.0f,0.0f,100.0f); pVertices[1].normal=D3DXVECTOR3(0.0f,1.0f,0.0f); pVertices[1].tu=0.0f; pVertices[1].tv=8.0f; pVertices[2].position=D3DXVECTOR3(100.0f,0.0f,0.0f); pVertices[2].normal=D3DXVECTOR3(0.0f,1.0f,0.0f); pVertices[2].tu=8.0f; pVertices[2].tv=0.0f; pVertices[3].position=D3DXVECTOR3(100.0f,0.0f,100.0f); pVertices[3].normal=D3DXVECTOR3(0.0f,1.0f,0.0f); pVertices[3].tu=8.0f; pVertices[3].tv=8.0f; g_pVBfloor->Unlock(); //the other buffers are filled the same way, so i will skip that //this is how the light is set up at scene init: //*** Light3: Point Light ZeroMemory( &light3, sizeof(D3DLIGHT8) ); light3.Position = D3DXVECTOR3(1.0f,1.0f,1.0f); light3.Type = D3DLIGHT_POINT; light3.Diffuse.r = 0.0f; light3.Diffuse.g = 0.0f; light3.Diffuse.b = 3.0f; light3.Ambient.r = 0.0f; light3.Ambient.g = 0.0f; light3.Ambient.b = 0.0f; light3.Specular.r = 0.0f; light3.Specular.g = 0.0f; light3.Specular.b = 0.0f; light3.Range = 50.0f; light3.Attenuation0 = 0.01f; device->SetLight( 2, &light3); device->LightEnable( 2, TRUE); //* device->SetRenderState( D3DRS_LIGHTING, TRUE ); // this is my render-method: ClearScreen(); //my device->clear method device->BeginScene(); ProcessKeyboardInput(); ProcessMouseInput(); // my light position is updated. this should not be the problem, since when i set the position manually, the same problem occurs light3.Position = D3DXVECTOR3(fCamTransX,fCamTransY,fCamTransZ); device->SetLight( 2, &light3); SetViewMatrix(); //finally: Here the primitives are drawn device->SetTexture( 0, g_pGroundTexture); device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); device->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE ); device->SetMaterial(&Material); D3DXMATRIX GroundZero; // dumb name for a world matrix, sorry D3DXMATRIX GroundZeroTemp; D3DXMATRIX RestoreMatrix; D3DXMatrixIdentity(&GroundZero); D3DXMatrixRotationX(&GroundZero,D3DXToRadian(0)); D3DXMatrixRotationY(&GroundZeroTemp,D3DXToRadian(0)); D3DXMatrixMultiply(&GroundZero,&GroundZeroTemp,&GroundZero); D3DXMatrixRotationZ(&GroundZeroTemp,D3DXToRadian(0)); D3DXMatrixMultiply(&GroundZero,&GroundZeroTemp,&GroundZero); D3DXMatrixTranslation(&GroundZeroTemp,0.0f,0.0f,0.0f); D3DXMatrixMultiply(&GroundZero,&GroundZeroTemp,&GroundZero); D3DXMatrixScaling(&GroundZeroTemp,1.0f,1.0f,1.0f); D3DXMatrixMultiply(&GroundZero,&GroundZeroTemp,&GroundZero); D3DXMatrixMultiply(&GroundZero,&GroundZeroTemp,&GroundZero); device->SetTransform(D3DTS_WORLD,&GroundZero); device->SetStreamSource( 0, g_pVBfloor, sizeof(CUSTOMVERTEX) ); device->SetVertexShader( D3DFVF_CUSTOMVERTEX ); device->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0,2); device->SetTexture( 0, g_pWallTexture); device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); device->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE ); device->SetStreamSource( 0, g_pVBwest, sizeof(CUSTOMVERTEX) ); device->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0,2); device->SetStreamSource( 0, g_pVBeast, sizeof(CUSTOMVERTEX) ); device->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0,2); device->SetStreamSource( 0, g_pVBnorth, sizeof(CUSTOMVERTEX) ); device->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0,2); device->SetStreamSource( 0, g_pVBsouth, sizeof(CUSTOMVERTEX) ); device->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0,2); D3DXMatrixIdentity(&RestoreMatrix); device->SetTransform(D3DTS_WORLD,&RestoreMatrix);
I tried to comment out the matrix calculations, but that did not seem to be the problem. I know its a lot of messy code, but im really stuck so i hope soemone can give me a hand! thank you!

Share on other sites
It sound to me like it is a problem with your polygons (but I might be wrong). Try to increase number of vertecies on your walls. For example add one extra vertex in the middle of every wall and see if that helps. (or you can add light texture and blend it with wall texture)

In DirectX polygons are colored like this. The color of each vertex is calculated and each vertex is colored with its own color. Then the color of the middle area is just a linear transition from one corner vertex to another.

So if you have a huge polygon and a light source in the middle, the vertices will be colored dark, because they are far from the light source so they are almost black (assuming you have only one light source). And the middle area just a linear transition from one vertex to another, so it is also almost black, even though you got your light close to the middle of the polygon.

Share on other sites
If i would be able to read the documentation, i would have been able to see that myself *sigh*
If theres no light reaching a vertex, no lighting calulations can be performed...
Thank you, thank you, thank you!!

• Forum Statistics

• Total Topics
628345
• Total Posts
2982191

• 9
• 24
• 10
• 9
• 13


text:
# Calculating temperature of water in the freezer

Assuming water volume ($V$), initial water temperature ($T_0$) and environment temperature ($T_e$) are known, what is the easiest way to calculate temperature of water in given time ($T$)?

For the sake of question, let's assume water container is so thin it doesn't matter. Also, water container is airtight (for example, soda can or sparkling wine bottle). Environment temperature is constant and air is not moving remarkably.

I already experimented with sparkling wine bottle (filled with water and temperature logger). Blue line is for fridge, red for freezer and greenish for ice water (without salt). But it's not very practical to repeat same experiments with different and different containers.

Why? I thought it would be nice to make a simple mobile application for giving alarms when your drinks are chilled to whatever temperature you want.

-
Related or even duplicate: physics.stackexchange.com/questions/24013 –  Pygmalion Apr 26 '12 at 13:49

You have exact equations for the solution in the related question Time it takes for Temperature Change. Here I would add a few comments.

It is actually easier if container is thick! Then suppose that all water is at same temperature $T$ and all the air in the frizer is at the same temperature $T_e$. $T_e$ is constant.

If that is so, you can use only Fourier's law to describe how heat $Q$ leaves the container

$$\frac{\text{d}Q}{\text{d}t} = \frac{\lambda A}{d} (T-T_e).$$

$d$ is thickness, $A$ area and $\lambda$ thermal conductivity of the container.

Knowing that water cools as heat is leaving the container

$$\text{d}Q = m c \text{d}T,$$

where $m$ is mass and $c$ is specific heat capacity of the liquid, you get rather simple differential equation

$$m c \frac{\text{d}T}{\text{d}t} = \frac{\lambda A}{d} (T-T_e),$$

$$\frac{\text{d}T}{(T-T_e)} = \frac{\lambda A}{d m c } \text{d}t = K \text{d}t,$$

which has exponential solution:

$$K t = \ln \left(\frac{T-T_e}{T_0-T_e}\right),$$

$$T = T_e + (T_0-T_e) e^{-Kt}.$$

-


text:
# Inverse Fourier Transform of a special function

I am currently working on this paper: http://web.calstatela.edu/faculty/rcooper2/article.pdf. I want to calculate $\phi_\nu$ on page 450. The author states that for $u_{\tau,\epsilon}$ ($\epsilon, \tau>0)$ and $\hat{\phi}_{\nu}= \frac{\hat{u}_{\tau,\epsilon}}{1+\nu(\xi_0^2+\tau^2)}$, $\phi_\nu$ has the following form

\begin{align*} \phi_\nu (x_0,x')= \frac{\pi}{1+\nu\tau^2} \int \limits_{-\infty}^{\infty} e^{-(\frac{1}{\nu}+\tau^2)|x_0-y_0|}u_{\tau,\epsilon}(y_0,x') dy_0. \end{align*}

I tried to calculate the inverse Fourier transform \begin{align*} \phi_\nu (x_0,x')= \frac{1}{2\pi} \int \limits_{-\infty}^{\infty}e^{ix_0\xi_0} \frac{1}{1+\nu(\xi_0^2+\tau^2)} \int \limits_{-\infty}^{\infty} e^{-\xi_0y_0} u_{\tau, \epsilon}(y_0,x') dy_0 d\xi_0\\= \frac{1}{2\pi} \int \limits_{-\infty}^{\infty} \int \limits_{-\infty}^{\infty} e^{i\xi_0(x_0-y_0)}\frac{u_{\tau, \epsilon}(y_0,x')}{1+\nu(\xi_0^2+\tau^2)} dy_0 d\xi_0 \end{align*} but I have to admit that I have no clue how to evaluate this integral.

Any help would be greatly appreciated.

First I factorized $1+\nu(\xi_0^2+\tau^2) =\nu (\xi_0+i\sqrt{\frac{1}{\nu}+\tau^2})(\xi_0-i\sqrt{\frac{1}{\nu}+\tau^2})$. Hence $\frac{e^{i\xi_0(x_0-y_0})}{1+\nu(\xi_0^2+\tau^2)}$ has two simple poles. As we are only interested in residues satisfying $Im z>0$ we consider $i\sqrt{\frac{1}{\nu}+\tau^2}$.\begin{align*} \int \limits_{\mathbb{R}} \frac{e^{i\xi_0(x_0-y_0})}{1+\nu(\xi_0^2+\tau^2)} \mathrm{d}\xi_0= 2\pi i Res(\frac{e^{i\xi_0(x_0-y_0})}{1+\nu(\xi_0^2+\tau^2)},i\sqrt{\frac{1}{v}+\tau^2})= 2 \pi i \frac{e^{-\sqrt{\frac{1}{v}+\tau^2}(x_0-y_0}}{2i \nu \sqrt{\frac{1}{v}+\tau^2}} \end{align*} Thus \begin{align*} \phi_\nu (x_0,x') \frac{1}{2\pi \nu \sqrt{\frac{1}{v}+\tau^2}} \int \limits_R e^{-\sqrt{\frac{1}{v}+\tau^2}(x_0-y_0)} u_{\tau,\epsilon}(y_0,x') \mathrm{d}y_0 \end{align*}


text:
soliton solution of nonlinear convection-diffusion-reaction equation system?

I am interested in a flame propagation in 1D which is governed by a nonlinear convection-diffusion-reaction equation system:

$$u_t+C(u)u_x+(D(u)\cdot u_x)_x + R(u) = 0,x\in (-\infty,+\infty) \\ u(-\infty,t) = u_- \\ u_x(\infty,t) = 0$$

$u=[T,c_i,v]^T$.I see if I use $u=u(\theta)=u(x+ct)$. I can convert the original problem to $$N(c)[u]=0\\ u(\theta=-\infty) = u_- \text{ unburned mixture}\\ u_x(\theta=\infty) = 0 \text{ burnt}$$

It seems like a nonlinear eigen value problem of an nonlinear operator $N(c)$ with one parameter $c>0$.

My problem is: what is the existence condition of a stable solitary wave-like solution to the problem? I am especially interested in the constraints on the reaction term and un-burned gas condition.

Further, what is the best numerical solution to this kind of problem?

In combustion theory, not all initial composition can generate a flame. The heat release rate should be high enough to maintain a combustion wave. But there is no clear conclusion when such a solution exist.

In soliton theory, mathematicians developed a theory named as Lax-pair. But I cannot understand it in the sense of physics. It seems every wave speed is possible and no boundary condition is present in the theory.


text:
## The Rocket Equation

In deriving the rocket equation, there is one part I don't understand. The velocity of exhaust with respect to the body is assumed to be constant, where:

v(exhaust wrt body)=v(exhaust wrt inertial)-v(body wrt inertial)

So assuming a constant mass flow rate, the rocket propellant exerts a constant force on the rocket and hence in space, uniform acceleration. But how can an observer on the accelerating rocket observe the rocket propellant being ejected with a constant velocity?
 PhysOrg.com science news on PhysOrg.com >> New language discovery reveals linguistic insights>> US official: Solar plane to help ground energy use (Update)>> Four microphones, computer algorithm enough to produce 3-D model of simple, convex room

Recognitions:
Homework Help
 Quote by adphysics ... the rocket propellant exerts a constant force on the rocket and hence in space, uniform acceleration.
This is not correct. The mass of the rocket decreases at a rate equal to the exhaust mass rate. The constant exhaust velocity should be w.r.t the rocket.
 Oops. So assuming a constant mass flow rate the propellant exerts a constant force on the rocket so the rocket's acceleration increases as follows: a(t)=F[1/m(t)] where F is a constant (until fuel runs out) where m(t) is the mass of the rocket at time t. m(t)=m(initial)-bt where b is a constant (mass flow rate) Hence v_rocket(t)=-Fln(m(t))/b assuming v(0)=0 But why would an observer in the rocket observe a constant propellant velocity?

Recognitions:
Homework Help

## The Rocket Equation

 Quote by adphysics ... why would an observer in the rocket observe a constant propellant velocity?
Because the propelling mechanism is in the rocket.
 Oh, yeah. The engine is on the back of the rocket, so it accelerates with the rocket, so if an engine ejects exhaust at a velocity v, then this is what is observed from the rocket's point of view. Now I feel somewhat embarrassed, but at least the rocket equation makes sense now.

Recognitions:
Homework Help
 Quote by adphysics Now I feel somewhat embarrassed, ...
You should not. No one knows everything. You should only feel embarrassed if you refuse to ask a question out of fear of sounding stupid. Don't let your transient embarrasment prevent your permanent understanding:
 Quote by adphysics ... the rocket equation makes sense now.
Have fun learning.

 Similar discussions for: The Rocket Equation Thread Forum Replies Classical Physics 8 Introductory Physics Homework 13 Calculus & Beyond Homework 1 General Discussion 6 Special & General Relativity 11


text:
## indicators I use

Posted August 3, 2020

## Problem

It is fairly easy to recognize price momentum with price-based indicators ex-post or with lag. Price based momentum signals tend to have lag issues in recognizing the start and end of a price move as there is a tradeoff between noise and lag [1] that can’t be defeated without future information (due to principles from signal processing).

[1] For those interested see impulse-response and the relationship between response delay and degree of smoothing by a filter. Zero lag smoothing with a traditional filter can only be achieved with Forward-Backward smoothing (using data from the future).

In lit markets (where we can see orders and trades), there is additional information that can be applied towards recognizing price moves (or at least directional trading):

• advertised size on the orderbook
• though one has to be careful about spoofing and other techniques to mask or mislead on direction
• skewed activity in the orderbook
• every crossed order involves two trades. The order that crossed with a standing order is the aggressing order and the aggressing side (buy or sell).

In this case we will focus on trades. Most price moves above a certain magnitude will show skewed buying (selling) activity where the majority of aggressive crossing orders are in one direction. Some markets provide an indication of which side aggressed a specific trade:

• CME / Globex and associated futures exchanges
• provides a flag to indicate side of trade for orders placed at prices above the BBO (best bid, best offer)
• Crypto exchanges
• provide aggressing side for all exchange trades
• note that big trades are often done OTC, however, and therefore not visible except in the blockchain eventually
• EBS (FX)
• it has been a while since I used EBS, but believe EBS Live provides a sampling of trades with aggressor side

• equity exchanges
• some non-bank FX venues
• various bond venues

Early research into buy / sell imbalance focused on classification of trades as buyer initiated or seller initiated. Probably the first published approach in this regard was the Lee-Ready technique (circa 1991), which made use of the position of a given trade’s price relative to a prior BBO mid-point to determine whether was likely buyer or seller originated. This was followed by a variety of alternative approaches, one of which will discuss in a later post. Here is a good reference to some of the approaches.

Trade volume tends to be clustered and is best modeled with a point process (in particular a Hawkes Process). The Hawkes process is a counting process that models the arrival of events over time. In this case would be used to model the arrival of unitary buyer or seller originated orders at time t. The process is “self exciting” in that each arrival (trade) excites the process, in the sense that the frequency and magnitude of subsequent arrivals (trades) is increased (and decays once new arrivals diminish). This is expressed as:

$H(t) = \mu (t) + \sum_{t_i < t} N(t_i) e^{-\kappa (t - t_i)}$

where $$\mu (t)$$ is the mean arrival rate, $$N(t_i)$$ is the magnitude or number events at time $$t_i$$ and $$\kappa$$ is the decay. When the decay ($$\kappa$$) is small, an event will excite the process for a longer period of time.

For our buy / sell indicator we will evaluate it as follows:

• let $$\mu (t)$$ be 0, since we expect an even number of buys and sells as the baseline behavior
• $$N(t_i)$$ is the magnitude of buys - sells per bar (or if evaluating per trade, would be the sign and magnitude of the trade)

This is realized as:

$BSI(t) = \sum_{t_i < t} (buyvolume_{t_i} - sellvolume_{t_i}) e^{-\kappa (t - t_i)}$

Or as a recurrence relation:

$BSI(t) = BSI(t-1) e^{-\kappa \Delta t} + (buyvolume_{t_i} - sellvolume_{t_i})$

## Discussion & Examples

The buy sell imbalance usually develops ahead of a visible price move, as trading drives price moves. If you have access to a full view of the market or a particular exchange where the move originates, should see an early indication of buy/sell imbalance, presaging the move. However, one may not have full visibility on the market, the visible slice will be a proxy for the overall activity behind the move.

In either case, I have found that BSI:

• can be an early signal prior to or at inception of move
• provides better information as to when to exit than price-based indicators

### Example 1

In this particular example, I did not have access to all trades across the market, just trades from one source (a market for Gold). The initial trading for this move started 5 minutes before the large drop (I believe), but most of it traded away from this market early on or was done passively. Hence BSI, here, only signals once the pace of trading becomes apparent on the futures exchange.

Find the code for this example in my new open-sourced timeseries patterns library tseries-patterns.

df = pd.read_csv("csv/volumebars.csv", parse_dates=['stamp'])

bsi = HawkesBSI(kappa = 0.1)
bsi.eval (df)
bsi.plot(title="variation with kappa = 0.1")

Here is the same time period with a faster decay:

bsi = HawkesBSI(kappa = 0.5)
bsi.eval (df)
bsi.plot(title="variation with kappa = 0.5")

## Implementation

I have implemented BSI and variants thereof in C++, F#, Kotlin, and Python over the years. As mentioned above, have created an open source Python library, where am starting to share some of the indicators I use, called tseries-patterns. Will be adding to this library over time, so suggest watching the repository if is of interest. Appreciate any feedback.


text:
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

# [pd@kubism.ku.dk: 8-bit fonts for TeX ?]

You may be interested in a scheme I am almost ready to release,
which allows pretty free mapping of METAFONTS in the 128-255
area.  (down below too, but that can get you into difficulties
in the related TeX coding).  Why not have a hard and fast scheme?
Karl givess one reason, and the enclosed copy of a letter that
I never got around to mailing indicates another.

---------------------------------------------------------
\opening{Dear Mr. Freytag,}

When I received the Unicode Draft over a year ago, I was working on
other alphabets, and I am afraid I did not notice till today a curious
omission from all the coding tables.  In a sense, it is
understandable, since the missing letters are not part of the {\it
official} alphabet of any country, but then neither are IPA
characters, and they have been allowed spaces.

I enclose proof sheets of the 11 characters I have recently been
working on (lower case only, but they all have upper case siblings).
These are used in the Roman-letter transcription of the principal
Islamic (Arabic Script) languages, and probably have a wider
international currency than many of the obscurer characters in the
Latin 1 and Extended Latin set.  There are a couple of duplications in
function, but no ambiguities unless s with bar under'' gets
misused as a substitute for s with cedilla''.  Transcriptions concerned
primarily with the rendering of Arabic Script in an Arabic context
will use t with bar under'' and d with bar under'' where in a
Persian or Turkish context, you are more likely to find s with bar
under'' and z with bar under'' as representing {\bf 062B} Arabic
Letter THEH and {\bf 0630} Arabic Letter THAL respectively.  There are
literally millions of pages a year published making extensive use of
the characters I enclose.  I am not sure when the equivalences were
first agreed on, but it is well back in the 19th century.

I became aware of the absence of these characters from Unicode when I
was planning to remap a thoroughly idiosyncratic font table to some
more general standard.  My first choice was Unicode, but I found to my
surprise that half the characters I had developed have no identity
whatsoever in any of the tables.  But every Latin letter periodical
with a primary interest in the Near Eastern and Islamic studies uses
these characters intensively, as do most of the monographs and books
published in the field, and the Central Asiatic Republics in the
Turkish language regions of the former Soviet Union, who speak with a
somewhat different phonetic repertory than the Turks of the
Ankara-based Republic are very likely to adopt some of this set.  I am
a bit surprised that no one from the Research Libraries Group noted
the extensive use of this character set in bibliographic references.

I fear it is probably too late to do much about this now, which is
rather a pity, since the particular design effort I have been working
on is part of an attempt to develop a standardized text database using
SGML.  But I felt it would do no harm to communicate with you about
the matter, since I really do not know what stage the negotiations
about Unicode have reached.

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

The general idea is to have a distinct mapping file in which
accented characters are given names with purely descriptive
content, and to make that mapping file as easy as possible
to re-edit into an included TeX macro file.  It works
rather nicely, and by using an intermediate stage of
ligatures with a post-positive accent convention, I can
even feed several different ugly word-processor codings
through the same tex input file with only a change in the
small mapping file.

If you're interested, I'll send a typical mapping file, and
in a short while I'll send the full schema.

Incidentally, it treats all of Don Knuth's computer modern
character descriptions (or any similar ones for that matter)
as read-only sources, to avoid the creation of dialect versions
of well-known characters.

Email concerned with UnixTeX distribution software should be sent primarily
to:	elisabet@max.u.washington.edu           Elizabeth Tachikawa
otherwise to:  mackay@cs.washington.edu		Pierre A. MacKay
Smail:  Northwest Computing Support Center	TUG Site Coordinator for
Thomson Hall, Mail Stop DR-10		Unix-flavored TeX
University of Washington
Seattle, WA 98195
(206) 543-6259