text:
# 2. Processor instruction set

## Exercise outline

1. introduction and familiarise with MIPS architecture simulator QtMips
2. test program for simple addition
3. following tasks extending the program
4. the 1. homework assignment (on the page https://dcenet.felk.cvut.cz/apo/

## What should I repeat before the exercise

1. Purpose and mnemonic of the basic instructions of the processor
2. Familiarize with MIPS architecture simulator QtMips and simulation of execution of a simple program
3. Notice the 1. homework (https://dcenet.felk.cvut.cz/apo/)

## What shall we do

Gain an understanding of how are the machine instructions executed/processed by a simple processor.

The simplicity, straightforwardness, and orthogonality of the instruction encoding is an essential reason why most textbooks choose as a model architecture MIPS processor. The processor reads instructions encoded in binary form. PC-class personal computers do not allow us to execute MIPS-based machine code directly on their processor (architecture X86), but there exist many simulators of this architecture. The simulator QtMips was developed to support the practical experience of this course.

### Part 1 - Basic instruction - description and use

Detailed description:

Instruction Instruction Syntax Operation Description
add add \$d, \$s, \$t \$d = \$s + \$t; Add: Add together values in two registers (\$s + \$t) and stores the result in register \$d. addi addi \$t, \$s, C \$t = \$s + C; Add immediate: Adds a value in \$s and a signed constant (immediate value) and stores the result in \$t. sub sub \$d,\$s,\$t \$d = \$s - \$t Subtract: Subtracts a value in register \$t from value of \$s and stores result in \$d.
bne bne \$s, \$t, offset if \$s != \$t go to PC+4+4*offset; else go to PC+4 Branch on not equal: (conditional) jump if value in \$s is not equal to a value in \$t.
beq beq \$s, \$t, offset if \$s == \$t go to PC+4+4*offset; else go to PC+4 Branch on equal: (conditional) jump if value in \$s is equal to a value in \$t.
jump j C PC = (PC ∧ 0xf0000000) ∨ 4*C Jump: Unconditional jump to label C.
lw lw \$t,C(\$s) \$t = Memory[\$s + C] Load word: Loads a word from address in memory and stores it in register \$t. sw sw \$t,C(\$s) Memory[\$s + C] = \$t Store word: Stores a value in register \$t to given address in memory.
lui lui \$t,C \$t = C << 16 Load upper immediate: Stores given immediate value (constant) C to upper part of register \$t. Register is 32 bits long and C is 16 bits. la la \$at, LabelAddr lui \$at, LabelAddr[31:16]; ori \$at,\$at, LabelAddr[15:0] Load Address: stores a 32 bit (address of) label and stores it to register \$at. This is a pseudo-instruction - it is translated into sequence of actual instructions.

A more detailed description of the instructions can be found at Wikipedia https://en.wikipedia.org/wiki/MIPS_architecture.

Autoritative description of architecture https://www.mips.com/:

### Translation of assembler source code to machine code

There is no restriction to use any plain text editor for writing assembler source code. In the laboratory, there are installed more text editors and development environments. For example vim, Emacs, etc. We suggest to select Geany for those who have no personal preference.

Open a text editor and prepare simple assembler source file named simple-lw-sw.S. The suffix capital “.S” is crucial. This suffix is assigned by standard development tools for the source files/code in assembler language and compiler decides according to the suffix how to process the file. Other recognized suffixes are .c for C language source files. .cc or .cpp for C++, .o for object files (files which content is already translated source code into target machine native instructions but there is not defined to which address will be these code fragments located). Library files suffix .a (archive) is used for functions libraries, which are included in final executable according to their requirements/use by other files. A final executable file (program) is stored without extension on Unix class systems..

.globl _start
.set noat
.set noreorder

.text

_start:
lw     $2, 0x2000($0)
// store the word to absolute address
sw     $2, 0x2004($0)

loop:
// stop execution wait for debugger/user
break
// ensure that continuation does not
// interpret random data
beq    $0,$0, loop
nop

.data

src_val:
.word  0x12345678
dst_val:

Assembly code source file consists of

• instruction mnemonics which represent an abbreviation of operation (lw - load word, sw - save word, add, sub - subtract), the operands can follow after operation mnemonics. Operands are usually numbers or another specification of registers and immediate numeric constant operands. Operands are separated by comma.
• labels (followed by a colon). It is possible to reference these labels from some instruction operands and directives to store raw words or other data into memory. The address to the memory location following the label (instruction or data) is stored in the instruction field or other memory location in the place from which is the label referenced.
• control directives (pseudo-instructions) for assembly compiler, they usually start by a dot .
• comments, source files designated by capital .S suffix are preprocessed before actual translation to machine code/object files. The rules for preprocessing are the same as for the C compiler, and the same format of comments can be used.

The following directives are used in the provided sample code

• .globl - symbols identifiers following the directive are visible/accessible even outside actual compilation unit. The symbol _start or _ _start specifies program entry point by the convention.
• .set noat - disallow use of temporary assembler register which is used for the realization of some higher level instructions translated by the assembler to the sequence of machine instructions. For example la (load address), which is macro instruction translated by assembler to the sequence of lui and ori instructions.
• .set noreorder - forbid instructions reordering by assembler. Assembler is able to optimize ordering of some instructions which allows to fill delay-slots (these are not used by initial simulator setup for simplicity), reordering is not desirable for our code
• .ent jméno - the mark for start of a function
• .end jméno - the mark for end of a function
• .text - switch to fill .text section which is used to store actual program machine instructions
• .data - switch to fill .data sections which holds initialized data/variables/arrays
• .word - the directive to store into actually filed section value specified after the directive

The complete manual for GNU assembler and all its directives can be found at GNU assembleru.

The compilation is performed by cross-compiler mips-elf-gcc (cross-compiler means that compiler host system, PC in our case, is different than compilation target system with MIPS architecture).

mips-elf-gcc -Wl,-Ttext,0x1000 -Wl,-Tdata,0x2000 -nostdlib -nodefaultlibs -nostartfiles -o simple-lw-sw simple-lw-sw.S

The invocation requires multiple parameters, because standard programs in C language require linking of initialization sequences and library functions. But our actual goal is to describe the lowest level without this automatization the first which allows understanding how it is extended and equipped by automatic initialization sequences and constructs which allows comfortable code writing of programs at a higher level and in higher level languages. Parameters -Wl, are passed to the linker program and specify to which address is located .text section with program instructions and to where starts .data section with initialized variables. Following parameters in the order of their appearance disable automatic addition of startup and initialization sequence (-nostartfiles) and disable use of standard libraries. The file name after switch -o specifies the name of the final executable file (output). File names of one or more source files follow.

The simple-lw-sw project with appropriate Makefile can be found in /opt/apo/qtmips-semstart directory.

On Windows, complete MSys with make utility can be installed or plain compiler mips-elf-gcc-i686-mingw32 can be called from following batch file.

PATH=%PATH%;c:\path\to\mips-elf-gcc-i686-mingw32\bin
mips-elf-gcc -Wl,-Ttext,0x1000 -Wl,-Tdata,0x2000 -nostdlib -nodefaultlibs -nostartfiles -o simple-lw-sw test.S

QtMips simulator is used to execute the program. Select the most simple variant of simulated processor “No pipeline no cache”. Button “Browse” is used to select executable file name (simple-lw-sw without suffix in our case) for field “Elf executable”.

Select tab Core next and disable checkbox Delay slot. This configuration makes simulator to diverge from real MIPS architecture, but it is more straightforward for initial experiments. The program is written in the mode set .noreorder is translated 1:1 to the instruction sequence for this setup and branch instruction execution would be more intuitive - they are processed immediately. We return to this topic later with full reasons for real processor behavior.

The diagram with the processor is opened. Use double-click on program counter register (PC) opens program listing with actual instructions. Double click on registers blocks opens a view with the list of architectural registers. Double click on data memory shows memory content. The windows layout shown on the next picture is the appropriate and intuitive starting point

Select “Follow fetch” option in the “Program” listing window which highlights instruction/line actually fetched by the processor for execution. The start of listing in “Memory” windows should be set to the address 0x2000 on which data value 0x12345678 was placed. The program can be stepped through by “Machine” → “Step” menu entry or by the corresponding button on the toolbar. The value is loaded to the register first, and then it is stored to the following memory cell.

Change the program to process a load-store sequence in the loop. Instruction break has to be removed from the loop because its purpose is to stop program execution when reached. Test that edited value at address 0x2000 is always copied to the address 0x2004. Modify the program to add two input values on 0x2000 and 0x2004 address and stored the result at address 0x2008.

Next step is to modify the program to add two vectors with a length of four words. Use assembler macroinstruction la vect_a (load address) to set registers to point to the start of the vectors.

    ...
.data

vect_a:
.word  0x12345678
.word  0x12345678
.word  0x12345678
.word  0x12345678
vect_b:
.word  0x12345678
...

Continue with implementation of the program to compute an average value from eight numbers.

### Automate program compilation by use of Makefile

The compiler invocation is desirable to document at least and better automate. The one way is to use a script with the sequence of commands required for compilation. Such script can be written directly for shell - command line interpreter (BASH or DASH on GNU/Linux usually). But it is not practical to translate all compilation units of a larger project when only small change modifies only one or a small subset of source files. More different systems have been developed to automate exactly these tasks. Some examples are Make, Ant, qmake, Cmake, meson, etc.

#### Makefile

Make is the tool which allows to automate compilation of source codes, description of the compilation process is described in Makefile.

Makefile template for the compilation of source files written in assembly language or C language for MIPS simulator environment:

ARCH=mips-elf

CC=$(ARCH)-gcc AS=$(ARCH)-as
LD=$(ARCH)-ld OBJCOPY=$(ARCH)-objcopy

CFLAGS  += -ggdb -O1
AFLAGS  += -ggdb
LDFLAGS += -ggdb
LDFLAGS += -nostdlib -nodefaultlibs -nostartfiles
LDFLAGS += -Wl,-Ttext,0x1000 -Wl,-Tdata,0x2000

all:default

.PHONY:clean

%.srec:%
$(OBJCOPY) -O srec$< $@ %.o:%.S$(CC) -D__ASSEMBLY__ $(AFLAGS) -c$< -o $@ %.s:%.c$(CC) $(CFLAGS)$(CPPFLAGS) -S $< -o$@

%.o:%.c
$(CC)$(CFLAGS) $(CPPFLAGS) -c$< -o $@ # default output default:change_me.srec # executable file:object file.o change_me:change_me.o$(CC) $(LDFLAGS)$^ -o \$@

# all generated that would be cleaned
clean:
rm -f change_me change_me.o change_me.out change_me.srec

tab character has to be used to indent of commands in the Makefile. Makefile does not recognize indent by spaces.

Makefile consists from definitions (assignment of values to variables) and rules. The rules start by a line which defines dependency of rule target(s) on the dependencies listed after the colon. The dependencies are names of files or abstracts commands which as to be (make) available before the commands following the first rule line can create required results. File names can be complete names or their base part can be substituted by character “%” which allows specifying rule for a whole class of transformations from one compilation stage to another. Even more complete template for the compilation of assembler and C source files to MIPS target platform with an automatic building of dependencies on header files can be found in directory /opt/apo/qtmips_template on the computers in the laboratory.

#### Compilation

A compilation is invoked by a command make (the make has to be invoked in the directory where Makefile and program source code are located). Make generates multiple output files. The file without an extension is used for execution in QtMips environment. The process of compilation translated the compilation unit (one source wile together with includes header files for a simple case) into object files (.o) in relocatable form. Object files are then collected by the linker which resolves address references between compilation units and locates code to the final addresses. It is necessary to equip the actual sequences of machine instructions by the envelope which specifies where to fill references during .o files linking during the final placement on the specified addresses. Even instruction and data in the final executable form usually require some information for operating systems where they should be loaded/mapped in the memory or process address-space. The ELF (Executable and Linkable Format) is used to store these metadata in our case and generally on most of the modern systems.

#### Determine variable addresses and correspondence of source code and final ELF executable

Next command can be used to find addresses of the final location of variables and data entries after linking

mips-elf-nm program

The list of sections and their locations can be listed by

mips-elf-objdump --headers program

List final machine code after translation with corresponding source lines

mips-elf-objdump --source program

1. learn how to use compiler and simulator
2. change program to run memory read and write in a loop (try to modify program directly in the simulator, change break to nop)
3. computation with vector - return to the source and define vectors vec_a, vec_b, vec_c - four word elements each and use lw, sw and add instructions to compute vec_c[0] = vec_a[0] + vec_b[0]
4. extend program to compute sum for each vec_c element in introduced the inner loop
5. implementation of program to compute n-th member of Fibonacci series
6. start of the work on bubble-sort algorithm
• GNU MIPS-ELF corss-compiler - compiler of C language and assemblr, packages for Debian GNU/Linux x86_64, i586 and Windows, configuration and build of compiler form its source code
• gcc-binutils-newlib-mips-elf_4.4.4-1_mingw32.zip - MIPS-ELF GCC 4.4.4 compiled for MinGW32 (Windows) - it requires to use switches -lm -lgcc -lc for larger programs, for simple programs in assembler without libraries, next options are required -nostdlib -nodefaultlibs -nostartfiles
• MIPS processor description - including instruction set
• Missouri State University - Nice simulator in Java language
• It requires assembly without macro-definitions (preprocessed).

gcc -E assembler.S -o preprocessed-pro-mips.s can be used for preprocessing.


text:
# Dynamic Geometry: P32 Series

This note is a compilation of calculations needed in the solutions to the problems titled Dynamic Geometry: P32, 77, 89, 94, 98, and 134 so far by @Valentin Duringer.

Let the center of the large semicircle be $O(0,0)$, the origin of the $xy$-plane, its radius $1$, if it is not given, and its diameter $AB$. Let the center and radius of the cyan semicircle be $P$ and $r_1$ and those of the green semicircle be $Q$ and $r_2$. Then $2r_1+2r_2 = AB = 2 \implies r_1 + r_2 = 1 \implies r_2 = 1 - r_1$, $P=(-1+r_1, 0) = (-r_2, 0)$, and $Q = (1-r_2, 0) = (r_1, 0)$.

Let the center and radius of the left yellow circle be $S(x_3, y_3)$ and $r_3$, those of the right yellow circle be $T(x_4, y_4)$ and $r_4$, $CD$ be the vertical dividing red segment, $T_2T$ be perpendicular to $CD$, and $TN$ be perpendicular to $AB$. Then by Pythagorean theorem,

\begin{aligned} TN^2 & = TQ^2 - NQ^2 = TQ^2 - (DQ-T_2T)^2 \\ \implies y_4^2 & = (r_2+r_4)^2 - (r_2-r_4)^2 = 4r_2r_4 \end{aligned}

Also

\begin{aligned} TO^2 - ON^2 & = TN^2 \\ TO^2 - (OQ-NQ)^2 & = TN^2 \\ TO^2 - (OQ-(DQ-T_2T))^2 & = TN^2 \\ (1-r_4)^2 - (r_1 - r_2 + r_4)^2 & = y_4^2 \\ (r_1 + r_2 - r_4)^2 - (r_1 - r_2 + r_4)^2 & = 4r_2r_4 \\ 2r_1(2r_2-2r_4) & = 4r_2r_4 \\ r_1r_2 - r_1r_4 & = r_2r_4 \\ r_1r_2 & = (\blue{r_1+r_2}) r_4 & \small \blue{\text{Note that }r_1+r_2 = 1} \\ \implies r_4 & = r_1r_2 \end{aligned}

Since if we flip the yellow circles and the semicircles below them horizontally about $CD$, $r_1$ becomes $r_2$ and $r_3$ becomes $r_4$. We get the equation for $r_3$ by swapping $r_1$ and $r_2$. Then $r_3 = r_2r_1 = r_4$. Similarly, $y_4 = 2\sqrt{r_2r_4} = 2r_2\sqrt{r_1} \implies y_3 = 2r_1\sqrt{r_2}$. And $x_4 = ON = OQ-(DQ-T_2T) = r_1-r_2+r_4 = r_1-r_2 + r_1r_2 = r_1 - r_2^2$. Swapping (r_1) with $-r_2$, $implies x_3 = r_1^2 - r_2$.

In summary:

$\begin{cases} O(0,0) & 1 \\ P(-r_2,0) & r_1 \\ Q(r_1, 0) & r_2 = 1 - r_1 \\ S(r_1^2-r_2, 2r_1\sqrt{r_2}) & r_1r_2 \\ T(r_1-r_2^2, 2r_2\sqrt{r_1}) & r_1r_2 \end{cases}$

## Vertices of Triangles

Let $S_1(x_{31}. y_{31})$, $S_2(x_{32}. y_{32})$, and $S_3(x_{33}. y_{33})$ be the points where the left yellow circle tangent to the semicircle below it, the segment $CD$, and the unit semicircle respectively. Let the corresponding points of the right yellow circle be $T_1(x_{41}. y_{41})$, $T_2(x_{42}. y_{42})$, and $T_3(x_{43}. y_{43})$ respectively.

Now let $MT_1$ be perpendicular to $TN$. Then

$\begin{cases} x_{41} =x_4+MT_1 = x_4+ \dfrac {r_4(r_1-x_4)}{r_2+r_4} = \dfrac {2r_1-r_2}{1+r_1} \\ y_{41} = \dfrac {r_2y_4}{r_2+r_4} = \dfrac {2r_2\sqrt{r_1}}{1+r_1} \end{cases} \\ \begin{cases} x_{42} = OD = r_1 - r_2 \\ y_{42} = y_4 = 2r_2\sqrt{r_1} \end{cases} \\ \begin{cases} x_{43} = \dfrac {x_4}{1-r_4} = \dfrac {r_1-r_2^2}{1-r_1r_2} \\ y_{43} = \dfrac {y_4}{1-r_4} = \dfrac {2r_2\sqrt{r_1}}{1-r_1r_2} \end{cases}$

Similarly for the coordinates of $S_1$, $S_2$, and $S_3$. So in summary:

$\begin{cases} S_1 \left(\dfrac {r_1-2r_2}{1+r_2}, \dfrac {2r_1\sqrt{r_2}}{1+r_2}\right), & T_1 \left(\dfrac {2r_1-r_2}{1+r_1}, \dfrac {2r_2\sqrt{r_1}}{1+r_1} \right) \\ S_2 \left(r_1 - r_2, 2r_1\sqrt{r_2} \right), & T_2 \left(r_1 - r_2, 2r_2\sqrt{r_1} \right) \\ S_3 \left(\dfrac {r_1^2-r_2}{1-r_1r_2}, \dfrac {2r_1\sqrt{r_2}}{1-r_1r_2} \right), & T_3 \left(\dfrac {r_1-r_2^2}{1-r_1r_2}, \dfrac {2r_2\sqrt{r_1}}{1-r_1r_2} \right) \end{cases}$

Note by Chew-Seong Cheong
5 months ago

This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.

When posting on Brilliant:

• Use the emojis to react to an explanation, whether you're congratulating a job well done , or just really confused .
• Ask specific questions about the challenge or the steps in somebody's explanation. Well-posed questions can add a lot to the discussion, but posting "I don't understand!" doesn't help anyone.
• Try to contribute something new to the discussion, whether it is an extension, generalization or other idea related to the challenge.

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold
- bulleted- list
• bulleted
• list
1. numbered2. list
1. numbered
2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in $$ ... $$ or $ ... $ to ensure proper formatting.
2 \times 3 $2 \times 3$
2^{34} $2^{34}$
a_{i-1} $a_{i-1}$
\frac{2}{3} $\frac{2}{3}$
\sqrt{2} $\sqrt{2}$
\sum_{i=1}^3 $\sum_{i=1}^3$
\sin \theta $\sin \theta$
\boxed{123} $\boxed{123}$

Sort by:

Cool I spotted a mistake in this compilation..Left for you as an assignment.

- 3 months, 1 week ago

format: plain


text:
## April 21, 2006

### Huybrechts on Branes in K3, I

#### Posted by Urs Schreiber

Yesterday we had Daniel Huybrechts from Bonn talking in the ZMP seminar about stability conditions on derived categories of coherent sheaves over K3 surfaces.

Daniel Huybrechts
Derived and Abelian Equivalence of K3 Surfaces
math.AG/0604150

which is based on work by Bridgeland, who defined and studied stability conditions on triangulated categories in

Tom Bridgeland
Stability Conditions on Triangulated Categories
math.AG/0212237

and applied that to the case of derived categories of coherent sheaves on K3 surfaces in

Tom Bridgeland
Stability conditions on K3 surfaces
math.AG/0307164 .

This is pure math, but there is a nice dictionary which maps it 1-1 to the physics of D-branes. For a good overview of how this works see

Paul S. Aspinwall
D-Branes on Calabi-Yau Manifolds
hep-th/0403166,

which I once tried to summarize here.

Roughly, this dictionary is as follows:

A “geometric brane” for a B-model topological string on $X$ (i.e. a brane which can be regarded as a submanifold of $X$ with a vector bundle on it) is encoded in a coherent sheaf on $X$.

The general brane for the B-model string is obtained by stacking a collection of geometric branes and anti-branes on top of each other and turning on tachyon condensates between them (which in part mutually annihilates them, the remaining piece being a general brane). In the formalism, this corresponds to a bounded complex of coherent sheaves on $X$ (with the differential of the complex encoding the tachyonic string condensates stretching between the branes).

But ultimately we are interested not in the boundary conditions (= branes) of the topological B-model string, but of the physical type II string (i.e. of a CFT instead of a TQFT).

It turns out that all the branes of the topological B-string correspond to branes of the physical string - but not all of them are “stable” for the physical string. Instead, every brane for the topological string is supposed to decay into a collection of stable branes - the physical BPS branes.

More precisely, the derived category of coherent sheaves is what is called “triangulated”, which means that it contains lots of certain triangle diagrams (i.e. collections of three of its objects with certain morphism between them, satisfying some conditions). These triangles precisely encode the “brane chemistry”. Roughly, a triangle

(1)$A\to B\to C$

says (as familiar from exaxt sequences), that the brane $B$ is an “extension” of the brane $C$ by the brane $A$. In other words, the existence of this triangle encodes the potential brane reaction

(2)$B↔A+C\phantom{\rule{thinmathspace}{0ex}}.$

This is very much like in chemistry. (And of course oversimplified, see section 6.2 of Aspinwall’s review for the details.)

Which branes are stable and which are not is encoded by a “stability condition”, which, on the physics side, is called $\Pi$-stability. As far as I am aware, the entire motivation for Bridgeland to define stability conditions on triangulated categories comes from the desire to axiomatize this piece of physical input. The abstract definition of a stability condition on a triangulated category may look completely ad hoc, its natural meaning becomes manifest once you think of distinguished triangles as describing reaction processes of fusion and decay of branes.

Hence, whether one is interested in D-branes or not, when reasoning about stability condtions on derived categories of coherent sheaves it helps a lot to keep the above dictionary in mind. It makes many of the constructions and results better memorizable. (For more on the physics side see Eric Sharpe’s encyclopedia entry $\to$).

All, right, below I reproduce a transcript of the talk.

The talk consisted of two parts:

I) Introduction to the concept of derived categories of coherent sheaves.

II) Equivalences of categories versus isomorphism of target spaces.

