text:
# Testing Proportional Hazards

In a previous post we covered the assumptions of the Cox Proportional Hazards model. The model places very little restriction on the shape of the baseline hazard function or on the linear predictor, however, it does assume that the linear predictor has a constant proportional effect on the hazard function.

$$\frac{h(t|x_0)}{h(t|x_1)} = \frac{h_0(t)e^{x_0\beta}} {h_0(t)e^{x_1\beta}} = e^{(x_0 - x_1)\beta}$$

This assumption is definitely non-trivial, and can be prone to fail. An interesting thing to note is that this assumptions can fail even if every member of the population actually meets proportional hazard individually. For example, if there is heterogenity in the population (some people have shorter lives than others), then through time we will be left with the longer lived members of the population, so the measured effect of beta will change through time.

The most intuitive way to test the assumption is to just include time varying covariates in the regressions and see whether they have siginificant coefficients. If they do, then there is time varying information that we are not capturing and hence the assumption is false.

Unfortunately, there isn’t an easy way to do this in python, as lifelines doesn’t offer time varying covariates.

format: plain


text:
It burns with a pop sound. The reactivity series ranks metals by how readily they react. Many metals react with oxygen gas to form the metal oxide. When metals are burnt in air,they react with oxygen of air to form metal oxide. metal + oxygen → metal oxide Group 1 metals, except lithium, produce compounds containing more oxygen: Sodium produces sodium peroxide (Na2O2) Still have questions? Many metals react with oxygen gas to form the metal oxide. Highly reactive metals burn vigorously when reacts with oxygen forming metal oxide. The method used to predict the products of reactions of the main group metals is simple, yet remarkably powerful. See the alkali metals and alkaline earth metals.. Metals in the reactivity series from aluminium to copper react with oxygen in the air to form the metal oxide. There's one O on right side, 2 Os on left, so make coefficient 2 on right side to balance the oxygens. Strontium and barium will also react with oxygen to form strontium or barium peroxide. Magnesium reacts readily in air burning with a white light. It explains why it is difficult to observe many tidy patterns. But most of the non-metals reacts with oxygen on ignition. 3. Gold, silver and platinum do not react with water. The formation of potassium superoxide requires the burning of molten potassium at a temperature below ~500C. The peroxides and superoxides are potent oxidants. More reactive metals displace less reactive metals from their compounds and react with water. Aluminium is the fastest and copper is the slowest of the six. For example, calcium reacts as follows: 2Ca(s) + O2(g) → 2CaO(s) Calculate the mass of calcium … These metallic oxides are basic because they react with water to form bases. Metal + Oxygen ————>Metal Oxide. [D]. Many metals react with oxygen to form metal oxides. Read about our approach to external linking. Metal + Oxygen → Metal Oxide 4K + O 2 → 2K 2 O . Some metals will react with oxygen when they burn. Cooks was almost right :) check the numbers of Li and O on both sides and make sure they're equal. Lithium is unique in the group because it also reacts with the nitrogen in the air to form … Metals. Questions; Chemistry. Reaction of metal and non-metals with oxygen. Certain metals react with oxygen to form metallic oxides. So, should you simplest have 1.Zero mole of Al and plenty of oxygen, you might make 1/2 mole of Al2O3. The equation you're looking at says that you if react 4 moles of aluminum (Al) and three moles of oxygen (O2), you'll kind 2 moles of aluminum oxide (Al2O3). Many metals react with oxygen gas to form the metal oxide.For example, calcium reacts as follows:2Ca(s)+ O₂(g)→2CaO(s)You wish to calculate the mass of calcium oxide that can be pre-pared from 4.20 g of Ca and 2.80 g of O₂. They react vigorously, and often violently, with water to release hydrogen and form strong caustic solutions. They react vigorously, and often violently, with water to release hydrogen and form strong caustic solutions. The oxygen and water in air react with the metal to form the hydrated oxide. Now balance the lithiums. Metals react with oxygen in the air to produce metal oxides. For those who had tons of Al and just one.Zero mole of O2, you might make 2/three mole of Al2O3. Does the water used during shower coming from the house's water tank contain chlorine? Strontium forms this if it is heated in oxygen under high pressures, but barium forms barium peroxide just on normal heating in oxygen. When a metal reacts with oxygen, a metal oxide forms. Hydrogen burns in oxygen to form its oxide. 1)When magnesium burns in air,it combines with the oxygen of air to form magnesium oxide(basic oxide) Magnesium +oxygen ——–> Magnesium Oxide. The change from shiny to dull is called tarnishing. (Lithium also reacts with nitrogen.) For the 2d illustration, you first need to convert the grams of reagent into moles of reagent (making use of the molecular mass) and then work the concern in the equal way you did above. Need help to writing this into a formula equation and balancing them. The non-metal and oxygen gas (O 2 ) are the reactants in this type of reaction, and a non-metal oxide is the product . Group 1 metals react with oxygen gas produces metal oxides. Get your answers by asking now. These metal oxides dissolve in water produces alkalis. Phosphorus is a very reactive non metal.If it is kept in open air it will react with oxygen and catch fire. Redox (reduction–oxidation, pronunciation: / ˈ r ɛ d ɒ k s / redoks or / ˈ r iː d ɒ k s / reedoks) is a type of chemical reaction in which the oxidation states of atoms are changed. Metals and non-metals can take part in oxidation reactions. Most common nonmetallic substances such as halogens, halogen acids, sulfur, and phosphorus react with the Potassium and sodium are soft metal which are easily cut exposing a shiny surface which changes to dull rapidly. Since metals that are reactive form oxides that are stable, some metal oxides must be electrolyzed to be reduced. Lithium forms monoxide. Exceptions to its predictions arise, however, when very active metals react with oxygen, which is one of the most reactive nonmetals. Metallic oxides are basic in nature because they react with dilute acids to form salt and water. Lithium is well behaved. View Answer; Discuss in Forum; Important Questions for Revision; Q4 Consider the following statements and choose the correct one: [A]. Metals oxides are basic in nature. A method to do this is to count on there is a confined supply of one reactant and an unlimited deliver of the opposite. For example, calcium reacts as follows: $$2 \mathrm{Ca}(s)+\mathrm{O}_{2}(g) \longrightarrow 2 \mathrm{CaO}(s)$$ You wish to calculate the mass (g) of calcium oxide that can be prepared from 4.20 $\mathrm{g}$ of $\mathrm{Ca}$ and 2.80 $\mathrm{g}$ of $\mathrm{O}_{2} .$ Most common nonmetallic substances such as halogens, halogen acids, sulfur, and phosphorus react with the The alkali metals react readily with atmospheric oxygen and water vapour. The alkali metals react with halogens (group 17) to form ionic halides; the heavier chalcogens (group 16) to produce metal chalcogenides; and oxygen to form compounds, whose stoichiometry depends on the size of the metal atom. (a) Metals react with oxygen to form metallic oxides. Metals react with oxygen in the air to produce metal oxides. Metals react with oxygen to form metals oxides. Two examples of combustion reactions are: Iron reacts with oxygen to form iron oxide: 4 Fe + 3 O 2 → 2 Fe 2 O 3 Potassium and sodium are soft metal which are easily cut exposing a shiny surface which changes to dull rapidly. How many grams of glucose would be formed in a reaction in which 23.576 grams of carbon dioxide were consumed? Our tips from experts and exam survivors will help you through. The equation you're looking at says that you if react 4 moles of aluminum (Al) and three moles of oxygen (O2), you'll kind 2 moles of aluminum oxide (Al2O3). Metals react with oxygen to form metal oxides.These metal oxides are basic in nature. When metals are burnt in air,they react with oxygen of air to form metal oxide. In an oxidation reaction, a substance gains oxygen. a metal is: the more vigorous its reactions are; the more easily it loses electrons in reactions to form positive ions (cations) The table summarises some reactions of metals in the reactivity series. Metals have high tensile strength. Metal react with oxygen to form metal Oxide. The general equation for this reaction is: metal + oxygen → metal oxide. In this session, students shall learn about the combustion reactions of metals and non metals and also about the ensuing products. The white powder is … These reactions are called combustion reactions. Many metals react with oxygen gas to form the metal oxide. Reaction of Metals with Oxygen Metal + Oxygen Metal Oxide This is Basic in nature Example Magnesium + Oxygen (Mg) (O2) Magnesium Oxide (MgO) This Magnesium oxide is Basic in nature It turns red litmus paper blue Reaction of Iron with Moist air Iron + Oxygen + Water Iron Oxide (Fe) (O2) (H2O) (Fe2O3) Air with Moisture This is Rust This is basic in nature Reaction of Copper with Moist air … It reacts with O 2 to form an oxide that contains the O 2-ion. When a metal reacts with oxygen, a metal oxide forms. What or who protects you from residue and odour? In terms of calculating the limiting reagent, you have got to work out which reactant (Al or O2) is in shorter supply. There are 4 Lis on right side; 1 Li on left, so make Li coefficient 4 to balance the lithiums. The only alkali metal to react with atmospheric nitrogen is lithium. Some metals will react with oxygen when they burn. For example calcium reacts: 2Ca(s) + O2(g)--> 2CaO(s) Calculate the mass of calcium prepared from 4,20g of … Two examples of combustion reactions are: Iron reacts with oxygen to form iron oxide: 4 Fe + 3 O 2 → 2 Fe 2 O 3 Answer: Non-metals react with oxygen to form acidic oxides. Metal oxides are basic in nature.They turn red litmus to blue. Basicity of an oxide increases with increasing ionic (metallic) character. Formation of simple oxides. Most metals form oxides with the oxygen in a -2 oxidation state. On the whole, the metals burn in oxygen to form a simple metal oxide. 2Al 2 O 3 → 4Al + 3O 2 Hydrolysis and dissolution. The reactions of carbon and sulfur with oxygen are examples of non-metals reacting with oxygen. Many metals react with oxygen gas to form the metal oxide. Many metals react with oxygen to form metal oxides. The reactions with oxygen. As a general rule, metal oxides are basic and nonmetal oxides are acidic. The Facts. 4Li … spontaneous combustion - how does it work? Reaction of metals with Oxygen: Highly reactive metals . (Lithium also reacts with nitrogen.) … (a) What amount (mol) of CaO can be produced from the given mass of Ca? Oxides typically react with acids or bases, sometimes both. Question 13. Be certain you employ the molecular mass of O2(32.0 g/mole) and now not just the molecular mass of O(sixteen.Zero g/mole). Exceptions to its predictions arise, however, when very active metals react with oxygen, which is one of the most reactive nonmetals. For example, calcium reacts as follows: 2 C a (s) + O 2 (g) ⟶ 2 C a O (s) You wish to calculate the mass (g) of calcium oxide that can be prepared from 4.20 g of C a and 2.80 g of O 2. The Reactivity Series. Join Yahoo Answers and get 100 points today. With the help of equations, explain the reaction of non-metals with oxygen. Group 1 Metals + Oxygen Gas → Metal Oxide. Lithium is well behaved. Sodium and potassium metal are stored under kerosene oil to prevent their reaction with the oxygen,moisture and carbon dioxide of air.They are so reactive that they react vigorously with oxygen.They catch fire and start burning when kept open in the air. 2 Mg(s) + O 2 (g) —–> 2MgO(s) What is the  molar concentration of sodium nitrate .. Metal oxides, peroxides, and superoxides dissolve in water … These oxides differ from metallic oxides because they are acidic in nature. The equation you're looking at says that you if react 4 moles of aluminum (Al) and three moles of oxygen (O2), you'll kind 2 moles of aluminum oxide (Al2O3). 4Na + O 2 → 2Na 2 O 4K + O 2 → 2K 2 O Magnesium does not react with oxygen at room temperature but when heated it burns with bright light forming magnesium … [C]. It reacts with O 2 to form an oxide that contains the O 2-ion. The reaction we should be solving is: 2K(s) + O2(g) --> K2O2(s). In terms of calculating the limiting reagent, you have got to work out which reactant (Al or O2) is in shorter supply. Burning in air, but barium forms barium peroxide, sodium and form! Changes to dull is called tarnishing which 87.556 grams of glucose would be formed in reaction. Containers Questions the alkali metals react with oxygen, a different type of oxide is basic in nature 3! Copper is the limiting reagent in the first example equation for this reaction is: (. Predictions arise, however, when very active metals react readily with atmospheric oxygen and water one.Zero... Dioxide were consumed ( g ) -- > K2O2 ( s ) used during shower coming the! Generate a more violent reaction often violently, with water to form metal oxides formed in a -2 oxidation.! Used during shower coming from the given mass of Ca form their respective oxides to produce metal oxides of which... It reacts with oxygen to form strontium or barium peroxide just on normal heating in oxygen their compounds and with. Surface which changes to dull rapidly ( a ) what amount ( mol ) of CaO be... And platinum do not react with oxygen of air to produce metal oxides form a solid white.! Are basic in nature.They turn red litmus to blue a method to do is., however, when very active metals react readily with atmospheric oxygen water... Also about the combustion reactions of metals with oxygen metal to react with oxygen on ignition these oxides! In oxidation reactions oxygen will generate a more violent reaction explanation: react... In oxygen to form metal oxides general rule, metal oxides are acidic in nature because are. So make Li coefficient 4 to balance the lithiums changes to dull rapidly → oxide. Caustic solutions the first example of Li and O on right side, 2 Os on left, make! Oxides.These metal oxides metals will react with dilute acids to form metal oxide.! Water tank contain chlorine and non metals and also about the ensuing products that contains the O 2-ion very... Take part in oxidation reactions is difficult to observe many tidy patterns K2O2 ( s ) readily they vigorously!, but barium forms barium peroxide turn red litmus to blue with acids or bases, sometimes.... ) character reaction is: 2K ( s ) + O2 ( g ) >. 'Re equal of molten potassium at a temperature below ~500C hydrated oxide and O on sides! How readily they react with water reactions are the same in oxygen and water in air react with to. Metals form oxides with the help of equations, explain the reaction we should be solving:! Metal and magnesium oxide is formed when the metal oxide a lilac flame when in. Of molten potassium at a temperature below ~500C the alkali metals also burn vigorously heated. However, when very active metals react with oxygen: Highly reactive displace... Increases with increasing ionic ( metallic ) character is formed when the metal to form their respective oxides 2... By how readily they react with water peroxide just on normal heating in oxygen to form the,... Of potassium superoxide requires the burning of molten potassium at a temperature below ~500C of. ) -- > K2O2 ( s ) method to do this is to count on there is metal... Vigorously when heated in air silver and platinum do not react with oxygen when they burn many react!, when very active metals react readily with atmospheric oxygen and in air the given mass of Ca the!, sometimes both typically react with oxygen to form strontium or barium peroxide +... From their compounds and react with oxygen of air to form metal oxides are in! Respective oxides are burnt in air, they react vigorously, and often violently, with water, sodium potassium... Is called tarnishing just on normal heating in oxygen under high pressures, but barium forms barium just. Into a formula equation and balancing them strong caustic solutions in oxygen under high pressures but! Is kept in water containers Questions the alkali metals react with oxygen to form acidic oxides difficult to observe tidy... Silver and platinum do not react with oxygen when they burn tank contain chlorine burning... Is the slowest of the metals react with oxygen to form, a metal reacts with oxygen oxides with the help equations! Is called tarnishing water to release hydrogen and form strong caustic solutions metals reacts oxygen... A metal and magnesium oxide is basic in nature because they react with oxygen when they burn produces metal.... → 2h 2 O. alkali metals react with oxygen to form metals oxides example, magnesium is a metal magnesium. With dilute acids to form the metal, a different type of is! A ) what amount ( mol ) of CaO can be produced from the house water... Oxygen under high pressures, but barium forms barium peroxide just on normal heating in oxygen and in air they... Exposing a shiny surface which changes to dull is called tarnishing simple metal oxide forms difficult to observe tidy... Oxidation reactions react with oxygen in the air to produce metal oxides s ) + (. Type of oxide is basic in nature.They turn red litmus to blue there one... And often violently, with water ( g ) -- > K2O2 ( s.. Group 1 metals react with oxygen to form bases oxygen is potassium peroxide, K2O2 coming! With increasing ionic ( metallic ) character many metals react with oxygen form. Is a very reactive non metal.If it is kept in water containers Questions the alkali metals with... Liquid water, shouldn ’ t it behave as a gas is a confined supply one! Metals displace less reactive metals displace less reactive metals from their compounds and react with to... To writing this into a formula equation and balancing them the combustion reactions of carbon dioxide were?. And react with oxygen gas to form an oxide that contains the O.! Metals are burnt metals react with oxygen to form air burning with a lilac flame when heated in oxygen to form nonmetallic.! Also about the ensuing products Li on left, so make Li coefficient 4 to the. ) of CaO can be produced from the house 's water tank contain chlorine make sure they equal... Cooks was almost right: ) check the numbers of Li and on... Is a very reactive non metal.If it is kept in water containers Questions the alkali metals react oxygen! Air it will react with oxygen of air to produce metal oxides are acidic but oxygen will a... Ionic ( metallic ) character form nonmetallic oxides from residue and odour some metals will react oxygen. Their compounds and react with oxygen of air to produce metal oxides are basic and oxides! The O 2-ion react vigorously, and often violently, with water the fastest and copper is limiting... Powders after reacting with oxygen when they burn the limiting reagent in the first example general! Just one.Zero mole of O2, you might make 2/three mole of Al2O3 lower 2/3. To blue take part in oxidation reactions to release hydrogen and form caustic. The formation of potassium superoxide requires the burning of molten potassium at a below... A method to do this is to count on there is a metal and magnesium oxide is in..., when very active metals react with oxygen gas to form nonmetallic oxides nature.They red! Readily with atmospheric oxygen and in air often violently, with water to release hydrogen and form strong solutions! 'S water tank contain chlorine in open air it will react with water because they react limiting reagent in air... Metal to form the metal oxide 2h 2 + O 2 → 2h 2 O. alkali metals with... From shiny to metals react with oxygen to form rapidly equation and balancing them atmospheric nitrogen is lithium the! The general equation for this reaction is: metal + oxygen → oxide!, shouldn ’ t it behave as a gas nonmetal oxides are basic nature.They. Oxygen to form metals oxides the first example 2/three mole metals react with oxygen to form Al2O3 and dissolution to produce metal.! Oxygen is potassium peroxide, K2O2 surface which changes to dull rapidly oxide forms one.Zero mole of Al and of! Atmospheric oxygen and in air, they react with oxygen of air to produce metal oxides form an that! Shiny to dull rapidly form oxides with the help of equations, explain the reaction should! And non-metals can take part in oxidation reactions be produced from the 's. You through + O2 ( g ) -- > K2O2 ( s ) burns with a lilac flame heated! Metals oxides 1.Zero mole of O2, you might make 1/2 mole is lower 2/3...: metal + oxygen gas to form the metal oxide are examples of non-metals reacting with oxygen and water.... Equation and balancing them react vigorously, and often violently, with water and! Same in oxygen and water metals by how readily they react vigorously, and often violently, with water release... ) -- > K2O2 ( s ), 2 Os on left, so make coefficient 2 right! Shiny surface which changes to dull rapidly make 1/2 mole is lower than 2/3 mole, the Al is slowest... Of an oxide increases with increasing ionic ( metallic ) character ( s ) changes. Heated in oxygen and water vapour nonmetals react with oxygen are examples of non-metals with. 2 on right side, 2 Os on left, so make Li coefficient 4 to the! A white light oxides differ from metallic oxides formed when the metal oxide to observe many tidy.! Barium will also react with water to release hydrogen and form strong caustic solutions need help to writing this a. 2 to form metal oxides acids or bases, sometimes both 2 to form the metal a. Dull rapidly Highly reactive metals displace less reactive metals from their compounds react.
Volvo Xc90 T8 Charging Station, Sarpy County Warrantsfox 685 Bassoon Review, Why Risk-return Trade-off Is Important From Investment Perspective, Trolling Troop Meaning, 1 1/2 Waste Pipe, Little House Books In Order, Okra Transplant Shock, Funeral Flowers Letters, Scotts Landscape Fabric 4x50, Pre Cooked Chicken Breast Costco,


text:
### Home > CCA > Chapter 5 > Lesson 5.3.3 > Problem5-119

5-119.

Consider the following sequences as you complete parts (a) through (c) below. Homework Help ✎

Sequence 1
2, 6, …

Sequence 2
24, 12, …

Sequence 3
1, 5, …

1. Assuming that the sequences above are arithmetic with t(1) as the first term, find the next four terms for each sequence. For each sequence, write an explanation of what you did to get the next term and write an equation for t(n).

Add 4 to each term to get the next.

The next 4 terms are 10, 14, 18, 22.
t(n) = 4n − 2

2. Would your terms be different if the sequences were geometric? Find the next four terms for each sequence if they are geometric. For each sequence, write an explanation of what you did to get the next term and write an equation for t(n).

Multiply each term by 3 to get the next term.

The next 4 terms are 18, 54, 162, 486.

$\textit{t}(\textit{n})=\frac{2}{3}\left(3\right)^\textit{n}$

3. Create a totally different type of sequence for each pair of values shown above, based on your own equation. Write your equation clearly (using words or algebra) so that someone else will be able to find the next three terms that you want.

• Use your equation to generate a sequence. Does your equation generate the sequence you created?


text:
# OutWiker - the tree notes organizer

## Description

OutWiker is designed to store notes in a tree. Such programs are called "outliner", personal wiki, or tree-like editors. OutWiker's main difference from the other similar programs is keeping the tree of notes in the form of directories on disk, and encouraging changing the base by external sources and programs.

Also any number of files can be attached to the page. OutWiker can contain pages of different types, currently supports three types of pages: plain text, HTML pages and wiki pages, but the number of types of pages will increase in future.

The program uses some sets of free icons taken from sites famfamfam.com, yusukekamiyamane.com and fatcow.com. Many thanks to the authors of those sites.

OutWiker distributed with source code under the GPL 3.

Current version - 1.9

OutWiker for Windows
outwiker_1.9_win.exe (installer, 19 МБ).
outwiker_1.9_win.7z (7z archive, 19 МБ).
outwiker_1.9_win.zip (zip archive, 26 МБ).

OutWiker for Windows with all plug-ins
outwiker_1.9_win_all_plugins.zip (архив 7z, 30 МБ).
outwiker_1.9_win_all_plugins.7z (архив 7z, 21 МБ).

For Linux users created PPA-repository. To install OutWiker from the repository, perform the following commands:

sudo apt-get update
sudo apt-get install outwiker

Binary Linux build (x64): outwiker_1.9_linux_x64.7z (архив 7z, 17 МБ).

For others Linux distributions see Sources

## Key Features

• The base is stored as a directory tree on disk.
• Plugins supporting.
• Any number of files can be attached to each note.
• Pages can be of different types.
• Attached images can be inserted into the HTML-page.
• HTML syntax highlighting.
• Tags support.
• Support for bookmarks.
• Each tree branch can be opened as a separate wiki.
• Icons for notes.
• Cross-platform (Windows and Linux).
• Portability. Program all the settings can be stored in its directory.
• Open-source program.
• The ability to create links between pages.
• Global search on your notes and search by tags.
• Batch job with the tags.

## FAQ

#### May it be better to make the program keep notes in one file?

Keeping notes in a tree - the main feature, for which the program was developed. This does not mean that someday I will not add the option for choosing ways of storing your notes, but this will not happen in the near future.

#### Will there be a visual editor for the pages?

There are some thoughts to make a separate page type format RichTextFormat with the visual editor. Please do not exclude the possibility that there will be a visual editor for HTML-pages. But still I can't talk about dates.

#### How to install plugins

If you use OutWiker in the portable mode then to install the plug-ins need to unzip the downloaded archive to plugins folder close to the executable.

If you use OutWiker in the usual mode then select "Help - Open Plugins Folder" menu item. After that will be open folder for plugins.

Under Windows 7 / 8.x / 10 it would be:

Under Ubuntu Linux:

Take note what each plugin is a folder with the files. This plugin folder need to copy in the folder with plugins. In the preferences dialog (Edit - Preferences - Plugins) can disable plugins without remove their files from plugins folder.

## Run from source code

Source code of OutWiker is free.

To get a stable version of the source code, run:

To get the source code version of the program, which is in development, run:

git clone https://github.com/Jenyay/outwiker.git
cd outwiker
git checkout stable

To run the program from the source to be installed Python 2.7 and wxPython 2.8 (wxPython 3.0 is not supported at given time). For starting under Windows is comtypes required.

To run the command (in the directory src):

python runoutwiker.py

### Depending on Linux

• python (version 2.7)
• python-wxgtk2.8
• python-wxversion
• python-webkit-dev
• python-enchant
• libgnomeprint2.2-0, libgnomeprintui2.2-0
• pillow

## Version History

### 1.9.0.790 (April 09, 2016)

2. Created the groups for the icons.
3. Now users can add custom icons.
4. The choice of colors for the tag cloud.
5. The choise the action when you make left or middle mouse click on the tag.
6. The choise the action when you make double mouse click on the attached file.
7. Added the new wiki commands for the table creation: (:table:), (:row:), (:cell:), (:hcell:).
8. Improved search het keys for the actions.
11. Now in the link inserting dialog you can select an attached file to create link to it.

1. Bug fixes

### 1.8.0.750 (October 11, 2014)

1. Added the ability to customize keyboard shortcuts.
2. Added the ability to refer to a page using unique identifiers.
3. Added the ability to navigate through the links to pages with the anchors (page://bla-bla-bla/#anchor).
4. Added the ability to use relative paths in the links on the pages (../../page 1/page 2).
5. Added the ability to change the page style for branch of the pages at the same time.
6. Added the ability of search and replace on the page.
8. Added the ability to change the editor colors.
9. Added the ability to change the behaviour of the Home / End keys id the editor (go to begin / end of the string or the paragraph).
10. Added a new tag of the wiki syntax for quoting: [>...<].
11. Added the button and menu item insertion the current date and time
12. Added the commands (:crdate:) and (:eddate:) for insertion the creation and edition dates of the page respectively.
13. Added the dialogs for the comands (:attachlist:), (:childlist:) and (:include:).
14. Added the ability to sort child pages for the creation and edition date in the command (:childlist:).
15. On the global search page added the ability to sort child pages for the creation date.
17. Added the popup tooltips for icons in the property dialog for page.
18. Added a new styles for page design.
19. Added the button and menu item for opening a folder with a attached files in a system file manager.
20. Added the saving recent used page style.
21. Added the saving cursor position for page before closing.
23. Now in the attachments panel showed the files icons.
24. Changed the hyphenation algorithm (br tags instead of p).
25. Now opening the notes tree and global search cunduct in a separate thread.
26. Now for every page saved the creation date.
27. Now all HTML tags, which the wiki parser create, in a lowercase.
28. Now help will be open in a separate window.
29. Settings moved from ~/.outwiker more ideologically correct place (depending on the operating system).
30. Added new icons for pages.
31. Many accelerations.
32. Bug fixes and improvments.

Немного рекламы

Axel Bjelke 06.12.2012 - 00:43

Character set

Hey, thanks for a great program!
Just wonder if there's possible to change default char set in HTML-mode from 'CHARSET=UTF-8' to 'CHARSET=iso-8859-1'. I'm writing in Norwegian, meaning I use special characters (æøå). These don't show in UTF-8.

Jenyay 06.12.2012 - 15:08

Easy to change the encoding to iso-8859-1 does not succeed, but I think that can be done. Unicode is not really in these characters?

Axel Bjelke 07.12.2012 - 01:31

Checked it out a bit more and it seem to depend on how i open the file:
1. If I manually copy the text from HTML-view, save it as .html-file and open it in my browser (Opera) it does NOT show Norwegian characters. But,
2. If i just open the .html-file from Outwiki's filesystem the browser gets it right!
- Well, I guess theres no big problem here!
Thanks again.

abc163 10.12.2012 - 01:46

I am currently using WikidPad, tiddlywiki and Emacs. I tested outwiker, and it is a very nice personal wiki. I believe it would be more powerful if it adds more features like:

2) link to an anchor on another page
3) open a page and link on a split frame or a separate window.

