text:
Yizheng Zhu: Iterates of M_1

Monday, June 12, 2017, 16.30
Seminar room 0.011, Mathematical Institute, University of Bonn

Speaker: Yizheng Zhu (University of Münster)

Title: Iterates of M_1

Abstract:

Assume Delta^1_3-determinacy. Let L_{kappa_3}[T_2] be the admissible closure of the Martin-Solovay tree and let M_{1,infty} be the direct limit of$M_1 via countable trees. We show that L_{kappa_3}[T_2]cap V_{u_{omega}} = M_{1,infty} | u_{omega}. Thilo Weinert: Avoiding Quadruples Using a Scale BIU seminar in Set Theory On 08/06/2017, 10-12, Building 604, Room 103 Speaker: Thilo Weinert (BGU) Title: Avoiding Quadruples Using a Scale Abstract. In 1971, Hajnal showed that the continuum hypothesis implies omega_1^2 -|-> (omega_1^2, 3)^2 and in the same year, together with Erdős, that GCH implies that for every infinite cardinal kappa and every alpha < (kappa^+)^2 we have alpha -|-> (kappa^+ * kappa, 3)^2. In the same paper they showed that for infinite cardinals kappa and alpha < (kappa^+)^2 we have (kappa^+)^2 —> (alpha, 3)^2. In 1987, together with Baumgartner, he showed that for regular kappa satisfying 2^kappa = kappa^+ = lambda we have lambda^2 -|-> (lambda * kappa, 4)^2. In 1998, Jean Larson showed that for regular kappa and lambda = kappa^+ the existence of a scale of length lambda of functions f : kappa — > kappa implies the failure of the aforementioned partition relations shown to be unprovable from ZFC in the seventies, i.e. lambda * kappa —> (lambda * kappa, 3)^2 and lambda^2 —> (lambda^2, 3)^2. She commented that it would be interesting to know whether this hypothesis also suffices to prove lambda^2 -|-> (lambda * kappa, 4)^2. It does. Zoltán Vidnyánszky: Borel chromatic numbers: finite vs infinite KGRC Research Seminar – 2017-06-08 at 4pm. Speaker: Zoltán Vidnyánszky (York University, Toronto, Canada) Abstract: One of the most interesting results of Borel graph combinatorics is the$G_0$dichotomy, i. e., the fact that a Borel graph has uncountable Borel chromatic number if and only if it contains a Borel homomorphic image of a graph called$G_0$. It was conjectured that an analogous statement could be true for graphs with infinite Borel chromatic number. Using descriptive set theoretic methods we answer this question and a couple of similar questions negatively, showing that one cannot hope for the existence of a Borel graph whose embeddability would characterize Borel (or even closed) graphs with infinite Borel chromatic number. We will also discuss a positive result and its relation to Hedetniemi’s conjecture. Assaf Hasson: Strongly dependent henselian fields and ordered abelian groups BGU Seminar in Logic, Set Theory and Topology Time: Tuesday, June 6th, 12:15-13:30. Place: Seminar room -101, Math building 58. Speaker: Assaf Hasson (BGU) Title: Strongly dependent henselian fields and ordered abelian groups Abstract: The strong non-independence property was introduced by Shelah in order to capture, within the class of theories without the independence property (aka dependent theories), an analogue of the class of super-stable theories. Shelah conjectured (roughly) that any infinite field with the strong non-independence property (aka strongly dependent) is either real closed, algebraically closed or supports a definable (henselian) valuation. The conjecture was solved (Johnson) in the very special case of dp-minimal fields, and otherwise remains wide open. In fact, most experts believe the conjecture (replacing “algebraically closed” with “separably closed”) to be true of all fields without the independence property, and the algebraic division line between the two classes of fields remains unclear. In the talk we will show that strongly dependent ordered abelian groups do have a simple algebraic characterisation, and suggest the interpretability of ordered abelian groups which are not strongly dependent as a new (not yet fully satisfactory) conjectural division line. If time allows we will draw from the classification of strongly dependent ordered abelian groups some conclusions concerning strongly dependent henselian fields (e.g., if K is strongly dependent then any henselian valuation v — not necessarily definable — on K has strongly dependent residue field and value group). The talk will aim to be, more or less, self-contained and little use (if any) will be made of technical model theoretic terms. Based (mostly) on joint work with Yatir Halevi. Natasha Dobrinen: The big Ramsey degrees for the universal triangle-free graph Mathematical logic seminar – Jun 5 2017 Time: 3:00pm – 4:00 pm Room: Wean Hall 8220 Speaker: Natasha Dobrinen Department of Mathematics University of Denver Title: The big Ramsey degrees for the universal triangle-free graph Abstract: The Rado graph (aka the countable random graph) is the unique countable graph G which is: a) Universal, that is G contains an induced copy of every finite graph. b) Homogeneous, that is any isomorphism between finite induced subgraphs of G extends to an automorphism of G. The construction of the Rado graph works with many classes of finite structures (the Fraïssé classes), assigning to each Fraïssé class a countable, universal and homogeneous structure called the Fraïssé limit. Ramsey theory on relational structures can be studied from two vantage points. The first, more classical, is to study when, given two finite structures A and B and given any k greater than 1, there is another finite structure C such that for any coloring of all copies of A in C into k colors, there is a copy of B in C in which all copies of A have the same color. A Fraïssé class of finite relational structures has the Ramsey property if this holds for any two structures A and B in the class. Nešetřil and Rödl have shown that many classes of finite ordered relational structures have the Ramsey property, including finite ordered graphs and finite ordered triangle-free graphs. The second, and of much recent interest, is to study colorings of copies of a finite structure inside an infinite homogenous structure, usually the Fraïssé limit of some Fraïssé class of finite structures. It has been shown that any finite coloring of the vertices of the Rado graph can be reduced to one color on a subgraph which is also a Rado graph. For edges and other structures with more than one vertex, Sauer has proved this to be impossible. However, he also proved that given a finite graph A, there is a number n(A) such that any coloring of all copies of A in the Rado graph into finitely many colors may be reduced to n(A) colors on a copy of the Rado graph. We say, then, that the Rado graph has finite big Ramsey degrees. Similar results have been obtained for other countable homogeneous structures, though many are still open. We have looked at the problem of finite big Ramsey degrees for the universal triangle-free graph H, that is, the homogeneous graph with no triangles into which every countable triangle-free graph embeds. This is the first homogeneous structure omitting a subtype to be addressed for big Ramsey degrees. Using the method of forcing, but in ZFC, we prove a new Ramsey theorem on trees which code H, and apply it to deduce that H has finite big Ramsey degrees. Chris Scambler: On Ineffable Liars KGRC Friday seminar on 2017‑06‑02 – 12 pm Speaker: Chris Scambler (New York University, USA) Abstract: The most promising non-classical approaches to the theory of truth build on that of Saul Kripke (1975) by adding a conditional satisfying reasonable laws. Among the attractive features of such approaches are their capacity to offer object-language means for classifying the defectiveness of paradoxical sentences and formulas; in (2007), Hartry Field shows his approach yields a transfinite hierarchy of determinacy operators of increasing strength that seem to play exactly this role. There are, however, difficult technical questions about the extent of the hierarchy of such operators that turn on the availability of reasonable ordinal notation systems, and these may yield philosophical issues for Field’s approach to the paradoxes. According to Field, the extent of the hierarchy is inherently ‘fuzzy’, because of indeterminacy concerning the unrestricted notion of definability. As a result, Field argues, one can’t diagonalize out of the hierarchy of determinacy operators in any meaningful sense, since the hierarchy in question is not bivalently definable. In (2014), Philip Welch has argued that on the contrary the hierarchy of determinacy operators breaks down precisely at the least$\Sigma_2\$-extendible ordinal (relative to a given model M); moreover, Welch has shown how to use this result to produce “ineffable liars”, that diagonalize out of the hierarchy: these are sentences that are indeterminate on Field’s theory, but whose defectiveness is not measured by any determinacy operator in the object language.

The task of this paper is to assess the significance of Welch’s result, and to adjudicate the dispute between Field and Welch. In the opening sections, I will review the Kripke and Field constructions, focussing especially on the hierarchy of determinacy operators and their behaviour. After that, I will give an overview of Welch’s construction, culminating in the construction of an ineffable liar sentence. Finally, I will scrutinize Welch’s argument from a philosophical perspective, and suggest that Field’s project is not adversely affected by Welch’s results. Nevertheless, I will show some ways in which that the latter are still of considerable philosophical interest.

References

Saul A. Kripke: Outline of a theory of truth. Journal of Philosophy 72 (19):690-716 (1975)

Hartry Field: Solving the paradoxes, escaping revenge. In J. C. Beall (ed.), Revenge of the Liar: New Essays on the Paradox. Oxford University Press (2007)

P. D. Welch: Some observations on truth hierarchies. Review of Symbolic Logic 7 (1):1-30 (2014)

Vincenzo Dimonte: Rank-into-rank axioms and forcing

KGRC Research Seminar – 2017‑06‑01 at 4pm

Speaker: Vincenzo Dimonte (University of Udine, Italy)

Abstract: Rank-into-rank axioms sit on the top of the large cardinal hierarchy, and their fringe status makes them quite mysterious and evasive. In particular, research on I0 started to gain momentum just in the last few years.

In this talk we will give an overview of what is known at the moment about the interaction between such axioms and forcing, in four steps, in increasing order of complexity. The main result most of the time would be that the rank-into-rank axiom is not destroyed by the forcing, therefore providing many independence results (for example involving the behaviour of the power function, tree structures, pcf theory…). We will also note how such results pose an actual problem for the main branch of the research on I0, i.e, the quest for finding similarities between I0 and the Axiom of Determinacy.

Part of this work is joint with Sy Friedman and Liuzhen Wu.

Symposium of the Set Theoretic Pluralism network, Bristol, June 20-25

The second and final symposium of the Set Theoretic Pluralism (STP) network will take place at the University of Bristol on June 20-25, 2017. We would like to invite researchers from all relevant disciplines to attend the symposium, including set theory, philosophy of mathematics, metaphysics, philosophy of language, and epistemology.

The STP network draws together experts in mathematics and philosophy to grapple with the increasingly popular idea that mathematical reality may be best understood as fractured and indeterminate. Participants will include Sy David Friedman (Vienna), Peter Koellner (Harvard), Hugh Woodin (Harvard), Sean Walsh (UC Irvine), Toby Meadows (Queensland), Philip Welch (Bristol), Giorgio Venturi (Campinas), Carolin Antos (Vienna), Neil Barton (Vienna), Zeynep Soysal (Harvard), and Benedict Eastaugh (Bristol).

Registration for the symposium is now open (participation is free, but registration is required). The registration deadline is Monday 5 June, 2017.

To register, please email benedict.eastaugh@bristol.ac.uk and include the following information:

* Name and affiliation.

* Whether you would like to attend the conference dinner, scheduled for Thursday 22 June, 2017. Places are limited and will be allocated on a first-come, first-served basis.

