A new job…
Sep 01, 2006
So farewell, St Ives. Yesterday was technically my last day as deputy head at St Ives, and today my first as head of Atlon Convent Prep.
There is so much that I will miss about St Ives. I remember talking to friends teaching elsewhere when I started there in 2000, and describing working at St Ives as “Teaching as it was meant to be.” No-one could have wished for brighter, more committed, engaging or creative pupils than the seven classes that it has been my very great privilege to with these last few years: teaching them has been a real joy. I’m very grateful to both Miranda Greenway and Sian Cattaneo, the heads I worked with there, for allowing me to take a lead in innovation, particularly in mathematics and computing: the pace and opportunity for pupil involvement that have been afforded by using the Maths Enhancement Programme in years 5 and 6, the higher profile for ICT within the whole of the schools’ curriculum, and of course our use of Moodle and Elgg to support and enrich work at home, would not have been possible without their support.
I’ve been thinking about the factors that allowed us to do so much innovative work at the school, and wondering how one goes about encouraging a culture of innovation throughout a school. Obviously, I’ve been thinking principally about the IT side of things, but it would be misleading to suggest that this was the only area in which we’ve done things innovatively; there are many other aspects of our curriculum where we’ve experimented and adapted others’ practice to our own setting.
As an independent school, we’ve enjoyed a huge degree of autonomy, free from local authority control, and thus we’ve taken ultimate responsibility for pretty much every aspect of our educational provision, from the structure and content of its curriculum (based now, like almost all independent schools, on the National Curriculum), down to the every aspect of IT infrastructure. This responsibility requires the school to think through all of this stuff for itself, drawing appropriately on advice and good practice from elsewhere, but is accompanied by a great freedom for us to do things our own way, subject, of course, to direct accountablity to our pupils’ parents from whom the school derives its income, as well as meeting the relevant regulatory requirements.
This financial dimension was also something of a lever for innovation, partly through a desire to offer something distinctive and thus differentiate ourselves from local competitors, but also because spending on ICT came from the same ‘pot’ that went to pay for everything else, and thus getting best value and seeing some sort of return on the investment in cost-benefit terms have been motivating factors for doing more in-house than current best-practice guidance for schools suggests. I think there’s a case here of necessity being the mother of invention: it’s unlikey we’d have used Moodle and Elgg to the extent we have if we’d had unlimited money to spend.
Both Miranda and Sian have been very good at devolving lots of autonomy to the staff and, with appropriate checks and balances in place, letting us try things, and largely letting us teach our own way. I suspect this is a high risk strategy, and something one can only do when confident of the abilities of the team that’s in place, but there’s much to be said for trusting teachers’ professionalism and individuality over conformity and consistency.
This leads on to another point, of being willing as a school to take risks for the children’s benefit – I fear that far too many UK schools are too worried about exposure to risk, and thus their pupils miss out on so manyeducational opportunities: this ranges from not taking part in educational vistis to preventing access to blogs and even email. Yes, there’s a duty of care, and of course the risks have to be assessed and reduced, but I doubt whether effective learning can take place without some exposure to the inherently risky real world. Simulations may be safer, but they’re not good enough.
We’ve also been very willing to learn from experience elsewhere – looking beyond the narrow confines of the prep school world, or even English primary education, to seek inspiration from other countries (as with the Hungarian inspired MEP scheme) and other sectors of education – both Moodle and Elgg afterall started life in Higher Education.
Whilst many look on open source as just a cheap way of getting software, by making use of open source software, participating in the communities around it, and buying in to the philosophy of collaborative peer-production, which, as I’ve noted elsewhere, has much in common with social constructivist pedagogy anyhow, we’ve exposed ourselves to the cutting edge of technological development, and, I think been inspired by this. Although I’d take issue with James Farmer’s technology determinist position, I think the pace of technological change has certainly opened up lots of opportunities for teachers and students, and it would be foolish not to make the most of these just because pedagogy hasn’t caught up yet.
The other thing that has allowed us to do the stuff that we’ve done is the splendid pupils we’ve worked with at St Ives, particularly the way they’ll throw themselves into things wholeheartedly and have a go, and the way they respond responsibly to the freedoms and opportunities they’ve been afforded: that essentially they want to please their teachers, support one another and do their best, and thus the trust we’ve placed in them has been entirely well placed.
…
Very excited about starting at Alton, and can’t wait to get to grips with the challenges and opportunities of headship, with its potential to make a difference to far more aspects of school life than my previous role provided. It’s going to be strange stepping back somewhat from the hands-on ICT stuff that’s been such a significant part of my work at St Ives, although I suspect geek-hood is in my blood now, and I have every intention to remain part of the ed-tech community.
Lots of ideas at the moment about the sort of head that I want to be, and sharing (in) a vision for the school. All this of course needs working out with my pupils and colleagues there, which I’m looking forward to. I hope to take a little of the St Ives magic with me: the enjoyment of school life, the sense of honour, the love of learning, the care for one another and the chance to make a difference.
Share


lnav path/to/log_or_directory|url- View logs of a specific remote host (SSH passwordless login required):
lnav ssh user@host1.example.com:/var/log/syslog.log- Validate the format of log files against the configuration and report any errors:
lnav -C path/to/log_directory


{% extends "layout.html" %} {% block content %}
| Aggregated Metrics | Q1 2018-2019 | Q2 2018-2019 | Q3 2018-2019: 12/11/2018 - 19/11/2018 | Q3 2018-2019: 19/11/2018 - 26/11/2018 | Q3 2018-2019: 26/11/2018 - 03/12/2018 |
|---|---|---|---|---|---|
| Cycle Time | +10% | -10% | +5% | +10% | -10% |
| Process Cycle Efficiency | +1% | +0% | -3% | +1% | +0% |
| Number Of Stories Completed | +2 | -3% | +5% | +2 | -3% |
| Number Of Stories Incomplete | +10% | -15% | +13% | -15% | +5% |
| Number Of People Days | +0% | +2% | -2% | +0% | +2% |
| Mean Time To Recovery (MTTR) | -5% | +5% | -7% | +5% | -20% |
| Number Of Releases | +4% | +11% | -5% | +3% | +10% |