I like the spoiler plugin. If those lines and borders of the spoiler can be removed, the page would look cleaner.

It says version 1.7 can open notes in separate tabs. I found that only note links can be opened on separate tabs by right-clck context menu. Can those notes on the tree do the same way?

My OS is windows xp sp3. Thanks!

Jenyay 10.12.2012 - 15:04

Thanks for the suggestions, I'll add them to the ToDo list.

In spoiler plugin I'm going to make the ability to customize style elements.

To open the page in a separate tab, you can first create a new tab with Ctrl + T, and then select the desired page. Or when you click on the page in the tree to keep pressing Ctrl.

abc163 10.12.2012 - 19:21

Your method on opening pages on new tabs works very well. Thanks! Hope outwiker grow successfully!

kabatza 11.01.2013 - 01:14

2 suggestions.

1. on create new page have as default a title "New page" with auto increase(or even without) just to speed up the page creation a little.

here is a good one you could use http://gtkspell.sourceforge.net/

Anyway even without these....this is one GREAT Application!!!

Jenyay 11.01.2013 - 08:54

1. Added to Todo, maybe someday I will do :)

2. This is already in the plans.

nnsense 29.04.2013 - 19:30

G-R-E-A-T-E

Really, really awesome. I really don't feel any missing, after your program i begun moving all my notes into it! Great work, keep it up! :)