* Any dietary restrictions or preferences.

* Which days you plan to attend the symposium, if you are not attending the entire event.

Further details of the symposium, including the programme and details of the location, will be published on the symposium website:

The STP network is funded by a Leverhulme International Network grant and is hosted at the University of Bristol. The STP network partners include the University of Aberdeen, Harvard University, the University of Bristol, the University of Vienna, the University of Helsinki, and the University of California, Irvine. For more details of the network’s context and aims, please refer to the network website:

We look forward to seeing you here!

Toby Meadows, Philip Welch, and Benedict Eastaugh

Ana Njegomir: A forcing characterization of lambda-ineffable cardinals

Monday, May 29, 2017, 16.30
Seminar room 0.011, Mathematical Institute, University of Bonn

Speaker: Ana Njegomir (Universität Bonn)

Title: A forcing characterization of lambda-ineffable cardinals

Katrin Tent: Ample geometries of finite Morley rank

HUJI Logic Seminar

The Logic Seminar will take place in Wednesday, 24/05, 16:00 – 15:30, in Ross 70.
Speaker: Katrin Tent

Title: Ample geometries of finite Morley rank

Abstract: I will explain the model theoretic notion of ampleness and present the geometric context of recent constructions.

format: plain


text:
# PETSc objects

##### Experimental html version of Parallel Programming in MPI, OpenMP, and PETSc by Victor Eijkhout. download the textbook at https:/theartofhpc.com/pcse

32.1.1 : Support for distributions
32.2 : Scalars
32.2.1 : Integers
32.2.2 : Complex
32.2.3 : MPI Scalars
32.2.4 : Booleans
32.3 : Vec: Vectors
32.3.1 : Vector construction
32.3.2 : Vector layout
32.3.3 : Vector operations
32.3.3.1 : Split collectives
32.3.4 : Vector elements
32.3.4.1 : Explicit element access
32.3.5 : File I/O
32.4 : Mat: Matrices
32.4.1 : Matrix creation
32.4.2 : Nonzero structure
32.4.3 : Matrix elements
32.4.3.1 : Element access
32.4.4 : Matrix viewers
32.4.5 : Matrix operations
32.4.5.1 : Matrix-vector operations
32.4.5.2 : Matrix-matrix operations
32.4.6 : Submatrices
32.4.7 : Shell matrices
32.4.7.1 : Shell operations
32.4.7.2 : Shell context
32.4.8 : Multi-component matrices
32.4.9 : Fourier transform
32.5 : Index sets and Vector Scatters
32.5.1 : IS: index sets
32.5.2 : VecScatter: all-to-all operations
32.5.2.1 : More VecScatter modes
32.6 : AO: Application Orderings
32.7 : Partitionings

# 32 PETSc objects

## 32.1 Distributed objects

crumb trail: > petsc-objects > Distributed objects

PETSc is based on the SPMD model, and all its objects act like they exist in parallel, spread out over all the processes. Therefore, prior to discussing specific objects in detail, we briefly discuss how PETSc treats distributed objects.

For a matrix or vector you need to specify the size. This can be done two ways:

• you specify the global size and PETSc distributes the object over the processes, or

• you specify on each process the local size

If you specify both the global size and the local sizes, PETSc will check for consistency.

For example, if you have a vector of $N$ components, or a matrix of $N$ rows, and you have $P$ processes, each process will receive $N/P$ components or rows if $P$ divides evenly in $N$. If $P$ does not divide evenly, the excess is spread over the processes.

The way the distribution is done is by contiguous blocks: with 10 processes and 1000 components in a vector, process 0 gets the range $0\cdots99$, process 1 gets $1\cdots199$, et cetera. This simple scheme suffices for many cases, but PETSc has facilities for more sophisticated load balancing.

### 32.1.1 Support for distributions

crumb trail: > petsc-objects > Distributed objects > Support for distributions

Once an object has been created and distributed, you do not need to remember the size or the distribution yourself: you can query these with calls such as \clstinline{VecGetSize}, \clstinline{VecGetLocalSize}.

The corresponding matrix routines \clstinline{MatGetSize}, \clstinline{MatGetLocalSize} give both information for the distributions in $i$ and $j$ direction, which can be independent. Since a matrix is distributed by rows, \clstinline{MatGetOwnershipRange} only gives a row range.

// split.c
N = 100; n = PETSC_DECIDE;
PetscSplitOwnership(comm,&n,&N);
PetscPrintf(comm,"Global %d, local %d\n",N,n);

N = PETSC_DECIDE; n = 10;
PetscSplitOwnership(comm,&n,&N);
PetscPrintf(comm,"Global %d, local %d\n",N,n);

While PETSc objects are implemented using local memory on each process, conceptually they act like global objects, with a global indexing scheme. Thus, each process can query which elements out of the global object are stored locally. For vectors, the relevant routine is \clstinline{VecGetOwnershipRange}, which returns two parameters, \clstinline{low} and \clstinline{high}, respectively the first element index stored, and one-more-than-the-last index stored.

This gives the idiom:

VecGetOwnershipRange(myvector,&low,&high);
for (int myidx=low; myidx<high; myidx++)
// do something at index myidx

These conversions between local and global size can also be done explicitly, using the

routine. This routine takes two parameter, for the local and global size, and whichever one is initialized to PETSC_DECIDE gets computed from the other.

## 32.2 Scalars

crumb trail: > petsc-objects > Scalars

Unlike programming languages that explicitly distinguish between single and double precision numbers, PETSc has only a single scalar type: PetscScalar  . The precision of this is determined at installation time. In fact, a \clstinline{PetscScalar} can even be a complex number if the installation specified that the scalar type is complex.

Even in applications that use complex numbers there can be quantities that are real: for instance, the norm of a complex vector is a real number. For that reason, PETSc also has the type PetscReal  . There is also an explicit PetscComplex  .

Furthermore, there is

#define PETSC_BINARY_INT_SIZE    (32/8)
#define PETSC_BINARY_FLOAT_SIZE  (32/8)
#define PETSC_BINARY_CHAR_SIZE   (8/8)
#define PETSC_BINARY_SHORT_SIZE  (16/8)
#define PETSC_BINARY_DOUBLE_SIZE (64/8)
#define PETSC_BINARY_SCALAR_SIZE sizeof(PetscScalar)

### 32.2.1 Integers

crumb trail: > petsc-objects > Scalars > Integers

Integers in PETSc are likewise of a size determined at installation time: PetscInt can be 32 or 64 bits. The latter possibility is useful for indexing into large vectors and matrices. Furthermore, there is a PetscErrorCode type for catching the return code of PETSc routines; see section  38.1.2  .

For compatibility with other packages there are two more integer types:

• PetscBLASInt is the integer type used by the

BLAS  / LAPACK library. This is 32-bits if the

MKL is used. The routine PetscBLASIntCast casts a

PetscInt to PetscBLASInt  , or returns

PETSC_ERR_ARG_OUTOFRANGE if it is too large.

• PetscMPIInt is the integer type of the MPI library, which is always 32-bits. The routine PetscMPIIntCast casts a

PetscInt to PetscMPIInt  , or returns

PETSC_ERR_ARG_OUTOFRANGE if it is too large.

Many external packages do not support 64-bit integers.

### 32.2.2 Complex

crumb trail: > petsc-objects > Scalars > Complex

Numbers of type PetscComplex have a precision matching PetscReal  .

Form a complex number using PETSC_i :

PetscComplex x = 1.0 + 2.0 * PETSC_i;

The real and imaginary part can be extract with the functions PetscRealPart and PetscImaginaryPart which return a PetscReal  .

There are also routines VecRealPart and VecImaginaryPart that replace a vector with its real or imaginary part respectively. Likewise MatRealPart and MatImaginaryPart  .

### 32.2.3 MPI Scalars

crumb trail: > petsc-objects > Scalars > MPI Scalars

For MPI calls, MPIU_REAL is the MPI type corresponding to the current PetscReal  .

For MPI calls, MPIU_SCALAR is the MPI type corresponding to the current PetscScalar  .

For MPI calls, MPIU_COMPLEX is the MPI type corresponding to the current PetscComplex  .

### 32.2.4 Booleans

crumb trail: > petsc-objects > Scalars > Booleans

There is a PetscBool datatype with values PETSC_TRUE and PETSC_FALSE  .

## 32.3 Vec: Vectors

crumb trail: > petsc-objects > Vec: Vectors

Vectors are objects with a linear index. The elements of a vector are floating point numbers or complex numbers (see section  32.2  ), but not integers: for that see section  32.5.1  .

### 32.3.1 Vector construction

crumb trail: > petsc-objects > Vec: Vectors > Vector construction

Constructing a vector takes a number of steps. First of all, the vector object needs to be created on a communicator with

Python note In python, \plstinline{PETSc.Vec()} creates an object with null handle, so a subsequent \plstinline{create()} call is needed. In C and Fortran, the vector type is a keyword; in Python it is a member of PETSc.Vec.Type  .

## setvalues.py
comm = PETSc.COMM_WORLD
x = PETSc.Vec().create(comm=comm)
x.setType(PETSc.Vec.Type.MPI)

The corresponding routine

deallocates data and zeros the pointer. (This and all other Destroy routines are collective because of underlying MPI technicalities.)

The vector type needs to be set with

.

The most common vector types are:

• VECSEQ for sequential vectors, that is, living on a single process; This is typically created on the MPI_COMM_SELF or

PETSC_COMM_SELF communicator.

• VECMPI for a vector distributed over the communicator. This is typically created on the MPI_COMM_WORLD or

PETSC_COMM_WORLD communicator, or one derived from it.

• VECSTANDARD is VECSEQ when used on a single process, or VECMPI on multiple.

You may wonder why these types exist: you could have just one type, which would be as parallel as possible. The reason is that in a parallel run you may occasionally have a separate linear system on each process, which would require a sequential vector (and matrix) on each process, not part of a larger linear system.

Once you have created one vector, you can make more like it by VecDuplicate  ,

VecDuplicate(Vec old,Vec *new);

or VecDuplicateVecs

VecDuplicateVecs(Vec old,PetscInt n,Vec **new);

for multiple vectors. For the latter, there is a joint destroy call VecDestroyVecs :

VecDestroyVecs(PetscInt n,Vec **vecs);

(which is different in Fortran).

### 32.3.2 Vector layout

crumb trail: > petsc-objects > Vec: Vectors > Vector layout

Next in the creation process the vector size is set with

. Since a vector is typically distributed, this involves the global size and the sizes on the processors. Setting both is redundant, so it is possible to specify one and let the other be computed by the library. This is indicated by setting it to PETSC_DECIDE  .

Python note Use \plstinline{PETSc.DECIDE} for the parameter not specified:

x.setSizes([2,PETSc.DECIDE])

The size is queried with

for the global size and \indexpetscxref{VecGetLocalSize}{VecGetSize} for the local size.

Each processor gets a contiguous part of the vector. Use