That my partner really needs time to figure out what he thinks and feels without interruption. It was an important gift I gave him, the gift of really listening with my full attention. It reminded me that he is a really good listener and gives me his attention most times I talk. This exercise reminded me not to take that for granted.
All of it was useful but especially the concepts of mindful listening with my full attention, looping to check understanding and dipping to check in with myself during conversations.
I watched the youtube talks for the first time today. I found them kind of informative but I prefer reading the book.


Toggle navigation
CourseMe
Recents
Course Name
13
Lecture Name
About
Dan
Sign Out
Account Settings
Something else here
Separated link
Module Name
Course Name
Module Name
60% Complete
Need HTML5 video
Recommend
Add to course
312 votes
Related Courses
Courses with this module
Course Name
23
Course Name
15
Course Name
12
Alternative modules
Lecture Name
Lecture Name
Lecture Name
Too advanced?
Algebra
Course Name
15
Lecture Name
Lecture Name
Solving Equations
Interactive tool
Course Name
7
Lecture Name
What's next?
Practice
Questions
Hard Questions
Very Hard Questions
Experiment
Next topics
Course Name
13
Lecture Name
Lecture Name
Up vote
Down vote
Page 1
Page 2
Page 3
Page 4


Get in touch today for a free quote
561 Fulham Rd, Fulham, London SW6 1EU
© Copyright FULHAM PLUMBERS CO 2018
Website design by Simply Digital


{% load static %}
A file is a collection of related information that is recorded on secondary storage. Or file is a collection of logically related entities. From user’s perspective a file is the smallest allotment of logical secondary storage.
Main memory is thought of as a continuous array of locations. There are two ways we can utilise this continuous memory two accomodate for processes:
In this a single directory is maintained for all the users.
1) Naming problem: Users cannot have same name for two files.
2) Grouping problem: Users cannot group files according to their need.
In this separate directories for each user is maintained.
1) Path name:Due to two levels there is a path name for every file to locate that file.
2) Now,we can have same file name for different user.
3) Searching is efficient in this method.
Directory is maintained in the form of a tree. Searching is efficient and also there is grouping capability. We have absolute or relative path name for a file.
The simplest method is to have one big list of all the files on the disk. The entire system will contain only one directory which is supposed to mention all the files present in the file system. The directory contains one entry per each file present on the file system.
This type of directories can be used for a simple system.
In two level directory systems, we can create a separate directory for each user. There is one master directory which contains separate directories dedicated to each user. For each user, there is a different directory present at the second level, containing group of user's file. The system doesn't let a user to enter in the other user's directory without permission.
The largest available hole that is large enough to accomodate the process is allocated to the process.
In Tree structured directory system, any directory entry can either be a file or sub directory. Tree structured directory system overcomes the drawbacks of two level directory system. The similar kind of files can now be grouped in one directory.
Each user has its own directory and it cannot enter in the other user's directory. However, the user has the permission to read the root's data but he cannot write or modify this. Only administrator of the system has the complete access of root directory.
Searching is more efficient in this directory structure. The concept of current working directory is used. A file can be accessed by two types of path, either relative or absolute.
Absolute path is the path of the file with respect to the root directory of the system while relative path is the path with respect to the current working directory of the system. In tree structured directory systems, the user is given the privilege to create the files as well as directories.


Upload Image on form submit
File:
*required
File too large {{errorFile.size / 1000000|number:1}}MB: max 2M
Remove
Submit
Upload Successful
Status Code: {{errorMsg}}
Upload Excel on form submit
File:
*required
File too large {{errorFile.size / 1000000|number:1}}MB: max 10M
Submit
Upload Successful
Status Code: {{errorMsg}}
HTTPResponse:
{{httpResponse | json}}


Visit a working copy of my page on codepen!
I love video games. It is what I look forward to every week when I have free time after school or work. My favourite video game generes are as follows:
Let's start with Role Playing Games or RPG for short. A RPG is a game in which players assume the roles of characters in a fictional setting. Players take responsibility for acting out these roles within a narrative, either through literal acting, or through a process of structured decision-making regarding character development. My top 5 favorite RPG games are as follows:
Check out the mascot to my favorite RPG!
Next are action-adventure games...
Next are Open world games...
Next are First Person Shooter Games or FPS for short...
Finally, Real Time Strategy Games or RTS for short...


Hi, I'am Rebeca Raab
Computer Engineering Student
I'm interested in the areas of serious games, ux and ui designer, virtual and augmented reality.
Contact MeAbout Me
My introductionI'm studying Computer Engineering at UFPb, where i worked on projects focused mainly on games (serious games) and augmented reality. I am currently working at the Laboratory of Technologies for Virtual Education and Statistics (LabTEVE). But i'm also interested in web and designer, developing projects outside the academic environment.
Skills
My technical levelFrontend developer
HTML
90%CSS
80%JavaScript
60%Backend developer
Python
75%Node js
50%Designer
Photoshop
95%Figma
75%GameDev
C#
80%Unity
75%Qualification
My personal journeyElementary School
Brazil - EMEF Antenor Navarro
2001 - 2012
High school
Brazil - Lyceu
2013 - 2015
University graduate
Brazil - UFPb (Computer Engineering)
2017 - current
Data survey - High school
Participated in data collection projects at the institution
2014 - 2015
Recruta Social - University
I participated in this project in the development and testing team. The Recruta Social was a finalist in three categories on SBgames
2018 - 2019
Kinect na reabilitação - University
Participated in the Kinect technology integration project in the rehabilitation of patients with brain and spinal cord injuries, in research and development
2019 - 2020
GiroJampa - University
I'm currently working on the project design with focus on satisfaction for serious games based on virtual reality, where we are developing a game (GiroJampa) to assist people in wheelchairs
2020 - current