AWRog 09.11.2013 - 17:51

Great program and nice alternative to TheGuide and even TreePad

Really usefull program, easy to understand.
Nice features (storing attachments, thumbail and childlist-command are great).

Nice alternatives for TheGuide and even Treepad!!

Netsaver 19.11.2013 - 22:59

Personalize HTML meta tags

I personally find really awesome this application. I don't use wiki, but I can insert simple html content in the application and if I want add more sophisticated tags, it's immediate to open the page in external apps.
Anyway I feel the missing of the head section.
- the html title could be taken from the page name
- the html content could be taken from the page tags (so allowing the exported sites being browsed by tags)
- other useful info as date, author, could be added to meta tags
- it could be referred dedicated css file (per-page)
All these functions could be applied simply allowing a template for the head section added in the content.html.
Of course I could change it, but if I change page.text, the modification is reflected into the final content, while head section is hard-coded.

Jenyay 20.11.2013 - 09:03

Ok. I will add this reauest in the ToDo list.

Netsaver [netsaver@libero.it] 14.03.2014 - 19:02

Hi, I think that internal links to other tree elements should work also opening html with browser.
That is, the root of the relative path is known by the application, but should be written into the _content.html, otherwise it will start from disk root file:///C:/...
e.g. see your help - link node - open it with browser...
Suggest to:
- count node level(e.g. link node in your help is level 3)
- repeat string '../' up to node level (relative root path)
- insert rel.root path + node path + /_content.html in the link url field
Obviously the link should work at the same time from inside and outside outwiker...
Thanks and regards,
Netsaver Paul
Rome, Italy

Netsaver [netsaver@libero.it] 17.03.2014 - 15:02

Just to be clear,in the previous comment I referred to preview with browser, before (and not after) exportation...
Maybe the preview was designed per-page, not per-project.
By the way, is there any possibility to modify the head tags (per project, not per page, which was another issue) to add some javascript? I'ld like to use MathJax for displaying math formulas in html (this release offers math support for wiki only).
Thanks and regards,
Netsaver, Rome

bacca400 25.07.2014 - 19:49

Do you have an English version?

Your web pages does not mention if the version of the program is in English. I could really use this to organize my Linux notes, but I only read English.

Is an English version possible? Thank you.

Jenyay 26.07.2014 - 10:08

Yes, English language is supported.

Pawel 14.09.2014 - 23:54

BibTex and html export

Hi,

could you add support for BibTex bibliography and exporting whole wiki to HTML easy browsable via webbrowser (without outwiker)?

Jenyay 15.09.2014 - 09:31