The main result presented (theorem 0.1 in Huybrechts’ paper mentioned above) says, in terms of the physics side of the dictionary, that two K3 surfaces are indistinguishable as target spaces for the topological string if and only if there are complexified Kähler classes on them which make them indistinguishable for the physical string.

The following are the notes that I took in the talk (I have included some links and some personal comments, set in italics). The notes on part II) are given in a seperate entry.

I) Introduction to the concept of derived categories of coherent sheaves.

In the following, $X$ denotes an algebraic variety ($\to$), more precisely, a smooth projective variety sitting in some projective space. Later we restrict attention to $X$ being a K3 surface ($\to$).

Denote by $\mathrm{Coh}\left(X\right)$ the category of coherent sheaves ($\to$) on $X$.

Examples for coherent sheaves on $X$ are

i) Holomorphic vector bundles ($\to$) on $X$ are coherent sheaves (or rather, their sheaves of sections are). (This corresponds to stacks of space-filling geometric branes.)

ii) If $C\subset X$ is a holomorphic curve, then its structure sheaf ${O}_{C}$ is a coherent sheaf. (This would be a lower-dimensional geometric brane.)

iii) For every point $x\in X$, the skyscraper sheaf $k\left(x\right)$ is a coherent sheaf. (This is the sheaf whose fiber over $U$ is nonempty precisely if $x\in U$). (These skyscrapersheaves encode 0-branes, localized at points (we do not consider a temporal deriction in this sort of game).))