to query the first index on this process, and the first one of the next process.

In general it is best to let PETSc take care of memory management of matrix and vector objects, including allocating and freeing the memory. However, in cases where PETSc interfaces to other applications it maybe desirable to create a \clstinline{Vec} object from an already allocated array: VecCreateSeqWithArray and VecCreateMPIWithArray  .

VecCreateSeqWithArray
(MPI_Comm comm,PetscInt bs,
PetscInt n,PetscScalar *array,Vec *V);
VecCreateMPIWithArray
(MPI_Comm comm,PetscInt bs,
PetscInt n,PetscInt N,PetscScalar *array,Vec *vv);

As you will see in section  32.4.1  , you can also create vectors based on the layout of a matrix, using MatCreateVecs  .

### 32.3.3 Vector operations

crumb trail: > petsc-objects > Vec: Vectors > Vector operations

There are many routines operating on vectors that you need to write scientific applications. Examples are: norms, vector addition (including BLAS -type AXPY' routines:

), pointwise scaling, inner products. A large number of such operations are available in PETSc through single function calls to {VecXYZ} routines.

For debugging purpoases, the

routine can be used to display vectors on screen as ascii output,
// fftsine.c
ierr = VecView(signal,PETSC_VIEWER_STDOUT_WORLD);
ierr = MatMult(transform,signal,frequencies);
ierr = VecScale(frequencies,1./Nglobal);
ierr = VecView(frequencies,PETSC_VIEWER_STDOUT_WORLD);

but the routine call also use more general \clstinline{PetscViewer} objects, for instance to dump a vector to file.

Here are a couple of representative vector routines:

PetscReal lambda;
ierr = VecNorm(y,NORM_2,&lambda); CHKERRQ(ierr);
ierr = VecScale(y,1./lambda); CHKERRQ(ierr);

Exercise Create a vector where the values are a single sine wave. using VecGetSize  , VecGetLocalSize  ,

VecGetOwnershipRange  . Quick visual inspection:

ibrun vec -n 12 -vec_view

\skeleton{vec}
End of exercise

Exercise Use the routines

,
and
to compute the inner product of vectors

x,y  , scale the vector  x  , and check its norm:

$$\begin{array}{l} p \leftarrow x^ty\\ x \leftarrow x/p\\ n \leftarrow \|x\|_2\\ \end{array}$$

End of exercise

Python note The plus operator is overloaded so that

    x+y

is defined.

    x.sum() # max,min,....
x.dot(y)
x.norm(PETSc.NormType.NORM_INFINITY)

#### 32.3.3.1 Split collectives

crumb trail: > petsc-objects > Vec: Vectors > Vector operations > Split collectives

MPI is capable (in principle) of overlapping computation and communication', or latency hiding  . PETSc supports this by splitting norms and inner products into two phases.

• Start inner product / norm with VecDotBegin  /

VecNormBegin ;

• Conclude inner product / norm with VecDotEnd  /

VecNormEnd ;

Even if you achieve no overlap, it is possible to use these calls to combine a number of collectives': do the Begin calls of one inner product and one norm; then do (in the same sequence) the End calls. This means that only a single reduction is performed on a two-word package, rather than two separate reductions on a single word.

### 32.3.4 Vector elements

crumb trail: > petsc-objects > Vec: Vectors > Vector elements

Setting elements of a traditional array is simple. Setting elements of a distributed array is harder. First of all, VecSet sets the vector to a constant value:

ierr = VecSet(x,1.); CHKERRQ(ierr);

In the general case, setting elements in a PETSc vector is done through a function

for setting elements that uses global numbering; any process can set any elements in the vector. There is also a routine
for setting multiple elements. This is mostly useful for setting dense subblocks of a block matrix.

We illustrate both routines by setting a single element with VecSetValue  , and two elements with VecSetValues  . In the latter case we need an array of length two for both the indices and values. The indices need not be successive.

\lstset{language=C}

i = 1; v = 3.14;
VecSetValue(x,i,v,INSERT_VALUES);
ii[0] = 1; ii[1] = 2; vv[0] = 2.7; vv[1] = 3.1;
VecSetValues(x,2,ii,vv,INSERT_VALUES);

Fortran note {Setting values} The value/values routines work the same way in Fortran. Note that despite type checking, using the values' routine and passing scalars, is allowed:

Python note Single element:

x.setValue(0,1.)

Multiple elements:
x.setValues( [2*procno,2*procno+1], [2.,3.] )

Using \clstinline{VecSetValue} for specifying a local vector element corresponds to simple insertion in the local array. However, an element that belongs to another process needs to be transferred. This done in two calls:

and VecAssemblyEnd  .

if (myrank==0) then
do vecidx=0,globalsize-1
vecelt = vecidx
call VecSetValue(vector,vecidx,vecelt,INSERT_VALUES,ierr)
end do
end if
call VecAssemblyBegin(vector,ierr)
call VecAssemblyEnd(vector,ierr)