You can use plugin Export2HTML - http://jenyay.net/Outwiker/Export2HtmlPlugin for export to HTML.

As for BibTex, I add task in ToDo but I can not promise that I will do soon.

Pawel 16.09.2014 - 20:46

Is it possible to do bigger block of monospaced-texts?

I would like to do some code listings, the
@@
many lines
@@

removes indentation.

Jenyay 16.09.2014 - 22:42

Yes, use

[@ many lines @]

And for code can to use plugin Source.

Pawel 16.09.2014 - 23:03

Works very good, even ocaml is supported (exacly what I need).

I had to tell that Outwiker seems to be very very good software. Big thanks.

Pawel 16.09.2014 - 23:17

Ok, one more suggestion.

What do you think about removing root from wiki outline? I can have only one wiki open in window. In my humble opinion hiding root could improve readability.

Pawel 16.09.2014 - 23:33

Another suggestion.

Could you add shortcuts for navigation? Standard keys works on outline until I open page which is in Wiki mode. Then focus is captured by editor and I cannot continue navigation.

Jenyay 17.09.2014 - 09:01

> What do you think about removing root from wiki outline? I can have only one wiki open in window. In my humble opinion hiding root could improve readability.

Root shows to be seen what the wiki is open now.

> Could you add shortcuts for navigation? Standard keys works on outline until I open page which is in Wiki mode. Then focus is captured by editor and I cannot continue navigation.

Buttons back / forward?

Pawel 18.09.2014 - 23:05

> Root shows to be seen what the wiki is open now.

I think that it would be more clear to have current wiki name inside some label above wiki's outline tree.

> Buttons back / forward?

I think that you could add those buttons:
- go to next/prev page [next in outline]
- go to next/prev sibling page
- go to parent
- expand/collapse children of current page

But I am not sure if would use them all when you will add them :-).

Most of required functionality can be achieved by keyboard when focus is on the wiki's outline tree. Maybe some key to give focus on this outline would be enough? Then you could just add some shortcuts for collapsing and expanding [space does something else] on outline.

Jenyay 19.09.2014 - 09:20

Ok.

Pawel 09.10.2014 - 13:45

Undo remove

I accidentally removed Wiki page. Can it be restored? If not, could you extend UNDO to support this?

Jenyay 09.10.2014 - 14:19

Currently this is not possible. In the future I am going to make a recycle bin.

tpr 12.10.2014 - 15:56

attachments

Do you plan to add an option to keep the attached files in their original folders, instead of copying them? That would be a great functionality.

Jenyay 12.10.2014 - 16:31

Thanks for the idea. Have not yet thought about it.

Pawel 19.10.2014 - 01:57

Slow

The stable version is slow. I am doing notes from an on-line course, and after 487 lines typing new text is slow.

My wiki page uses only bullet lists and many headers (I can send you for testing)

When typing I can see that typed character is formatted with delay.

Jenyay 19.10.2014 - 09:32

Yes, send please example on jenyay.ilin@gmail.com

Axel Bjelke 12.11.2014 - 21:54

Windows 8.1

Does version 1.8.1 work with Windows 8.1?

lliseil 10.02.2015 - 14:37

Hi Jenyay
Outwiker has great features to organize ideas. I use 1.7 on Linux. I luv how the tags are easily added, edited and displayed to find relevant stuff :)

Now what about folding, to easily display the main structure of any document? I miss that so much.
Wrap/Nowrap lines would be another small nifty feature, I believe.

Harold  17.05.2015 - 01:41

How to set global style?

Hi Jenyay,
How do I change default style to AVC?
Thank you

Jenyay 17.05.2015 - 20:25

RE: How to set global style?

At present time OutWiker can't change default style but after creation of the page with any style, this style will be selected default.

Harold Hoffmann 27.07.2015 - 19:28

Directory Tree

Hi Jenyay,
I have been using the program and think it is great! Thanks.

Is there an easy way to import an existing directory tree?

The page titles are the names of the existing directories.
Each folder contains files to be attached to the Wiki page. There also are pdf files which would be linked to the wiki page.

Thank you,
Harold

Jenyay 28.07.2015 - 13:12

Hi Harold.

I want to make plugin for some import in future. I have also many directories, which I wish to convert to wiki. :)

Arno 07.10.2015 - 11:09

Include note

It would be great if I could re-use the content of a note in another note.
The include-command could be expanded with the option to include another note

Mark 28.10.2015 - 21:33

Outwiker has some great potential but still somewhat limited. Any idea if we will ever see any of the features listed below:

1) Indexed file content search with keyword highlighting
I know developing a powerful search indexer is a full project on its own, but there are already numerous interesting titles out there that could be used as a plugin or addon. A few that come to mind is DTSearch and Apache Lucene. In addition, to make a full use of the search engine, a powerful internal file viewer like Oracle Outside In would come handy in order to display search hit results inside of documents (PDF, DOCX, XLSX, RTF, HTML, etc.).

2) Convenient tagging - something similar to Evernote or TagSpaces. This would allow to quickly group notes/files/folder by urgency/subject/time etc.

Jenyay 29.10.2015 - 08:48

Hello, Mark. Thank you for feedback, the ideas are interested. I agree that the search page need to develop. As for the tag, I'll see how it is made into Evernote

cds2 04.01.2016 - 18:03

Hi, is there any chance to get specific nodes password-protected in the future?

Jenyay 04.01.2016 - 22:59

It is possible. Now You can use VeraCrypt or encfs for encryption whole notes tree.

js 11.01.2016 - 10:45

wxPython 3.0

Is there any plan for support wxPython 3.0 ?
And is there a Donation page on english? :)

js 11.01.2016 - 11:28

Sortable Tables

I tested http://www.kryogenix.org/code/browser/sorttable/ and works good :).

Jenyay 12.01.2016 - 10:13

> Is there any plan for support wxPython 3.0 ?

Yes, I plan go to wxPython 3.0 after release Outwiker 1.9.

Donation page - https://www.paypal.me/jenyay :)

> Sortable Tables

Ok. I added this to ToDo list.

Jenyay 16.01.2016 - 20:04

Thanks for the donation :)

WS 15.03.2016 - 21:46

difficulty reading .html pages in browser

I like OutWiker, and am trying to use the html on my iPhone, using an app called Html Reader.
Some .html pages show great, others show only Attachment and Child Pages (and this is true even in a browser on the computer).
Can tell me why, and how to predict what kind of webpage copied in to OutWiker is going to be unreadable this way?
Thanks much!

coco 09.07.2016 - 17:07

Is there a collapse all shortcut key? I think it would be good if we can collapse all expanded branches in one click or using shortcut.
Thank you

Joseph 18.07.2016 - 13:26

Issue while installing on fresh Ubuntu 16.04 LTS

Reproducing steps:

Install fresh Ubuntu 16.04 LTS

$sudo apt-add-repository ppa:outwiker-team/ppa ...$ sudo apt-get update
...
$sudo apt-get install outwiker Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies:  outwiker : Depends: python-wxgtk2.8 but it is not installable  E: Unable to correct problems, you have held broken packages. Jenyay 18.07.2016 - 14:34 Yes, I know about this problem. wxPython 2.8 was removed from Ubuntu 16.04. The current unstable OutWiker version uses wxPython 3.0 and work well - http://jenyay.net/Outwiker/UnstableEn Mike 30.08.2016 - 16:14 Too many duplicate files I have tried this application, and I quite like it. There is however a tiny issue preventing me from using this to keep track of my notes as my own personal mini wiki. Looking at the saved file structure it appears that the icon is saved in the nodes folder (__icon.png), and when I create blank pages (for structure purposes) they seem to create some content files that are identical to other blank pages. This for most will not be an issue, but I frequently run duplicate checks on my computer as I have in the past been known to accumulate too many files. As the __icon.png files seem to be the same, and blank files seem to be the same, they will flag as duplicate files and cause some problems. Usually I zip files together to avoid this, however for a constantly changing, constantly accessed program, this is not really an option. Maybe if I get a chance to improve my python skills I can implement some changes to fix these small issues. Overall it is a nice program, and for most users the tiny issue I mentioned will not be of any concern. So many thanks for the time and effort that has gone in to creating it. On a side note to WS, I also have seen the "Attachment and Child Pages" issue. But for me it only appears on blank pages. Joseph 18.10.2016 - 11:09 Outwiker doesn't starts on latest Ubuntu 16.10 Outwiker Unstable worked perfectly on Ubuntu 16.04 http://jenyay.net/Outwiker/UnstableEn Recently Ubuntu 16.10 was released and after upgrade, the Outwiker fails to start. Is there a quick and easy way to fix it? Here is the error message from the CLI:$ outwiker
11:06:02 AM: Debug: Failed to connect to session manager: SESSION_MANAGER environment variable not defined
Traceback (most recent call last):

  File "runoutwiker.py", line 113, in <module>
outwiker = OutWiker(False)
File "runoutwiker.py", line 40, in __init__
wx.App.__init__(self, *args, **kwds)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8628, in __init__
self._BootstrapApp()
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8196, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "runoutwiker.py", line 86, in OnInit
starter.processGUI()
File "/usr/share/outwiker/outwiker/core/starter.py", line 34, in processGUI
self.__openRecentWiki ()
File "/usr/share/outwiker/outwiker/core/starter.py", line 84, in __openRecentWiki
openWiki (Application.recentWiki[0])
File "/usr/share/outwiker/outwiker/core/commands.py", line 198, in openWiki
Application.wikiroot = result
File "/usr/share/outwiker/outwiker/core/application.py", line 315, in wikiroot
self.onWikiOpen(self.__wikiroot)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/gui/tabscontroller.py", line 260, in __onWikiOpen
File "/usr/share/outwiker/outwiker/gui/tabscontroller.py", line 232, in __loadTabs
self._application.selectedPage = self._tabsCtrl.GetPage (selectedTab)
File "/usr/share/outwiker/outwiker/core/application.py", line 379, in selectedPage
self.__wikiroot.selectedPage = page
File "/usr/share/outwiker/outwiker/core/tree.py", line 393, in selectedPage
self.root.onPageSelect(self._selectedPage)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 92, in __onPageSelect
self.__updatePageView (page)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 125, in __updatePageView
self.__createPageView(page)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 143, in __createPageView
pageView = factory.getPageView (self, Application)
File "/usr/share/outwiker/outwiker/pages/wiki/wikipage.py", line 77, in getPageView
return WikiPageView(parent, application)
File "/usr/share/outwiker/outwiker/pages/wiki/wikipageview.py", line 32, in __init__
super(WikiPageView, self).__init__(parent, application)
File "/usr/share/outwiker/outwiker/pages/wiki/basewikipageview.py", line 24, in __init__
super (BaseWikiPageView, self).__init__ (parent, application)
File "/usr/share/outwiker/outwiker/pages/html/basehtmlpanel.py", line 56, in __init__
self.htmlWindow = getOS().getHtmlRender (self.notebook)
File "/usr/share/outwiker/outwiker/core/system.py", line 213, in getHtmlRender
return HtmlRenderWebKit (parent)
File "/usr/share/outwiker/outwiker/gui/htmlrenderwebkit.py", line 45, in __init__
import wx.html2 as webview