iv) Let $E$ be a vector bundle on $X$, or rather its sheaf of sections, and let $E\to k\left(x\right)$ be the obvious projection onto the skyscraper sheaf at $x$, then

(1)$F:=\mathrm{ker}\left(E\to k\left(x\right)\right)$

is a torsion free coherent sheaf.

For $E$ trivial this is the “ideal sheaf” (with “ideal” in the sense of ideal of a ring) ${I}_{x}$, namely the sheaf of holomorphic functions vanishing at the point $x$.

(This corresponds to a space filling stack of D-branes having reacted with an anti-0-brane at position $x$.)

Once we understand these examples, we understand all coherent sheaves, in the sense that every coherent sheaf can be constructed by performing direct sums, quotients, kernels, etc. (etc?) of the sheaves in the above examples.

Next, we pass from $\mathrm{Coh}\left(X\right)$ to ${D}^{b}\left(\mathrm{Coh}\left(X\right)\right)$, its derived category ($\to$, $\to$).

This works as follows.

Denote by ${K}^{b}\left(X\right):={K}^{•}\left(\mathrm{Coh}\left(X\right)\right)$ the category of bounded complexes of coherent sheaves. Its objects are bounded complexes, its morphisms are chain homotopy classes of chain maps between morphisms.

(BTW, what would happen if we did not divide out by chain homotopies? If we even considered the full 2-category of complexes, chain maps and chain homotopies?)

(Given any complex, we can compute its cohomology in every degree. We can regard the collection of the cohomologies as a complex themselves, with all differentials being trivial. Given a chain map between two complexes, we get a chain map between the corresponding trivial complexes of cohomologies. Hence cohomology is really a functor from the category of complexes of coherent sheaves to to the category of complexes of abelian groups. If a morphism in ${K}^{b}\left(X\right)$ is not an isomorphism, but maps to an isomorphism under this functor, then we call it a “quasi isomorphism”.)

The derived category ${D}^{b}\left(X\right):={D}^{b}\left(\mathrm{Coh}\left(X\right)\right)$ is like ${K}^{b}\left(X\right)$, but with all quasi-isomorphisms regarded as true isomorphisms.

This is a special case of “localization of a category” ($\to$).

Now, ${D}^{b}\left(X\right)$ is no longer abelian ($\to$) - but it is triangulated ($\to$)!

In fact, every derived category of any abelian category is triangulated. This is hence not a special property of coherent sheaves. On the other hand ${D}^{b}\left(X\right)$ is actually $ℂ$-linear triangulated (which hopefully means the obvious thing).

A category being triangulated means in particular that it carries the following two crucial structures.

i) There is a shift endomorphism

(2)$\begin{array}{ccc}{D}^{b}\left(X\right)& \stackrel{\sim }{\to }& {D}^{b}\left(X\right)\\ {E}^{•}& ↦& E\left[1{\right]}^{•}\end{array}$

(for the case of derived categories $E\left[1\right]$ is the same complex as $E$, but shifted in degree to the left, by one unit, i.e. $E\left[1{\right]}^{n}={E}^{n+1}$)

and

ii) there are “distinguished triangles”, which are diagrams

(3)${E}^{•}\to {F}^{•}\to {G}^{•}\to E\left[1{\right]}^{•}\phantom{\rule{thinmathspace}{0ex}}.$

As an example: every “mapping cone” ($\to$) gives rise to such a triangle.

(See math.AG/0001045 for an explanation of the mapping cone and why it has the name it has. The triangle obtained from the mapping cone of the map $E\stackrel{f}{\to }F$ between “geometric branes” $E$ and $F$ corresponds to the D-brane reaction induced by $f$ when this is regarded as a tachyon condensate of strings stretching between brane $E$ and brane $F$.)

We also need to mention something called a t-structure ($\to$) on a triangulated category. This is a collection of subcategories with some properties. For derived categories, such subcategories include ${D}^{\le 0}\left(X\right)$ and ${D}^{\ge 0}\left(X\right)$, the subcategories of complexes concentrated in non-positive or in non-negative degree, respectively.

The intersection of these two subcategories is called the core of ${D}^{b}\left(X\right)$. Evidently, this is naturally identified with the original category $\mathrm{Coh}\left(X\right)$.

Continue reading part II of these notes.

Posted at April 21, 2006 11:01 AM UTC

TrackBack URL for this Entry:   http://golem.ph.utexas.edu/cgi-bin/MT-3.0/dxy-tb.fcgi/796


text:
# Scipy Lfilter Vs Filtfilt