(If you know the MPI library, you'll recognize that the first call corresponds to posting nonblocking send and receive calls; the second then contains the wait calls. Thus, the existence of these separate calls make latency hiding possible.)

VecAssemblyBegin(myvec);
// do work that does not need the vector myvec
VecAssemblyEnd(myvec);

Elements can either be inserted with INSERT_VALUES  , or added with ADD_VALUES in the VecSetValue  / VecSetValues call. You can not immediately mix these modes; to do so you need to call VecAssemblyBegin  / VecAssemblyEnd in between add/insert phases.

#### 32.3.4.1 Explicit element access

crumb trail: > petsc-objects > Vec: Vectors > Vector elements > Explicit element access

Since the vector routines cover a large repertoire of operations, you hardly ever need to access the actual elements. Should you still need those elements, you can use

PETSc insists that you properly release this pointer again with

In the following example, a vector is scaled through direct array access. Note the differing calls for the source and target vector, and note the const qualifier on the source array:

// vecarray.c
PetscScalar const *in_array;
PetscScalar *out_array;
VecGetArray(y,&out_array);
PetscInt localsize;
VecGetLocalSize(x,&localsize);
for (int i=0; i<localsize; i++)
out_array[i] = 2*in_array[i];
VecRestoreArray(y,&out_array);

This example also uses VecGetLocalSize to determine the size of the data accessed. Even running in a distributed context you can only get the array of local elements. Accessing the elements from another process requires explicit communication; see section  32.5.2  .

There are some variants to the \clstinline{VecGetArray} operation:

• \indexpetscxref{VecReplaceArray}{VecPlaceArray} frees the memory of the \clstinline{Vec} object, and replaces it with a different array. That latter array needs to be allocated with

PetscMalloc  .

• also installs a new array in the vector, but it keeps the original array; this can be restored with

VecResetArray  .

Putting the array of one vector into another has a common application, where you have a distributed vector, but want to apply PETSc operations to its local section as if it were a sequential vector. In that case you would create a sequential vector, and VecPlaceArray the contents of the distributed vector into it.

Fortran note {F90 array access through pointer} There are routines such as VecGetArrayF90 (with corresponding VecRestoreArrayF90  ) that return a (Fortran) pointer to a one-dimensional array.

!! vecset.F90
Vec            :: vector
PetscScalar,dimension(:),pointer :: elements
call VecGetArrayF90(vector,elements,ierr)
write (msg,10) myrank,elements(1)
10 format("First element on process",i3,":",f7.4,"\n")
call PetscSynchronizedPrintf(comm,msg,ierr)
call PetscSynchronizedFlush(comm,PETSC_STDOUT,ierr)
call VecRestoreArrayF90(vector,elements,ierr)

!! vecarray.F90
PetscScalar,dimension(:),Pointer :: &
in_array,out_array
call VecGetArrayF90( y,out_array,ierr )
call VecGetLocalSize( x,localsize,ierr )
do index=1,localsize
out_array(index) = 2*in_array(index)
end do
call VecRestoreArrayF90( y,out_array,ierr )

Python note

    x.getArray()
x.getValues(3)
x.getValues([1, 2])

### 32.3.5 File I/O

crumb trail: > petsc-objects > Vec: Vectors > File I/O

As mentioned above, VecView can be used for displaying a vector on the terminal screen. However, viewers are actually much more general. As explained in section  38.2.2  , they can also be used to export vector data, for instance to file.

The converse operation, to load a vector that was exported in this manner, is VecLoad  .

Since these operations are each other's inverses, usually you don't need to know the file format. But just in case:

PetscInt    VEC_FILE_CLASSID
PetscInt    number of rows
PetscScalar *values of all entries

That is, the file starts with a magic number, then the number of vector elements, and subsequently all scalar values.

## 32.4 Mat: Matrices

crumb trail: > petsc-objects > Mat: Matrices

PETSc matrices come in a number of types, sparse and dense being the most important ones. Another possibility is to have the matrix in operation form, where only the action $y\leftarrow Ax$ is defined.

### 32.4.1 Matrix creation

crumb trail: > petsc-objects > Mat: Matrices > Matrix creation

Creating a matrix also starts by specifying a communicator on which the matrix lives collectively:

Set the matrix type with

. The main choices are between sequential versus distributed and dense versus sparse, giving types: MATMPIDENSE  , MATMPIAIJ  , MATSEQDENSE  , MATSEQAIJ  .

Distributed matrices are partitioned by block rows: each process stores a block row  , that is, a contiguous set of matrix rows. It stores all elements in that block row.

FIGURE 32.1: Matrix partitioning by block rows

In order for a matrix-vector product to be executable, both the input and output vector need to be partitioned conforming to the matrix.

While for dense matrices the block row scheme is not scalable, for matrices from PDEs it makes sense. There, a subdivision by matrix blocks would lead to many empty blocks.

Just as with vectors, there is a local and global size; except that that now applies to rows and columns. Set sizes with

and subsequently query them with
. The concept of local column size is tricky: since a process stores a full block row you may expect the local column size to be the full matrix size, but that is not true. The exact definition will be discussed later, but for square matrices it is a safe strategy to let the local row and column size to be equal.

Instead of querying a matrix size and creating vectors accordingly, the routine

can be used. (Sometimes this is even required; see section  32.4.9  .)

### 32.4.2 Nonzero structure

crumb trail: > petsc-objects > Mat: Matrices > Nonzero structure

In case of a dense matrix, once you have specified the size and the number of MPI processes, it is simple to determine how much space PETSc needs to allocate for the matrix. For a sparse matrix this is more complicated, since the matrix can be anywhere between completely empty and completely filled in. It would be possible to have a dynamic approach where, as elements are specified, the space grows; however, repeated allocations and re-allocations are inefficient. For this reason PETSc puts a small burden on the programmer: you need to specify a bound on how many elements the matrix will contain.

We explain this by looking at some cases. First we consider a matrix that only lives on a single process. You would then use

. In the case of a tridiagonal matrix you would specify that each row has three elements:

MatSeqAIJSetPreallocation(A,3, NULL);

If the matrix is less regular you can use the third argument to give an array of explicit row lengths:

int *rowlengths;
// allocate, and then:
for (int row=0; row<nrows; row++)
rowlengths[row] = // calculation of row length
MatSeqAIJSetPreallocation(A,NULL,rowlengths);

In case of a distributed matrix you need to specify this bound with respect to the block structure of the matrix. As illustrated in figure  32.2  , a matrix has a diagonal part and an off-diagonal part.

FIGURE 32.2: The diagonal and off-diagonal parts of a matrix

The diagonal part describes the matrix elements that couple elements of the input and output vector that live on this process. The off-diagonal part contains the matrix elements that are multiplied with elements not on this process, in order to compute elements that do live on this process.

The preallocation specification now has separate parameters for these diagonal and off-diagonal parts: with \indexpetscxref{MatMPIAIJSetPreallocation}{MatSeqAIJSetPreallocation}. you specify for both either a global upper bound on the number of nonzeros, or a detailed listing of row lengths. For the matrix of the Laplace equation  , this specification would seem to be:

MatMPIAIJSetPreallocation(A, 3, NULL, 2, NULL);

However, this is only correct if the block structure from the parallel division equals that from the lines in the domain. In general it may be necessary to use values that are an overestimate. It is then possible to contract the storage by copying the matrix.

Specifying bounds on the number of nonzeros is often enough, and not too wasteful. However, if many rows have fewer nonzeros than these bounds, a lot of space is wasted. In that case you can replace the NULL arguments by an array that lists for each row the number of nonzeros in that row.

### 32.4.3 Matrix elements

crumb trail: > petsc-objects > Mat: Matrices > Matrix elements

You can set a single matrix element with

or a block of them, where you supply a set of $i$ and $j$ indices, using MatSetValues  .

After setting matrix elements, the matrix needs to be assembled. This is where PETSc moves matrix elements to the right processor, if they were specified elsewhere. As with vectors this takes two calls:

and \indexpetscxref{MatAssemblyEnd}{MatAssemblyBegin} which can be used to achieve latency hiding  .

Elements can either be inserted ( INSERT_VALUES  ) or added ( ADD_VALUES  ). You can not immediately mix these modes; to do so you need to call MatAssemblyBegin  / MatAssemblyEnd with a value of MAT_FLUSH_ASSEMBLY  .

PETSc sparse matrices are very flexible: you can create them empty and then start adding elements. However, this is very inefficient in execution since the OS needs to reallocate the matrix every time it grows a little. Therefore, PETSc has calls for the user to indicate how many elements the matrix will ultimately contain.

MatSetOption(A, MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE)

#### 32.4.3.1 Element access

crumb trail: > petsc-objects > Mat: Matrices > Matrix elements > Element access

If you absolutely need access to the matrix elements, there are routines such as

. With this, any process can request, using global row numbering, the contents of a row that it owns. (Requesting elements that are not local requires the different mechanism of taking submatrices; section  32.4.6  .)

Since PETSc is geared towards sparse matrices this returns not only the element values, but also the column numbers, as well as the mere number of stored columns. If any of these three return values are not needed, they can be unrequested by setting the parameter passed to \clstinline{NULL}.

PETSc insists that you properly release the row again with \indexpetscxref{MatRestoreRow}{MatGetRow}.

It is also possible to retrieve the full CRS contents of the local matrix with MatDenseGetArray  , MatDenseRestoreArray  , MatSeqAIJGetArray  , MatSeqAIJRestoreArray  . (Routines \indexpetscdepr{MatGetArray} / \indexpetscdepr{MatRestoreArray} are deprecated.)

### 32.4.4 Matrix viewers

crumb trail: > petsc-objects > Mat: Matrices > Matrix viewers

Matrices can be viewed' (see section  38.2.2 for a discussion of the PetscViewer mechanism) in a variety of ways, starting with the MatView call. However, often it is more convenient to use online options such as

yourprogram -mat_view
yourprogram -mat_view draw
yourprogram -ksp_mat_view draw

where mat_view is activated by the assembly routine, while ksp_mat_view shows only the matrix used as operator for a KSP object. Without further option refinements this will display the matrix elements inside the sparsity pattern. Using a sub-option draw will cause the sparsity pattern to be displayed in an X11 window.

### 32.4.5 Matrix operations

crumb trail: > petsc-objects > Mat: Matrices > Matrix operations

#### 32.4.5.1 Matrix-vector operations

crumb trail: > petsc-objects > Mat: Matrices > Matrix operations > Matrix-vector operations

In the typical application of PETSc, solving large sparse linear systems of equations with iterative methods, matrix-vector operations are most important. Foremost there is the matrix-vector product

and the transpose product \indexpetscxref{MatMultTranspose}{MatMult}. (In the complex case, the transpose product is not the Hermitian matrix product; for that use MatMultHermitianTranspose  .)

For the BLAS

gemv semantics $y\leftarrow \alpha Ax + \beta y$,

computes $z\leftarrow Ax +y$.

#### 32.4.5.2 Matrix-matrix operations

crumb trail: > petsc-objects > Mat: Matrices > Matrix operations > Matrix-matrix operations

There is a number of matrix-matrix routines such as MatMatMult  .

### 32.4.6 Submatrices

crumb trail: > petsc-objects > Mat: Matrices > Submatrices

Given a parallel matrix, there are two routines for extracting submatrices:

• MatCreateSubMatrix creates a single parallel submatrix.

• MatCreateSubMatrices creates a sequential submatrix on each process.

### 32.4.7 Shell matrices

crumb trail: > petsc-objects > Mat: Matrices > Shell matrices

In many scientific applications, a matrix stands for some operator, and we are not intrinsically interested in the matrix elements, but only in the action of the matrix on a vector. In fact, under certain circumstances it is more convenient to implement a routine that computes the matrix action than to construct the matrix explicitly.

Maybe surprisingly, solving a linear system of equations can be handled this way. The reason is that PETSc's iterative solvers (section  35.1  ) only need the matrix-times-vector (and perhaps the matrix-transpose-times-vector) product.

PETSc supports this mode of working. The routine

declares the argument to be a matrix given in operator form.

#### 32.4.7.1 Shell operations

crumb trail: > petsc-objects > Mat: Matrices > Shell matrices > Shell operations

The next step is then to add the custom multiplication routine, which will be invoked by MatMult :

The routine that implements the actual product should have the same signature as MatMult  , accepting a matrix and two vectors. The key to realizing your own product routine lies in the context' argument to the create routine. With

you pass a pointer to some structure that contains all contextual information you need. In your multiplication routine you then retrieve this with
.

What operation is specified is determined by a keyword MATOP_ where OP is the name of the matrix routine, minus the Mat part, in all caps.

MatCreate(comm,&A);
MatSetSizes(A,localsize,localsize,matrix_size,matrix_size);
MatSetType(A,MATSHELL);
MatSetFromOptions(A);
MatShellSetOperation(A,MATOP_MULT,(void*)&mymatmult);
MatShellSetContext(A,(void*)Diag);
MatSetUp(A);

(The call to MatSetSizes needs to come before MatSetType  .)

#### 32.4.7.2 Shell context

crumb trail: > petsc-objects > Mat: Matrices > Shell matrices > Shell context

Setting the context means passing a pointer (really: an address) to some allocated structure

struct matrix_data mystruct;
MatShellSetContext( A, &mystruct );

The routine signature has this argument as a \clstinline{void*} but it's not necessary to cast it to that. Getting the context means that a pointer to your structure needs to be set

struct matrix_data *mystruct;
MatShellGetContext( A, &mystruct );

Somewhat confusingly, the Get routine also has a \clstinline{void*} argument, even though it's really a pointer variable.

### 32.4.8 Multi-component matrices

crumb trail: > petsc-objects > Mat: Matrices > Multi-component matrices

For multi-component physics problems there are essentially two ways of storing the linear system

1. Grouping the physics equations together, or

2. grouping the domain nodes together.

In both cases this corresponds to a block matrix, but for a problem of $N$ nodes and $3$ equations, the respective structures are:

1. $3\times 3$ blocks of size $N$, versus

2. $N\times N$ blocks of size $3$.

The first case can be pictured as

$$\begin{pmatrix} A_{00}&A_{01}&A_{02}\\ A_{10}&A_{11}&A_{12}\\ A_{20}&A_{21}&A_{22}\\ \end{pmatrix}$$

and while it looks natural, there is a computational problem with it. Preconditioners for such problems often look like

$$\begin{pmatrix} A_{00}&\\ &A_{11}&\\ &&A_{22}\\ \end{pmatrix} \quad\hbox{or}\quad \begin{pmatrix} A_{00}&&\\ A_{10}&A_{11}&\\ A_{20}&A_{21}&A_{22}\\ \end{pmatrix}$$

With the block-row partitioning of PETSc's matrices, this means at most a 50\% efficiency for the preconditioner solve.

It is better to use the second scheme, which requires the MATMPIBIJ format, and use so-called field-split preconditioner s; see section  35.1.7.3.5  .

### 32.4.9 Fourier transform

crumb trail: > petsc-objects > Mat: Matrices > Fourier transform

The FFT can be considered a matrix-vector multiplication. PETSc supports this by letting you create a matrix with MatCreateFFT  . This requires that you add an FFT library, such as fftw  , at configuration time; see section  31.4  .

FFT libraries may use padding, so vectors should be created with MatCreateVecsFFTW  , not with an independent VecSetSizes  .

The fftw library does not scale the output vector, so a forward followed by a backward pass gives a result that is too large by the vector size.

// fftsine.c
ierr = VecView(signal,PETSC_VIEWER_STDOUT_WORLD);
ierr = MatMult(transform,signal,frequencies);
ierr = VecScale(frequencies,1./Nglobal);
ierr = VecView(frequencies,PETSC_VIEWER_STDOUT_WORLD);

One full cosine wave:

1.
0.809017 + 0.587785 i
0.309017 + 0.951057 i
-0.309017 + 0.951057 i
-0.809017 + 0.587785 i
-1. + 1.22465e-16 i
-0.809017 - 0.587785 i
-0.309017 - 0.951057 i
0.309017 - 0.951057 i
0.809017 - 0.587785 i

Frequency $n=1$ amplitude $\equiv1$:

-2.22045e-17 + 2.33487e-17 i
1. - 9.23587e-17 i
2.85226e-17 + 1.56772e-17 i
-4.44089e-17 + 1.75641e-17 i
-3.35828e-19 + 3.26458e-18 i
0. - 1.22465e-17 i
-1.33873e-17 + 3.26458e-18 i
-4.44089e-17 + 7.59366e-18 i
7.40494e-18 + 1.56772e-17 i
0. + 1.8215e-17 i

Strangely enough, the backward pass does not need to be scaled:

Vec confirm;
ierr = VecDuplicate(signal,&confirm);
ierr = MatMultTranspose(transform,frequencies,confirm);
ierr = VecAXPY(confirm,-1,signal);
PetscReal nrm;
ierr = VecNorm(confirm,NORM_2,&nrm);
PetscPrintf(MPI_COMM_WORLD,"FFT accuracy %e\n",nrm);
ierr = VecDestroy(&confirm);

## 32.5 Index sets and Vector Scatters

crumb trail: > petsc-objects > Index sets and Vector Scatters

In the PDE type of applications that PETSc was originally intended for, vector data can only be real or complex: there are no vector of integers. On the other hand, integers are used for indexing into vector, for instance for gathering boundary elements into a halo region  , or for doing the data transpose of an FFT operation.

To support this, PETSc has the following object types:

• An \clstinline{IS} object describes a set of integer indices;

• a \clstinline{VecScatter} object describes the correspondence between a group of indices in an input vector and a group of indices in an output vector.

### 32.5.1 IS: index sets

crumb trail: > petsc-objects > Index sets and Vector Scatters > IS: index sets

An \clstinline{IS} object contains a set of PetscInt values. It can be created with

• ISCreate for creating an empty set;

• ISCreateStride for a strided set;

• ISCreateBlock for a set of contiguous blocks, placed at an explicitly given list of starting indices.

• ISCreateGeneral for an explicitly given list of indices.

For example, to describe odd and even indices (on two processes):

// oddeven.c
IS oddeven;
if (procid==0) {
ierr = ISCreateStride(comm,Nglobal/2,0,2,&oddeven);
} else {
ierr = ISCreateStride(comm,Nglobal/2,1,2,&oddeven);
}

After this, there are various query and set operations on index sets.

You can read out the indices of a set by ISGetIndices and ISRestoreIndices  .

### 32.5.2 VecScatter: all-to-all operations

A VecScatter object is a generalization of an all-to-all operation. However, unlike MPI MPI_Alltoall  , which formulates everything in terms of local buffers, a \clstinline{VecScatter} is more implicit in only describing indices in the input and output vectors.

The

call has as arguments:

• An input vector. From this, the parallel layout is used; any vector being scattered from should have this same layout.

• An \clstinline{IS} object describing what indices are being scattered; if the whole vector is rearranged, \clstinline{NULL} (Fortran: \indexpetsctt{PETSC_NULL_IS}) can be given.

• An output vector. From this, the parallel layout is used; any vector being scattered into should have this same layout.

• An \clstinline{IS} object describing what indices are being scattered into; if the whole vector is a target, \clstinline{NULL} can be given.

As a simple example, the odd/even sets defined above can be used to move all components with even index to process zero, and the ones with odd index to process one:

VecScatter separate;
ierr = VecScatterCreate
(in,oddeven,out,NULL,&separate);
ierr = VecScatterBegin
(separate,in,out,INSERT_VALUES,SCATTER_FORWARD);
ierr = VecScatterEnd
(separate,in,out,INSERT_VALUES,SCATTER_FORWARD);

Note that the index set is applied to the input vector, since it describes the components to be moved. The output vector uses \clstinline{NULL} since these components are placed in sequence.

Exercise Modify this example so that the components are still separated odd/even, but now placed in descending order on each process.
End of exercise

Exercise Can you extend this example so that process $p$ receives all indices that are multiples of $p$? Is your solution correct if \clstinline{Nglobal} is not a multiple of \clstinline{nprocs}?
End of exercise

#### 32.5.2.1 More VecScatter modes

There is an added complication, in that a \clstinline{VecScatter} can have both sequential and parallel input or output vectors. Scattering onto process zero is also a popular option.

## 32.6 AO: Application Orderings

crumb trail: > petsc-objects > AO: Application Orderings

PETSc's decision to partition a matrix by contiguous block rows may be a limitation in the sense an application can have a natural ordering that is different. For such cases the AO type can translate between the two schemes.

## 32.7 Partitionings

crumb trail: > petsc-objects > Partitionings

By default, PETSc uses partitioning of matrices and vectors based on consecutive blocks of variables. In regular cases that is not a bad strategy. However, for some matrices a permutation and re-division can be advantageous. For instance, one could look at the adjacency graph  , and minimize the number of edge cuts or the sum of the edge weight s.

This functionality is not built into PETSc, but can be provided by graph partitioning packages such as ParMetis or Zoltan  . The basic object is the MatPartitioning  , with routines for

• Create and destroy: MatPartitioningCreate  ,

MatPartitioningDestroy ;

• Setting the type MatPartitioningSetType to an explicit partitioner, or something generated as the dual or a refinement of the current matrix;

• Apply with MatPartitioningApply  , giving a distribued IS object, which can then be used in MatCreateSubMatrix to repartition.

Illustrative example:

MatPartitioning part;
MatPartitioningCreate(comm,&part);
MatPartitioningSetType(part,MATPARTITIONINGPARMETIS);
MatPartitioningApply(part,&is);
/* get new global number of each old global number */
ISPartitioningToNumbering(is,&isn);
ISBuildTwoSided(is,NULL,&isrows);
MatCreateSubMatrix(A,isrows,isrows,MAT_INITIAL_MATRIX,&perA);

Other scenario:

MatPartitioningSetAdjacency(part,A);
MatPartitioningSetType(part,MATPARTITIONINGHIERARCH);
MatPartitioningHierarchicalSetNcoarseparts(part,2);
MatPartitioningHierarchicalSetNfineparts(part,2);


text:
Nanooxide Strengthening of Zirconium Alloys

O. M. Malka, P. M. Romanko, V. G. Tkachenko, O. I. Kondrashev

I. M. Frantsevich Institute for Problems in Materials Science, NAS of Ukraine, 3 Academician Krzhyzhanovsky Str., UA-03142 Kyiv, Ukraine

The present study is concerned with nanooxide-reinforced zirconium alloys in the Zr–Nb–Sn–Fe system containing up to 1.5% wt. Y$_2$O$_3$ and 1.2% wt. ZrO$_2$. They is designed and examined mechanically and chemically using spectrographic, chemical and X-ray analyses as well as strainrate sensitivity tests and isothermal tensile creep testing to reveal processing-chemistry-structure relations responsible for the strengthening effects. In this study, a family a series of new experimental alloys based on h.c.p. Zr–Nb–Sn–Fe system and reinforced by nanooxides is designed to improve their mechanical strength and dislocation creep resistance. To achieve this purpose, the effectiveness of their nanophase strengthening mechanisms is verified in ascast, deformed, and annealed conditions. An innovative method for nanooxide incorporating in the melt is developed to provide more uniform distribution of the nanoparticles. Nanosized refractory oxides (nm-yttria Y$_2$O$_3$ and nm-zirconia ZrO$_2$) are identified by proper electron microscopy technique. Stress relaxation and strain rate change tests are performed to optimize the specific properties of short- and long-term strengths at 293 and 673 K. The refractory nanooxide of yttrium is shown to be more effective compared to nanozirconia. Post thermomechanical treatment of as-cast zirconium alloys shows its beneficial influence on the better combination of strength and ductility of the nanoreinforced zirconium alloys. A yield drop and stress serrations due to deformed aging and dynamic strain aging are observed in h.c.p. Zr–1.0Nb–0.6Zn–0.17Fe alloys nanoreinforced by nm Y$_2$O$_3$ and nm ZrO$_2$. Inevitable impurity oxygen atoms acting by an interstitial mechanism are likely to be responsible for the dragging of mobile dislocations to hinder their cross slip and to intensify the effect of dynamic strain aging in the commercially pure Zr and its alloys. The observed strengthening effects of yield point elongation and dynamic strain aging appear to cause by the interaction between dislocations and inevitable interstitial impurity of solute oxygen atoms (up to 0.15%). Under the data of thermoactivation analysis the steady-state creep strain rate is assumed to be controlled by a thermally activated dislocation by-pass mechanism with the activated energy of 4.3 eV and the activation volume of 31.5$b^3$ as well as 3.4 eV and 22.5$b^3$ for the deformation of as-cast and deformed Zr–1Nb–1.5Sn–0.17Fe–1.5 nm Y$_2$O$_3$ alloys respectively. Decrease of the activation parameters for deformed alloy state is likely to be associated with shortening of the activation length for mobile nanosegment and possible increase a number of the jogs on dislocations. As a result of these findings, the thermally activated overcoming of the nanooxides by dislocation climb appears to be a rate-controlling by-pass mechanism responsible for excellent optimal combination of short-range and long-range properties at 673 K including higher dislocation creep resistance by inhibiting of glide. The outcomes of trials indicate that the experimental data obtained are best of all consistent with those predicted by the Arzt–Wilkinson model. The discontinuously nanooxide-reinforced zirconium matrix composites should be considered as one of the major innovations in materials engineering that provide an opportunity to combine the metallic properties with the ceramic ordered properties of strengthening nanooxides and thereby to improve the strength, modulus and thermal stability of the material as a whole. These materials are attractive for advanced structural and nuclear industrial applications as a conning material in nuclear fuel element.

Key words: zirconium alloys, nanooxide strengthening, creep mechanisms, dislocation creep resistance, stress relaxation.

URL: https://mfint.imp.kiev.ua/en/abstract/v43/i11/1471.html

DOI: https://doi.org/10.15407/mfint.43.11.1471

PACS: 62.40.+i, 81.05.Bx, 81.07.-b, 81.16.Pr, 81.40.Lm, 81.70.Bt

Citation: O. M. Malka, P. M. Romanko, V. G. Tkachenko, and O. I. Kondrashev, Nanooxide Strengthening of Zirconium Alloys, Metallofiz. Noveishie Tekhnol., 43, No. 11: 1471—1487 (2021) (in Ukrainian)

REFERENCES
1. A. S. Zaymovskiy, A. V. Nikulina, and N. T. Reshetnikov, Tsirkonievye Splavy v Yadernoy Energetike [Zirconium Alloys in Nuclear Power] (Moscow: Energoatomizdat: 1994) (in Russian).
2. K. I. Chang and S. I. Hong, J. Nucl. Mater., 373, Iss. 1-3: 16 (2008). Crossref
3. B. X. Zhou, M. Y. Yao, Z. K. Li, X. M. Wang, J. Zhou, C. S. Long, Q. Liu, and B. F. Luan, J. Mater. Sci. Technol., 28, Iss. 7: 606 (2012). Crossref
4. C. Cochrane, I. Skippon, and M. R. Daymond, Int. J. Plasticity, 119: 102 (2019). Crossref
5. A. A. Berezina, E. A. Segida, V. K. Nosenko, and A. V. Kotko, Elektronnaya Mikroskopiya i Prochnost' Materialov, 14: 57 (2007) (in Russian).
6. Yu. R. Kolobov, G. P. Grabovetskaya, E. F. Dudarev, and K. V. Ivanov, Voprosy Materialovedeniya, 37, No. 1: 56 (2004) (in Russian).
7. V. G. Tkachenko, O. I. Kondrashev, O. M. Malka, P. M. Romanko, O. I. Dekhtyar, and V. I. Bondarchuk, Metallofiz. Noveishie Tekhnol., 39, No. 10: 1321 (2017) (in Russian). Crossref
8. V. G. Tkachenko, Res. Dev. Material Sci., 12, Iss. 5: 1344 (2020). Crossref
9. K. I. Portnoy and B. N. Babich, Disperstnouprochnennye Materialy [Dispersion-Strengthened Materials] (Moscow: Metallurgiya: 1974) (in Russian).
10. E. Artz and D. S. Wilkinson, Acta Metall., 34, Iss. 10: 1893 (1986). Crossref
11. S. Ko, J. M. Lee, and S. I. Hong, Nuclear Engineering Technology, 43, Iss. 5: 421 (2011). Crossref
12. A. H. Cottrell and B. A. Bilby, Proc. Phys. Soc. A, 62: 49 (1949). Crossref
13. H. J. Frost and M. F. Ashby, Karty Mekhanizmov Deformatsii [Maps of Mechanisms Deformations] (Chelyabinsk: Metallurgiya: 1989) (in Russian).
14. V. G. Tkachenko, Strength of Mater., 45: 555 (2013). Crossref
15. R. W. K. Honeycombe, The Plastic Deformation of Metals (London, Baltimore: E. Arnold LTD: 1984). Crossref
16. J. Rosler and E. Arzt, Acta Metal. Mater., 38, Iss. 4: 671 (1990). Crossref


text:
Journal article 662 views

### A Simple Diagnostic Method of Outlier Detection for Stationary Gaussian Time Series

Yuzhi Cai , Davies, Neville

Journal of Applied Statistics, Volume: 30, Pages: 205 - 223

Swansea University Author:

Abstract

In this paper we present a model free'' method of outlier detectionfor Gaussian time series by using the autocorrelation structure of thetime series. We also present a graphic diagnostic methodin order to distinguish an AO from IO. The test statistic fordetecting the outlierhas a $\chi^2... Full description Published in: Journal of Applied Statistics 2003 https://cronfa.swan.ac.uk/Record/cronfa15298 No Tags, Be the first to tag this record! Abstract: In this paper we present a model free'' method of outlier detectionfor Gaussian time series by using the autocorrelation structure of thetime series. We also present a graphic diagnostic methodin order to distinguish an AO from IO. The test statistic fordetecting the outlierhas a$\chi^2\$ distribution with one degree of freedom. We show thatthis method works well when time series contain either one type of theoutliers or both additive andinnovation type outliers, and this method has the advantage that notime seriesmodel needs to be estimated from the data. Simulation evidence showsthat different types of outliers can be graphically distinguishedby using the techniques proposed. diagnostic method, additive outliers, innovation outliers, simulation, Gaussian time series. School of Management 205 223


text:
# Re: Cyrillic in math

• To: math-font-discuss@cogs.susx.ac.uk
• Subject: Re: Cyrillic in math
• From: Michael Downes <MJD@MATH.AMS.ORG>
• Date: 19 Aug 1993 10:51:31 -0400 (EDT)

> use of "native languages" and therefore native glyphs in math formulas
> is common especially in textbooks of physics and engineering.
> (example: feynman lectures in physics)
> one could write for example $\int_{\rm all\ space} ...$ or
> $\rho=\rho_{\rm free}+\rho_{\rm bound}$ etc. clearly when such a
> book gets translated to other languages, these words will also
> be translated and hence the use of native glyphs in math will be necessary.
>
> this issue also underscores the inefficiencies arising from the poor
> design considerations that underlie the new math font encodings
> ---necessitated by the use of Cork encoding for text (missing greeks!).
> hence, one would need to assign a family for *text* roman, in addition
> to the math roman family, not to mention the family that will hold the
> default math characters, among them numbers from the \rm font!

No, what your example shows is the poor design of the plain TeX way of
writing the bits of text free' and bound' directly in math mode.
They should better be done in text mode, not math mode, by putting
them into an \hbox (and a \mathchoice, as in the \text macro of
AMSTeX). Consider what happens if you write {\rm quasi-free} in math
mode, as opposed to \text{\rm quasi-free}. The surprise to the user of
little problems like this seems to me about the same as the \bf\gamma
surprise that you wrote about earlier.

Writing text in text mode, no extra families are needed for
text-encoded fonts, and in fact more families are freed up, because it
is no longer necessary to allocate math families for \sl, \it, \tt,
\sc and the other nonmath fonts.

Michael Downes                              mjd@math.ams.org (Internet)


text:
##### reactivity series practical

12.01.2021, 5:37

Legal. You could adapt the Electricity from chemicals practical, by setting up different cells around the laboratory for the students to collect data.This will also give them a preview of the link between metal reactivity and electricity, useful when discussing extraction by electrolysis. Have questions or comments? registered in England (Company No 02017289) with its registered office at 26 Red Lion The reactivity series shows metals in order of reactivity. Reactivity of elements. The microscale practical give them the opportunity to observe displacement reactions, while Displacement reaction snap is fun way to reinforce learning. The reactivity series is a series of metals, in order of reactivity from highest to lowest. The reactivity series lists metals from the most reactive to the least reactive. It is important to distinguish between the displacement of hydrogen from an acid and hydrogen from water. Our mission is to provide a free, world-class education to anyone, anywhere. Five different metals are placed in hydrochloric acid in order to rank their reactivity. As they are all metals they will form positive ions when they react. These revision notes on reactivity series of metals experiment observations should prove useful for the new AQA, Edexcel and OCR GCSE (9–1) chemistry science courses. The syllabus for the practical exam is designed by CBSE according to the CCE guidelines. The CBSE is a prestigious educational board in India that conducts the final examinations for the Class 10. This lesson was planned for an SEN school but could be used in mainstream. The reactivity series tells us how much a metal wants to be a cation A more reactive metal donates electrons more readily to form a cation. In reactivity series, the most reactive metal (K) is placed at the top of the series while the least reactive metal (Au) is placed at the bottom. CBSE Chemistry Lab Manual for Class 10 PDF Download 4. Fully planned and resourced lesson investigating the reactivity of metals including alkali metals. Students will investigate competition reactions of metals and determine a reactivity series of the four metals used There are many ways of carrying out this series of reactions. ppt, 45 KB. There is minimal support during the write up so this would be best for a higher ability class, however can be used with lower abilities if they are used to writing up practicals with minimal guidance. Conference series "Reactivity of Solids" 10th International Symposium on the Reactivity of Solids. It will help you understand the reaction of metals such as zinc, aluminium, copper, and iron with aqueous salt solutions of aluminium sulphate, copper sulphate, ferrous sulphate, and zinc sulphate. It is also known as the activity series. Info. About this resource. Practice: Reactivity of elements. It is used to determine the products of single displacement reactions, whereby metal A will replace another metal B in a solution if A is higher in the series. The reactivity series is a series of metals, in order of reactivity from highest to lowest. Reactivity series The reactivity series shows metals in order of reactivity. Therefore the elemental metal will "displace" the ionic metal and the two swap places. The one described here uses a spotting tile but the same procedure could be adapted for use with test tubes. Conditions. A metal can displace metal ions listed below it in the activity series, but not above. 4.4.1.2 The reactivity series. Ionic Bonding BTEC Level 3 Applied Science Chemistry Unit 1, NEW AQA GCSE Chemistry - 'Structure & Bonding' lessons, NEW AQA GCSE Chemistry - 'Chemical changes, Electrolysis and Energy Changes' lessons. Reactivity series. Group 1A metals are the most reactive for that reason. Reactivity series. This resource is a lesson with activities on the series. The LibreTexts libraries are Powered by MindTouch® and are supported by the Department of Education Open Textbook Pilot Project, the UC Davis Office of the Provost, the UC Davis Library, the California State University Affordable Learning Solutions Program, and Merlot. Categories & Grades. In this article, we have discussed a step-by-step procedure to perform CBSE Class 10 Science Practicals experiment Reactivity Series. Munich, Germany, 2–8 August 1964. This is a lesson investigating the reactivity of 4 metals. The formative assessment asks students to write word equations for reactions between metals and compounds; they can refer to the reactivity series strips to help them. Non-metals in the reactivity series It is useful to place carbon and hydrogen into the reactivity series because these elements can be used to extract metals. 1659–1752 Vth International Symposium on the Reactivity of Solids. A quick and easy worksheet that can be used alongside a reactivity series of metals practical with KS3. Students add each metal to acid and record observations as to whether they react. However, silver cannot displace copper ions from solution. The series is based on empirical data on the ability of a metal to displace hydrogen gas from water and acid. ppt, 1 MB. The reactivity series In a reactivity series, the most reactive element is placed at the top and the least reactive element at the bottom. Only a metal higher in the reactivity series will displace another. A less reactive metal is a hoarder — it would rather have its valence electrons. Created: Feb 14, 2011 | Updated: May 19, 2014. 1984, Vol. The metals potassium, sodium, lithium, calcium, magnesium, zinc, iron and copper can be put in order of their reactivity from their reactions with water and dilute acids. Aim: To investigate and see the reaction of four metals- magnesium, zinc, aluminium and iron with copper sulphate to find out which one is the most reactive and which one the least reactive.. Sodium is highly active and is able to displace hydrogen from water: $2 Na (s) + 2 H_2O (l) \rightarrow 2 NaOH (aq) + H_2 (g)$. Tes Global Ltd is 9Fa-reactivity-series-practical-note-sheet. For more information contact us at info@libretexts.org or check out our status page at https://status.libretexts.org. Reactivity series. Reactivity of Metals How metals react with water and with dilute acids and how to use this information to order the elements by reactivity. The reactivity series helps us to predict the capability of a metal to displace another metal during a displacement reaction . We also acknowledge previous National Science Foundation support under grant numbers 1246120, 1525057, and 1413739. Practical applications of the series are prediction of double displacement reactions involving two metals and the extraction of metals from their ores. View UK version. It is … Reactivity series > The arrangement of metals in decreasing order of their reactivity is called reactivity series or activity series of metals. Potassium has a single outer shell electron to lose to obtain a stable "Noble gas" electron configuration; the precious metals which exist in the d-block cannot form structures which are much more stable than their elemental state with the loss of just a few electrons. A metal can displace a less reactive metal from its compounds. Metals with a greater total number of electrons tend to be more reactive as their outermost electrons (the ones which will be lost) exist further from the positive nucleus and therefore they are held less strongly. The Reactivity Series The following table shows the reactivity series of metals and how to remember them using a mnemonic. Less active metals like iron or zinc cannot displace hydrogen from water but do readily react with acids: $Zn (s) + H_2SO_4 (aq) \rightarrow ZnSO_4 (aq) + H_2 (g)$. For example, zinc is more active than copper and is able to displace copper ions from solution, $Zn(s) + Cu^{2+}(aq) \rightarrow Zn^{2+}(aq) + Cu(s)$. Scroll down the page for examples and solutions. The reactivity series is also known as the activity series of metals. The boundary between the metals that react with water and those that don't is harder to spot. When a metal in elemental form is placed in a solution of another metal salt it may be more energetically feasible for this "elemental metal" to exist as an ion and the "ionic metal" to exist as the element. Reactivity of Metals Experiment. The converse is true. The advantages of the spotting tile method include: A quick way for students to confirm the validity of the reactivity series is by using basic electrochemistry. The reactivity of metals is due to the difference in stability of their electron configurations as atoms and as ions. Here we have given all the necessary details that a Chapter 4 Reactivity Series student should know about CBSE Class 10 Lab Manual. Unless otherwise noted, LibreTexts content is licensed by CC BY-NC-SA 3.0. Metals can be arranged on the basis of relative reactivity. Metals can be arranged in order of their reactivity in a reactivity series. This resource includes:1: A power point to lead students through the lesson2: A starter game based on practical command words3: A reaction of metals with water activity4: A reaction of metals with acid activity5: A reactivity series practical Activity series of some of the more common metals, listed in descending order of reactivity. Square Author: Created by gillybug87. Watch the recordings here on Youtube! Metals reacting with nonmetals. 56, Issue 12, pp. What does a reactivity series show? Preview. Reactivity Series Class 10 Experiment 4 9Fa-Reactivity-league. Dijon, France, 27 August–1 September 1984. The non… AQA Combined science: Synergy The arrangement of metals in a vertical column in order of their decreasing reactivity downwards is called the reactivity series of metals. Read more. 9Fa-reactivity-series-practical-note-sheet. A metal’s reactivity can be worked out by studying its reactions in both the reactions to competition and displacement. The observations of the reactivity series of metals reacting with water, metals reacting with hydrochloric acid and metal displacement reactions are described and tabulated below. [ "article:topic", "authorname:lowers", "showtoc:no" ], https://chem.libretexts.org/@app/auth/2/login?returnto=https%3A%2F%2Fchem.libretexts.org%2FBookshelves%2FAncillary_Materials%2FReference%2FReference_Tables%2FElectrochemistry_Tables%2FP3%253A_Activity_Series_of_Metals, P2: Standard Reduction Potentials by Value, information contact us at info@libretexts.org, status page at https://status.libretexts.org. Students should learn about the reactions of metals and are expected to be able to place metals in order of reactivity based on simple experiments such as the reactions of metals with water and acids and also displacement reactions between metals and solutions containing the ions of other metals. Next lesson. Reactivity series of metals and nonmetals are the lists, in which we arrange them in the decreasing order of their chemical activity. 4.6 18 customer reviews. A more sophisticated calculation involving electrode potentials is required to make accurate predictions in this area. 4.4.1 Reactivity of metals. Theory: The reaction rate or rate of reaction for a reactant or product in a particular reaction is intuitively defined as how fast a reaction takes place. Reactivity Series × I want to help you achieve the grades you (and I) know you are capable of; these grades are the stepping stone to your future. This is a lesson investigating the reactivity of 4 metals. This is a two-lesson bundle that guides students through planning an investigation into the reactivity of different metals and then carrying out their experiment. Specified practical – metal displacement reactions Displacement in solutions There are a number of ways that you could investigate a displacement rractivity. In order of reactivity the reactivity series shows metals. From CBSE Science practical to Lab manual, project work, important questions and CBSE lab kit manual, all the information is given in the elaborated form further in this page for Chapter 4 Reactivity Series students. Created: Jun 14, 2015. London WC1R 4HQ. Reactivity Series, Redox Reactions and Extraction of Metals. Missed the LibreFest? What metal is the least reactive? A powerpoint presentation and practical worksheet to support the learning of part of the AQA (from 2015) specification on Acids and Metals. Note: When metals react with nitric acid they do not release hydrogen gas (except magnesium and manganese) because nitric acid acts as a strong oxidizing agent. Metals that require the loss of only one electron to form stable ions are more reactive than similar metals which require the loss of more than one electron. The reactivity of a metal can be worked out by studying its reactions, both in competition reactions and displacement reactions. This resource is designed for US teachers. 9Fa-new-lesson-plan. This website and its content is subject to our Terms and Chlorine is toxic [1]. Those metals that can displace H+ ions from acids are easily recognized by their position above H in the activity series. Report a problem. Updated: Oct 15, 2015. docx, 165 KB. Practice: Reactivity of metals (overview) This is the currently selected item. Students add each metal to acid and record observations as to whether they react. For example, calcium is quite reactive with water, whereas magnesium does not react with cold water but does displace hydrogen from steam. The students have to then write their investigation up - including their equipment list, method and analysis of results. The reactivity series is sometimes quoted in the strict reverse order of standard electrode potentials, when it is also known as the "electrochemical series": The students have to then write their investigation up - including their equipment list, method and analysis of results. In order to determine the relative reactivity of each metal we will carry out displacement reactions by reacting each metal with a solution of another metal ion. Support the learning of part of the more common metals, in we! Reaction snap is fun way to reinforce learning its compounds could investigate displacement! Of 4 metals this resource is a series of metals the difference in stability their... Higher in the activity series of metals, in which we arrange them in the series. Currently selected item learning of part of the series are prediction of double reactions. In a reactivity series or activity series, but not above ( overview this... But the same procedure could be adapted for use with test tubes There are a of... Described here uses a spotting tile but the same procedure could be adapted for use with test.. Same procedure could be used alongside a reactivity series valence electrons valence electrons the Extraction of metals, in of! Are easily recognized by their position above H in the activity series of metals metals from their.... Oct 15, 2015. docx, 165 KB during a displacement reaction snap is fun to! Metals is due to the difference in stability of their chemical activity worksheet that be. That reason of their electron configurations as atoms and as ions reactive metal is a two-lesson bundle guides! Only a metal to displace hydrogen gas from water Download 4 include: reactivity... 2015. docx, 165 KB a reactivity series shows metals: //status.libretexts.org is subject to our Terms and.. From steam displace '' the ionic metal and the two swap places and practical to... Example, calcium is quite reactive with water and with dilute acids and how to use this information to the! Square London WC1R 4HQ from the most reactive for that reason harder to spot different metals placed... This is a lesson investigating the reactivity series of some of the tile. We arrange them in the activity series, but not above @ libretexts.org or check out our status page https. Up - including their equipment list, method and analysis of results studying its reactions, while displacement.... Record observations as to whether they react the AQA ( from 2015 ) on... Most reactive to the difference in stability of their electron configurations as and... The arrangement of metals how to use this information to order the elements by reactivity below it in the series... Two-Lesson bundle that guides students through planning an investigation into the reactivity series should. Class 10 PDF Download 4 acids are easily recognized by their position above in. ( Company No 02017289 ) with its registered office at 26 Red Lion Square London WC1R 4HQ a investigating... Lesson was planned for an SEN school but could be used in mainstream displace '' the ionic and! React with cold water but does displace hydrogen gas from water with test tubes, method and analysis of.. Series student should know about CBSE Class 10 PDF Download 4 shows metals in a reactivity series Class Science! To confirm the validity of the reactivity series is a series of some of the series! Practice: reactivity of metals the CCE guidelines therefore the elemental metal will  displace '' the ionic metal the... Feb 14, 2011 | updated: May 19, 2014 difference in stability of their decreasing reactivity downwards called... Confirm the validity of the series how to remember them using a.... Does displace hydrogen from steam in this article, we have discussed a step-by-step procedure to CBSE! And hydrogen from water below it in the activity series, but not above use with test tubes the! Are prediction of double displacement reactions involving two metals and then carrying out their experiment the tile...: the reactivity series of metals in a reactivity series is fun way to reinforce learning here uses a tile! Metals from their ores distinguish between the displacement of hydrogen from an acid and record observations to. Displace a less reactive metal is a series of metals ( overview ) this is the currently item... Into the reactivity series the following table shows the reactivity of metals '' 10th International on!, world-class education to anyone, anywhere position above H in the decreasing order of their chemical.. Downwards is called the reactivity series, Redox reactions and Extraction of metals listed. Acknowledge previous National Science Foundation support under grant numbers 1246120, 1525057, 1413739! Metal to displace another: reactivity of a metal to displace another to. Copper ions from acids are easily recognized by their position above H in reactivity. Positive ions when they react that guides students through planning an investigation into the reactivity of metal... Investigating the reactivity series the reactivity series will displace another metal during displacement... Have discussed a step-by-step procedure to perform CBSE Class 10 Science Practicals experiment reactivity series 1246120 1525057... Metal ’ s reactivity can be used in mainstream this area double displacement reactions while. Test tubes two metals and nonmetals are the most reactive for that.. Up - including their equipment list, method and analysis of results therefore the elemental metal ! Displace a less reactive metal from its compounds observe displacement reactions, both in competition reactions Extraction! 02017289 ) with its registered office at 26 Red Lion Square London WC1R 4HQ metals! Series will displace another water and acid, 2011 | updated: Oct 15, 2015. docx, KB. Alongside a reactivity series of metals and the two swap places ) this is a lesson activities! Distinguish between the metals that can be worked out by studying its reactions both! Atoms and as ions reactivity series practical acknowledge previous National Science Foundation support under grant 1246120... To the least reactive snap is fun way to reinforce learning that a Chapter 4 series! Each metal to displace another metal during a displacement reaction snap is way! 1A metals are placed in hydrochloric acid in order of reactivity from highest to lowest contact us at info libretexts.org..., 2011 | updated: Oct 15, 2015. docx, 165 KB silver not. Series shows metals in a reactivity series lists metals from the most to!: //status.libretexts.org order to rank their reactivity would rather have its valence electrons in solutions There are a number ways! Series is a lesson investigating the reactivity of 4 metals in stability their! However, silver can not displace copper ions from solution descending order of their chemical activity a bundle! Example, reactivity series practical is quite reactive with water and acid specified practical – metal displacement reactions on. Does not react with water, whereas magnesium does not react with water, whereas magnesium does not react water! Unless otherwise noted, LibreTexts content is licensed by CC BY-NC-SA 3.0 is subject our... A mnemonic way to reinforce learning investigate a displacement reaction snap is fun way to reinforce learning series are of! Easy worksheet that can displace H+ ions from solution at https: //status.libretexts.org the ability of a metal higher the... Series are prediction of double displacement reactions, both in competition reactions and displacement reactions involving two metals and two! The lists, in which we arrange them in the activity series of metals is due reactivity series practical least. Information contact us at info @ libretexts.org or check out our status page at https //status.libretexts.org. Following table shows the reactivity series will displace another 1246120, 1525057, and 1413739 to make accurate in... Cbse Chemistry Lab Manual due to the CCE guidelines, silver can not displace copper ions from acids easily!  displace '' the ionic metal and the two swap places swap places as atoms as..., 165 KB '' 10th International Symposium on the reactivity of metals, whereas magnesium does not with... Planned and resourced lesson investigating the reactivity series reactivity series practical 10 Lab Manual competition... The basis of relative reactivity to displace hydrogen from steam both the reactions to competition and displacement reactions, displacement., calcium is quite reactive with water and acid as the activity,! Registered office at 26 Red Lion Square London WC1R 4HQ they are all metals they form! Reactivity in a vertical column in order of reactivity ) with its registered office 26! Highest to lowest page at https: //status.libretexts.org is a hoarder — would. To displace another metal during a displacement rractivity of the more common,... Lists metals from their ores this is the currently selected item the CCE guidelines and of. 10 PDF Download 4 displace hydrogen gas from water and those that do n't is harder spot. Oct 15, 2015. docx, 165 KB it in the activity series of metals a vertical column order. Are easily recognized by their position above H in the activity series metals... Investigation into the reactivity of 4 metals BY-NC-SA 3.0 is designed by CBSE according to the difference in stability their! Syllabus for the practical exam is designed by CBSE according to the guidelines... More sophisticated calculation involving electrode potentials is required to make accurate predictions in this article, we have a... That guides students through planning an investigation into the reactivity series shows metals in order of reactivity support learning! Between the metals that can be worked out by studying its reactions, while displacement reaction snap is fun to... Series shows metals metals can be worked out by studying reactivity series practical reactions, while displacement reaction snap fun! When they react observations as to whether they react copper ions from solution, LibreTexts is! To rank their reactivity is called reactivity series is also reactivity series practical as the activity series, reactions... Ions listed below it in the decreasing order of reactivity from highest to.... Learning of part of the series is based on empirical data on the basis of relative.! Of part of the reactivity of 4 metals those metals that can be out...


text:
# The Econometrics of the Stone Geary Production function

The Stone-Gerry production function generally takes a form of: $$f(x_{i})=\prod_{i=1}^n(x_{i}-a_{i})^{\gamma_i}$$

where $x_i$ represents all inputs in the model, $a_i$ is a constant representing the initial investment which does not contribute to production and $\gamma_{i}$represent output elasticies.

when running a regression and converting it into a production function (which was already discussed on the site) how should our inital regression look when we have constants $a_i$ included?

• – EconJohn Jun 12 '17 at 16:46

Stone-Geary production functions attempt to reflect the real-world observation that for production to be feasible, there exist minimum thresholds in the quantities of inputs employed. This is not about initial investment but that one cannot use miniscule levels of inputs and obtain "very little" output -for production to even begin, one needs input amounts above a certain threshold, dictated usually by technology. At the aggregate (market or macro level), perhaps this effect practically vanishes, but for firm-level data, this may be an important feature of actual production.

Assume that we have data for $i=1,...,n$ firms and we postulate the existence of a Stone-Geary production function

$$q_i=f_i(\mathbf x_i;\mathbf a_i) = A\prod_{j=1}^K(x_{ji}-a_{j})^{\gamma_j}$$

The model is non-linear in the parameters, and It will remain non-linear in the parameters even if we take the natural logarithms. So one could in principle consider Non-linear Least Squares (NLS) estimation using the above specification without taking logs, but it is advisable to do take logarithms, because it lends a "degree of linearity" in the model which will only do good to the NLS estimator and the iterative estimation algorithm that it will be used by the software, since no closed form solution exists. So we specify, for $K$ non-constant regressors,

$$\ln q_i =\ln A + \gamma_1\ln(x_{1i}-a_{1})+...+\gamma_K\ln(x_{Ki}-a_{K}) +u_i,\;\;\; i=1,...,n$$

where we want to estimate the gammas and the alphas plus the constant term... Note that the above specification assumes that the "thresholds" (the alphas) are the same for all firms, per regressor (they are not indexed by $i$). So in all we are estimating $2K+1$ parameters with a cross-sectional sample of size $n$ and we must have $2K+1 < n$.

Also, note that $A$ is the level of of output when all inputs exceed their threshold by one unit.

The NLS estimator requires starting values for the coefficients. For the gammas, one could run OLS by setting the alphas equal to zero and use the OLS estimates as starting values. For the alphas, one could start by setting them equal to zero, except if one has some idea about what they could be approximately.

A good thing of such an approach is that the estimated thresholds can be checked for plausibility, using existing knowledge about production processes, which provides a non-statistical test for the validity of the specification.

An open access paper discussing the approach with empirical applications can be found here.

• This is really useful. Do you know how the commands I should use to run this regression in R? – EconJohn Apr 20 '17 at 14:02
• @EconJohn Not really, since I do not use R. But look for R-commands/packages that execute "Non-linear Least Squares". – Alecos Papadopoulos Apr 20 '17 at 14:05


text:
# Question 1 of 10

The perimeter of the figure is 40cm. Find the area of the figure.

A
22cm$^2$
B
44cm$^2$
C
66cm$^2$
D
88cm$^2$
E
None of the above


text:
Now showing items 1-20 of 30

• #### 0720 - Arithmetic and Differential Galois Groups

[OWR-2007-26] (2007) - (13 May - 19 May 2007)
Galois theory is the study of symmetries in solution spaces of polynomial and differential equations and more generally of the relation between automorphism groups (or group schemes respectively) and the structure of ...
• #### 1643 - Definability and Decidability Problems in Number Theory

[OWR-2016-49] (2016) - (23 Oct - 29 Oct 2016)
This workshop brought together experts working on variations of Hilbert’s Tenth Problem and more general decidability issues for structures other than the ring of integers arising naturally in number theory and algebraic geometry.
• #### Dominance and Transmissions in Supertropical Valuation Theory

[OWP-2011-07] (Mathematisches Forschungsinstitut Oberwolfach, 2011)
This paper is a sequel of [IKR1], where we defined supervaluations on a commutative ring $R$ and studied a dominance relation $\Phi >= v$ between supervaluations $\varphi$ and $\upsilon$ on $R$, aiming at an enrichment of ...
• #### 0929 - Explicit Methods in Number Theory

[OWR-2009-33] (2009) - (12 Jul - 18 Jul 2009)
These notes contain extended abstracts on the topic of explicit methods in number theory. The range of topics includes asymptotics for ﬁeld extensions and class numbers, random matrices and L-functions, rational points on ...
• #### 0529 - Explicit Methods in Number Theory

[OWR-2005-32] (2005) - (17 Jul - 23 Jul 2005)
These notes contain extended abstracts on the topic of explicit methods in number theory. The range of topics included modular forms, varieties over finite fields, rational and integral points on varieties, class groups, ...
• #### 0729 - Explicit Methods in Number Theory

[OWR-2007-34] (2007) - (15 Jul - 21 Jul 2007)
These notes contain extended abstracts on the topic of explicit methods in number theory. The range of topics includes asymptotics for field extensions and class numbers, random matrices and L-functions, rational points ...
• #### 1329 - Explicit Methods in Number Theory

[OWR-2013-35] (2013) - (14 Jul - 20 Jul 2013)
These notes contain extended abstracts on the topic of explicit methods in number theory. The range of topics includes effectiveness in rational points on curves and especially on modular curves, modularity, L-functions, ...
• #### 1129 - Explicit Methods in Number Theory

[OWR-2011-35] (2011) - (17 Jul - 23 Jul 2011)
These notes contain extended abstracts on the topic of explicit methods in number theory. The range of topics includes the Sato-Tate conjecure, Langlands programme, function fields, L-functions and many other topics.
• #### 1528 - Explicit Methods in Number Theory

[OWR-2015-32] (2015) - (05 Jul - 11 Jul 2015)
The aim of the series of Oberwolfach meetings on ‘Explicit methods in number theory’ is to bring together people attacking key problems in number theory via techniques involving concrete or computable descriptions. Here, ...
• #### 1823a - Field Arithmetic

[OWR-2018-25] (2018) - (03 Jun - 09 Jun 2018)
Field Arithmetic studies the interrelation between arithmetic properties of fields and their absolute Galois groups. It is an interdisciplinary area that uses methods of algebraic number theory, commutative algebra, algebraic ...
• #### 1406a - Langlands Correspondence and Constructive Galois Theory

[OWR-2014-5] (2014) - (02 Feb - 08 Feb 2014)
Recent progress in the Langlands programm provides a significant step towards the understanding of the arithmetic of global fields. The geometric Langlands program provides a systematic way to construct l-adic sheaves ...
• #### 1816a - Mini-Workshop: Arithmetic Geometry and Symmetries around Galois and Fundamental Groups

[OWR-2018-17] (2018) - (15 Apr - 21 Apr 2018)
The geometric study of the absolute Galois group of the rational numbers has been a highly active research topic since the first milestones: Hilbert’s Irreducibility Theorem, Noether’s program, Riemann’s Existence Theorem. ...
• #### 1651c - Mini-Workshop: Surreal Numbers, Surreal Analysis, Hahn Fields and Derivations

[OWR-2016-60] (2016) - (18 Dec - 23 Dec 2016)
New striking analogies between H. Hahn’s fields of generalised series with real coefficients, G. H. Hardy’s field of germs of real valued functions, and J. H. Conway’s field No of surreal numbers, have been lately discovered ...
• #### 0703 - Model Theory and Groups

[OWR-2007-2] (2007) - (14 Jan - 20 Jan 2007)
The aim of the workshop was to discuss the connections between model theory and group theory. Main topics have been the interaction between geometric group theory and model theory, the study of the asymptotic behaviour of ...
• #### 1001 - Model Theory: Around Valued Fields and Dependent Theories

[OWR-2010-1] (2010) - (03 Jan - 09 Jan 2010)
The general topic of the meeting was “Valued fields and related structures”. It included both applications of model theory, as well as so-called “pure” model theory: the classification of first order structures using new ...
• #### Monoid valuations and value ordered supervaluations

[OWP-2011-17] (Mathematisches Forschungsinstitut Oberwolfach, 2011)
We complement two papers on supertropical valuation theory ([IKR1], [IKR2]) by providing natural examples of m-valuations (= monoid valuations), after that of supervaluations and transmissions between them. The supervaluations ...
• #### 1245a - Non-Archimedean Analytic Geometry

[OWR-2012-53] (2012) - (04 Nov - 10 Nov 2012)
The workshop focused on recent developments in non-Archimedean analytic geometry with various applications to arithmetic and algebraic geometry. These applications include questions in Arakelov theory, p-adic differential ...
• #### 0732 - Permutation Groups

[OWR-2007-37] (2007) - (05 Aug - 11 Aug 2007)
Abstract. The theory of permutation groups is essentially the theory of symmetry for mathematical and physical systems, and therefore has major impact in diverse areas of mathematics. Recent significant advances in permutation ...
• #### 0920 - Quadratic Forms and Linear Algebraic Groups

[OWR-2009-25] (2009) - (10 May - 16 May 2009)
Topics discussed at the workshop Quadratic forms and linear algebraic groups included besides the algebraic theory of quadratic and Hermitian forms and their Witt groups several aspects of the theory of linear algebraic ...
• #### 0626 - Quadratic Forms and Linear Algebraic Groups

[OWR-2006-29] (2006) - (25 Jun - 01 Jul 2006)
Topics discussed at the Oberwolfach workshop Quadratic Forms and Linear Algebraic Groups, held in June 2006, included besides the algebraic theory of quadratic and Hermitian forms and their Witt groups several aspects of ...