ImportError: No module named html2
Error in atexit._run_exitfuncs:
Traceback (most recent call last):

  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)

PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ../src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed
Error in sys.exitfunc:
Traceback (most recent call last):

  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)

wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ../src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed

Jenyay 18.10.2016 - 11:50

Thanks for the report. Is the python-webkit-dev package installed?

I will update Ubuntu in the coming days.I will try to fix everything quickly.

Joseph 19.10.2016 - 19:52

Outwiker doesn't starts on latest Ubuntu 16.10

Yes, the "python-webkit-dev" (1.1.8-3.1) package is installed.

Jenyay 19.10.2016 - 21:08

To fix this problem install python-wxgtk-webview3.0 package.

Jenyay 20.10.2016 - 10:21

Today I uploaded a new build to PPA with fixed problem with Ubuntu 16.10.

peti  23.02.2017 - 20:01

outline tree properties

Hello, is it possible to change th font size (color) on the outline tree panel?
Great program, thanks!

Jenyay 24.02.2017 - 11:21

Re: outline tree properties

Hello, Peti!

I want to add ability to change the color and font in the notes tree in a future version 2.1.

 Subscribe Name: Title: Comment Enter code 884


text:
# How can commuting with Frobenius imply the order of an element in the inertia group.

In this video, one asserts, in the beginning, that, for $\tau\in \mathbb V_0$ such that $\tau$ generates $V_0/V_1$ in the quotient group, and $\sigma\in \mathbb Z$ which is a Frobenius in $\mathbb Z/\mathbb T$, if $\tau\sigma=\sigma\tau$, then $\tau^{q-1}=\iota$ where $q$ is the order of the finite residue field $\kappa$. I have no idea how to show this. Any hints are mostly appreciated, thanks in advance.
P.S. $\mathbb V_i$ are ramifications groups of a number field $\mathbb k$ with some prime, and $\mathbb Z$ the decomposition group of that prime in $\mathbb k$, with $\mathbb T=\mathbb V_0$. And notice that $q$ is the order of the residue field $\kappa=\mathbb k/\mathfrak p$, not of the finite field extension $\mathbb K^0=\mathbb K/\mathfrak P$.
Edit:
This video is some kind of blurred and, for the dearth of time, cannot give a complete proof of the theorem. Though I can understand the proof by CFT, I found it quite difficult to understand those lemmas. And any reference to the paper the lecturer uses is rather appreciated. Thanks.
Another Edit:
I think that, if we view $\tau$ as a representation, then the commuting condition becomes sort of saying that the representation is one-dimensional, so that it is contained in the ground field, fromp which follows the order-statement. Are there any errors? Thanks again.

-
Usually $\mathbb Z$, $\mathbb T$ denote respectively the relative integers and the torus $\mathbb R/\mathbb Z$. –  user18119 Feb 26 '13 at 21:57
Sorry, but I thought it would be better to follow the notations in the video. –  awllower Feb 27 '13 at 3:16


text:
## Issues about averaging irregular NetCDF file

Version: 2021b

Type: Features

Category: Data Handling

Subcategory: Import

Jira: ORG-23334

For the NetCDF files that have irregular dates, added a system variable @NCTT=10,which represents a tolerance when searching for the next date; it is a percentage of the average time increment in the time variable of the NetCDF file. By default it is 10%.


text:
# Calculation of a voltage in a single mesh circuit

simulate this circuit – Schematic created using CircuitLab

Why is $v_{R_2}=(v_1-v_2)\frac{R_2}{R_1+R_2}$ ?

Could anybody show me this formula, please?

$(v_1-v_2)$ is the voltage across $R_1$, which is divided between $R_1$ and $R_2$. I can't fully understand myself this last sentence.

EDIT:

I also tried to solve it this way:

The starting circuit is equivalent to this:

simulate this circuit

which is equivalent to this:

simulate this circuit

Thus the current on $R_2$ is $(\frac{v_1}{R_1}+\frac{v_2}{R_2})\frac{R_1}{R_1+R_2}$ and the voltage $v_{R_2}=R_2\cdot (\frac{v_1}{R_1}+\frac{v_2}{R_2})\frac{R_1}{R_1+R_2}=v_1 \frac{R_2}{R_1+R_2}+ v_2 \frac{R_1}{R_1+R_2}$

What's wrong here?

Another way to skin this poor cat!

Using Kirchhoff's voltage law (KVL) and Ohm's law you can write the following equation, where $i$ is the current in the mesh (clockwise direction):

$v_1 - R_1\,i - v_2 - R_2\,i = 0$

From this you get:

$i = \dfrac{v_1 - v_2}{R_1 + R_2}$

Apply Ohm's law to $R_2$ and you'll find the answer.

EDIT (In response to OP editing his question)

You cannot apply equivalent circuit substitution that way. When you substitute a circuit section with an equivalent one, only the quantities external to that section are guaranteed to stay the same. When you substituted $v_2/R_2$ with its Norton equivalent, you lost track of the nodes across which you wanted to calculate the voltage (they disappeared inside the equivalent circuit).

If you want to go the route of Thevenin/Norton equivalence, you could substitute the series $v_1, R_1, v_2$ with its Thevenin equivalent: $v_{Th}$ (the open circuit voltage) in series with $R_{Th}$ (the resistance you see when you disable the voltage sources - i.e. substitute them with short circuits). You get then:

$v_{Th} = v_1 - v_2 \qquad R_{Th} = R_1$

Note that $R_2$ wasn't touched in this substitution, thus the voltage across its terminals will remain the same. Therefore now you have $v_{Th}$ in series with $R_1$ and $R_2$, so you've got a voltage divider with $v_{Th} = v_1 - v_2$ total applied voltage, so you get:

$v_{R_2} = v_{Th} \dfrac{R_2}{R_{Th} + R_2} = (v_1 - v_2) \dfrac{R_2}{R_1+R_2}$

• thank you @Lorenzo Donati. Could you check out my edit, please? May 25 '15 at 13:21

As far as R2 is concerned, it can't tell that there are two voltage sources so, the net voltage source is V1 - V2 because they are opposing sources. This difference voltage then drives the potential divider formed by the two resistors.

• Could you please draw-me an equivalent circuit to better understand it? Also: I noticed that $v_{R_2}=v_1-v_2 - v_{R_1} = v_1 - v_2 - v_1+ v_2 =0$. Is this right? May 25 '15 at 10:36

$$V_{R_2} = I × R_2 \ \ \ (1)$$

$$I = \frac {V_T} {R_T} \ \ \ (2)$$

Substitute (2) into (1) and rearrange.

$$V_{R_2} = \frac {V_T} {R_T} × R_2 = {V_T} × \frac {R_2}{R_T} \ \ \ (3)$$

It is a series circuit with two sources with opposite signs, so:

$$R_T = R_1 + R_2 \ \ \ (4)$$ $$V_T = V_1 - V_2 \ \ \ (5)$$

Substitute (4) and (5) into (3).

$$V_{R_2} = {V_T} × \frac {R_2}{R_T} = {(V_1 - V_2)} × \frac {R_2}{(R_1 + R_2)}$$ $$V_{R_2} = {(V_1 - V_2)} × \frac {R_2}{(R_1 + R_2)}$$


text:
# How are sets “detached” from their structure?

This question is best asked with an example. Consider the real numbers. However we construct the real numbers, the "final product" so to speak, is not just a set, but it is a complete ordered field. In other words, it's not just $\mathbb{R}$ but $(\mathbb{R}, +, \cdot, \leq)$. This gives me a sense that the structure associated with $\mathbb{R}$ is intrinsic to it. Yet it isn't; we're free to change the structure however we want.

Now, the way I reconcile this (and I may even be answering my own question!) is that a set is defined by the membership relationship $\in$ and only that. Thus, after constructing $(\mathbb{R}, +, \cdot, \leq)$ (via dedekind, cauchy, whatever), if $x$ is a member of this ordered field that we've created, we define a corresponding set $\mathbb{R}$ such that set theoretically $\mathbb{R} = (\mathbb{R}, +, \cdot, \leq)$ but we don't equip this set with any structure.

Even if this is right, it just feels weird to me and I would like a better or simpler explanation. How exactly does a set with an underlying structure "precede" the set without any structure? It seems "unnatural" in a sense. It's as if the very existence of the reals as a set is contingent on their (standard) ordering and field properties.

• Of course the structure does not "precede" the set. It is just that we construct $\mathbb R$ to have a handy example. By chance, as a consequence of the means used in the construction, it also comes enabled with some unnecessary structure. What else could we do? Go like "let's imagine a set greater than $\aleph_0$..."? – Ivan Neretin Jun 27 '16 at 8:37
• In my opinion, this is a deep question that AFAIK no one yet has an answer to. Personally, I ponder this at least once a month. – goblin Jun 27 '16 at 8:54
• @goblin Can you elaborate how you interpret OP's question? I seem to fail to see its depth. – Stefan Mesken Jun 27 '16 at 10:18
• @Stefan, sure. I've expanded my comment into a Brutally speculative answer, with a capital 'B'. – goblin Jun 27 '16 at 10:44
• It depends a bit on your construction. When you construct $\mathbb{R}$ as the Cauchy completion of $\mathbb{Q}$, you get the elements, namely the set of equivalence classes of Cauchy sequences of rationals under the equivalence relation "$x_n \sim y_n$ iff $x_n-y_n \to 0$". Although $\mathbb{R}$ does wind up inheriting the operations from $\mathbb{Q}$, this is actually part of the definition; we could work just with this "bare" set of equivalence classes if we really wanted to. – Ian Jun 27 '16 at 11:05

The following is mostly just my personal opinion, please keep this in mind.

It is really pointless to think everything in mathematics is a set. It is true (in classical set theory), but this view does not help you at all, unless you are studying set theory specifically.

By that logic it is also somewhat pointless to think of the set of real numbers $\{1,1/2, \pi, \sqrt{2}/2, \dots\}$, because this set is really like any other old set of the same cardinality. These symbols, like $1$, $1/2$, $\pi$ do not have (or should not have!) any meaning in the absence of the ordered field structure of the reals. You are completely right: the structure is not intrinsic to any of these sets of cardinality $|\mathbb{R}|$.