ndimage import imread from skimage. Smith's text on DSP. An excellent textbook on algorithms for image processing for upper-level undergraduate students. Symmetric linear-phase FIR filters are constructed, and if phase='zero' (default), the delay of this filter is compensated for, making it non-causal. While this approach has many applications in chemical biology, it is particularly relevant to cancer therapy, where clinical compounds or chemical probes are profiled to identify mutations that inform on genetic vulnerabilities, resistance mechanisms, or targets []. :math: $$\langle$$ tab $$\rangle$$. Source code is ava. Designing a lowpass FIR filter is very simple to do with SciPy, all you need to do is to define the window length, cut off frequency and the window. I have an array of date whose sampling rate is 160GHz, and I wish to apply 30kHz-100kHz bandpass filter to the data. N = 4; % Filter order is N. This function uses the window method to create a linear phase FIR filter with an arbitrary frequency response. Note that the filter design function in scipy takes the cuttoff frequency divided by the nyquist rate. A filter's frequency response can be plotted using function freqz. org Mailing Lists: Welcome! Below is a listing of all the public Mailman 2 mailing lists on mail. 2 GHz i7) Tom Dean ## Compare the. SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering. signal import lfilter, lfilter_zi, filtfilt, butter from pandas import DataFrame from. ; Arnett, W. Before applying the filter, the function can pad the data along the given axis in one of three ways. A typical use of this function is to set the initial state so that the output of the filter starts at the same value as the first element of the signal to be filtered. Also note the use of the filtfilt, which applies the filter once forward and once backward to eliminate the lag due to the fact that the convolution needs to 'buffer' some initial points at the beginning. Rewrote much of lfilter_zi, and added a docstring that explains what it does. For more information on their behavior, see the SciPy documentation and SciPy tutorial. butter) with the transfer function. Hi! I designed a Butterworth 8th order bandpass filter (1-50Hz passband)and tried implementing it using filter. median filter window in each. It is an interactive computational environment, in which you can combine code execution, rich text, mathematics, plots and rich media. Camps, PSU since this is a linear operator, we can take the average around each pixel by convolving the image with this 3x3. 1Written by the SciPy communityJune 21, 2017 CONTENTSi ii SciPy Reference. We will cover different manipulation and filtering images in Python. SciPy is a Python library of mathematical routines. Hire the best freelance Data Scientists in Manchester, ENG on Upwork™, the world's top freelancing website. This site uses cookies for analytics, personalized content and ads. freqz has been sped up significantly for FIR filters. The equivalent python code is shown below. 0 to 1 for butter vs 0 to π for freqz), leading to errors and confusion. signal, which you'll want to get familiar with. OK, I Understand. scipy can be compared to other standard scientific-computing libraries, such as the GSL (GNU Scientific Library for C and C++), or Matlab's toolboxes. By continuing to browse this site, you agree to this use. How To Automate Decline Curve Analysis (DCA) in Python using SciPy's optimize. As a result, input signals get attenuated twice as much. filtfilt¶ scipy. In this line, we create the filter and store filter coefficients in variables b and a. If phase=='zero-double', then this filter is applied twice, once forward, and once backward (also making it non-causal). Using lambdas with filter. From Vancouver R Users Group (data analysis / statistics) Public group? This is a. The cutoff frequency for a reduction factor of r is. Finding the problem may be arduous, since (a) the R function stats::filter() is not well documented, regarding init, init. butter(order, critical_frequecy) # computing the padlen padlen = 100 # Creating a vector with the same length as padlen data = np. Learn more. digital filter. Rewrote much of lfilter_zi, and added a docstring that explains what it does. In the chapters where he compares IIR filters (Chebyshev and Butterworth) to FIR filters (windowed-sinc filter), he mostly just mentions execution time as the advantage of Chebyshev filters, saying that FIR filters perform better but are slower. Instead of build Numpy/Scipy with Intel ® MKL manually as below, we strongly recommend developer to use Intel ® Distribution for Python*, which has prebuild Numpy/Scipy based on Intel® Math Kernel Library (Intel ® MKL) and more. 7 nm) ASIs at Muonio in Finland. You get twice the attenuation and zero phase shift. lfilter_zi (b, a) [source] ¶ Construct initial conditions for lfilter for step response steady-state. lfilter(); 'sosfiltfilt': scipy. The function uses decimation algorithms 8. This is also how it is implemented in the newer FIR filters in EEGLAB (basic new, windowed sinc, equiripple). SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. Hi Scipy Users - Am I correct in reading that filtfilt in scipy. The objective of this tutorial is to give a brief idea about the usage of SciPy library for scientific computing problems in Python. Intuitively, we might think of a cluster as comprising a group of data points whose inter-point distances are small compared with the distances to points outside of the cluster. The following are code examples for showing how to use scipy. 0) does not extrapolate data at the beginning and the end. This page lists a number of packages related to numerics, number crunching, signal processing, financial modeling, linear programming, statistics, data structures, date-time processing, random number generation, and crypto. What type of filter is best suitable for filtering EEG data? I have EEG data of size [63 1250 513], sampling rate is 500 and i want to filter it at [8 13] Hz band. To filter the signal, with the filter coefficients we just created, there are a couple different functions to use from the scipy. , Erik A Christensen, Francisco J. [SciPy-User] scipy. Phase of the filter, only used if method='fir'. Problem: I wanted to use filtfilt, which filters data in the forward direction and then again in the reverse direction, resulting in a zero phase distortion. Author: Matti Pastell Tags: SciPy, Python, DSP Jan 18 2010. , using a Gaussian filter) before applying the Laplacian. By mapping to this space, we can get a better picture for how much of which frequency is in the original time signal and we can ultimately cut some of these frequencies out to remap back into time-space. order_filter. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. Reverse filtering (i. In our previous Python Library tutorial, we saw Python Matplotlib. 1 1 1 Box filter 1/9 1 1 1 1 1 1 O. In the chapters where he compares IIR filters (Chebyshev and Butterworth) to FIR filters (windowed-sinc filter), he mostly just mentions execution time as the advantage of Chebyshev filters, saying that FIR filters perform better but are slower. The forward-backward filter function scipy. 8/r or 1/r, so you won't get a lot of distortion. Scipy Filter B A. In order to derive the coefficients of the Wiener filter, consider the signal w[n] being fed to a Wiener filter of order (number of past taps) N and with coefficients {, ⋯,}. In this presentation, we compare four quite different methods for working with unstructured positional data, together with structured. decimate¶ scipy. Pandas provides data structures for efficiently storing sparse data. its peaks don't seem to coincide with the peaks in the raw time series. filtfilt, a linear filter that achieves zero phase delay by applying an IIR filter to a signal twice, once forwards and once backwards. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array manipulation. Averaging / Box Filter •Mask with positive entries that sum to 1. lfilter (b, a, x[, axis, zi]) Filter data along one-dimension with an IIR or FIR filter. This still left us with squared peaks, so I decided to apply a filter to the data. Just keep in. Since v was ok before the filter, and wrong after, the problem seems to be in filter(). Get newsletters and notices that include site news, special offers and exclusive discounts about IT products & services. Since all three sections contribute to the same passband and stopband, it is numerically advisable to choose a series second-order-section implementation, so that their passbands and stopbands will multiply together instead of add. Some of the resources mentioned here require Python >3. Phase of the filter, only used if method='fir'. This I read would help me "zero phase digital filtering ". FIR filter uses only current and past input digital samples to obtain a current output sample value. It includes a use case where we will implement logistic regression using scikit learn. Edit (12/1/18): I use Python almost exclusively now. Hire the best freelance Data Scientists in Manchester, ENG on Upwork™, the world's top freelancing website. So filtfilt() is probably what you want. Here's a modified version of your script. firwin2 was added. filtfilt() implements filter() twice. butter to create a bandpass Butterworth filter. • FIR Filter Designer was developed in Python to allow users to take advantage of the new FIR filter implementation • Export filter coefficients to file for immediate use in IADS • Linear phase in passband is desirable for certain analyses • Interactive (TKinter library) Filter Tools (continued). SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering. signal improvements. Table 2 shows. This I read would help me "zero phase digital filtering ". What type of filter is best suitable for filtering EEG data? I have EEG data of size [63 1250 513], sampling rate is 500 and i want to filter it at [8 13] Hz band. Since v was ok before the filter, and wrong after, the problem seems to be in filter(). What is NumPy? Why is NumPy Fast? Who Else Uses NumPy? Installing NumPy; Quickstart tutorial. , filtfilt) is NOT necessary for linear phase filters to make them zero-phase. A key point to remember is that in python array/vector indices start at 0. This is also how it is implemented in the newer FIR filters in EEGLAB (basic new, windowed sinc, equiripple). Hi! I designed a Butterworth 8th order bandpass filter (1-50Hz passband)and tried implementing it using filter. Symmetric linear-phase FIR filters are constructed, and if phase='zero' (default), the delay of this filter is compensated for, making it non-causal. Numerical studies of nonspherical carbon combustion models. [SciPy-User] scipy. , using a Gaussian filter) before applying the Laplacian. Get newsletters and notices that include site news, special offers and exclusive discounts about IT products & services. This cookbook example shows how to design and use a low-pass FIR filter using functions from scipy. Wiener filter The Wiener filter is a simple deblurring filter for denoising images. This still left us with squared peaks, so I decided to apply a filter to the data. sosfiltfilt. Default is 4. The order filter takes an additional argument besides the input array and the region mask that specifies which of the elements in the sorted list of neighbor array values should be used as the output. lfilter_zi¶ scipy. The filtering works for cutoff frequencies less than 0. R from Python vs Python's native numpy/Pandas/scipy. Data Science Certification Courses. Prerequisites; The Basics. Scikit learn blog will introduce you to Machine Learning in python. filtfilt¶ scipy. *FREE* shipping on qualifying offers. , Erik A Christensen, Francisco J. TVTK wraps VTK objects to provide a convenient, Pythonic API, while supporting Traits attributes and NumPy/SciPy arrays. lfiltic (b, a, y[, x]) Construct initial conditions for lfilter. Infinite impulse response (IIR) filters. Genome data is one of the most widely analyzed datasets in the realm of Bioinformatics. A key point to remember is that in python array/vector indices start at 0. This tutorial is an introduction SciPy library and its various functions and utilities. This works for many fundamental data types (including Object type). random(padlen) # The next instruction will raise the error: # ValueError: The. kernel_size - A scalar or an N-length list giving the size of the. sosfiltfilt. There is also an input multiplexer and adder. Since all three sections contribute to the same passband and stopband, it is numerically advisable to choose a series second-order-section implementation, so that their passbands and stopbands will multiply together instead of add. fftfilt, filter, filter2. medfilt(volume, kernel_size=None)¶ Perform a median filter on an N-dimensional array. filtfilt minimizes start-up and ending transients. gaussian_filter for example. signal in which the sampling frequency can be specified. We use cookies for various purposes including analytics. Smooth data with a Savitzky-Golay smoothing filter. Anisotropic, Dynamic, Spectral and Multiscale Filters Defined on Graphs. Smith's text on DSP. They are extracted from open source Python projects. Taking the log compresses the range significantly. The combined filter has linear phase. [SciPy-User] Decimate and filtfilt. TVTK is implemented mostly in pure Python, except for a small extension module. A step-by-step practical tutorial meant to walk the reader through publishing their first Python package. differences between function filtfilt and filter?. These packages are not. filtfilt (b, a, x, axis=-1, padtype='odd', padlen=None, method='pad', irlen=None) [source] ¶ Apply a digital filter forward and backward to a signal. Time series were filtered using MATLAB’s filtfilt. y, and (b) the Octave filter() spans 700 lines of C, so it is hard to reverse engineer to figure out what it's doing. N = 4; % Filter order is N. 0 to 1 for butter vs 0 to π for freqz), leading to errors and confusion. 09082 completely eliminates that signal. Applying a filter to a signal causes a frequency-dependent phase shift. This page lists a number of packages related to numerics, number crunching, signal processing, financial modeling, linear programming, statistics, data structures, date-time processing, random number generation, and crypto. ) The spectrum can contain both very large and very small values. Filter the EMG signal to smooth it. Please note: The application notes is outdated, but keep here for reference. The forward-backward filter function scipy. To apply a filter to a 1-D audio waveform, Matlab provides function filtfilt, which takes as arguments the result [b, a] from butter, the waveform, and a value denoting the order (number of coefficients) of the filter. random(padlen) # The next instruction will raise the error: # ValueError: The. By default, an order 8 Chebyshev type I filter is used. scipy can be compared to other standard scientific-computing libraries, such as the GSL (GNU Scientific Library for C and C++), or Matlab's toolboxes. SciPy versus NumPy. The pylab module from matplotlib is used to create plots. How to solve nonlinear equation with Python with three unknowns and hundreds of solutions? python,numpy,scipy,nonlinear-optimization. K- means clustering with scipy K-means clustering is a method for finding clusters and cluster centers in a set of unlabeled data. We use cookies for various purposes including analytics. scripting languages such as Matlab , Scipy , Octave etc are e cient to prototype algorithms (more than C++/Fortran) Matlab is not free neither open source. As the filter order increases, the phase distortion near and in the transition band worsens. How To Automate Decline Curve Analysis (DCA) in Python using SciPy's optimize. iso_tr_25417_2007 import REFERENCE_PRESSURE from acoustics. The option to use Gustafsson's method for choosing the initial conditions of the forward and backward passes was added to scipy. One thing that is sort of annoying, is that often if you do scipy. Here in this SciPy Tutorial, we will learn the benefits of Linear Algebra, Working of Polynomials, and how to install SciPy. It takes several minutes to run. This example illustrates the design of a 5th-order Butterworth lowpass filter, implementing it using second-order sections. A 30 point FIR filter with Hamming window is used if ftype is ‘fir’. scipy中 filtfilt和lfilter 区别 scipy. I'm currently reading Steven W. (Formerly known as the IPython Notebook)¶ The IPython Notebook is now known as the Jupyter Notebook. SciPy versus NumPy. In this line, we create the filter and store filter coefficients in variables b and a. y, and (b) the Octave filter() spans 700 lines of C, so it is hard to reverse engineer to figure out what it’s doing. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. 4, and at this time Python 3. sequel pro for windows JunIf your company has more than 10 …Thanks for sharing your problem with us, according to me Sequel Pro is a Mac database management application for working with MySQL database. SciPy and friends can be used for a variety of tasks: NumPy’s array type augments the Python language with an efficient data structure useful for numerical work, e. NumPy also provides basic numerical routines, such as tools for finding eigenvectors. Path to which to save this dataset. If x has dimension greater than 1, axis determines the axis along which the filter is applied. Import DataÂ¶. It applies the filter twice, once forward and once backward, resulting in zero phase delay. How to plot the frequency spectrum with scipy Spectrum analysis is the process of determining the frequency domain representation of a time domain signal and most commonly employs the Fourier transform. signal vs Matlab: filtfilt and reflection. scipy can be compared to other standard scientific-computing libraries, such as the GSL (GNU Scientific Library for C and C++), or Matlab's toolboxes. Hire the best freelance Data Scientists in Manchester, ENG on Upwork™, the world's top freelancing website. Before applying the filter, the function can pad the data along the given axis in one of three ways. These packages are not. Would you like to try it too?. , manipulating matrices. Description: Apply a median filter to the input array using a local window-size given by kernel_size. Source code for mosaic. Bandpassfilters and Hilbert Transform Summary of Chapter 14 In Analyzing Neural Time Series Data: Theory and Practice Lauritz W. How To Automate Decline Curve Analysis (DCA) in Python using SciPy’s optimize. As the name suggests, filter is another built-in function that actually filters a sequence or any iterable object. filtfilt() implements filter() twice. We often encounter the following scanarios involving for-loops:. This makes these functions consistent with many other functions in scipy. I tested filtfilt out on the full 12-second water level data and everything seemed hunky dory. Learn more about why function filtfilt can produce negative values for a positive input data?. in (in India). A short course presenting the application of machine learning methods to large datasets. And here is a notable merit of 'scipy. The method that gives me the output that I expect depends on what type of filter I am applying. Decimation reduces the original sample rate of a sequence to a lower rate. signal in which the sampling frequency can be specified. , Erik A Christensen, Francisco J. A key point to remember is that in python array/vector indices start at 0. In the original code that you've linked to the _compute_covariance method sets the covariance matrix for the Gaussian kernel as the product of the factor provided by calling either scotts_factor or silverman_factor and the data covariance. I was using the scipy. optimize solvers; Refactor of the datasets sub-package. Whereas, the filter function gives the output that is of same length as that of the input $$x$$. Reconstructed function Filter Transformed function Sample Bandlimited function. Chapter 14: Introduction to Digital Filters. More than 5 years have passed since last update. 7 Ghz dual core > i5. Get notifications on updates for this project. SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. This is a follow-on to my previous post on green noise. The SciPy stack offers a suite of popular Python packages designed for numerical computing, data transformation, analysis and visualization, which is ideal for many bioinformatic analysis needs. TVTK wraps VTK objects to provide a convenient, Pythonic API, while supporting Traits attributes and NumPy/SciPy arrays. signal) ¶ The function scipy. lfilter¶ scipy. The Python programming language (either version 2 or 3) will be used for all course work; We will use the numpy, matplotlib, and scipy libraries. Analog (electronic) filters can be used for these same tasks; however, digital filters can achieve far superior results. For more information on their behavior, see the SciPy documentation and SciPy tutorial. 4; % Threshold frequency (in Nyquist units of 1/(2*dt)) [b a] = butter(N,Wn) % Coefficients for 2N-order low-pass Butterworth filter % Use v = filter(b,a,u) to filter the time series u. filtfilt(b, a, x, axis=-1, padtype='odd', padlen=None) [source] ¶ A forward-backward filter. OK, I Understand. In most applications 'filtfilt' should be used, because it doesn't bring about phase shift due. decimate(x, q, n=None, ftype='iir', axis=-1, zero_phase=None) [source] ¶ Downsample the signal after applying an anti-aliasing filter. NumPy/SciPy Application Note. Taking the log compresses the range significantly. lfilter (b, a, x, axis=-1, zi=None) [source] ¶ Filter data along one-dimension with an IIR or FIR filter. Instead of build Numpy/Scipy with Intel ® MKL manually as below, we strongly recommend developer to use Intel ® Distribution for Python*, which has prebuild Numpy/Scipy based on Intel® Math Kernel Library (Intel ® MKL) and more. I'm using the butterworth (4th order) filter and using "designfilt" to build it. One thing that is sort of annoying, is that often if you do scipy. if you want to keep things acausal, you can run it with an FIR filter as well, in which case it filters only forward. This sample code demonstrates the use of the function scipy. Previously, digital filters could only be specified using normalized frequency, but different functions used different scales (e. scripting languages such as Matlab , Scipy , Octave etc are e cient to prototype algorithms (more than C++/Fortran) Matlab is not free neither open source. Blanco-Silva] on Amazon. It is a hybrid of both Numeric and Numarray incorporating features of both. This is a 1-d filter. signal as sig import sys using the pad method in filtfilt so manual it. 0) does not extrapolate data at the beginning and the end. It is an interactive computational environment, in which you can combine code execution, rich text, mathematics, plots and rich media. filtfilt (b, a, x[, axis, padtype, padlen]) A forward-backward filter. Description: Apply a median filter to the input array using a local window-size given by kernel_size. sparse improvements Iterating over and slicing of CSC and CSR matrices is now faster by up to ~35%. filtfilt applies the filter twice, whereas scipy. So, this was all about Image Processing with SciPy and NumPy. interpolate. If ba, returns numerators/denominators of the transfer functions, used for filtering with scipy. While I don't make it a. In the original code that you've linked to the _compute_covariance method sets the covariance matrix for the Gaussian kernel as the product of the factor provided by calling either scotts_factor or silverman_factor and the data covariance. py", line 37, in from. Analog (electronic) filters can be used for these same tasks; however, digital filters can achieve far superior results. Type 2 filters are seldom used, and we won't discuss them. This cookbook recipe demonstrates the use of scipy. There are different functions to filter signals in SciPy: filtfilt runs the filter forward and backward in time acro. N indicates the filter order; that is, the number of coefficients in the filter. Table 2 shows. Filter a data sequence, x, using a digital filter. Learn more. Finding the problem may be arduous, since (a) the R function stats::filter() is not well documented, regarding init, init. The next example shows how filters designed with firls and firpm reflect these different schemes. Today I'm going to implement lowpass, highpass and bandpass example for FIR filters. Filter data along one-dimension with an IIR or FIR filter. linalg import norm from PIL import Image from matplotlib import pyplot as plt, rcParams, rc from scipy. gaussian_filter` for example. m implementation does not work on this type of signal (EEG signal with high level of 60+ Hz noise). The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. The order of the filter is twice the original filter order. This still left us with squared peaks, so I decided to apply a filter to the data. Here we create green noise with Python by passing white noise through a Butterworth filter. This sample code demonstrates the use of the function scipy. mode(array, axis=0) function calculates the mode of the array elements along the specified axis of the array (list in python. We are going to compare the performance of different methods of image processing using three Python libraries (scipy, opencv and scikit-image). Woods, Digital Image Processing, Third Edition, Prentice Hall, 2007. Type help butter to get more info from Matlab SP toolbox. This MATLAB function returns the poles and gain of an order n Butterworth …Matlab Butter Filter crack windows 7 pro. , Erik A Christensen, Francisco J. Smith's text on DSP. m has some reverse filtering implemented, but I am unclear on other parts of the function (as I say I am a novice). It is a hybrid of both Numeric and Numarray incorporating features of both. , manipulating matrices. Applying a FIR filter 18. The method that gives me the output that I expect depends on what type of filter I am applying. And here is a notable merit of 'scipy. Brownian Motion Filtfilt 18. The combined filter has linear phase. OK, I Understand. Please refer to the full user guide for further details, as the class and function raw specifications may not be enough to give full guidelines on their uses. IIR filters are the most efficient type of filter to implement in DSP (digital signal processing). Here in this SciPy Tutorial, we will learn the benefits of Linear Algebra, Working of Polynomials, and how to install SciPy. All the tests will be done using timeit. butter(order, critical_frequecy) # computing the padlen padlen = 100 # Creating a vector with the same length as padlen data = np. leastsq() is designed for such problems. fft interchangeably. Gonzalez and Richard E. Python NumPy SciPy : デジタルフィルタ(ローパスフィルタ)による波形整形 前回 までで fft 関数の基本的な使い方、窓処理について説明しました。 今回はデジタルフィルタによる波形整形について説明します。. Filtering a 1086734-point > 66-channel dataset takes 5 seconds with 265-point filter > (default for 100 Hz-lowpass) and 2 min 16 seconds with > 6145-point filter (your filter length) on my 1. import numpy as np from scipy import signal # create coefficients for the filter order = 4 critical_frequecy = 0. Designing a lowpass FIR filter is very simple to do with SciPy, all you need to do is to define the window length, cut off frequency and the window. :math: $$\langle$$ tab $$\rangle$$. Smith's text on DSP. I have a vague recollection that filtfilt() is only in the signal processing toolbox? If so it wouldn't take too many brain cells to implementy it by hand.