{% if organisation.get_latest_resource or organisation.get_most_liked_resource or organisation.get_most_tried_resource %}
{% include "includes/resource.html" with resource=organisation.get_latest_resource resource_category="latest" %}
{% include "includes/resource.html" with resource=organisation.get_most_liked_resource resource_category="Most Liked" %}
{% include "includes/resource.html" with resource=organisation.get_most_tried_resource resource_category="Most Tried" %}


vfwprintf
, vwprintf
, vswprintf
—wide character format argument listSynopsis
#include <stdio.h> #include <stdarg.h> #include <wchar.h> int vwprintf(const wchar_t *__restrict fmt, va_list list); int vfwprintf(FILE *__restrict fp, const wchar_t *__restrict fmt, va_list list); int vswprintf(wchar_t * __restrict str, size_t size, const wchar_t *__ restrict fmt, va_list list); int _vwprintf_r(struct _reent *reent, const wchar_t *fmt, va_list list); int _vfwprintf_r(struct _reent *reent, FILE *fp, const wchar_t *fmt, va_list list); int _vswprintf_r(struct _reent *reent, wchar_t *str, size_t size, const wchar_t *fmt, va_list list);
Description
vwprintf
, vfwprintf
and vswprintf
are (respectively) variants
of wprintf
, fwprintf
and swprintf
. They differ only in allowing
their caller to pass the variable argument list as a va_list
object
(initialized by va_start
) rather than directly accepting a variable
number of arguments. The caller is responsible for calling va_end
.
_vwprintf_r
, _vfwprintf_r
and _vswprintf_r
are reentrant
versions of the above.
Returns
The return values are consistent with the corresponding functions.
Portability
POSIX-1.2008 with extensions; C99 (compliant except for POSIX extensions).
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, read
, sbrk
, write
.
See Also
wprintf
, fwprintf
and swprintf
.


Copyright © 2017 | TechSourav
Create a One Page Website!
Tech Studio
Tech Studio
Tech Studio
Tech Studio
About.me (Usually styled as about.me) is a personal web hosting service co-founded by Ryan Freitas, Tony Conrad and Tim Young in October 2009.[1] The site offers registered users a simple platform from which to link multiple online identities, relevant external sites, and popular social networking websites. About.me (Usually styled as about.me) is a personal web hosting service co-founded by Ryan Freitas, Tony Conrad and Tim Young in October 2009.[1] The site offers registered users a simple platform from which to link multiple online identities, relevant external sites, and popular social networking websites. About.me (Usually styled as about.me) is a personal web hosting service co-founded by Ryan Freitas, Tony Conrad and Tim Young in October 2009.[1] The site offers registered users a simple platform from which to link multiple online identities, relevant external sites, and popular social networking websites About.me (Usually styled as about.me) is a personal web hosting service co-founded by Ryan Freitas, Tony Conrad and Tim Young in October 2009.[1] The site offers registered users a simple platform from which to link multiple online identities, relevant external sites, and popular social networking websites


Floating Point (FP) numbers are placed and manipulated on an FP stack. Numbers can be rearranged, operated on, and removed from this stack through pushes, pops, and the use of special routines.
FloatInit(), FloatExit()
Before performing any floating point operations, a thread needs to call
FloatInit()
to create and initialize an FP stack. Each thread using floats must have its own unique FP stack. This call to
FloatInit()
is automatically performed by any application that includes the Math Library.
FloatInit()
creates a swapable block of memory for the thread, initializes various stack pointers, and stores the handle for the block in the thread's data structure.
FloatInit()
must be passed the size of the stack to create (in bytes) and the type of stack (
FloatStackType
) to create.
The default FP stack holds 25 FP elements (250 bytes). An FP stack must be able to hold at least 5 FP elements.
The default floating point stack is FLOAT_STACK_GROW which instructs the system to increase the size of the stack whenever its bounds are reached. This is done automatically.
Other
FloatStackType
types are FLOAT_STACK_WRAP, which drops the FP numbers at the low end of the stack (effectively wrapping over that end) and FLOAT_STACK_ERROR which signals an error when the stack limit has been reached.
FloatExit()
detaches the floating point stack for the current thread and frees its memory.
FloatExit()
only frees the FP stack associated with the current thread; other FP stacks in other threads remain unaffected. As is the case with
FloatInit()
, the call to
FloatExit()
is automatically performed by any application that includes the Math Library.
If
FloatInit()
is called twice before calling
FloatExit()
, the data on the original floating point stack will be lost.
FloatPushNumber(), FloatPopNumber(), FloatDepth()
FloatPushNumber()
pushes an FP number onto the top of the FP stack for the current thread from a passed buffer. The number must be already set up in 80 bit, FP format. The routine must be passed the pointer to the buffer storing the number.
Similarly,
FloatPopNumber()
pops an FP number from the top of the FP stack for the current thread into a passed buffer.
FloatDepth()
returns the number of FP numbers currently in place on the stack.
Note: For clarity in diagrams within this chapter, stack locations will be numbered in order from the top position of the stack, S1 being first, S2 being second, etc. Variables will be numbered in the order they are pushed onto the stack, so that if X1, X2, and X3 are pushed onto the stack, the format illustrated below will result.
FloatRoll(), FloatRollDown(), FloatRot(), FloatSwap()
Besides basic pushing and popping, the Float Library also includes many other routines which manage FP numbers on the stack. Unless otherwise specified, an operation that pushes, pops, or extracts an FP number on the stack affects all other FP numbers below the position of the operation by shifting their location in the stack either up or down, in standard stack fashion.
FloatRoll()
pushes a selected FP number (S
X
) onto the top of the stack (S1), removing it from location SX in the process.
FloatRoll()
passed with a value of 3 would move the FP number in S3 onto the top of the stack, pushing the stack in the process. All FP numbers below the extracted number remain unaffected by this routine.
FloatRollDown()
performs the inverse operation of
FloatRoll()
. popping the top stack value (S1) into the specified location on the stack (S
X
).
FloatRollDown()
passed with a value of 3 would move the FP number in S1 into location S3, shifting the stack in the process.
Both of these routines must be passed a stack location to move to or from.
FloatRot()
rotates the top three numbers on the stack, placing S3 onto the top of the stack. This is equivalent to a
FloatRoll()
passed with a value of 3.
FloatSwap()
exchanges S1 and S2.
Repetitious applications of these routines will return the stack to its former state.
FloatPick(), FloatOver(), FloatDrop(), FloatDup()
FloatPick()
copies the contents of S
X
and pushes that value onto the FP stack. The entire stack is pushed in the process.
FloatPick()
passed with a value of 3 would copy the contents of S3 onto the FP stack.
FloatOver()
copies S2 to the top of the stack, equivalent to a
FloatPick()
passed with a value of 2.
FloatDrop()
drops (pops) the top number (S1) off the FP stack. This routine is different than
FloatPopNumber()
because the routine does not place the popped number into a memory address, and is therefore much faster.
FloatDup()
duplicates the value at S1, pushing it onto the top of the stack. The stack is pushed in the process.
FloatComp(), FloatCompESDI(), FloatCompAndDrop()
These routines essentially perform the same operation as the Assembly command
cmp
.
FloatComp()
performs a compare of the top two FP numbers (S1 and S2) and sets the appropriate flags in the flags register. The two FP numbers remain on the stack.
FloatCompESDI()
compares the contents of
es:[di]
with the value in S1 (and the FP number in S1 remains on the stack).
FloatCompAndDrop()
performs a compare of S1 and S2 and drops both from the FP stack.
FloatGetStackPointer(), FloatSetStackPointer()
FloatGetStackPointer()
returns the current stack pointer value of the FP stack.
FloatSetStackPointer()
sets the stack pointer to a previous position. This routine must be passed a value that is greater than or equal to the current value of the stack pointer. (I.e. you must be throwing something, or nothing, away.)
These routines may be useful before the execution of involved routines that may push many numbers onto the stack. If an unrecoverable error is encountered, the programmer need not pop the intermediate values off the stack to return to the previous stack configuration. Only the stack pointer is saved; the state of the stack is not. If any numbers below the stack pointer are popped or altered,
FloatSetStackPointer()
will not recover the previous state of the stack.


Software Engineer with extensive Agile Product Management
experience.
Jill of all trades. Mistress of some.
I have a Masters Degree in Computing. I've been part of the tech
industry for over a decade and have donned various hats - QA, PM,
Agile Coach, Product Lead. I have lived and worked in over 8 cities,
5 countries and 3 continents. This gives me a unique perspective on
understanding and adapting to various work cultures.
I believe that a successful team is one with a culture of empathy,
continuous improvement and collaboration.
A Ruby app that runs in the command line and uses the TFL API to query info on lines and stations - including live disruptions.
A Ruby on Rails app that calculates a central location to meet at when getting together with friends travelling from different start locations. The logic for calculating the centre point after taking into account all the start locations is done in the app & a 3rd party API is used to return venues at the suggested location.
A JavaScript game that uses ml5.js to train the computer to recognise the 3 gestures (Rock, Paper, Scissors) and play the game using the webcam. The backend is a Rails API that keeps track of player scores and is used to generate a leaderboard.
A responsive ReactJS app that uses a 3rd party API to generate a quiz based on a player's chosen category.
Find a central location to meet friends when starting off from different locations. View suggested venues. This responsive app uses Rails in the backend, React in the front end & also relies on a location/mapping API. Authentication uses JWT tokens. Styling is reliant on mostly custom CSS and also some Semantic UI.
Rails, JS, CSS
Engineer in a cross-functional team working primarily with React and Rails.
Full time student, learning to build apps using a variety of technologies, including, Ruby, Rails, JS, React, HTML, CSS, SQL.
Lead a team of developers, designers and data scientists to deliver an app across Android and iOS platforms targeted at Ride Share Drivers.
Hired by McKinsey Digital team to lead Product Management at a digital incubator for one of Germany's largest insurance companies. I lead a team of developers, UX designers and data analysts to deliver solutions for B2B customers.
Worked on a large UK Government digital transformation project for the DVSA (using GDS principles) to improve the way garages perform MOT tests for vehicles.
Core member of Tech Leadership team that enabled successful transformation from Waterfall to Agile to Lean/Kanban and fostered a startup culture.
Lead a team of developers, designers and data scientists to deliver an app across Android and iOS platforms targeted at Ride Share Drivers.
Managed migration of legacy dating site with over 4 million users to new platform.
Collaborated with stakeholders, developers & QA to plan sprints, write stories, acceptance criteria and track tasks. Worked with clients to improve & implement Agile processes.
Creation and execution of Manual and Automated test scripts for various large e-commerce retailers.
Lead a team of internationally located testers and set up QA processes in a startup environment with no previous QA.
Lead teams of testers distributed across the UK and in China.
Time To React - March 2020, London UK: React Hooks - How to write your own!
CukeUp 2016, London UK: Think Small - A talk on story size and team size
CukeUp 2014, London UK: Build the Right Stuff - Workshop on Hypotheses Driven Development
CukeUp 2011, London UK: BDD - How to scale up with Cucumber
coding === joy


Compiling the NHL Real Time Scoring System Database for easy use in R.
| Version: | 1.8.1 |
| Depends: | R (≥ 2.15.0) |
| Imports: | RCurl, rjson, biglm, bitops |
| Published: | 2017-03-08 |
| Author: | A.C. Thomas, Samuel L. Ventura |
| Maintainer: | ORPHANED |
| License: | GPL (≥ 3) |
| NeedsCompilation: | yes |
| CRAN checks: | nhlscrapr results |
| Reference manual: | nhlscrapr.pdf |
| Package source: | nhlscrapr_1.8.1.tar.gz |
| Windows binaries: | r-devel: nhlscrapr_1.8.1.zip, r-release: nhlscrapr_1.8.1.zip, r-oldrel: nhlscrapr_1.8.1.zip |
| OS X binaries: | r-release: nhlscrapr_1.8.1.tgz, r-oldrel: nhlscrapr_1.8.1.tgz |
| Old sources: | nhlscrapr archive |
Please use the canonical form https://CRAN.R-project.org/package=nhlscrapr to link to this page.


Source code for pvl_absoluteairmass
import numpy as np
import pvl_tools as pvt
def pvl_absoluteairmass(AMrelative,Pressure):
'''
Determine absolute (pressure corrected) airmass from relative airmass and pressure
[docs]
Gives the airmass for locations not at sea-level (i.e. not at standard
pressure). The input argument "AMrelative" is the relative airmass. The
input argument "pressure" is the pressure (in Pascals) at the location
of interest and must be greater than 0. The calculation for
absolute airmass is:
absolute airmass = (relative airmass)*pressure/101325
Parameters
----------
AMrelative : float or DataFrame
The airmass at sea-level which can be calculated using the
PV_LIB function pvl_relativeairmass.
pressure : float or DataFrame
a scalar or vector of values providing the site pressure in
Pascal. If pressure is a vector it must be of the same size as all
other vector inputs. pressure must be >=0. Pressure may be measured
or an average pressure may be calculated from site altitude.
Returns
-------
AMa : float or DataFrame
Absolute (pressure corrected) airmass
References
----------
[1] C. Gueymard, "Critical analysis and performance assessment of
clear sky solar irradiance models using theoretical and measured data,"
Solar Energy, vol. 51, pp. 121-138, 1993.
See also
---------
pvl_relativeairmass
'''
Vars=locals()
Expect={'AMrelative': ('array','num'),
'Pressure': ('array', 'num', 'x>0')}
var=pvt.Parse(Vars,Expect)
AMa=var.AMrelative.dot(var.Pressure) / 101325
return AMa


Instituto de Física - Universidade de São Paulo
USP, September 30,2019.
Solid: Strongly Correlated.
Gas: No Correlation among its constituents.
Quantum phases of matter \((T=0)\):
\[H= -J\sum_{i} \sigma^z_{i} \sigma^z_{i+1} - h \sum_{i} \sigma^x_{i}\]
\(h=0: \) (anti-)ferromagnetic phase: \(GSD = 2\) and NO global \(\mathbb{Z}_2\) symmetry
\(h= \infty: \hbox{ } GSD=1 \) and global \(\mathbb{Z}_2\) symmetry
There are systems that do NOT fit in \((G_{\Psi}, G_{H})\)
Example: (Tsui, et. al. '82)
Fractional Quantum Hall Effect (Nobel Prize 1998)
They are called Topological Phases of Matter
Haldane phase in spin chains \(\hbox{ }\longrightarrow \) (Nobel Prize 2016)
We focus on Topological Order
Some of such Observables:
Topological order is often studied through lattice models:
Simplest examples of lattice models with topological features.
2D Lattice with local degrees of freedom.
\[H= -\sum_{v}A_v - \sum_{p} B_p\]
Action of local operators:
\(H= -\sum_{v}A_v\) \(-\sum_{p} B_p\)
Action of local operators:
\(H=\) \(-\sum_{v} A_v\)\(-\sum_{p} B_p\)
Thus, gauge transformations create loops.
When the model is defined on the surface of a Torus, there are three additional ground states.
\[\lvert \Psi_1 \rangle = X(C_1) \lvert \Psi_0 \rangle, \] \[\lvert \Psi_2 \rangle = X(C_2) \lvert \Psi_0 \rangle,\] \[\lvert \Psi_{1,2} \rangle = X(C_1) X(C_1) \lvert \Psi_0 \rangle,\]
where \(X(C)= \bigotimes_{i \in C} \sigma_i^x\)
In general, \(GSD = 2^{2g},\) where \(g\) is the genus of the manifold.
A TOPOLOGICAL feature.
2D Lattice with local degrees of freedom.
\[H= -\sum_{v}A_v - \sum_{p} B_p\]
Topological order \(\longleftrightarrow\) Long Range Entanglement
How to quantify entanglement within quantum states?
Entropy!
Classical (Shannon)
\(X = \{x_1, \dots, x_n\}\) and \(p_i, \, i=1,\dots, n\) their probabilities:
\(H(X)= - \sum_{i =1}^{n} p_i \log_b(p_i) \)
Quantum (von Neumann)
Density matrix \(\rho\) \(\rightarrow\) quantum state
\[S(\rho) = - \text{Tr}\left(\rho \log \rho\right)\]
Let \(\rho\) a quantum state on a biparte system
Bipartite system
Reduced density matrix: \[\; \rho_A = Tr_B(\rho)\]
von Neumann entropy: \[S_A = S(\rho_A) = -\text{Tr}(\rho_A \log \rho_A)\]
\(\rho = \rho_A \otimes \rho_B\) is a product state \(\Leftrightarrow S_A = 0\)
\(\rho\) is entangled \(\Leftrightarrow S_A > 0\)
Entanglement entropy of the Toric Code
\(H= -\sum_{v}A_v - \sum_{p} B_p\)
Density matrix: \(\;\;\rho = \dfrac{1}{GSD} \Pi_0\)
\(\Pi_0\) is the projector to the ground states: \[\Pi_0 = \prod_v A_v \prod_p B_p\]
The reduced density matrix: \(\rho_A = \text{Tr}_B\left(\rho\right)\)
|
Bipartition of the lattice |
\[\rho_A = \dfrac{1}{\text{dim}\mathcal{H}_A}\sum_{g_A \in \mathcal{G}_A} g_A\]
\[\rho_A^2 = \dfrac{|\mathcal{G}_A|}{\text{dim}\mathcal{H}_A}\, \rho_A\]
We can calculate the entanglement entropy: \[S_A = -\text{Tr} \left(\rho_A \log \rho_A \right)\]
\[S_A = \log \left(\dfrac{\text{dim} \mathcal{H}_A}{|\mathcal{G}_A|} \right) \]
\(S_A = \log(2^{4R-1})= 4R - 1\)
Area Law: \(4R\) Topological term: \(-1\)
Given a ground state of a gapped quantum many-body system with or without topological order...
Possibly in any dimension...
Entanglement entropy?
Area Law? Topological term?
We can (partially) answer this question
Give a closed formula for \(S_A\) for a large class of models
(In any dimension)
Toric Code \(\longrightarrow\) QDMs \(\hbox{ }\longrightarrow\) Lattice Gauge Theories - gauge group \(G\)
Gauge Theories: source of examples for quantum models w/ Topological Order. Exactly solvable models
Abelian groups \(\longrightarrow\) we were able to construct more general quantum models \(\hbox{ } \longrightarrow \hbox{ }\)Topological Order
Abelian Higher Gauge Theories...
\(2D\) and \(3D\)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \) \(\;\longrightarrow\;\mathcal{H}=\bigotimes_l\, \mathcal{H}_l \)
|
Gauge configurations |
Hamiltonian: \(H=\) \(- \sum_v A_v\) \(- \sum_p B_p\)
1- Gauge Transformations: \(A_v\)
|
Located at vertices |
Act on all adjacent links |
\(2D\) and \(3D\)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \) \(\;\longrightarrow\;\mathcal{H}=\bigotimes_l\, \mathcal{H}_l \)
|
Gauge configurations |
Hamiltonian: \(H=- \sum_v A_v\) \(- \sum_p B_p\)
1- Holonomies: \(\hbox{ }\; B_p\)
|
Located at plaquettes |
\(\text{1-hol}= abc^{-1}d^{-1} \in G_1\)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \)
degrees of freedom at plaquettes: \(\hbox{ }\mathcal{H}_p=\{\lvert \alpha\rangle\}, \; \alpha \in G_2 \).
|
\(\mathcal{H}=\bigotimes_l\, \mathcal{H}_l \bigotimes_p\, \mathcal{H}_p \) Gauge configurations |
Hamiltonian:
\(H=\) \(- \sum_v A_v\) \(-\sum_l A_l -\sum_p B_p -\sum_c B_c \)
1- Gauge Transformations: \(A_v\)
|
Located at vertices |
Act on all adjacent links |
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_p=\{\lvert \alpha\rangle\}, \; \alpha \in G_2 \).
|
\(\mathcal{H}=\bigotimes_l\, \mathcal{H}_l \bigotimes_p\, \mathcal{H}_p \) Gauge configurations |
Hamiltonian:
\(H=- \sum_v A_v\) \(-\sum_l A_l\)\( -\sum_p B_p -\sum_c B_c \)
2- Gauge Transformations: \(A_l\)
|
Located at links |
Act on all adjacent plaquettes |
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_p=\{\lvert \alpha\rangle\}, \; \alpha \in G_2 \).
|
Gauge configurations |
Hamiltonian:
\(H=- \sum_v A_v -\sum_l A_l \,\)\( -\sum_p B_p\) \(-\sum_c B_c \)
1- Holonomies: \(B_p\)
|
Located at plaquettes |
degrees of freedom at links: \(\hbox{ }\mathcal{H}_l=\{\lvert g\rangle\}, \; g \in G_1 \)
degrees of freedom at links: \(\hbox{ }\mathcal{H}_p=\{\lvert \alpha\rangle\}, \; \alpha \in G_2 \).
|
Gauge configurations |
Hamiltonian:
\(H=- \sum_v A_v -\sum_l A_l -\sum_p B_p\) \(-\sum_c B_c \)
2- Holonomies: \(B_c\)
|
Located at cubes |
We are able to treat the most general case:
|
Gauge configurations |
Degrees of freedom (possibly) at all elements of the lattice
Chain complexes of Abelian groups
Key concepts:
Lattice \(\;\;\; \longrightarrow \) Chain Complex \(\; (C(K),\partial)\)
\[C_3 \xrightarrow{\,\partial_3}C_2 \xrightarrow{\,\partial_2\,}C_1 \xrightarrow{\,\partial_1\,}C_0\,\,\,\,\]
Higher Gauge group \(\;\; \longrightarrow\) Chain Complex of Abelian groups, for instance:
\[G_3 \xrightarrow{\,\partial_3}G_2 \xrightarrow{\,\partial_2\,}G_1 \xrightarrow{\,\partial_1\,} G_0 \,\,\,\,\]
Gauge configurations \(\;\;\; \longrightarrow \) maps between the complexes
These maps form a group \(\text{hom}(C,G)^0\)
Lattice \(\;\;\; \longrightarrow \) Chain Complex \(\; (C(K),\partial)\)
\[C_3 \xrightarrow{\,\partial_3}C_2 \xrightarrow{\,\partial_2\,}C_1 \xrightarrow{\,\partial_1\,}C_0\,\,\,\,\]
Higher Gauge group \(\;\; \longrightarrow\) Chain Complex of Abelian groups, for instance:
\[G_3 \xrightarrow{\,\partial_3}G_2 \xrightarrow{\,\partial_2\,}G_1 \xrightarrow{\,\partial_1\,} G_0 \,\,\,\,\]
Gauge transformations \(\;\;\; \longrightarrow \) maps between the complexes
These maps form a group \(\text{hom}(C,G)^{-1}\)
Lattice \(\;\;\; \longrightarrow \) Chain Complex \(\; (C(K),\partial)\)
\[C_3 \xrightarrow{\,\partial_3}C_2 \xrightarrow{\,\partial_2\,}C_1 \xrightarrow{\,\partial_1\,}C_0\,\,\,\,\]
Higher Gauge group \(\;\; \longrightarrow\) Chain Complex of Abelian groups, for instance:
\[G_3 \xrightarrow{\,\partial_3}G_2 \xrightarrow{\,\partial_2\,}G_1 \xrightarrow{\,\partial_1\,} G_0 \,\,\,\,\]
Holonomy values \(\;\;\; \longrightarrow \) maps between the complexes
These maps form a group \(\text{hom}(C,G)^{1}\) not the actual measurement!
It turns out that the chain complex
\[\text{hom}(C,G)^{1}\xrightarrow{\delta^{-1}} \text{hom}(C,G)^{0} \xrightarrow{\delta^{0}} \text{hom}(C,G)^{1}\]
encodes all essential information about the Gauge theory.
where: \(\;\hbox{ }(\delta^p h)_n = h_{n-1}\circ \partial^C_n - (-1)^p\, \partial_{n-p}^G \circ h_n\)
It Provides the Hilbert space, via elements in \(\text{hom}(C,G)^{0}\), for instance
\[\mathcal{H}= \bigotimes_{v,l,p,c}\mathcal{H}_v\otimes\mathcal{H}_l\otimes\mathcal{H}_p\otimes\mathcal{H}_c\]
Hamiltonian: \[H= - \sum_{n} \sum_{x \in K_n} A_x - \sum_{n}\sum_{y \in K_n}B_y\]
Turns out that the chain complex
\[\text{hom}(C,G)^{1}\xrightarrow{\delta^{-1}} \text{hom}(C,G)^{0} \xrightarrow{\delta^{0}} \text{hom}(C,G)^{1}\]
encodes all essential information about the Gauge theory.
Hamiltonian: \[H= - \sum_{n} \sum_{x \in K_n} A_x - \sum_{n}\sum_{y \in K_n}B_y\]
Ground states: \(\lvert \psi \rangle \in \mathcal{H}\), such that: \(\;\;\;\Pi_0 \lvert \psi \rangle = \lvert \psi \rangle \)
Where: \[\Pi_0 = \prod_n \prod_{x \in K_n} A_x\prod_{y \in K_n}B_y\]
\[\text{hom}(C,G)^{1}\xrightarrow{\delta^{-1}} \text{hom}(C,G)^{0} \xrightarrow{\delta^{0}} \text{hom}(C,G)^{1}\]
arxiv:1711.04186 \(\hbox{ }GSD = \dfrac{|\text{ker}\delta^0|}{|\text{Im} \delta^{-1}|}\)
\(\text{ker} \delta^0 \;\; \rightarrow\) configurations with trivial holonomy
\(\text{Im} \delta^{-1} \;\; \rightarrow\) configurations that come from gauge transformations
Moreover: \(\;\;\;\;GSD= \prod_i |H^i(C,H_i(G))|\) (R. Brown)
\(|H^i(C,H_i(G))|\) are usual cohomology groups.
\(\;\;H_i(G)\) are the Homology groups of the higher group \(G\)
Can we find the entanglement entropy?
Hamiltonian: \[H= - \sum_{n} \sum_{x \in K_n} A_x - \sum_{n}\sum_{y \in K_n}B_y\]
|
Bipartition of the complex |
Density matrix: \(\;\;\rho = \dfrac{1}{GSD} \Pi_0\)
Where: \[\Pi_0 = \prod_n \prod_{x \in K_n} A_x\prod_{y \in K_n}B_y\]
The reduced density matrix: \(\;\;\;\;\rho_A = \text{Tr}_B\left(\rho\right)\)
How to perform the partial trace?
To perform the partial trace, restrict the complex \(C(K)\) to a subcomplex \(C(K_A)\)
By doing so, we obtain a restricted version of the gauge theory:
\[\text{hom}(C_{\tilde{A}},G)^{1}\xrightarrow{\;\delta_{\tilde{A}}^{-1}\;} \text{hom}(C_A,G)^{0} \xrightarrow{\;\delta_A^{0}\;} \text{hom}(C_A,G)^{1}\]
\(\;\;\tilde{A} \;\longrightarrow\) Interior of region A. Only internal gauge transformations survive the trace
This naturally defines a restricted Higher Gauge theory in region \(A\)
\[H_{\tilde{A}} = \sum_{n=0}^{d} \sum_{x\in K_{n,\tilde{A}}}A_{n,x} - \sum_{n=0}^{d} \sum_{y\in K_{n,A}}B_{n,y}.\]
\[ GSD_{\tilde{A}}= \dfrac{\left|\ker \delta_{A}^0\right|}{\left|\text{Im}\, \delta^{-1}_{\tilde{A}}\right|}. \]
Counts the number of edge states in the entanglement boundary
+ topological contributions
Density matrix: \[\rho = \dfrac{1}{GSD}\left(\dfrac{1}{|\text{Im}\delta^{-1}|}\sum_{t }A_{t}\right)\left(\dfrac{1}{|\text{Im}\delta_1|}\sum_{m}B_{m}\right), \]
Reduced density matrix: \(\rho_A = \text{Tr}_B (\rho)\)
\[\rho_A = \dfrac{1}{GSD}\dfrac{\text{Tr}_B (\mathbb{1}_B)}{|\text{Im}\delta^{-1}|\, |\text{Im}\delta_1|}\sum_{p,q}A_p B_q\]
\[\rho_A = \dfrac{1}{GSD}\dfrac{\text{dim}(\mathcal{H}_B)}{|\text{Im}\delta^{-1}|\, |\text{Im}\delta_1|}\sum_{p,q}A_p B_q\]
Noting that: \(GSD |\text{Im}(\delta^{-1})||\text{Im}(\delta_1)| = \dim(\mathcal{H}) = \dim (\mathcal{H}_A)\dim (\mathcal{H}_B)\)
We obtain: \[\rho_A = \dfrac{1}{\dim(\mathcal{H}_A)}\left(\sum_{p, q }A_{p} B_{q}\right) \]
Reduced density matrix: \[\rho_A = \dfrac{1}{\dim(\mathcal{H}_A)}\left(\sum_{p, q }A_{p} B_{q}\right), \]
\[\rho_A^2 = \dfrac{1}{GSD_{\tilde{A}}}\; \rho_A\]
Entanglement Entropy:
\[S_A= \log \left(GSD_{\tilde{A}}\right)\]
where \(GSD_{\tilde{A}}\) counts the number of edge states in the entanglement boundary
+ topological contribution
2D Topological Order is well understood.
This is no longer true for higher dimensions.
In arxiv:1711.04186 we introduced Abelian Higher Gauge Theories
as a tool to explore higher dimensional quantum phases
In this work we show that quantum entanglement in these phases can be probed by \(S_A\)
Moreover, it is encoded in:
\[S_A= \log\left(GSD_{\tilde{A}}\right)\]
arxiv: 1907.01608
Is this formula valid for other quantum phases?
More exotic quantum phases, beyond topological order.


Sample run of chapter's interpreter examples
class ChecksumAccumulator { // class definition goes here }
new ChecksumAccumulator
// In file classes-and-objects/ChecksumCalculator1.scala class ChecksumAccumulator { var sum = 0 }
val acc = new ChecksumAccumulator val csa = new ChecksumAccumulator
acc.sum = 3
// Won't compile, because acc is a val acc = new ChecksumAccumulator
class ChecksumAccumulator { private var sum = 0 }
val acc = new ChecksumAccumulator acc.sum = 5 // Won't compile, because sum is private
// In file classes-and-objects/ChecksumCalculator2.scala class ChecksumAccumulator { private var sum = 0 def add(b: Byte): Unit = { sum += b } def checksum(): Int = { return ~(sum & 0xFF) + 1 } }
def add(b: Byte): Unit = { b = 1 // This won't compile, because b is a val sum += b }
// In file classes-and-objects/ChecksumCalculator3.scala class ChecksumAccumulator { private var sum = 0 def add(b: Byte) = sum += b def checksum() = ~(sum & 0xFF) + 1 }
// In file ChecksumAccumulator.scala class ChecksumAccumulator { private var sum = 0 def add(b: Byte): Unit = { sum += b } def checksum(): Int = ~(sum & 0xFF) + 1 }
// In file classes-and-objects/SemiInference.scala val s = "hello"; println(s)
// In file classes-and-objects/SemiInference.scala if (x < 2) println("too small") else println("ok")
x + y
(x + y)
x + y + z
// In file classes-and-objects/ChecksumAccumulator.scala // In file ChecksumAccumulator.scala import scala.collection.mutable object ChecksumAccumulator { private val cache = mutable.Map.empty[String, Int] def calculate(s: String): Int = if (cache.contains(s)) cache(s) else { val acc = new ChecksumAccumulator for (c <- s) acc.add(c.toByte) val cs = acc.checksum() cache += (s -> cs) cs } }
ChecksumAccumulator.calculate("Every value is an object.")
// In file classes-and-objects/Summer.scala // In file Summer.scala import ChecksumAccumulator.calculate object Summer { def main(args: Array[String]) = { for (arg <- args) println(arg + ": " + calculate(arg)) } }
$ scalac ChecksumAccumulator.scala Summer.scala
$ fsc ChecksumAccumulator.scala Summer.scala
$ scala Summer of love
of: -213 love: -182
// In file classes-and-objects/FallWinterSpringSummer.scala import ChecksumAccumulator.calculate object FallWinterSpringSummer extends App { for (season <- List("fall", "winter", "spring")) println(season + ": " + calculate(season)) }
object EchoArgs { def main(args: Array[String]) = { for (arg <- args) print(arg + " ") println() }
|
For more information about Programming in Scala, Fourth Edition (the "Stairway Book"), please visit: http://www.artima.com/shop/programming_in_scala_4ed and: |
Copyright © 2007-2019 Artima, Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. |


You can add UTFGrid intactivity in overlays to a baselayer, which will show in the layer selector in the top right corner, defining layers like this.


It is practically impossible to teach good programming style to students that have had prior exposure to Basic; as potential programmers they are mentally mutilated beyond hope of regeneration. --Edsger Dijkstra [ source]


Shrek
Add Shrek
Commands
Support Server
The Best Discord Mutipurpose Bot
Add Shrek Now And Bring Joy To You Server
Add Shrek


Jenny
Lee
JavaScript vs. Ruby: Type Coercion
080315
While reading through the various similarities and differences between JavaScript and Ruby, the difference I found most interesting was JavaScript's way of automatically converting values in certain situations.
Basically in JavaScript, when you add two values that don't have matching types (ex. string + integer), instead of giving us an error message like Ruby does, it will come up with a way to make it work.
What I mean by "make it work" is that JavaScript will literally convert one of the values' type, to make the expression work out.
Let's take a look at these examples on JavaScript...
These output values seem very strange, especially since in Ruby, all of them would result in error messages
Breaking it down line by line...
Line 1: JavaScript has basically changed the value of null to zero.
Ruby would return an error message, because 8 is an integer and null is not an integer, therefore, two different types of values cannot be multiplied to produce a viable product.
Line 3: JavaScript again, has changed the string "5" into an integer in order to carry out this expression.
Again, Ruby would return an error message because "5" is a string, and you cannot subtract an integer from a string.
Line 5: JavaScript here has converted the integer 1 into a string "1" in order to produce 51. Needless to say, this won't work in Ruby.
Line 7: Here, JavaScript produces NaN as its output. This is because "five" is a string that cannot possibly be "coerced" into an integer. Therefore, it gives us an output of NaN.
In Ruby, this would actually produce an output of "fivefive". This is because in Ruby, you can multiply a string by a number-- it will just return that string x amount of times.
Line 9: In this last example, JavaScript basically "coerced" one of the values to the other value's type to make the condition true.
In Ruby, this would output the value false because false is not equal to the value of 0.
Here are the same equations on Ruby (irb)
As you can see, aside from the last two examples, all of them result in error messages.
What to take away from this is that JavaScript has its own complex rules that it follows to make an expression work out, whereas Ruby will either give an error or give an output without changing the value types.