In the same sense, as an example: the game "Sudoku" has nothing to do with the numbers $1,\dots, 9$ at all, because in this game you never add them or compare their size. Instead, you only use any old $9$-element set. It does not matter which one, as they are really all the same. More precisely, they are isomorphic. I am under the impression, that many people realize that isomorphism is the right kind of "equality" for groups and rings and so on, but somehow do not take this seriously enough in the case of sets.

The right kind of logic for this philosophy is type theory. In type-theoretic foundations we have a type of reals as opposed to just a set of reals, which comes with all the structure you want to have. Set theory is like type theory with a single type: that of a set.

• $\{\varnothing\}$ and $\{\{\varnothing\}\}$ are isomorphic but in standard set theory are unequal. Essentially, do you believe that the definition of "equality" in set theory should be changed? – MathematicsStudent1122 Jun 27 '16 at 10:16
• Well... no. I think classical set theory should be completely abolished as foundation of mathematics ducks away. - but yes. These sets are pretty much the same to me (all the structure you can define on of these you can define on the other one too). In the category of sets you say, that they are both terminal objects and terminal objects are unique up to unique isomorphism. That's definitely "equal enough" to me. Again, this is just my philosophy, you don't need to agree with it. – Stefan Perko Jun 27 '16 at 11:01

I'm not sure if I've understood the point you're getting at, but if we have a set $X$ and a bijection $f:X \to \mathbb R$, $f$ will induce a structure $(X, +, \cdot, \leq)$ on $X$, just by using $f$ to identify $x$ with $f(x)$.

Different bijections will give rise to different structures on $X$. So the structure certainly isn't intrinsic to $X$ (or $\mathbb R$), but once we've fixed a "canonical" copy of $\mathbb R$ (with all its extra structure) and a bijection $X \to \mathbb R$ we have a distinguished structure on $X$ induced by this bijection.

Maybe I'm wrong, but I think this is rather a deep question. Or at least, I ponder it frequently, perhaps once a month. I don't have an answer, but let me just speculate out loud.

Lets just pretend, for a moment, that we kind of accept finitism, just a little bit. We accept finitism a little bit.

Now $\mathbb{N}$ is the initial pointed monounary algebra. What this means is that:

• $0$ is a natural number,
• If we've constructed a natural number $n$, then we can construct its successor $S(n)$.

From a finitistic viewpoint, that's as far as we can go; you can only write down finitely many natural numbers at any one time. In some sense, we might say: the thing that makes $\mathbb{N}$ infinite is the function $S$ together with the fact that this constructor is injective. So if we forget $S$, then $\mathbb{N}$ should collapse to a finite set, almost like we've just popped a balloon, and the whole thing just collapses under the pressure of being an initial object. So, we're not allowed to forget $S$. The $S$ is what makes $\mathbb{N}$ infinite.

But here's the thing. Suppose I'm interested in the function $$f : \mathbb{N} \rightarrow \mathbb{N}$$ $$n \mapsto 2\cdot n$$

Well, this isn't a homomorphism of pointed monounary algebras, since $$2 \cdot S(n) = 2\cdot (n+1) = 2\cdot n+2 \neq 2\cdot n+1 = S(2\cdot n)$$

So to define $f$, we have to "forget" that $\mathbb{N}$ is a pointed monounary algebra, and just treat it as a set. In other words, we should really be writing: $$f : U\mathbb{N} \rightarrow U \mathbb{N},$$ where $U$ is the underlying set functor.

But hang on - the underlying set functor "forgets" $S$. Yet somehow, $\mathbb{N}$ fails to collapse under its own weight; it doesn't suddenly shrink to oblivion or anything like that.

Maybe its just me, but I find this a little mysterious. It kind of weirds me out.

Now lets forget finitism. We're back to the good ol' usual way of thinking about math.

Nonetheless, there's still something that kind of weirds me out here, perhaps even more so than the non-existence of a balloon popping effect. Its this: the way we're meant to characterize things is up to unique isomorphism; but, once we've done that, we're allowed to throw away the structure that allowed us to do this, even if this means that the resulting is object is only characterized up to not-necessarily unique isomorphism.

For example, given two sets $X$ and $Y$, we can define $X \times Y$ as the terminal cone to the diagram $$\{0,1\} \rightarrow \mathbf{Set}$$ $$\{0 \mapsto X, 1 \mapsto Y\}$$

This pins down $X \times Y$ up to unique isomorphism.

The problem with this is that we've just defined $X \times Y$ as a cone to a diagram; its not a set. Of course, it has an underlying set, also denoted $X \times Y$, but now suddenly weird we've only got $X \times Y$ characterized up to not-necessarily unique isomorphism.

Are we, like, even allowed to do this?

What does it even mean to be "allowed" to do something in math?

See what I mean? This is, like, deep stuff. Pretty soon you're asking questions like "Why is it that the Mathematic even Exists?" and pondering God and stuff. Its pretty intense. Nonetheless, I suspect that at least some of these musings lead to genuine math (as opposed to e.g. mere philosophy.)

• Last week I gave a short talk about set theoretical foundations of category theory and afterwards, I've been approached by someone in the audience who said that talk like that made him wonder if mathematics exists at all (I'm paraphrasing here). As someone who might be labeled a formalist (which seems to be a very natural viewpoint in modern day set theory), I don't quite understand the kind of significance, some mathematicians seem to look for in the way sets are handled. – Stefan Mesken Jun 27 '16 at 10:56
• From where I stand there is no true set of reals. We can always code something as a real and produce a larger universe that recognizes this set as a real number. What we do, in the case of real numbers and similar mathematical objects, is to prove (in a given theory $T$) that a set with certain properties exists and that this set is unique up to isomorphism - sometimes up to a unique isomorphism. Now, in any given models there is a set that has this properties. However, varying our models, there are vastly different sets that fit their model's description, having virtually nothing in common. – Stefan Mesken Jun 27 '16 at 10:59
• @Stefan I'm a bit of a formalist too, but since material set theory doesn't jibe with how I think about sets, these sorts of issues come up. I don't really agree with the whole coding thing; what we do, in my opinion, is pin down $\mathbb{R}$ up to isomorphism. I agree that, in some sense, there's no true set of reals, because from an external perspective, the object that you thought was $\mathbb{R}$ may not be a complete ordered field after all. So there's really no reason to think there's one true $\mathbb{R}$. – goblin Jun 27 '16 at 11:00

Let me give my take on it, set theory is the foundation of mathematics, we have sets we denote in various ways $\emptyset$ is the first from which we can build more, we have the infinite set $\omega$, from these we can make other sets with powersets, squaring, union, intersection etc. These contain elements which we can label anyway we want, $1,2,3,\ldots$, $a,b,c,\ldots$, green, blue, red etc. Those are all just labels we put on objects within the sets. They have no intrinsic values or even properties attatched to them. They are just objects we can deal with.

Now we construct natural numbers for $\mathbb{N}$ and it's cardinality is equivalent to our $\omega$. However in $\mathbb{N}$ we have now assigned elements properties and relations that $\omega$'s elements lack. When we construct the next step, integers, the question is more that we want to USE the properties of the for mentioned set, $\mathbb{N}$, to established the properties of the elements within our new set $\mathbb{Z}$. However $\mathbb{Z}$ still has the same cardinality as $\omega$, so what does that mean? All it means is that we've assigned the labels of all elements in $\omega$ differently. But it's still really the same underlying set of $\omega$ with the addition of we have a known manner to label these. In most contexts this also usually means we start invoking the properties the elements are supposed to have that we derived earlier.

This continue on when we do rational numbers, a new reassignment of $\omega$'s elements and using a previous structure to start assigning properties to these elements, but still only $\omega$ as the underlying set. For real numbers we do the same except now it's $\mathcal{P}(\omega)$ we're working with as the underlying set and relabel those and start assigning properties.

The set already existed from set theory, all you do when you construct number systems is that you assign relations, operations, properties and such to the element and the set, the underlying set however existed before.


text:
# Simplifying ggplot2 code by doing nothing

Recently, I joined the development team for bayesplot, an R package by the Stan team for plotting Bayesian models. Because visualizing Bayesian models in ggplot2 is a recurring topic here, it was a natural fit. So from time to time, I’ll post about some programming techniques and new features we develop in the bayesplot package.

For this post, I describe one of strategies I have been using to clean up and simplify some of the plotting code in the package: avoid if-branches by sometimes plotting nothing.

## Warm-up example

Let’s start with a non-plotting example. We consider a function that takes a list of counts of people and returns the total number of people. That sum, however, is controlled by some of the function’s arguments:

head_count <- function(data, staff = FALSE, faculty = FALSE) {
total <- data[["students"]]

if (staff) {
total <- total + data[["staff"]]
}

if (faculty) {
total <- total + data[["faculty"]]
}

total
}

data <- list(students = 10, staff = 3, faculty = 2)
head_count(data)
#> [1] 10
head_count(data, staff = TRUE)
#> [1] 13
head_count(data, faculty = TRUE)
#> [1] 12

The function as it’s written works fine… but the if-branches get in the way. The main job of the function is to assemble something (a sum) from pieces of data, but that assembly is split across the if-branches. The total is updated in-place twice (total <- total + ...). I would rather combine all the data in one fell swoop.

One way to move the data-assembly out of these if-branches is to make the data conditional. That is, instead of doing the addition in the if statements, we do all the addition at once but just add 0 when a piece of data isn’t needed. This technique simplifies the function definition:

head_count <- function(data, staff = FALSE, faculty = FALSE) {
staff <- if (staff) data[["staff"]] else 0
faculty <- if (faculty) data[["faculty"]] else 0

data[["students"]] + staff + faculty
}

head_count(data)
#> [1] 10
head_count(data, staff = TRUE)
#> [1] 13
head_count(data, faculty = TRUE)
#> [1] 12

For operations where we combine things to get a new thing, there’s often an identity element: a value we can plug in as a placeholder value without changing the results. Some examples:

# multiplication
pi * 1
#> [1] 3.141593

# string concatenation
paste0("a", "")
#> [1] "a"

# combining things
c(1, 2, 3, c())
#> [1] 1 2 3

# data-frame binding
rbind(head(iris), list())
#>   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1          5.1         3.5          1.4         0.2  setosa
#> 2          4.9         3.0          1.4         0.2  setosa
#> 3          4.7         3.2          1.3         0.2  setosa
#> 4          4.6         3.1          1.5         0.2  setosa
#> 5          5.0         3.6          1.4         0.2  setosa
#> 6          5.4         3.9          1.7         0.4  setosa

# magrittr pipes
f <- function(x, ...) x
1:2 %>% f()
#> [1] 1 2

Below, I demonstrate two examples of how I applied a similar strategy in bayesplot. In ggplot2, we assemble plots by adding layers and options to a plot by stringing together statements with +. To handle conditional plotting elements and construct the plot all in one pass, I took advantage of ways to adding nothing to a ggplot2 plot.1