text:
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

## Algebra 2

### Course: Algebra 2>Unit 1

Lesson 3: Adding and subtracting polynomials

\begin{aligned} &G = 3t^2-5t+6 \\\\ &P = -8t^2+7t-9 \end{aligned}


text:
Prevention of Early Frost Damage of the Concrete under Severely Low Temperature according to Heat Curingmethods

Title & Authors
Prevention of Early Frost Damage of the Concrete under Severely Low Temperature according to Heat Curingmethods
Han, min-Cheol;

Abstract
Concrete exposed to severely low temperature below $\small{-20^{\circ}C}$ should be provided with proper heat supplying curing to protect the concrete from early frost damage at the time of pouring.meanwhile, so far, effective heat curingmethods of the concrete under severely low temperature are not well established in Korea. For this reason, the objective of this paper is to provide effective heat curingmethod of concrete exposed to severely low temperature to protect early frost damage by varying the combination of heat curingmaterial combinations. Temperature history,maturity development and core strength results are investigated. Fourmock-up specimens simulating slab, wall and column were prepared and heat insulation, heat supplying and both were applied. Test results indicate that the combination of quadruple layer bubble sheet(4BS) and embedding of heating cable has desirable performance for a slab, and heat supplying curing inside heat enclosure and heat generationmat also shows desirable performance for a wall, and for a column, use of EPS heat insulation has proper performance against early frost damage, which reaches $\small{45^{\circ}D{\cdot}D}$ and helps the concretemaintain above $\small{0^{\circ}C}$ within 3 days. Themethodsmentioned above are believed to be optimum protection from early frost damage of the concrete under $\small{-20^{\circ}C}$.
Keywords
heat curingmethods;temperature history;quadruple layer bubble sheet;heating cable;
Language
Korean
Cited by
References
1.
Han CG, HanmC, Baek DH, Son HJ, Hong SM. Temperature history of concrete according to the coveringmethod of double layer bubble sheet. Proceeding of Korea Institute of Building Construction; 2010may 12; Seoul, Korea. Korea Institute of Building Construction; p. 71-72

2.
Lee DB, Kim HR, Lee JW, ParkJH, Choi IH. A curingmethod of cold weather concreting using heating cable in winter construction. Journal of the Korea Concrete Institute. 2006 Dec;18(6):46-50.

3.
Shim JH. Cold weather construction using outside heat insulation form, Proceeding of Recent Cold Weather Concreting Seminar of Korea Institute of Building Construction; 2014 Dec 12-13; Seoul, Korea. p. 105-18.

4.
Jung EB, Shin HS, HanmC. The effect of heat curingmethods on the protection against frost damage at early age of the concrete under extremely cold climate. Journal of the Korea Institute of Building Construction. 2013 Dec.;13(6):513-21.

5.
Han SH, Kim JK, Park YD. Prediction of compressive strength of fly ash concrete by a new apparent activation energy function. Journal of the Korea Concrete Institute, 2001 June;13(3):237-43.

6.
Nakashimam. Recommendation for cold weather concreting, 5th ed. Tokyo: Architectural Institute of Japan; 2010. p. 1-25.


text:
## Results (9 matches)

Label Dim. $$A$$ Field CM Traces A-L signs $q$-expansion
$$a_2$$ $$a_3$$ $$a_5$$ $$a_7$$ 2 3 7
4704.2.a.t $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$-2$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}-2q^{5}+q^{9}-4q^{11}+2q^{13}+\cdots$$
4704.2.a.v $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$-2$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}-2q^{5}+q^{9}-2q^{13}-2q^{15}+\cdots$$
4704.2.a.w $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$-1$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}-q^{5}+q^{9}+q^{11}-q^{15}+8q^{17}+\cdots$$
4704.2.a.bd $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$2$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}+2q^{5}+q^{9}+2q^{11}+2q^{15}+\cdots$$
4704.2.a.be $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$2$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}+2q^{5}+q^{9}+4q^{11}+6q^{13}+\cdots$$
4704.2.a.bg $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$4$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}+4q^{5}+q^{9}+2q^{11}+2q^{13}+\cdots$$
4704.2.a.bh $$1$$ $$37.562$$ $$\Q$$ None $$0$$ $$1$$ $$4$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}+4q^{5}+q^{9}+6q^{11}-5q^{13}+\cdots$$
4704.2.a.br $$2$$ $$37.562$$ $$\Q(\sqrt{2})$$ None $$0$$ $$2$$ $$0$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}+\beta q^{5}+q^{9}-\beta q^{11}+\beta q^{15}+\cdots$$
4704.2.a.bv $$3$$ $$37.562$$ 3.3.621.1 None $$0$$ $$3$$ $$0$$ $$0$$ $$-$$ $$-$$ $$-$$ $$q+q^{3}-\beta _{2}q^{5}+q^{9}+(\beta _{1}+\beta _{2})q^{11}+\cdots$$


text:
# Seminar on Free Probability and Random Matrices Fall 2015

## Organizer: J. Mingo <!-- // // format date as dd-mmm-yy // example: 12-Jan-99 // function date_ddmmmyy(date) { var d = date.getDate(); var m = date.getMonth() + 1; var y = date.getYear(); // handle different year values // returned by IE and NS in // the year 2000. if(y >= 2000) { y -= 2000; } if(y >= 100) { y -= 100; } // could use splitString() here // but the following method is // more compatible var mmm = ( 1==m)?'Jan':( 2==m)?'Feb':(3==m)?'Mar': ( 4==m)?'Apr':( 5==m)?'May':(6==m)?'Jun': ( 7==m)?'Jul':( 8==m)?'Aug':(9==m)?'Sep': (10==m)?'Oct':(11==m)?'Nov':'Dec'; return "" + (d<10?"0"+d:d) + "-" + mmm + "-" + (y<10?"0"+y:y); } // // get last modified date of the // current document. // function date_lastmodified() { var lmd = document.lastModified; var s = "Unknown"; var d1; // check if we have a valid date // before proceeding if(0 != (d1=Date.parse(lmd))) { s = "" + date_ddmmmyy(new Date(d1)); } return s; } // // finally display the last modified date // as DD-MMM-YY // document.write( "Last modified on " + date_lastmodified() ); // -->   Schedule for Current Term

Thursday, December 3, 4:30 - 6:00, Jeff 110
Jamie Mingo (Queen's)
Second Order Cumulants of Partially Transposed Matrices, II
This will be a continuation from November 26.

Thursday, November 26, 4:30 - 6:00, Jeff 110
Jamie Mingo (Queen's)
Second Order Cumulants of Partially Transposed Matrices
I will review the construction of second order cumulants and work out the semi-circular case. I will then show how to compute these for partially transposed Wishart matrices.
Thursday, November 19, 4:30 - 6:00, Jeff 110
Josué Daniel Vázquez Becerra (Queen's)
Second order freeness: a free probability study of fluctuations of random matrices, III
This will be a continuation from November 5.
Thursday, November 5, 4:30 - 6:00, Jeff 110
Josué Daniel Vázquez Becerra (Queen's)
Second order freeness: a free probability study of fluctuations of random matrices, II
This will be a continuation from the previous week.
Thursday, October 29, 4:30 - 6:00, Jeff 110
Josué Daniel Vázquez Becerra (Queen's)
Second order freeness: a free probability study of fluctuations of random matrices
Second order freeness is a feature exhibited in the large $N$ limit by random matrix ensembles such as the orthogonal Gaussian random matrices and the orthogonal Wishart random matrices. Its main purpose is to help determine the asymptotic behaviour of the covariance of traces of products of random matrices; this is comparable to the description of the asymptotic behaviour of the expectation of the trace of products of random matrices that we get from freeness. In this talk, we will give the definition of second order freeness and present some of the most relevant work related to it
Thursday, October 8, 4:30 - 6:00, Jeff 110
Mario Diaz (Queen's)
On the Speed at which Asymptotic Liberation Sequences Deliver Freeness
It is well known that certain ensembles of unitary matrices deliver asymptotic freeness under suitable conditions. Related to the intuitive question about how random an ensemble must be in order to deliver freeness, Anderson and Farrell found a unitary ensemble which is “less random” than the Haar distributed ensemble originally proposed by Voiculescu. In this talk we propose to study the speed at which these ensembles deliver freeness as an alternative measure of “randomness”. This is joint work with Jamie Mingo.
Thursday, October 1, 4:30 - 6:00, Jeff 110 (note room change)
Jamie Mingo (Queen's)
The Partial Transpose of Unitary and Orthogonal Matrices, II
This will be a continuation from last week.
Tuesday, September 22, 4:30 - 6:00, Jeff 422
Jamie Mingo (Queen's)
The Partial Transpose of Unitary and Orthogonal Matrices
In quantum information theory a frequently used test for entanglement is the positive partial transpose test. For a Wishart matrix Aubrun found the aspect ratio that guarantees a non-positive positive partial transpose and thus entanglement. Mihai Popa and I considered the interaction between a Widget matrix and its partial transpose. We showed that the matrix, its full transpose and its partial transposes are asymptotically free. In this talk I will consider what happens when we consider orthogonal and unitary matrices.
Tuesday, September 15, 4:30 - 6:00, Jeff 422
Emily Redelmeier
Matrix Cumulants and the Topological Expansion
I will discuss how matrix cumulants, defined by Capitaine and Casalis (2007) in terms of a convolution, connect to diagrammatic methods of calculating matrix integrals, and how these tools are particularly useful in the multi-matrix setting. I will focus on the real case, and consider also how the complex case is related. I will also discuss how this approach is useful in the quaternionic case, in particular in problems involving partial traces.

I will also discuss some of the tools useful for analyzing the non-orientable diagrams which appear in the real and quaternionic cases.

Previous Schedules

Getting to Jeffery Hall from the Hotel Belvedere


text:
# How far would average sea level rise from a 25% increase in total ocean volume?

What amount of average sea level rise (in meters above 2020 levels) would be associated with a 25% increase in total ocean volume?

The reason I ask is because of this study that indicates Earth has lost appx. 25% of its water to space via methanogenesis process splitting the hydrogen molecules off of H2O, then the hydrogen escaping into space.

Regardless of whether this study is accurate, it has made me wonder what the Earth would have looked like with 25% more water. How much of a sea-level rise would that represent?

Obviously this would be a fairly complex equation since terrain is not uniform in contour. Less land is displacing every new layer of water you ade, compared to a lower layer of water. So (in addition to any changes from the radius of the sphere increasing) there should be a decreasing amount of average sea level increase per unit of water volume, until all land is covered.

I've looked to FloodMap.net for an answer, but they don't seem to provide the amount of water volume, at least, not to free users.

Curious if there is an open source code library that can handle this kind of calculation, or if there is a simple formula that would get us within a reasonable margin of error (i.e. it would provide a sea level that could be plugged into FloodMap to show what shorelines would look like under 25% more water, given today's continents).

• You'll want to know about one third additional current ocean volume, not a quarter. According to the article "the oceans have lost about a quarter of their water since the Earth’s early days". This leaves us with three quarters of original ocean volume, thus the "missing" quarter makes up a third of todays oceans. Which is about 445 million cubic kilometer (ngdc.noaa.gov/mgg/global/etopo1_ocean_volumes.html). – Erik Nov 18 '20 at 9:09

It is not hard to do this calculation if you have global topography. Using a version with $$\frac{1}{6}$$- degree resolution and a sea level rise of 1027 m, the result is @Erik's value of 445 million cubic km. Here's the bit of MATLAB code:

H = 1027;   % sea level rise (m)
topo(topo<0) = 0;   % change all ocean depths to zero
topo(topo>H) = H;   % level off all land at a height of H
topo = topo.*(cosd(lat')*ones(1,2160)); % land volume per grid cell
land = sum(topo(:))*18.5^2/1000; % total land volume in km^3
water = sum(cosd(lat))*2160*18.5^2*H/1000 - land; % added water volume

Greenland and Antarctica fare ok, but Europe and Australia are basically gone:

• Greenland and Antarctica are mostly ice which would float away and melt, the rock topography is hardly above sea level. So they would not fare ok and we all have to huddle in the Himalayas, Rockies and Andes. – Stephan Matthiesen Feb 7 at 9:35
• I guess this explains why all humans originated fro Addis Ababa. LOL it's at 7770 feet elevation haha. – CommaToast Feb 7 at 17:39
• @Stephan Matthiesen if the ice would all melt then wouldn't the sea level up even higher? – CommaToast Feb 7 at 17:42
• @CommaToast Yes, but the Antarctic ice would only contribute about 60m and Greenland 10m or something like that; that would be disastrous if it happened in real life; but in our scenario with more than 1km sea level rise an additional few ten metres won't make much difference. – Stephan Matthiesen Feb 7 at 22:25
• If all the Antarctic ice melted, it would apparently raise current sea level by 60m. However, the total volume of Antarctica above an elevation of 1027m is 15.3M cubic km. If it were all ice that melted, that would raise the sea level by an additional 27 m for a total of 1054 m (some small fraction of it is actually land). However, all the ice below an elevation of 1027 would lower the total a bit when it melted, because water is denser than ice. So assuming all Antarctic ice melts would change the result to about 1050 m. Greenland ice could up this by a few m. – Ben51 Feb 7 at 23:04


text:
# The arc of the parabola from to is rotated about the -axis. Find the area of the resulting surface. Show all steps in solving the appropriate integral.

This is how the answer was supposed to display.  I appologize for the delay.

There is insufficent information to solve this problem as the equation of the parabola, the portion of the arc that is rotated, and which axis it is rotated around is mission.

That said, I will provide an example of how to solve a problem such as this with data that I will make up.  So, to finish your question:

The arc of the parabola `y(x)=+-sqrt(x)` from x=1 to x=5 is rotated about the x-axis.  Find the area of the resulting surface.

In order to solve for area:

A = `int_a^b 2piy(x)sqrt(1+y'(x)^2)dx`

Take the derivative of the positive portion of our parabola (because the portion of the arc that we are interested in is for positive values of y):

`y'(x)=1/(2sqrt(x))`

Therefore:

`A=int_1^5 2pisqrt(x)sqrt(1+(1/(2sqrt(x)))^2)dx`

`A=piint_1^5sqrt((2sqrt(x))^2)sqrt(1+(1/4x))dx`

`A=piint_1^5sqrt(4x+1)dx`

Using integration by substitution:

z = 4x + 1, dz = 4 dx therefore dx = dz/4

Approved by eNotes Editorial Team

Hmm.. that did not display as it did for me before I pressed submit.  I will have to return later to fill in the areas that seem to have been deleted.

Approved by eNotes Editorial Team

There is insufficent information to solve this problem as the equation of the parabola, the portion of the arc that is rotated, and which axis it is rotated around is mission.

That said, I will provide an example of how to solve a problem such as this with data that I will make up.  So, to finish your question:

The arc of the parabola ``  from x=1 to x=5 is rotated about the x-axis.  Find the area of the resulting surface.

In order to solve for area:

` `

`` , a=1 and b=5

``

Using integration by substitution:

z = 4x + 1, dz = 4 dx therefore dx = dz/4

`A = pi/4 int_1^5 sqrt(z)dz`
` ` `A=pi/4 [(2/3)z^(3/2)]=pi/6[(4x+1)^(3/2)]_1^5`
`A=pi/6 ((4(5)+1)^(3/2)-(4(1)+1)^(3/2))=5.5`


text:
# Is every “nice” abelian category with enough projectives an additive presheaf category?

A "nice" category $\mathcal{C}$ should be (for the purposes of this question) locally presentable at a minimum, and maybe a bit more. One might require $\mathcal{C}$ to be (in roughly order of increasing restrictiveness)

• ABn for some $n$.

• Grothendieck

• locally finitely presentable

• the category $\mathsf{QCoh}(X)$ of quasicoherent sheaves on a scheme $X$ (possibly with further adjectives)

• etc.

In particular: if $\mathsf{QCoh}(X)$ has enough projectives, then is $X$ a disjoint union of affine varieties?

Clarification: Just to be clear, I'm well aware of the Freyd-Mitchell embedding theorem. This is not a question about how close abelian categories are to module categories -- it's a question about how restrictive it is for an abelian category to have enough projectives. The local presentability hypothesis rules out the duals of categories of sheaves for instance.

Motivation / Evidence: I'm thinking of things like this result: the category of sheaves on a locally connected topological space has enough projectives iff that space is an Alexandroff space -- a very restrictive condition. I suspect that the category of sheaves on an Alexandroff space is a module category additive presheaf category. Although on reflection, the category of sheaves on an Alexandroff space need not be an additive presheaf category -- in particular, it need not be locally finitely presentable. So perhaps one should assume that $\mathcal C$ is locally finitely presentable for the purposes of this question.

For another example in this direction, consider the fact that the category of quasicoherent sheaves on a smooth projective variety of dimension >0 over a field never has enough projectives. (See my CW answer below for a more general result).

Alternative formulation: If we assume that $\mathcal C$, in addition to being a "nice" abelian category with enough projectives, has a compact generator, then is $\mathcal C$ a module category? This would follow from the formulation above, since an additive presheaf category with a compact generator is a module category; but it could conceivably be easier to show. It would also settle a form of the question about categories $\mathsf{QCoh}(X)$.

• Are you aware of Mitchell's embedding theorem? – abx Jan 7 '18 at 15:36
• Yes. And I'm aware that any cocomplete abelian category with a compact projective generator is a module category. Am I missing something? – Tim Campion Jan 7 '18 at 15:49
• I would say this is an obstruction "in a different direction". In any presheaf category, the family of indecomposable projectives generates, in particular, every projective is a coproduct of indecomposables. In $\mathsf{Ab}^{\mathbb N}$, these are $(0,...,0,0,\mathbb Z,0,0,...)$. An example of enough projectives without any indecomposables is given, I believe, by sheaves over an atomless complete Boolean algebra. – მამუკა ჯიბლაძე Jan 8 '18 at 17:29
• @მამუკაჯიბლაძე Why do the indecomposable projectives generate in an additive presheaf category? For example, suppose I start with a representable $X$ (which is projective), and decompose it into successively smaller retracts. If this process terminates after finitely many steps, then I can reconstruct $X$ via a direct sum. But if it takes infinitely many steps, I don't see how to get $X$ as a sum of indecomposables. – Tim Campion Jan 8 '18 at 18:24
• @მამუკა ჯიბლაძე: I'm also confused by your claim. Take the category of modules over $\mathbb{F}_2^{\mathbb{N}}$. I believe every projective is decomposable, but this is still a module category. – Qiaochu Yuan Jan 9 '18 at 6:41

The category $[C^{op}, \text{Ab}]$ of $\text{Ab}$-valued presheaves on any (small, for simplicity) $\text{Ab}$-enriched category is about as nice as it gets - locally finitely presentable, Grothendieck, etc. - and all coproducts of representables are projective (these are the "free" objects), but it won't be a module category in general if $C$ has infinitely many isomorphism classes of objects.

The simplest example is to take $C = \mathbb{N}$: $\text{Ab}^{\mathbb{N}}$ has the property that any generator must be supported at every element of $\mathbb{N}$, and no such presheaf can be compact. In fact the compact projectives are precisely the finitely supported sequences of finitely generated free abelian groups. Note that this is also the category of sheaves on an Alexandrov space, namely $\mathbb{N}$ with the discrete topology.

• This is a module category if you are willing to loosen your definition of rings from unital rings to rings with local units. A ring R has local units if it is a direct limit of unital rings via homomorphisms that are not necessarily unit preserving. The category of unitary R-modules consists of those modules M with RM=M. If C is a category the category algebra ZC has local units ands its unitary modules are just the functors on C to Ab (up to equivalence of categories). – Benjamin Steinberg Jan 7 '18 at 22:07
• I would rather just think about $\text{Ab}$-enriched categories directly as a generalization of rings (they are "rings with many objects," or "ringoids" if you really want). – Qiaochu Yuan Jan 7 '18 at 23:57
• Darn, you're right. I suppose I asked the wrong question after all. – Tim Campion Jan 8 '18 at 0:49

Let $\mathcal C_0$ be a small additive category with countable coproducts, and let $\mathcal C$ be the category of additive functors $\mathcal C^{op}_0 \to \mathsf{Ab}$ preserving countable products. Then by Lemma 1.3 and Prop 2.5 here, $\mathcal C$ is a cocomplete abelian category which is easily seen to be locally $\aleph_1$-presentable. Moreover, cokernels are computed "levelwise", so that the representables are a generating set of projective objects; in particular, $\mathcal C$ has enough projectives. But $\mathcal C$ is pretty far from being an additive presheaf category.

Along with მამუკა ჯიბლაძე's example in the comments of sheaves on a complete boolean algebra, this makes it pretty clear that there are plenty of locally presentable abelian categories with enough projectives which are not additive presheaf categories. I'm still not sure about categories of quasicoherent sheaves, though.

• I'm not sure I understand your proof. $\mathcal{C}$ having a compact projective generator is not saying anything about $X$ being affine. It is only saying that $\mathcal{C}$ is the module category for a (possibly noncommutative) ring. – Denis Nardin Jan 9 '18 at 20:18
• @DenisNardin Shoot -- you're right. I don't know much about noncommutative geometry -- what's an example of a noncommutative ring $R$ (not Morita equivalent to a commutative one) such that $Mod(R) = QCoh(X)$ for a scheme $X$? – Tim Campion Jan 9 '18 at 20:22
• Unfortunately, I don't know any. In general, there aren't that many schemes with enough projectives, so it might very well be that the only such schemes are affines. – Denis Nardin Jan 10 '18 at 8:19
• How do you go from compact projective to locally free of finite rank? As far as I know the equivalence projective=locally free is not usually true for non-affine schemes – Denis Nardin Jan 18 '18 at 8:45
• Neeman's example in his famous paper is very interesting, but if I remember correctly, it is not a Grothendieck category (in Roos's article correcting the one for which Neeman found this counter-example, I think that it is proven that less than Grothendieck category is enough to make sure that all works). It would be interesting to have strange phenomena like the previous one, but for Grothendieck categories (or theorems saying that it is impossible...). For example, can one find a Grothendieck category with enough projectives, locally finitely generated, but beeing not a presheaf category? – Aurélien Djament Jun 4 at 19:13


text:
# Eigenvalues of product of diagonal positive matrix and symmetric matrix [closed]

Assume that we have two real symmetric matrices A and B, where A is a positive diagonal matrix, and B is a symmetric matrix with one eigenvalue λ = 0. Assume that H= AB; is it possible to proof that the matrix H has the same properties than B (semi-positive, negative or indefinite matrix)? That is means the eigenvalues of H have the same signe than the eigenvalues of B.

## closed as off-topic by Stefan Kohl, Will Jagy, Steven Sam, José Figueroa-O'Farrill, Chris GodsilSep 17 '14 at 23:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

• "MathOverflow is for mathematicians to ask each other questions about their research. See Math.StackExchange to ask general questions in mathematics." – Stefan Kohl, Will Jagy, Steven Sam, José Figueroa-O'Farrill, Chris Godsil
If this question can be reworded to fit the rules in the help center, please edit the question.

• First, the product $AB$ is not symmetric in general, so its eigenvalues could be complex. – Chris Godsil Sep 17 '14 at 23:39

The eigenvalues of $H$ are the same as the eigenvalues of $A^{1/2} B A^{1/2}$. See Sylvester's Law of Inertia.


text:
# [texhax] learning tex vs latex

Philip TAYLOR P.Taylor at Rhul.Ac.Uk
Fri Oct 30 15:39:17 CET 2009

> Philip Taylor wrote:
>
>  > They will also almost
>  > almost nothing to separate form from content (\bigskip and
>  > friends are really evil, IMHO).
>
> Could you elaborate upon this for a self-taught plain TeXer?

By all means (and perhaps "evil" was a bit strong :-)) --

Let me start by saying that, IMHO, the Plain format is
neither fish nor fowl : it is not a minimal set of
definitions on which a more powerful format could
be layered, nor is it sufficiently powerful in itself
to be used for more than a very small subset of possible
documents.  If it were to set out to be the former,
it would need to do little more initialise catcodes
and provide some basic definitions; if it were to set
out to be the latter, at the very least it would need
to provide an orthogonal font size selection mechanism.
In fact, it does neither.  It provides a lot of
syntactic sugar which is best eschewed, and fails to
address the fundamental problem of wishing to use other
than 10pt as the root font size.

So what's particularly wrong with \bigskip ?  Of itself,
nothing.  Indeed, Don's introduction thereto contains
nothing but good sense.  I quote :-

> Instead of sprinkling various amounts of glue throughout a manuscript, expressing
> each of them explicitly in terms of points, you will find it much better
> to explain your intentions more clearly by typing something like \smallskip'
> when you want abnormal spacing. The definition of \smallskip can readily
> be changed later, in case you want such spaces to be smaller or larger. Plain
> \TeX also provides you with \medskip', which is worth two smallskips, and
> \bigskip', which is worth two medskips.

But what Don fails to do at this point (although it
could be argued that many of his later usages of
\bigskip are intended to illustrate the point) is
to state clearly that THE USE OF \bigskip SHOULD BE
RESTRICTED TO MACRO DEFINITIONS.  Indeed, when he
gives his "Concert" example in Appendix E ("Example
Formats"), he even violates this "rule" himself :-

> \input concert
> \tsaologo
> \medskip
> \centerline{Friday, November 19, 1982, 8:00 p.m.}
> \bigskip
> \centerline{\bf PROGRAM}
> \medskip
> \composition{Variations on a Theme by Tchaikovsky}
> \composer{Anton S. Arensky (1861--1906)}
> \smallskip
> {\medtype
> \movements{Tema: Moderato\cr
> Var.~I: Un poco pi\u mosso&Var.~V: Andante\cr
> Var.~II: Allegro non troppo&Var.~VI: Allegro con spirito\cr
> Var.~III: Andantino tranquillo&Var.~VII: Andante con moto\cr
> Var.~IV: Vivace&Coda: Moderato\cr}
> }

As a result, almost every beginning Plain TeX user creates
his or her documents on exactly this model :-

> \tsaologo
> \medskip
> \centerline{Friday, November 19, 1982, 8:00 p.m.}
> \bigskip
> \centerline{\bf PROGRAM}
> \medskip
> \composition{Variations on a Theme by Tchaikovsky}
> \composer{Anton S. Arensky (1861--1906)}
> \smallskip

whereas what they should be doing (IMHO, of course)
is creating macros such as \datetime, \heading that
provide a clean separation between content and form.
Indeed, the above example would be ten times better
(IMHO) if Don had written something like :

> \settsaologo
> \datetime {Friday, November 19, 1982, 8:00 p.m.}
> \composition {Variations on a Theme by Tchaikovsky}
> \composer {Anton S.~Arensky (1861--1906)}


text:
# 5699 search results for "git"

## Hazardous and Benign Space Objects: Orbits in the Solar-Ecliptic Reference Frame

May 12, 2014
By
$Hazardous and Benign Space Objects: Orbits in the Solar-Ecliptic Reference Frame$

In two previous posts in this series I have wrangled NEO orbital data into R and then solved Kepler’s Equation to get the eccentric anomaly for each NEO. The final stage in the visualisation of the NEO orbits will be the transformation of locations from the respective orbital planes into a single reference frame. Reference

## Automatically convert RUnit tests to testthat tests

May 12, 2014
By

There’s a new version of my assertive package, for sanity-checking code, on its way to CRAN. The release has been delayed a while, since my previous attempt at an upload met with an error that was only generated on the CRAN machine, but not on my own. The problem lay with some code designed to

## On the carbon footprint of the NBA

May 11, 2014
By

It’s no secret that I enjoy basketball, but I’ve often wondered about the carbon footprint that can be caused by 30 teams each playing an 82-game season. Ultimately, that’s 2460 air flights across the whole of the USA, each carrying 30+ individuals. For these reasons, I decided to investigate the average distance travelled by each NBA

May 11, 2014
By

Over the past few months I’ve added a few improvements to the repmis–miscellaneous functions for reproducible research–R package. I just want to briefly highlight two of them: Caching downloaded data sets. source_XlsxData for downloading data in Excel formatted files. Both of these capabilities are in repmis version 0.2.9 and greater. Caching When working with data sourced directly from the internet, it can be...

## Enrichment Network

May 10, 2014
By

Enrichment is beyond random occurrence within a category. Networks can represent relationships among variables. Enrichment networks display relationships among variables which are over represented compared to random chance. Next is  a tutorial for making enrichment networks for biological (metabolomic) data in R using the KEGG database.

## Automatically Exporting Multiple Cross Tables from Tableau Server into Excel

May 10, 2014
By

Introduction The following blog post is based on a classical reporting task most of the people working in BI got frequently: Besides all the nice dashboards you create in Tableau, from time to time people will approach you with a request for a “data extract” – reports that...

May 9, 2014
By

## Customer Satisfaction and Loyalty: Structural Equation Model or One-Dimensional Dissonance

May 9, 2014
By

Causal thinking is seductive. Product experience comes first, then feelings of satisfaction, and finally intentions to continue as a customer. Although customer satisfaction and loyalty data tend to be collected all at one time within the same question...

## reshape2 1.4; Kevin Ushey joins Rstudio

May 9, 2014
By

reshape2 1.4 is now available on CRAN. This version adds a number of useful arguments and messages, but mostly importantly it gains a C++ implementation of melt.data.frame(). This new method should be much much faster (>10x) and does a better job of preserving existing attributes. For full details, see the release notes on github. The

## d3Network Plays Nice with Shiny Web Apps

May 9, 2014
By

After some delay (and because of helpful prompting by Giles Heywood and code contributions by John Harrison) d3Network now plays nicely with Shiny web apps. This means you can fully integrate R/D3.js network graphs into your web apps. Here is what one ...


text:
# Force between an Infinitely Long Wire and a Square Loop

1. Oct 30, 2007

Hello all, I thought I was starting to understand these magnetic field problems but this one is driving me crazy. I've inputted a good 6 or 7 answers and they all failed. Help would be awesome as always.

1. The problem statement, all variables and given/known data
A square loop of wire with side length a carries a current I_1. The center of the loop is located a distance d from an infinite wire carrying a current I_2. The infinite wire and loop are in the same plane; two sides of the square loop are parallel to the wire and two are perpendicular as shown.

What is the magnitude, F, of the net force on the loop?
Express the force in terms of $$I_1, I_2, a, d, mu_0$$

2. Relevant equations
None are given, but my guess is this guy will be involved:

F_parallel_wire = I_x L B_y ; x is one wire, y is another wire
F_p_w = (u_0 * L * I_1 * I_2) / 2(pi)d

Ampere's Law as well:
circle integeral of B * ds = BL = B(2(pi)d = u_0 * I_through

3. The attempt at a solution
just to make this easier, mu_0 = u and pi = p

F = I L B
F = I_1 * [(d+.5a) + (d-.5a)] * [(u * I_2)/(2 * p * a)]

not right.
So anyway, there's 4 sides to the loop so there should be 4 forces.
F_top_loop is equal and opposite to F_bottom_loop so those can be tossed aside.
F_left has the same direction of current as the wire so they attract. Negative sign.
F_right has the opposite direction of current as wire so they repel. Positive sign.
F_left than F_right to the wire so it'll have a stronger force and the direction will go left.

The distance between the closer ones is d - .5a and the distance between the distant ones is d + .5a

B = u_0(I_2)/(2(pi)d)
since the length of the wire isn't provided, I figure d will be the amount in parallel with the part of the loop, in this case a. d = a.

2. Oct 30, 2007

### learningphysics

First off... what is the magnetic field due to the I2 current at the left segment of the loop... u0*2pi/distance... what is the distance between the I2 current and the left segment of the loop?

The force acting on the left segment of the loop is I1*L*B. What is L here?

3. Oct 30, 2007

The distance between the i2 current and the left current is (d-(a/2)). (d+(a/2)) for the right current.

I thought L was 'a,' the amount of wire running directly parallel of of l_loop. But that didn't work either.

4. Oct 30, 2007

### learningphysics

yes, so B = u0*I2/[2pi(d-0.5a)]

so the force on the left segment is:

-I1*distance*B =
-I1*a*u0*I2/[2pi(d-0.5a)]

same way the force on the right segment is:
I1*a*u0*I2/[2pi(d+0.5a)]

is this what you did? the question asks for the magnitude... so at the end after getting the net force, leave of the minus sign...

5. Oct 31, 2007

Thanks you helped a lot

6. Jul 13, 2008

### sbwprotoss9

But wait if you add those two forces you would end up with zero... or are you suppoed to add the abs of the two values?
Sorry i'm kind of confused.

7. Jul 13, 2008

### cryptoguy

Note that one of the forces has (d-0.5a) in the denominator while the other has (d+0.5a) due to the different distance from I2, therefore having a different magnetic field.


text:
Matrix raised to 14th power

Calculate $\left(\begin{matrix} 6&1&0\\0&6&1\\0&0&6\end{matrix}\right)^{14}$

Whould I do it one by one, and then find a pattern? I sense $6^{14}$ on the diagonal, and zeroes in the "lower triangle", but the "upper triangle" I'm not sure. Was thinking $14 \cdot 6^{13}$ but that's not correct.

• HINT Try multiplying the matrix out and finding a pattern by the 3rd or 4th power. – Don Larynx Dec 1 '13 at 17:11
• Closely related: for a $3 \times 3$ matrix A ,value of $A^{50}$ is – hardmath Dec 1 '13 at 17:23
• 14 is small enough that you can even do it by hand; doing only 5 matrix multiplications; namely: $A^2=A.A,A^4=A^2.A^2,A^6=A^2.A^4,A^8=A^4.A^4,A^{14}=A^6.A^8$! – Ali Dec 1 '13 at 19:04

Write the matrix as $6I+N$ where $$N=\begin{pmatrix}0&1&0\\0&0&1\\0&0&0\end{pmatrix}$$ and expand $(6I+N)^{14}$ using the binomial formula (which is valid here because $I$ and $N$ commute). Note that since $N^3=0$, you don't need to compute most of the coefficients.

• You beat me to it and also remembered to mention that the two matrices commute. – Carsten S Dec 1 '13 at 17:15
• What's happened to your avatar, Harald? I remember a bee was on it!? :) – mrs Dec 1 '13 at 17:21
• @B.S. I still see a bee. – Git Gud Dec 1 '13 at 17:21
• @B.S. It still is. No, it's a fly actually. If you don't see it, it's a problem with the gravatar site. Most likely temporary. – Harald Hanche-Olsen Dec 1 '13 at 17:21

Write it as $\left(\begin{matrix} 6&1&0\\0&6&1\\0&0&6\end{matrix}\right)=\left(\begin{matrix} 6&0&0\\0&6&0\\0&0&6\end{matrix}\right)+\left(\begin{matrix} 0&1&0\\0&0&1\\0&0&0\end{matrix}\right)$, use the binomial formula and see what you can say about powers of these two matrices.

$$A^n = \begin{bmatrix} 6^n & n \cdot 6^{n-1} & \dbinom{n}2 6^{n-2}\\ 0 & 6^n & n \cdot 6^{n-1}\\ 0 & 0 & 6^n\end{bmatrix}$$ Prove this by induction.

• Does that mean you didn't induce it, but just found the pattern? – Thomas Ahle Dec 5 '13 at 15:46
• @ThomasAhle Yes. – user17762 Dec 5 '13 at 15:48

I didn't notice that this was suggested by Harald Hanche-Olsen until just now. Consider this an expansion on his answer.

Since the identity matrix commutes with any matrix, we can use the binomial theorem with $$\left(6\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}+\begin{bmatrix}0&1&0\\0&0&1\\0&0&0\end{bmatrix}\right)^n$$ while noting that $$\begin{bmatrix}0&1&0\\0&0&1\\0&0&0\end{bmatrix}^2=\begin{bmatrix}0&0&1\\0&0&0\\0&0&0\end{bmatrix} \quad\text{and}\quad \begin{bmatrix}0&1&0\\0&0&1\\0&0&0\end{bmatrix}^3=\begin{bmatrix}0&0&0\\0&0&0\\0&0&0\end{bmatrix}$$ To get $$\begin{bmatrix}6&1&0\\0&6&1\\0&0&6\end{bmatrix}^n =6^n\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}+6^{n-1}\binom{n}{1}\begin{bmatrix}0&1&0\\0&0&1\\0&0&0\end{bmatrix}+6^{n-2}\binom{n}{2}\begin{bmatrix}0&0&1\\0&0&0\\0&0&0\end{bmatrix}$$

Denote the element in the top center (now 1) in $A^n$ by $a_n$. From the matrice multiple and the diagonal values we can see that $$a_{n+1}=6^na_n+6^na_n=2*6^na_n$$ from this we can make the general nth element $$a_n=2*6^{n-1}*2*6^{n-2}*...*2*1=2^n*6^{(n-1)+(n-2)+...+1}=2^n*6^{\frac{n(n-1)}{2}}$$ Putting n=14 gives: $$a_{14}=2^{14}*6^{91}$$


text:
A two-member truss $PQR$ is supporting a load $W$. The axial forces in members $PQ$ and $QR$ are respectively

1. $2W$ tensile and $\sqrt{3}W$ compressive
2. $\sqrt{3}W$ tensile and $2W$ compressive
3. $\sqrt{3}W$ compressive and $2W$ tensile
4. $2W$ compressive and $\sqrt{3}W$ tensile