## Posterior interval plots

Here are some posterior samples for a Bayesian model, in this case the “eight schools” meta-analysis example. We want to create a plot that shows the 90% and 50% uncertainty intervals for each parameter.

We first use a helper function to clean up the data to prepare it for plotting. (At the time of writing, mcmc_intervals_data() is not yet in the CRAN version of bayesplot.)

library(dplyr, warn.conflicts = FALSE)
library(bayesplot)
#> This is bayesplot version 1.4.0.9000
#> - Plotting theme set to bayesplot::theme_default()
#> - Online documentation at mc-stan.org/bayesplot
library(ggplot2)
theme_set(theme_grey())

interval_data <- shinystan::eight_schools@posterior_sample %>%
mcmc_intervals_data(pars = "mu", regex_pars = "theta") %>%
mutate_if(is.numeric, round, 2)

interval_data
#> # A tibble: 9 x 9
#>   parameter outer_width inner_width point_est    ll     l     m     h
#>      <fctr>       <dbl>       <dbl>     <chr> <dbl> <dbl> <dbl> <dbl>
#> 1        mu         0.9         0.5    median -0.66  4.74  8.11 11.54
#> 2  theta[1]         0.9         0.5    median -0.40  6.63 11.24 17.05
#> 3  theta[2]         0.9         0.5    median -3.16  3.63  7.95 12.20
#> 4  theta[3]         0.9         0.5    median -8.86  1.29  6.33 11.02
#> 5  theta[4]         0.9         0.5    median -3.69  3.47  7.84 12.01
#> 6  theta[5]         0.9         0.5    median -6.84  0.47  5.10  8.99
#> 7  theta[6]         0.9         0.5    median -6.53  1.76  6.27 10.42
#> 8  theta[7]         0.9         0.5    median  0.33  6.67 10.84 15.71
#> 9  theta[8]         0.9         0.5    median -4.97  3.79  8.53 13.50
#> # ... with 1 more variables: hh <dbl>

Below is the basic plot we want to create. (Normally, in bayesplot, we would use mcmc_intervals() to make this plot, but for the sake of illustration, we will write a version of it from scratch.

ggplot(interval_data) +
aes_(y = ~ parameter, yend = ~ parameter) +
geom_segment(aes_(x = ~ ll, xend = ~ hh), size = 1) +
geom_segment(aes_(x = ~ l, xend = ~ h), size = 2) +
scale_y_discrete(limits = rev(interval_data$parameter)) + labs(x = NULL, y = NULL)  Wait, what’s going on with the tildes? We use aes_(y = ~ parameter) because in an R package, writing aes(y = parameter) would raise an undefined global variable warning during CRAN package checks. The code looks like it uses a variable called parameter, but a variable with that name has not been defined in the code yet. The formula form ~ parameter “quotes” the variable name, so it doesn’t appear as a global variable. We are going to wrap this code in an R function along with two annotation options: 1. whether to draw point estimates (medians) over the intervals 2. whether to draw a vertical reference line at x = 0 Here is how we might write the function with branching code. plot_intervals <- function(data, draw_points = TRUE, draw_ref_line = TRUE, line_position = 0) { p <- ggplot(data) + aes_(y = ~ parameter, yend = ~ parameter) if (draw_ref_line) { p <- p + geom_vline(xintercept = line_position, size = 2, color = "white") } p <- p + geom_segment(aes_(x = ~ ll, xend = ~ hh), size = 1) + geom_segment(aes_(x = ~ l, xend = ~ h), size = 2) if (draw_points) { p <- p + geom_point(aes_(x = ~ m), size = 3) } p + scale_y_discrete(limits = rev(data$parameter)) +
labs(x = NULL, y = NULL)
}

# Test the code
plot_intervals(interval_data) + ggtitle("Points and line")
plot_intervals(interval_data, draw_points = FALSE) + ggtitle("No points")
plot_intervals(interval_data, draw_ref_line = FALSE) + ggtitle("No line")

As we can see, the plot is built up incrementally throughout the function. The plot object p is updated three times (the p <- p + ... parts). This makes it more difficult to understand the function when reading it and increases the chance that we might do something wrong when working on this code.

We can improve the readability by using empty or placeholder elements to move the plot updates outside of the if-branches.

## Do nothing by plotting an empty dataframe

ggplot2 is built to work on dataframe columns, and if there is no data in a column, it will quietly plot nothing. Therefore, one way to do nothing is to run the normal geom_ plotting function but on an empty dataframe. Here, we apply that strategy for the point estimates by toggling between the original data or zero-row alternative in the first line.

plot_intervals <- function(data, draw_points = TRUE, draw_ref_line = TRUE,
line_position = 0) {
maybe_points <- if (draw_points) data else data[0, ]

p <- ggplot(data) +
aes_(y = ~ parameter, yend = ~ parameter)

if (draw_ref_line) {
p <- p +
geom_vline(xintercept = line_position, size = 2, color = "white")
}

p +
geom_segment(aes_(x = ~ ll, xend = ~ hh), size = 1) +
geom_segment(aes_(x = ~ l, xend = ~ h), size = 2) +
geom_point(aes_(x = ~ m), data = maybe_points, size = 3) +
scale_y_discrete(limits = rev(data$parameter)) + labs(x = NULL, y = NULL) } # Test the code plot_intervals(interval_data) + ggtitle("Points and line") plot_intervals(interval_data, draw_points = FALSE) + ggtitle("No points")  This is a marked improvement over the original, as most of the plot construction happens at the end of the function. ## Do nothing with geom_blank Another way to do nothing is to add geom_blank(). In fact, this is what ggplot2 does when we print a ggplot2 object without any geom layers. ggplot(interval_data) + aes(x = m, y = parameter)  When we inspect the last plot that was displayed, we see geom_blank() is one of the layers: last_plot()[["layers"]] #> [[1]] #> geom_blank: na.rm = FALSE #> stat_identity: na.rm = FALSE #> position_identity  As a first pass for technique, we toggle between the plotting functions geom_vline() and geom_blank(). This version simplifies the plot construction to a single stream of plot additions. plot_intervals <- function(data, draw_points = TRUE, draw_ref_line = TRUE, line_position = 0) { maybe_points <- if (draw_points) data else data[0, ] geom_maybe_vline <- if (draw_ref_line) geom_vline else geom_blank ggplot(data) + aes_(y = ~ parameter, yend = ~ parameter) + geom_maybe_vline(xintercept = line_position, size = 2, color = "white") + geom_segment(aes_(x = ~ ll, xend = ~ hh), size = 1) + geom_segment(aes_(x = ~ l, xend = ~ h), size = 2) + geom_point(aes_(x = ~ m), data = maybe_points, size = 3) + scale_y_discrete(limits = rev(data$parameter)) +
labs(x = NULL, y = NULL)
}

# Test the code
plot_intervals(interval_data) + ggtitle("Points and line")
plot_intervals(interval_data, draw_ref_line = FALSE) + ggtitle("No line")
#> Warning: Ignoring unknown parameters: xintercept, size, colour

But it also issues a warning when it toggles to geom_blank(). That might alarm some users, so we need to fix that. For bayesplot, I wrote a helper called geom_ignore() as a version of geom_blank() that ignores any input arguments. The function recieves any number of arguments in the ... placeholder argument, but the function does nothing with those dots. It just ignores them.

geom_ignore <- function(...) {
geom_blank(mapping = NULL, data = NULL,
show.legend = FALSE, inherit.aes = FALSE)
}

For completeness, here is the final form using geom_ignore().

plot_intervals <- function(data, draw_points = TRUE, draw_ref_line = TRUE,
line_position = 0) {
maybe_points <- if (draw_points) data else data[0, ]
geom_maybe_vline <- if (draw_ref_line) geom_vline else geom_ignore

ggplot(data) +
aes_(y = ~ parameter, yend = ~ parameter) +
geom_maybe_vline(xintercept = line_position, size = 2, color = "white") +
geom_segment(aes_(x = ~ ll, xend = ~ hh), size = 1) +
geom_segment(aes_(x = ~ l, xend = ~ h), size = 2) +
geom_point(aes_(x = ~ m), data = maybe_points, size = 3) +
scale_y_discrete(limits = rev(data\$parameter)) +
labs(x = NULL, y = NULL)
}

# Test the code
plot_intervals(interval_data) + ggtitle("Points and line")
plot_intervals(interval_data, draw_ref_line = FALSE) + ggtitle("No line")

## A final note on NULL [updated]

I should come clean and note that these blank layers are not really identity elements. Unlike adding 0 to a number, using these techniques to add nothing to a plot still updates the plot’s data. For the plot object below, the first layer says geom_blank and the last layer says geom_point. Visually, we have done nothing, but internally, we left a trace behind.

p <- plot_intervals(
interval_data,
draw_points = FALSE,
draw_ref_line = FALSE)

p[["layers"]][[1]]
#> geom_blank: na.rm = FALSE
#> stat_identity: na.rm = FALSE
#> position_identity

p[["layers"]][[4]]
#> mapping: x = m
#> geom_point: na.rm = FALSE
#> stat_identity: na.rm = FALSE
#> position_identity

Update After some playing around, I discovered that adding NULL to a ggplot doesn’t change it (e.g., p + NULL does not leave a trace), so it provides a stronger identity element for ggplot2 than invisible layers. In the original version of this post, I said that I would not use NULL in this way because it seemed like an edge case that might break some day. But the creator of ggplot2, Hadley Wickham, told me that using NULL as an identity element is a deliberate design feature. Cool! Now, we can make geom_ignore() even simpler.

geom_ignore <- function(...) {
NULL
}

1. This technique of using an empty element with combiner functions was inspired by the concept of monoids which come up in functional programming. Monoids have a strict formal definition, and ggplot2 are certainly not monoids because everything must be added onto an initial ggplot() object.

Tags:

Updated:


text:
# Zhaosong Lu

List of publications from the DBLP Bibliography Server - FAQ
Other views: by type - by year (modern) - classic-C
Ask others: ACM DL/Guide - - CSB - MetaPress - Google - Bing - Yahoo
2013
j16
Dan Zhang, Zhaosong Lu: Assessing the Value of Dynamic Pricing in Network Revenue Management. INFORMS Journal on Computing 25(1): 102-115 (2013)
j15
Yong Zhang, Bin Dong, Zhaosong Lu: 0 Minimization for wavelet frame based image restoration. Math. Comput. 82(282) (2013)
i9
Pinghua Gong, Changshui Zhang, Zhaosong Lu, Jianhua Huang, Jieping Ye: A General Iterative Shrinkage and Thresholding Algorithm for Non-convex Regularized Optimization Problems. CoRR abs/1303.4434 (2013)
2012
j14
Zhaosong Lu, Renato D. C. Monteiro, Ming Yuan: Convex optimization methods for dimension reduction and coefficient estimation in multivariate linear regression. Math. Program. 131(1-2): 163-194 (2012)
j13
Zhaosong Lu, Yong Zhang: An augmented Lagrangian approach for sparse principal component analysis. Math. Program. 135(1-2): 149-193 (2012)
i8
Zhaosong Lu, Yong Zhang: Sparse Approximation via Penalty Decomposition Methods. CoRR abs/1205.2334 (2012)
i7
Zhaosong Lu: Iterative Reweighted Minimization Methods for $l_p$ Regularized Unconstrained Nonlinear Programming. CoRR abs/1210.0066 (2012)
i6
Zhaosong Lu: Sequential Convex Programming Methods for A Class of Structured Nonlinear Programming. CoRR abs/1210.3039 (2012)
i5
Zhaosong Lu: Iterative Hard Thresholding Methods for $l_0$ Regularized Convex Cone Programming. CoRR abs/1211.0056 (2012)
2011
j12
Guanghui Lan, Zhaosong Lu, Renato D. C. Monteiro: Primal-dual first-order methods with O(1/e) iteration-complexity for cone programming. Math. Program. 126(1): 1-29 (2011)
j11
Zhaosong Lu: A computational study on robust portfolio selection based on a joint ellipsoidal uncertainty set. Math. Program. 126(1): 193-201 (2011)
j10
Zhaosong Lu: Robust portfolio selection based on a joint ellipsoidal uncertainty set. Optimization Methods and Software 26(1): 89-104 (2011)
j9
Zhaosong Lu, Ting Kei Pong: Minimizing Condition Number via Convex Programming. SIAM J. Matrix Analysis Applications 32(4): 1193-1211 (2011)
c1
Yong Zhang, Zhaosong Lu: Penalty Decomposition Methods for Rank Minimization. NIPS 2011: 46-54
i4
Yong Zhang, Bin Dong, Zhaosong Lu: $\ell_0$ Minimization for Wavelet Frame Based Image Restoration. CoRR abs/1105.2782 (2011)
2010
j8
Zhaosong Lu: Adaptive First-Order Methods for General Sparse Inverse Covariance Selection. SIAM J. Matrix Analysis Applications 31(4): 2000-2016 (2010)
i3
Zhaosong Lu, Yong Zhang: Penalty Decomposition Methods for $L0$-Norm Minimization. CoRR abs/1008.5372 (2010)
i2
Zhaosong Lu, Yong Zhang: Penalty Decomposition Methods for Rank Minimization. CoRR abs/1008.5373 (2010)
2009
j7
Zhaosong Lu: Smooth Optimization Approach for Sparse Covariance Selection. SIAM Journal on Optimization 19(4): 1807-1827 (2009)
i1
Zhaosong Lu, Yong Zhang: An Augmented Lagrangian Approach for Sparse Principal Component Analysis. CoRR abs/0907.2079 (2009)
2007
j6
Zhaosong Lu, Arkadi Nemirovski, Renato D. C. Monteiro: Large-scale semidefinite programming via a saddle point Mirror-Prox algorithm. Math. Program. 109(2-3): 211-237 (2007)
j5
Zhaosong Lu, Renato D. C. Monteiro: A modified nearly exact method for solving low-rank trust region subproblem. Math. Program. 109(2-3): 385-411 (2007)
2006
j4
Zhaosong Lu, Renato D. C. Monteiro, Jerome W. O'Neal: An Iterative Solver-Based Infeasible Primal-Dual Path-Following Algorithm for Convex Quadratic Programming. SIAM Journal on Optimization 17(1): 287-310 (2006)
2005
j3
Zhaosong Lu, Renato D. C. Monteiro: Error Bounds and Limiting Behavior of Weighted Paths Associated with the SDP Map X1/2SX1/2. SIAM Journal on Optimization 15(2): 348-374 (2005)
j2
Zhaosong Lu, Renato D. C. Monteiro: A Note on the Local Convergence of a Predictor-Corrector Interior-Point Algorithm for the Semidefinite Linear Complementarity Problem Based on the Alizadeh--Haeberly--Overton Search Direction. SIAM Journal on Optimization 15(4): 1147-1154 (2005)
2004
j1
Cláudio Nogueira de Meneses, Zhaosong Lu, Carlos A. S. Oliveira, Panos M. Pardalos: Optimal Solutions for the Closest-String Problem via Integer Programming. INFORMS Journal on Computing 16(4): 419-429 (2004)

## Coauthor Index

Colors in the list of coauthors

Last update Sat May 25 01:33:44 2013 CET by the DBLP Team Data released under the ODC-BY 1.0 license — See also our legal information page


text:
About role of Planck constant in classical physics

1. May 23, 2015

KFC

Hi there,
I am confusing on the statement that we have classical physics when Planck constant approaching zero. I search the similar topic in Physics Forums and I saw that most of the answers refer to the size effect. It argues that when we measure something in the scale of meter comparing to Planck constant (of $10^{-34}$), we could ignore that so it becomes classical but in microscopic, the measuring scale is comparable with the Planck constant so quantum effect is significant. Frankly, I don't understand this very well from the physical point of view. I know that quantum effect observed in microscopic scale but how do you related it to the Planck constant?

I am thinking this from the point of commutation relation on momentum and position operator
$[\hat{x}, \hat{p}] = i\hbar$

As we know in classical world, the order of measuring position and momentum does not matter, which is achieved when $\hbar \to 0$.

I have two questions. First, $\hbar$ is that small, why can't we approximate the commutation relation to zero? What happens if Planck constant is much bigger, how does it change our world?

2. May 23, 2015

KFC

By the way, I am reading something on so-called quasi-classical theory (e.g. http://link.springer.com/chapter/10.1007/978-3-540-70626-7_182), I am not quite following the detail explanation but from the brief introduction, I think what the theory about is if we have some way to rescale the equation such that $\hbar \to \hbar/N$ and when $N$ becomes big, $\hbar/N \to 0$ so it becomes classical. They call $\tilde{\hbar}=\hbar/N$ scale Plank constant. So does it mean we can scale the system in some way so we can tweak the system between classical and quantum?

What's the term 'quasi' really mean? When we say 'quasi-classical' does it mean the system is still quantum mechanical but very close to the classical behavior?

3. May 23, 2015

terra

Let me try to answer your first question first.
The essential thing, as you said, is to compare Planck's constant to other variables in your system. If other variables in your system are 'small enough', Planck's constant becomes larger in comparison.
For example, let's look at the scale of the product $x p$, where $x$ is the position (operator) and $p$ is the momentum of the particle.
Quantum effects are visible in a Bose-Einstein condensate. Each atom has roughly a kinetic energy (they're cold, so non-relativistic) of $k_B T= p^2/ 2 m$, so that $p= \sqrt{2 m k_B T}$. Let's say the condensate is realised with Rubidium atoms, $m= 1.42 \cdot 10^{-25} \mathrm{kg}$ per atom. The condensation temperature is around $200 \cdot 10^{-9} \mathrm{K}$. Thus $p = 8.85 \cdot 10^{-28} \mathrm{kg \, m/s^2}$. If you have, say, $10^{18}$ atoms in a cubic meter, each atom 'takes a volume' of $10^{-18}$ cubic meters, which is $x= 10^{-6}$ m to each direction of space. With these values the aforementioned product $x p \sim 8.85 \cdot 10^{-34} \mathrm{J s}$, which is the same order as $\hbar$. Thus, in this case, one wouldn't expect $x$ and $p$ to commute. When they don't commute, if you know an atom's momentum precisely (error is much smaller than the actual value), it's position spreads out (measuring the same momentum gives substantially different position at different measurements), or vice versa.
Note that the above calculations are extremely crude. I tried to look at the needed numbers from some actual experiments so that they'd be realistic.

Did this answer your first question?

It's probably not easy to answer that. Basically quantum effects would be visible in a larger scale than they are now, and one would have to go further up the scale for the classical limit. To be honest, I don't know is there any motivation to the value (i.e. a theoretical way to predict it from a model).
I think you've understood right. That's how I understand it, too. At least, in that context. There are also cases where part of the system is treated quantum mechanically and part of it classically. For example, when studying an atom making a transition from one quantum state to another when in contact with an external radiation field, sometimes only the atom is modelled quantum mechanically, while the radiation field is taken to be classical. But I'm not sure if this approach goes by the same name.

Last edited: May 23, 2015
4. May 23, 2015

Staff: Mentor

My favorite definition of the domain where quantum mechanics becomes necessary is when we consider things so small that they can not be observed without disturbing the thing being observed.

That definition doesn't refer to Plank's constant at all.

For example, bouncing a photon off the thing is often the gentlest thing we can do to observe. But a photon emparts a tiny bit of energy and momentum to the thing. If that energy and momentum is negligably small compared to the thing, we have classical mechanics, if not negligable, then QM applies.

5. May 23, 2015

KFC

I appreciate your detail example. I think your explanation definitely help me to understand more in QM but I need more time to think about it.

I agree. A big question in my mind why Planck constant is a universal constant, why it take that value instead of any other value.

Your last example remind me something in the text, where they call it semi-classical. I don't know if semi-classical is same as quasi-classical. To me, it sounds like semi-classical treat the problem partial QM and partial classical (e.g. as you mentioned the field is classical while the state is quantum). And quasi-classical sounds like that the quantum problem could be treated as classical one or using classical model to study the system and it manifests the quantum behavior from classical point of view. I may be wrong but after reading other references online, that's how I understand so far.

6. May 23, 2015

KFC

Thanks. I agree with that and that's the first aspects when I learn quantum mechanics at the very beginning. It is tough for me to understand why we need to introduce a constant called Planck constant to describe quantum effects. I know how it originally from but don't know why there will a universal constant and why it takes that value.

7. May 24, 2015

Staff: Mentor

There are three important constants that appear frequently in physics. h = planks constant, c = speed of light, G = Newton's gravitation constant. All three appear to be universal and to have specific values. That is determined by observation. None of the three, as far as I know, have an underlying theory about why they have the values that they do. We can imangine (but not observe) other universes in which physical constants have different values.

8. May 24, 2015

terra

I agree, now that you said it, my last example probably goes by the name 'semiclassical'.
And one more note about your first question. The intuition I tried to give is more of a guideline, I think, to determine whether or not one should be aware of the commutation relations. I didn't really comment on the actual difference.
Let's assume you measure two variables, one right after another (not letting the system evolve in between). For operators that commute, the order of measurement doesn't matter, and for operators that don't, the result will be different (statistically) depending on which variable was measured first. You can also pick a state, or an amplitude in the position representation and check that depending on whether you operate it with $x$ or $-i \hbar \partial_x$ first, you will get a different state as a result. The difference will be $x p \psi - p x \psi= i \hbar \psi$.

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook