text:
Reference documentation for deal.II version Git 6fa7894 2017-12-12 13:14:59 +0100
LAPACKFullMatrix< number > Class Template Reference

#include <deal.II/lac/lapack_full_matrix.h>

Inheritance diagram for LAPACKFullMatrix< number >:
[legend]

## Public Types

typedef types::global_dof_index size_type

Public Types inherited from TransposeTable< number >
typedef TableBase< 2, number >::size_type size_type

Public Types inherited from TableBase< 2, number >
typedef AlignedVector< number >::size_type size_type

## Public Member Functions

LAPACKFullMatrix (const size_type size=0)

LAPACKFullMatrix (const size_type rows, const size_type cols)

LAPACKFullMatrix (const LAPACKFullMatrix &)

LAPACKFullMatrix< number > & operator= (const LAPACKFullMatrix< number > &)

template<typename number2 >
LAPACKFullMatrix< number > & operator= (const FullMatrix< number2 > &)

template<typename number2 >
LAPACKFullMatrix< number > & operator= (const SparseMatrix< number2 > &)

LAPACKFullMatrix< number > & operator= (const number d)

LAPACKFullMatrix< number > & operator*= (const number factor)

LAPACKFullMatrix< number > & operator/= (const number factor)

void add (const number a, const LAPACKFullMatrix< number > &A)

template<typename MatrixType >
void copy_from (const MatrixType &)

void reinit (const size_type size)

void reinit (const size_type rows, const size_type cols)

void set_property (const LAPACKSupport::Property property)

unsigned int m () const

unsigned int n () const

template<typename MatrixType >
void fill (const MatrixType &src, const size_type dst_offset_i=0, const size_type dst_offset_j=0, const size_type src_offset_i=0, const size_type src_offset_j=0, const number factor=1., const bool transpose=false)

template<typename number2 >
void vmult (Vector< number2 > &w, const Vector< number2 > &v, const bool adding=false) const

void vmult (Vector< number > &w, const Vector< number > &v, const bool adding=false) const

template<typename number2 >
void vmult_add (Vector< number2 > &w, const Vector< number2 > &v) const

void vmult_add (Vector< number > &w, const Vector< number > &v) const

template<typename number2 >
void Tvmult (Vector< number2 > &w, const Vector< number2 > &v, const bool adding=false) const

void Tvmult (Vector< number > &w, const Vector< number > &v, const bool adding=false) const

template<typename number2 >
void Tvmult_add (Vector< number2 > &w, const Vector< number2 > &v) const

void Tvmult_add (Vector< number > &w, const Vector< number > &v) const

void mmult (LAPACKFullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void mmult (FullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void Tmmult (LAPACKFullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void Tmmult (FullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void mTmult (LAPACKFullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void mTmult (FullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void TmTmult (LAPACKFullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void TmTmult (FullMatrix< number > &C, const LAPACKFullMatrix< number > &B, const bool adding=false) const

void compute_lu_factorization ()

void compute_cholesky_factorization ()

number reciprocal_condition_number (const number l1_norm) const

number reciprocal_condition_number () const

number determinant () const

number l1_norm () const

number linfty_norm () const

number frobenius_norm () const

number trace () const

void invert ()

void solve (Vector< number > &v, const bool transposed=false) const

void solve (LAPACKFullMatrix< number > &B, const bool transposed=false) const

void apply_lu_factorization (Vector< number > &v, const bool transposed) const

void apply_lu_factorization (LAPACKFullMatrix< number > &B, const bool transposed) const

void compute_eigenvalues (const bool right_eigenvectors=false, const bool left_eigenvectors=false)

void compute_eigenvalues_symmetric (const number lower_bound, const number upper_bound, const number abs_accuracy, Vector< number > &eigenvalues, FullMatrix< number > &eigenvectors)

void compute_generalized_eigenvalues_symmetric (LAPACKFullMatrix< number > &B, const number lower_bound, const number upper_bound, const number abs_accuracy, Vector< number > &eigenvalues, std::vector< Vector< number > > &eigenvectors, const int itype=1)

void compute_generalized_eigenvalues_symmetric (LAPACKFullMatrix< number > &B, std::vector< Vector< number > > &eigenvectors, const int itype=1)

void compute_svd ()

void compute_inverse_svd (const double threshold=0.)

std::complex< number > eigenvalue (const size_type i) const

number singular_value (const size_type i) const

void print_formatted (std::ostream &out, const unsigned int precision=3, const bool scientific=true, const unsigned int width=0, const char *zero_string=" ", const double denominator=1., const double threshold=0.) const

Public Member Functions inherited from TransposeTable< number >
TransposeTable ()=default

TransposeTable (const unsigned int size1, const unsigned int size2)

void reinit (const unsigned int size1, const unsigned int size2, const bool omit_default_initialization=false)

AlignedVector< number >::const_reference operator() (const unsigned int i, const unsigned int j) const

AlignedVector< number >::reference operator() (const unsigned int i, const unsigned int j)

unsigned int n_rows () const

unsigned int n_cols () const

Public Member Functions inherited from TableBase< 2, number >
TableBase ()=default

TableBase (const TableIndices< N > &sizes)

TableBase (const TableIndices< N > &sizes, InputIterator entries, const bool C_style_indexing=true)

TableBase (const TableBase< N, number > &src)

TableBase (const TableBase< N, T2 > &src)

TableBase (TableBase< N, number > &&src)

~TableBase ()=default

TableBase< N, number > & operator= (const TableBase< N, number > &src)

TableBase< N, number > & operator= (const TableBase< N, T2 > &src)

TableBase< N, number > & operator= (TableBase< N, number > &&src)

bool operator== (const TableBase< N, number > &T2) const

void reset_values ()

void reinit (const TableIndices< N > &new_size, const bool omit_default_initialization=false)

unsigned int size (const unsigned int i) const

const TableIndices< N > & size () const

size_type n_elements () const

bool empty () const

void fill (InputIterator entries, const bool C_style_indexing=true)

void fill (const number &value)

AlignedVector< number >::reference operator() (const TableIndices< N > &indices)

AlignedVector< number >::const_reference operator() (const TableIndices< N > &indices) const

void swap (TableBase< N, number > &v)

std::size_t memory_consumption () const

void serialize (Archive &ar, const unsigned int version)

Public Member Functions inherited from Subscriptor
Subscriptor ()

Subscriptor (const Subscriptor &)

Subscriptor (Subscriptor &&)

virtual ~Subscriptor ()

Subscriptoroperator= (const Subscriptor &)

Subscriptoroperator= (Subscriptor &&)

void subscribe (const char *identifier=nullptr) const

void unsubscribe (const char *identifier=nullptr) const

unsigned int n_subscriptions () const

void list_subscribers () const

template<class Archive >
void serialize (Archive &ar, const unsigned int version)

## Private Member Functions

number norm (const char type) const

## Private Attributes

LAPACKSupport::State state

LAPACKSupport::Property property

std::vector< number > work

std::vector< int > iwork

std::vector< int > ipiv

std::vector< number > inv_work

std::vector< number > wr

std::vector< number > wi

std::vector< number > vl

std::vector< number > vr

std::shared_ptr< LAPACKFullMatrix< number > > svd_u

std::shared_ptr< LAPACKFullMatrix< number > > svd_vt

Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, char *arg2, std::string &arg3)

static::ExceptionBase & ExcNoSubscriber (char *arg1, char *arg2)

Protected Member Functions inherited from TransposeTable< number >
AlignedVector< number >::reference el (const unsigned int i, const unsigned int j)

AlignedVector< number >::const_reference el (const unsigned int i, const unsigned int j) const

Protected Member Functions inherited from TableBase< 2, number >
size_type position (const TableIndices< N > &indices) const

AlignedVector< number >::reference el (const TableIndices< N > &indices)

AlignedVector< number >::const_reference el (const TableIndices< N > &indices) const

Protected Attributes inherited from TableBase< 2, number >
AlignedVector< number > values

TableIndices< N > table_size

## Detailed Description

### template<typename number> class LAPACKFullMatrix< number >

A variant of FullMatrix using LAPACK functions wherever possible. In order to do this, the matrix is stored in transposed order. The element access functions hide this fact by reverting the transposition.

Note
In order to perform LAPACK functions, the class contains a lot of auxiliary data in the private section. The names of these data vectors are usually the names chosen for the arguments in the LAPACK documentation.

Definition at line 61 of file mpi.h.

## Member Typedef Documentation

template<typename number>
 typedef types::global_dof_index LAPACKFullMatrix< number >::size_type

Declare type for container size.

Definition at line 60 of file lapack_full_matrix.h.

## Constructor & Destructor Documentation

template<typename number >
 LAPACKFullMatrix< number >::LAPACKFullMatrix ( const size_type size = 0 )
explicit

Constructor. Initialize the matrix as a square matrix with dimension n.

In order to avoid the implicit conversion of integers and other types to a matrix, this constructor is declared explicit.

By default, no memory is allocated.

Definition at line 33 of file lapack_full_matrix.cc.

template<typename number >
 LAPACKFullMatrix< number >::LAPACKFullMatrix ( const size_type rows, const size_type cols )

Constructor. Initialize the matrix as a rectangular matrix.

Definition at line 42 of file lapack_full_matrix.cc.

template<typename number >
 LAPACKFullMatrix< number >::LAPACKFullMatrix ( const LAPACKFullMatrix< number > & M )

Copy constructor. This constructor does a deep copy of the matrix. Therefore, it poses a possible efficiency problem, if for example, function arguments are passed by value rather than by reference. Unfortunately, we can't mark this copy constructor explicit, since that prevents the use of this class in containers, such as std::vector. The responsibility to check performance of programs must therefore remain with the user of this class.

Definition at line 52 of file lapack_full_matrix.cc.

## Member Function Documentation

template<typename number>
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator= ( const LAPACKFullMatrix< number > & M )

Assignment operator.

Definition at line 62 of file lapack_full_matrix.cc.

template<typename number >
template<typename number2 >
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator= ( const FullMatrix< number2 > & M )

Assignment operator from a regular FullMatrix.

Note
Since LAPACK expects matrices in transposed order, this transposition is included here.

Definition at line 93 of file lapack_full_matrix.cc.

template<typename number >
template<typename number2 >
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator= ( const SparseMatrix< number2 > & M )

Assignment operator from a regular SparseMatrix.

Note
Since LAPACK expects matrices in transposed order, this transposition is included here.

Definition at line 110 of file lapack_full_matrix.cc.

template<typename number>
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator= ( const number d )

This operator assigns a scalar to a matrix. To avoid confusion with constructors, zero (when cast to the number type) is the only value allowed for d

Definition at line 126 of file lapack_full_matrix.cc.

template<typename number>
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator*= ( const number factor )

This operator multiplies all entries by a fixed factor.

Definition at line 141 of file lapack_full_matrix.cc.

template<typename number>
 LAPACKFullMatrix< number > & LAPACKFullMatrix< number >::operator/= ( const number factor )

This operator divides all entries by a fixed factor.

Definition at line 157 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::add ( const number a, const LAPACKFullMatrix< number > & A )

Simple addition of a scaled matrix, i.e. *this += a*A.

Definition at line 177 of file lapack_full_matrix.cc.

template<typename number >
template<typename MatrixType >
 void LAPACKFullMatrix< number >::copy_from ( const MatrixType & M )
inline

Assignment from different matrix classes, performing the usual conversion to the transposed format expected by LAPACK. This assignment operator uses iterators of the typename MatrixType. Therefore, sparse matrices are possible sources.

Definition at line 837 of file lapack_full_matrix.h.

template<typename number >
 void LAPACKFullMatrix< number >::reinit ( const size_type size )

Regenerate the current matrix by one that has the same properties as if it were created by the constructor of this class with the same argument list as this present function.

Definition at line 73 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::reinit ( const size_type rows, const size_type cols )

Regenerate the current matrix by one that has the same properties as if it were created by the constructor of this class with the same argument list as this present function.

Definition at line 82 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::set_property ( const LAPACKSupport::Property property )

Assign property to this matrix.

Definition at line 611 of file lapack_full_matrix.cc.

template<typename number >
 unsigned int LAPACKFullMatrix< number >::m ( ) const
inline

Return the dimension of the codomain (or range) space.

Note
The matrix is of dimension $$m \times n$$.

Definition at line 821 of file lapack_full_matrix.h.

template<typename number >
 unsigned int LAPACKFullMatrix< number >::n ( ) const
inline

Return the dimension of the domain space.

Note
The matrix is of dimension $$m \times n$$.

Definition at line 829 of file lapack_full_matrix.h.

template<typename number>
template<typename MatrixType >
 void LAPACKFullMatrix< number >::fill ( const MatrixType & src, const size_type dst_offset_i = 0, const size_type dst_offset_j = 0, const size_type src_offset_i = 0, const size_type src_offset_j = 0, const number factor = 1., const bool transpose = false )
inline

Fill rectangular block.

A rectangular block of the matrix src is copied into this. The upper left corner of the block being copied is (src_offset_i,src_offset_j). The upper left corner of the copied block is (dst_offset_i,dst_offset_j). The size of the rectangular block being copied is the maximum size possible, determined either by the size of this or src.

The final two arguments allow to enter a multiple of the source or its transpose.

Definition at line 860 of file lapack_full_matrix.h.

template<typename number >
template<typename number2 >
 void LAPACKFullMatrix< number >::vmult ( Vector< number2 > & w, const Vector< number2 > & v, const bool adding = false ) const

Matrix-vector-multiplication.

Depending on previous transformations recorded in state, the result of this function is one of

The optional parameter adding determines, whether the result is stored in w or added to w.

Note
Source and destination must not be the same vector.
The template with number2 only exists for compile-time compatibility with FullMatrix. Only the case number2 = number is implemented due to limitations in the underlying LAPACK interface. All other variants throw an error upon invocation.

Definition at line 893 of file lapack_full_matrix.h.

template<typename number>
 void LAPACKFullMatrix< number >::vmult ( Vector< number > & w, const Vector< number > & v, const bool adding = false ) const

Specialization of above function for compatible Vector::value_type.

Definition at line 198 of file lapack_full_matrix.cc.

template<typename number >
template<typename number2 >
 void LAPACKFullMatrix< number >::vmult_add ( Vector< number2 > & w, const Vector< number2 > & v ) const

See the documentation of vmult() for details on the implementation.

Definition at line 906 of file lapack_full_matrix.h.

template<typename number>
 void LAPACKFullMatrix< number >::vmult_add ( Vector< number > & w, const Vector< number > & v ) const

Specialization of above function for compatible Vector::value_type.

Definition at line 379 of file lapack_full_matrix.cc.

template<typename number >
template<typename number2 >
 void LAPACKFullMatrix< number >::Tvmult ( Vector< number2 > & w, const Vector< number2 > & v, const bool adding = false ) const

Transpose matrix-vector-multiplication.

The optional parameter adding determines, whether the result is stored in w or added to w.

See the documentation of vmult() for details on the implementation.

Definition at line 918 of file lapack_full_matrix.h.

template<typename number>
 void LAPACKFullMatrix< number >::Tvmult ( Vector< number > & w, const Vector< number > & v, const bool adding = false ) const

Specialization of above function for compatible Vector::value_type.

Definition at line 287 of file lapack_full_matrix.cc.

template<typename number >
template<typename number2 >
 void LAPACKFullMatrix< number >::Tvmult_add ( Vector< number2 > & w, const Vector< number2 > & v ) const

Adding transpose matrix-vector-multiplication. w += AT*v

See the documentation of vmult() for details on the implementation.

Definition at line 931 of file lapack_full_matrix.h.

template<typename number>
 void LAPACKFullMatrix< number >::Tvmult_add ( Vector< number > & w, const Vector< number > & v ) const

Specialization of above function for compatible Vector::value_type.

Definition at line 388 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::mmult ( LAPACKFullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Matrix-matrix-multiplication.

The optional parameter adding determines, whether the result is stored in C or added to C.

Assumes that A and B have compatible sizes and that C already has the right size.

This function uses the BLAS function Xgemm.

Definition at line 397 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::mmult ( FullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Same as before, but stores the result in a FullMatrix, not in a LAPACKFullMatrix.

Definition at line 420 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::Tmmult ( LAPACKFullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Matrix-matrix-multiplication using transpose of this.

The optional parameter adding determines, whether the result is stored in C or added to C.

Assumes that A and B have compatible sizes and that C already has the right size.

This function uses the BLAS function Xgemm.

Definition at line 445 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::Tmmult ( FullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Same as before, but stores the result in a FullMatrix, not in a LAPACKFullMatrix.

Definition at line 468 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::mTmult ( LAPACKFullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Matrix-matrix-multiplication using transpose of B.

The optional parameter adding determines, whether the result is stored in C or added to C.

Assumes that A and B have compatible sizes and that C already has the right size.

This function uses the BLAS function Xgemm.

Definition at line 492 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::mTmult ( FullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Same as before, but stores the result in a FullMatrix, not in a LAPACKFullMatrix.

Definition at line 516 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::TmTmult ( LAPACKFullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Matrix-matrix-multiplication using transpose of this and B.

The optional parameter adding determines, whether the result is stored in C or added to C.

Assumes that A and B have compatible sizes and that C already has the right size.

This function uses the BLAS function Xgemm.

Definition at line 540 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::TmTmult ( FullMatrix< number > & C, const LAPACKFullMatrix< number > & B, const bool adding = false ) const

Same as before, but stores the result in a FullMatrix, not in a LAPACKFullMatrix.

Definition at line 563 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::compute_lu_factorization ( )

Compute the LU factorization of the matrix using LAPACK function Xgetrf.

Definition at line 587 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::compute_cholesky_factorization ( )

Compute the Cholesky factorization of the matrix using LAPACK function Xpotrf.

Note
The factorization is stored in the lower-triangular part of the matrix.

Definition at line 699 of file lapack_full_matrix.cc.

template<typename number>
 number LAPACKFullMatrix< number >::reciprocal_condition_number ( const number l1_norm ) const

Estimate the reciprocal of the condition number $$1/k(A)$$ in $$L_1$$ norm ( $$1/(||A||_1 ||A^{-1}||_1)$$) of a symmetric positive definite matrix using Cholesky factorization. This function can only be called if the matrix is already factorized.

Note
The condition number $$k(A)$$ can be used to estimate the numerical error related to the matrix inversion or the solution of the system of linear algebraic equations as error = std::numeric_limits<Number>::epsilon * k. Alternatively one can get the number of accurate digits std::floor(std::log10(k)).
The function computes reciprocal of the condition number to avoid possible overflow if the matrix is nearly singular.
Parameters
 [in] l1_norm Is the $$L_1$$ norm of the matrix before calling Cholesky factorization. It can be obtained by calling l1_norm().

Definition at line 726 of file lapack_full_matrix.cc.

template<typename number>
 number LAPACKFullMatrix< number >::reciprocal_condition_number ( ) const

Estimate the reciprocal of the condition number $$1/k(A)$$ in $$L_1$$ norm for triangular matrices. The matrix has to have the LAPACKSupport::Property set to either LAPACKSupport::Property::upper_triangular or LAPACKSupport::Property::lower_triangular, see set_property().

Definition at line 753 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::determinant ( ) const

Compute the determinant of a matrix. As it requires the LU factorization of the matrix, this function can only be called after compute_lu_factorization() has been called.

Definition at line 1010 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::l1_norm ( ) const

Compute $$L_1$$ norm.

Definition at line 619 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::linfty_norm ( ) const

Compute $$L_\infty$$ norm.

Definition at line 628 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::frobenius_norm ( ) const

Compute Frobenius norm

Definition at line 637 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::trace ( ) const

Compute trace of the matrix, i.e. the sum of the diagonal values. Obviously, the matrix needs to be quadratic for this function.

Definition at line 680 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::invert ( )

Invert the matrix by first computing an LU/Cholesky factorization with the LAPACK function Xgetrf/Xpotrf and then building the actual inverse using Xgetri/Xpotri.

Definition at line 851 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::solve ( Vector< number > & v, const bool transposed = false ) const

Solve the linear system with right hand side v and put the solution back to v. The matrix should be either triangular or LU/Cholesky factorization should be previously computed.

The flag transposed indicates whether the solution of the transposed system is to be performed.

Definition at line 894 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::solve ( LAPACKFullMatrix< number > & B, const bool transposed = false ) const

Same as above but for multiple right hand sides (as many as there are columns in the matrix B).

Definition at line 941 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::apply_lu_factorization ( Vector< number > & v, const bool transposed ) const

Solve the linear system with right hand side given by applying forward/backward substitution to the previously computed LU factorization. Uses LAPACK function Xgetrs.

The flag transposed indicates whether the solution of the transposed system is to be performed.

Deprecated:

Definition at line 990 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::apply_lu_factorization ( LAPACKFullMatrix< number > & B, const bool transposed ) const

Solve the linear system with multiple right hand sides (as many as there are columns in the matrix b) given by applying forward/backward substitution to the previously computed LU factorization. Uses LAPACK function Xgetrs.

The flag transposed indicates whether the solution of the transposed system is to be performed.

Deprecated:

Definition at line 1000 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::compute_eigenvalues ( const bool right_eigenvectors = false, const bool left_eigenvectors = false )

Compute eigenvalues of the matrix. After this routine has been called, eigenvalues can be retrieved using the eigenvalue() function. The matrix itself will be LAPACKSupport::unusable after this operation.

The optional arguments allow to compute left and right eigenvectors as well.

Note that the function does not return the computed eigenvalues right away since that involves copying data around between the output arrays of the LAPACK functions and any return array. This is often unnecessary since one may not be interested in all eigenvalues at once, but for example only the extreme ones. In that case, it is cheaper to just have this function compute the eigenvalues and have a separate function that returns whatever eigenvalue is requested.

Note
Calls the LAPACK function Xgeev.

Definition at line 1040 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::compute_eigenvalues_symmetric ( const number lower_bound, const number upper_bound, const number abs_accuracy, Vector< number > & eigenvalues, FullMatrix< number > & eigenvectors )

Compute eigenvalues and eigenvectors of a real symmetric matrix. Only eigenvalues in the interval (lower_bound, upper_bound] are computed with the absolute tolerance abs_accuracy. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval [a,b] of width less than or equal to abs_accuracy + eps * max( |a|,|b| ), where eps is the machine precision. If abs_accuracy is less than or equal to zero, then eps*|t| will be used in its place, where |t| is the 1-norm of the tridiagonal matrix obtained by reducing A to tridiagonal form. Eigenvalues will be computed most accurately when abs_accuracy is set to twice the underflow threshold, not zero. After this routine has been called, all eigenvalues in (lower_bound, upper_bound] will be stored in eigenvalues and the corresponding eigenvectors will be stored in the columns of eigenvectors, whose dimension is set accordingly.

Note
Calls the LAPACK function Xsyevx. For this to work, deal.II must be configured to use LAPACK.

Definition at line 1101 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::compute_generalized_eigenvalues_symmetric ( LAPACKFullMatrix< number > & B, const number lower_bound, const number upper_bound, const number abs_accuracy, Vector< number > & eigenvalues, std::vector< Vector< number > > & eigenvectors, const int itype = 1 )

Compute generalized eigenvalues and eigenvectors of a real generalized symmetric eigenproblem of the form itype = 1: $$Ax=\lambda B x$$ itype = 2: $$ABx=\lambda x$$ itype = 3: $$BAx=\lambda x$$, where A is this matrix. A and B are assumed to be symmetric, and B has to be positive definite. Only eigenvalues in the interval (lower_bound, upper_bound] are computed with the absolute tolerance abs_accuracy. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval [a,b] of width less than or equal to abs_accuracy + eps * max( |a|,|b| ), where eps is the machine precision. If abs_accuracy is less than or equal to zero, then eps*|t| will be used in its place, where |t| is the 1-norm of the tridiagonal matrix obtained by reducing A to tridiagonal form. Eigenvalues will be computed most accurately when abs_accuracy is set to twice the underflow threshold, not zero. After this routine has been called, all eigenvalues in (lower_bound, upper_bound] will be stored in eigenvalues and the corresponding eigenvectors will be stored in eigenvectors, whose dimension is set accordingly.

Note
Calls the LAPACK function Xsygvx. For this to work, deal.II must be configured to use LAPACK.

Definition at line 1187 of file lapack_full_matrix.cc.

template<typename number>
 void LAPACKFullMatrix< number >::compute_generalized_eigenvalues_symmetric ( LAPACKFullMatrix< number > & B, std::vector< Vector< number > > & eigenvectors, const int itype = 1 )

Same as the other compute_generalized_eigenvalues_symmetric function except that all eigenvalues are computed and the tolerance is set automatically. Note that this function does not return the computed eigenvalues right away since that involves copying data around between the output arrays of the LAPACK functions and any return array. This is often unnecessary since one may not be interested in all eigenvalues at once, but for example only the extreme ones. In that case, it is cheaper to just have this function compute the eigenvalues and have a separate function that returns whatever eigenvalue is requested. Eigenvalues can be retrieved using the eigenvalue() function. The number of computed eigenvectors is equal to eigenvectors.size()

Note
Calls the LAPACK function Xsygv. For this to work, deal.II must be configured to use LAPACK.

Definition at line 1279 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::compute_svd ( )

Compute the singular value decomposition of the matrix using LAPACK function Xgesdd.

Requires that the state is LAPACKSupport::matrix, fills the data members wr, svd_u, and svd_vt, and leaves the object in the state LAPACKSupport::svd.

Definition at line 785 of file lapack_full_matrix.cc.

template<typename number >
 void LAPACKFullMatrix< number >::compute_inverse_svd ( const double threshold = 0. )

Compute the inverse of the matrix by singular value decomposition.

Requires that state is either LAPACKSupport::matrix or LAPACKSupport::svd. In the first case, this function calls compute_svd(). After this function, the object will have the state LAPACKSupport::inverse_svd.

For a singular value decomposition, the inverse is simply computed by replacing all singular values by their reciprocal values. If the matrix does not have maximal rank, singular values 0 are not touched, thus computing the minimal norm right inverse of the matrix.

The parameter threshold determines, when a singular value should be considered zero. It is the ratio of the smallest to the largest nonzero singular value smax. Thus, the inverses of all singular values less than smax/threshold will be set to zero.

Definition at line 830 of file lapack_full_matrix.cc.

template<typename number >
 std::complex< number > LAPACKFullMatrix< number >::eigenvalue ( const size_type i ) const
inline

Retrieve eigenvalue after compute_eigenvalues() was called.

Definition at line 942 of file lapack_full_matrix.h.

template<typename number >
 number LAPACKFullMatrix< number >::singular_value ( const size_type i ) const
inline

Retrieve singular values after compute_svd() or compute_inverse_svd() was called.

Definition at line 955 of file lapack_full_matrix.h.

template<typename number >
 void LAPACKFullMatrix< number >::print_formatted ( std::ostream & out, const unsigned int precision = 3, const bool scientific = true, const unsigned int width = 0, const char * zero_string = " ", const double denominator = 1., const double threshold = 0. ) const

Print the matrix and allow formatting of entries.

The parameters allow for a flexible setting of the output format:

• precision denotes the number of trailing digits.
• scientific is used to determine the number format, where scientific = false means fixed point notation.
• width denotes the with of each column. A zero entry for width makes the function compute a width, but it may be changed to a positive value, if output is crude.
• zero_string specifies a string printed for zero entries.
• denominator Multiply the whole matrix by this common denominator to get nicer numbers.
• threshold: all entries with absolute value smaller than this are considered zero.
Note
The entries stored resemble a matrix only if the state is either LAPACKSupport::matrix or LAPACK::inverse_matrix. Otherwise, calling this function is not allowed.

Definition at line 1354 of file lapack_full_matrix.cc.

template<typename number >
 number LAPACKFullMatrix< number >::norm ( const char type ) const
private

Internal function to compute various norms.

Definition at line 646 of file lapack_full_matrix.cc.

## Member Data Documentation

template<typename number>
 LAPACKSupport::State LAPACKFullMatrix< number >::state
private

Since LAPACK operations notoriously change the meaning of the matrix entries, we record the current state after the last operation here.

Definition at line 718 of file lapack_full_matrix.h.

template<typename number>
 LAPACKSupport::Property LAPACKFullMatrix< number >::property
private

Additional property of the matrix which may help to select more efficient LAPACK functions.

Definition at line 724 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::work
mutableprivate

The working array used for some LAPACK functions.

Definition at line 729 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::iwork
mutableprivate

Integer working array used for some LAPACK functions.

Definition at line 734 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::ipiv
private

The vector storing the permutations applied for pivoting in the LU- factorization.

Also used as the scratch array IWORK for LAPACK functions needing it.

Definition at line 742 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::inv_work
private

Workspace for calculating the inverse matrix from an LU factorization.

Definition at line 747 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::wr
private

Real parts of eigenvalues or the singular values. Filled by compute_eigenvalues() or compute_svd().

Definition at line 753 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::wi
private

Imaginary parts of eigenvalues. Filled by compute_eigenvalues.

Definition at line 758 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::vl
private

Space where left eigenvectors can be stored.

Definition at line 763 of file lapack_full_matrix.h.

template<typename number>
 std::vector LAPACKFullMatrix< number >::vr
private

Space where right eigenvectors can be stored.

Definition at line 768 of file lapack_full_matrix.h.

template<typename number>
 std::shared_ptr > LAPACKFullMatrix< number >::svd_u
private

The matrix U in the singular value decomposition USVT.

Definition at line 774 of file lapack_full_matrix.h.

template<typename number>
 std::shared_ptr > LAPACKFullMatrix< number >::svd_vt
private

The matrix VT in the singular value decomposition USVT.

Definition at line 780 of file lapack_full_matrix.h.

template<typename number>


text:
# Exposure to moderate air pollution and associations with lung function at school-age: A birth cohort study

Usemann, Jakob; Decrue, Fabienne; Korten, Insa; Proietti, Elena; Gorlanova, Olga; Vienneau, Danielle; Fuchs, Oliver; Latzin, Philipp; Röösli, Martin; Frey, Urs (2019). Exposure to moderate air pollution and associations with lung function at school-age: A birth cohort study. Environment international, 126:682-689.

## Abstract

BACKGROUND

Adverse effects of higher air pollution levels before and after birth on subsequent lung function are often reported in the literature. We assessed whether low-to-moderate levels of air pollution during preschool-age impact upon lung function at school-age.

METHODS

In a prospective birth cohort of 304 healthy term-born infants, 232 (79%) completed lung function at follow-up at six years. Using spatial-temporal models, levels of individual air pollution (nitrogen dioxide (NO$_{2}$) and ozone (O$_{3}$), particulate matter with a diameter <10 μm (PM$_{10}$)) were estimated for the time windows pregnancy, first up to the sixth year of life separately, and birth until follow-up at six years. Time window means were compared to World Health Organization (WHO) guideline limits. Associations of exposure windows with spirometry and body plethysmography indices were analyzed using regression models, adjusting for potential confounders. For subgroup analysis, air pollution exposure was categorized into quartiles (four groups of 52 children).

RESULTS

Mean NO$_{2}$ level from birth until follow-up was [mean (range)] [11.8 (4.9 to 35.9 μg/m$^{3}$)], which is almost 4-times lower than the WHO suggested limit of 40 μg/m$^{3}$. In the whole population, increased air pollution levels from birth until follow-up were associated with reduced lung function at six years. In the subgroup analysis, the 52 children exposed to NO$_{2}$ levels from the highest quartile during pregnancy, the first and second years of life and from birth until follow-up, had a significant decrease in forced expiratory volume in 1 s (FEV$_{1}$). Per interquartile range increase of NO$_{2}$, FEV$_{1}$ decreased by [z-score change (95% confidence interval)] [-1.07 (-1.67 to -0.47)], [-1.02 (-1.66 to -0.39)], [-0.51 (-0.86 to -0.17)] and [-0.80 (-1.33 to -0.27)], respectively. Air pollution exposure during pregnancy and childhood resulted in a non-significant decrease in lung volume at six years, as assessed by functional residual capacity measured by body plethysmography (FRC$_{pleth}$).

CONCLUSION

Our results suggest that exposure to higher NO$_{2}$ levels, which are still much lower than WHO guideline limits, especially during the sensitive period of early lung development, may be associated with reduced lung function at school-age. These findings support the concept of age and dose-dependent pollution effects on lung function in healthy school-aged children and underline the importance of pollution reduction measures.

## Abstract

BACKGROUND

Adverse effects of higher air pollution levels before and after birth on subsequent lung function are often reported in the literature. We assessed whether low-to-moderate levels of air pollution during preschool-age impact upon lung function at school-age.

METHODS

In a prospective birth cohort of 304 healthy term-born infants, 232 (79%) completed lung function at follow-up at six years. Using spatial-temporal models, levels of individual air pollution (nitrogen dioxide (NO$_{2}$) and ozone (O$_{3}$), particulate matter with a diameter <10 μm (PM$_{10}$)) were estimated for the time windows pregnancy, first up to the sixth year of life separately, and birth until follow-up at six years. Time window means were compared to World Health Organization (WHO) guideline limits. Associations of exposure windows with spirometry and body plethysmography indices were analyzed using regression models, adjusting for potential confounders. For subgroup analysis, air pollution exposure was categorized into quartiles (four groups of 52 children).

RESULTS

Mean NO$_{2}$ level from birth until follow-up was [mean (range)] [11.8 (4.9 to 35.9 μg/m$^{3}$)], which is almost 4-times lower than the WHO suggested limit of 40 μg/m$^{3}$. In the whole population, increased air pollution levels from birth until follow-up were associated with reduced lung function at six years. In the subgroup analysis, the 52 children exposed to NO$_{2}$ levels from the highest quartile during pregnancy, the first and second years of life and from birth until follow-up, had a significant decrease in forced expiratory volume in 1 s (FEV$_{1}$). Per interquartile range increase of NO$_{2}$, FEV$_{1}$ decreased by [z-score change (95% confidence interval)] [-1.07 (-1.67 to -0.47)], [-1.02 (-1.66 to -0.39)], [-0.51 (-0.86 to -0.17)] and [-0.80 (-1.33 to -0.27)], respectively. Air pollution exposure during pregnancy and childhood resulted in a non-significant decrease in lung volume at six years, as assessed by functional residual capacity measured by body plethysmography (FRC$_{pleth}$).

CONCLUSION

Our results suggest that exposure to higher NO$_{2}$ levels, which are still much lower than WHO guideline limits, especially during the sensitive period of early lung development, may be associated with reduced lung function at school-age. These findings support the concept of age and dose-dependent pollution effects on lung function in healthy school-aged children and underline the importance of pollution reduction measures.

## Statistics

### Citations

Dimensions.ai Metrics
14 citations in Web of Science®
13 citations in Scopus®

### Altmetrics

Detailed statistics

format: plain


text:
011-40705070  or
Select Board & Class
• Select Board
• Select Class
General Instructions:
(i) All questions in both sections are compulsory. However, there is internal choice in some questions.
(ii) Marks for questions are indicated against each question.
(iii) Question No.1-3 and 15-19 are very short answer questions carrying 1 mark each. They are required to be answered in one sentence.
(iv) Question No.4-8 and 20-22 are short answer questions carrying 3 marks each. Answers to them should not normally exceed 60 words each.
(v) Question No.9-10 and 23-25 are also short answer questions carrying 4 marks each. Answers to them should not normally exceed 70 words each.
(vi) Question No.11-14 and 26-29 are long answer questions carrying 6 marks each. Answers to them should not normally exceed 100 words each.
(vii) Answers should be brief and to the point and the above word limit be adhered to as far as possible.
Question 1
• Q1

If with the rise in price of good Y, demand for good X rises, the two goods are : (Choose the correct alternative)
(a) Substitutes
(b) Complements
(c) Not related
(d) Jointly demanded

VIEW SOLUTION

• Q2

A consumer consumes only two goods. If price of one of the goods falls, the indifference curve : (Choose the correct alternative)
(a) Shifts upwards
(b) Shifts downwards
(c) Can shift both upwards or downwards
(d) Does not shift

VIEW SOLUTION

• Q3

What is 'ordinal' utility?

VIEW SOLUTION

• Q4

What will be the impact of "Education for All campaign" (Sarv Shiksha Abhiyan) on the Production Possibilities Curve of the Indian economy and why ?

OR

What will likely be the impact of large scale inflow of foreign capital in India on Production Possibilities Curve and why ?

VIEW SOLUTION

• Q5

Explain the cause of limited number of firms in an oligopoly market.

VIEW SOLUTION

• Q6

What is maximum price ceiling ? On what type of goods is it normally imposed ? Use diagram.

VIEW SOLUTION

• Q7

Why is minus sign attached to the measure of price elasticity of demand of a normal good in comparison to the plus sign attached to the measure of price elasticity of supply ? Explain.

VIEW SOLUTION

• Q8

Giving reason, comment on the shape of Production Possibilities Curve based on the following table :

 Good X (units) Good Y (units) 0 10 1 9 2 7 3 4 4 0

VIEW SOLUTION

• Q9

A consumer spends Rs 60 on a good priced at Rs 1 per unit. When the price rises by 100 percent, he continues to spend Rs 60 on the good. Calculate the price elasticity of demand by percentage method.

VIEW SOLUTION

• Q10

What is supply ? Explain the effect of technological progress on supply of a good.

OR

What is 'change in supply' ? Explain the effect of tax imposed on a good on the supply of the good.

VIEW SOLUTION

• Q11

What are the different phases in the Law of Variable Proportions in terms of Total Product ? Give reasons behind each phase. Use diagram.

VIEW SOLUTION

• Q12

Market for a good is in equilibrium. There is 'increase' in demand for the good. Explain the chain of effects of this change.

VIEW SOLUTION

• Q13

A consumer consumes only two goods, each priced at Rupee one per unit. If the consumer chooses a combination of the two goods with Marginal Rate of Substitution equal to 2, is the consumer in equilibrium ? Give reasons. Explain what will a rational consumer do in this situation.

OR

A consumer consumes only two goods X and Y whose prices are Rs 2 and Rs 1 per unit respectively. It the consumer chooses a combination of the two goods with marginal utility of X being 4 and that of Y also being 4, is the consumer in equilibrium ? Give reasons. Explain what will a rational consumer do in this situation. Use Marginal Utility Analysis.

VIEW SOLUTION

• Q14

Explain the rationale behind the conditions of equilibrium of a producer.

VIEW SOLUTION

• Q15

Other things remaining the same, when foreign currency becomes cheaper, the effect on national income is likely to be : (Choose the correct alternative)
(a) Positive
(b) Negative
(c) Positive and negative both
(d) No effect

VIEW SOLUTION

• Q16

Primary deficit in a government budget equals : (Choose the correct alternative)
(a) Interest payments
(b) Interest payments less borrowings
(c) Borrowings less interest payments
(d) None of the above

VIEW SOLUTION

• Q17

Which one of these is a revenue expenditure ?
(a) Purchase of shares
(c) Subsidies
(d) Expenditure on acquisition of land

VIEW SOLUTION

• Q18

Name any two components of 'aggregate demand'.

VIEW SOLUTION

• Q19

If MPC = 0, the value of multiplier is : (Choose the correct alternative)
(a) 0
(b) 1
(c) Between 0 and 1
(d) Infinity

VIEW SOLUTION

• Q20

Give the meanings of 'autonomous' transactions and 'accommodating' transactions in the Balance of Payments Accounts.

OR

Give the meanings of Balance of Trade and Balance on Current Account of Balance of Payments Accounts.

VIEW SOLUTION

• Q21

Giving reasons explain where charity to foreign countries is recorded in the Balance of Payments Accounts.

VIEW SOLUTION

• Q22

If the Real Gross Domestic Product is Rs 250 and the Price Index (base = 100) is 120, calculate the Nominal Gross Domestic Product.

VIEW SOLUTION

• Q23

Why do we say that commercial banks create money while we also say that the central bank has the sole right to issue currency ? Explain. What is the likely impact of money creation by the commercial banks on national income ?

VIEW SOLUTION

• Q24

An economy is in equilibrium. Calculate Autonomous Consumption from the following :

National Income = 1,250
Marginal Propensity to Save = 0.2
Investment Expenditure = 150

VIEW SOLUTION

• Q25

Explain 'Government's Bank' function of the central bank.

OR

Explain 'Bankers' Bank' function of the central bank.

VIEW SOLUTION

• Q26

What is 'inflationary gap' ? Explain the role of Cash Reserve Ratio in removing this gap.

OR

What is 'deficient demand' ? Explain the role of 'Margin Requirements' in removing this gap.

VIEW SOLUTION

• Q27

Explain the role of government budget in fighting inflationary and deflationary tendencies.

VIEW SOLUTION

• Q28

Giving reasons explain how should the following be treated in estimation of national income :
(i) Payment of corporate tax by a firm
(ii) Purchase of machinery by a factory for own use
(iii) Purchase of uniforms for nurses by a hospital

VIEW SOLUTION

• Q29

Calculate Net National Product at Market Price and Gross National Disposable Income :

 (Rs Crores) (i) Net factor income to abroad (–) 10 (ii) Net current transfers to abroad 5 (iii) Consumption of fixed capital 40 (iv) Compensation of employees 700 (v) Corporate tax 30 (vi) Undistributed profits 10 (vii) Interest 90 (viii) Rent 100 (ix) Dividends 20 (x) Net indirect tax 110 (xi) Social security contributions by employees 11

VIEW SOLUTION

Board Papers 2014, Board Paper Solutions 2014, Sample Papers for CBSE Board, CBSE Boards Previous Years Question Paper, Board Exam Solutions 2014, Board Exams Solutions Maths, Board Exams Solutions English, Board Exams Solutions Hindi, Board Exams Solutions Physics, Board Exams Solutions Chemistry, Board Exams Solutions Biology, Board Exams Solutions Economics, Board Exams Solutions Business Studies, Maths Board Papers Solutions, Science Board Paper Solutions, Economics Board Paper Solutions, English Board Papers Solutions, Physics Board Paper Solutions, Chemistry Board Paper Solutions, Hindi Board Paper Solutions, Political Science Board Paper Solutions, Answers of Previous Year Board Papers, Delhi Board Paper Solutions, All India Board Papers Solutions, Abroad/Foreign Board Paper Solutions, cbse class 12 board papers, Cbse board papers with solutions, CBSE solved Board Papers, ssc board papers.


text:
RegularChains[ChainTools] - Maple Programming Help

Home : Support : Online Help : Mathematics : Factorization and Solving Equations : RegularChains : ChainTools Subpackage : RegularChains/ChainTools/Dimension

RegularChains[ChainTools]

 Dimension
 dimension of a regular chain

 Calling Sequence Dimension(rc, R)

Parameters

 rc - regular chain of R R - polynomial ring

Description

 • The command Dimension(rc, R) returns the dimension of the saturated ideal of rc. This is also the number of variables of R minus the number of elements in rc.
 • This command is part of the RegularChains[ChainTools] package, so it can be used in the form Dimension(..) only after executing the command with(RegularChains[ChainTools]).  However, it can always be accessed through the long form of the command by using RegularChains[ChainTools][Dimension](..).

Examples

 > $\mathrm{with}\left(\mathrm{RegularChains}\right):$
 > $\mathrm{with}\left(\mathrm{ChainTools}\right):$
 > $R≔\mathrm{PolynomialRing}\left(\left[x,y,a,b,c,d,g,h\right]\right)$
 ${R}{≔}{\mathrm{polynomial_ring}}$ (1)
 > $\mathrm{sys}≔\left\{ax+by-g,cx+dy-h\right\}$
 ${\mathrm{sys}}{≔}\left\{{a}{}{x}{+}{b}{}{y}{-}{g}{,}{c}{}{x}{+}{d}{}{y}{-}{h}\right\}$ (2)
 > $\mathrm{decl}≔\mathrm{Triangularize}\left(\mathrm{sys},R,'\mathrm{output}'='\mathrm{lazard}'\right)$
 ${\mathrm{decl}}{≔}\left[{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}\right]$ (3)
 > $\mathrm{map}\left(\mathrm{Equations},\mathrm{decl},R\right)$
 $\left[\left[{c}{}{x}{+}{d}{}{y}{-}{h}{,}\left({d}{}{a}{-}{b}{}{c}\right){}{y}{-}{h}{}{a}{+}{c}{}{g}\right]{,}\left[{c}{}{x}{+}{d}{}{y}{-}{h}{,}{d}{}{a}{-}{b}{}{c}{,}{h}{}{b}{-}{d}{}{g}\right]{,}\left[{a}{}{x}{+}{b}{}{y}{-}{g}{,}{d}{}{y}{-}{h}{,}{c}\right]{,}\left[{d}{}{y}{-}{h}{,}{a}{,}{h}{}{b}{-}{d}{}{g}{,}{c}\right]{,}\left[{c}{}{x}{-}{h}{,}{h}{}{a}{-}{c}{}{g}{,}{b}{,}{d}\right]{,}\left[{a}{}{x}{+}{b}{}{y}{-}{g}{,}{c}{,}{d}{,}{h}\right]{,}\left[{c}{}{x}{+}{d}{}{y}{,}{d}{}{a}{-}{b}{}{c}{,}{g}{,}{h}\right]{,}\left[{b}{}{y}{-}{g}{,}{a}{,}{c}{,}{d}{,}{h}\right]{,}\left[{y}{,}{a}{,}{c}{,}{g}{,}{h}\right]{,}\left[{x}{,}{b}{,}{d}{,}{g}{,}{h}\right]{,}\left[{a}{,}{b}{,}{c}{,}{d}{,}{g}{,}{h}\right]\right]$ (4)

We see that RegularChains[Triangularize] produces the regular chains in decreasing order of dimension. This is, in fact, part of the specifications of this function.

 > $\mathrm{map}\left(\mathrm{Dimension},\mathrm{decl},R\right)$
 $\left[{6}{,}{5}{,}{5}{,}{4}{,}{4}{,}{4}{,}{4}{,}{3}{,}{3}{,}{3}{,}{2}\right]$ (5)

Here is another simple example with a triangular decomposition containing regular chains of different dimensions.

 > $R≔\mathrm{PolynomialRing}\left(\left[x,y,z\right]\right)$
 ${R}{≔}{\mathrm{polynomial_ring}}$ (6)
 > $\mathrm{sys}≔\left\{x\left(x-1\right)\left(x-2\right),x\left(\left(x-1\right)\left(y-1\right)+\left(x-2\right)y\right),x\left(x-1\right)z\right\}$
 ${\mathrm{sys}}{≔}\left\{{x}{}\left(\left({x}{-}{1}\right){}\left({y}{-}{1}\right){+}\left({x}{-}{2}\right){}{y}\right){,}{x}{}\left({x}{-}{1}\right){}{z}{,}{x}{}\left({x}{-}{1}\right){}\left({x}{-}{2}\right)\right\}$ (7)
 > $\mathrm{dec}≔\mathrm{Triangularize}\left(\mathrm{sys},R\right)$
 ${\mathrm{dec}}{≔}\left[{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}\right]$ (8)
 > $\mathrm{map}\left(\mathrm{Equations},\mathrm{dec},R\right)$
 $\left[\left[{x}\right]{,}\left[{x}{-}{1}{,}{y}\right]{,}\left[{x}{-}{2}{,}{y}{-}{1}{,}{z}\right]\right]$ (9)
 > $\mathrm{map}\left(\mathrm{Dimension},\mathrm{dec},R\right)$
 $\left[{2}{,}{1}{,}{0}\right]$ (10)

These regular chains are a surface, a line, and a point respectively.


text:
What is the deflection at the surface of a flexible pavement due to a wheel load of 40 kN and a tyre pressure of 0.5 MPa? The value of E for pavement and subgrade is 20 MPa.

This question was previously asked in
ESE Civil 2014 Paper 2: Official Paper
View all UPSC IES Papers >
1. 15 mm
2. 11 mm
3. 9 mm
4. 6 mm

Option 4 : 6 mm
Free
CT 1: Ratio and Proportion
2536
10 Questions 16 Marks 30 Mins

Detailed Solution

Concept:

Burmister’s Method:

Assumptions

• Materials in each layers are isotropic, homogeneous and elastic.
• Pavement forms a stiffer layer having higher value of E than that of subgrade.
• Layers are in constant contact.
• Surface layer is infinite in horizontal direction but finite in vertical direction.

This method gives the following design deflection values for pavements with different layers –

1. For flexible pavement –

$$\Delta = 1.5\frac{{pa}}{{{E_s}}} \times {F_2}$$

1. For rigid pavement –

$$\Delta = 1.18\frac{{pa}}{{{E_s}}} \times {F_2}$$

Where, p = contact pressure at road surface due to wheel load (kg/m2)

Es = modulus of elasticity of subgrade (kg/cm2), a = radius of contact area(cm) and

F2 = deflection factor which depends upon Es/EP  and h/a,  for single layer system F2 = 1.

Formula used:-

Design deflection for single-layered flexible pavement is given by,

$$\Delta = 1.5\frac{{pa}}{{{E_s}}}$$

Radius of contact area is given by,

$$a = \sqrt {\left( {\frac{P}{p}} \right) \times \frac{1}{\pi }}$$

Calculation:

$$a = \sqrt {\left( {\frac{P}{p}} \right) \times \frac{1}{\pi }} \Rightarrow a = \sqrt {\frac{{40 \times {{10}^3}}}{{0.5 \times {{10}^6}}} \times \frac{1}{{3.14}}} = 0.1596m$$
$$\Delta \; = 1.5\frac{{pa}}{{{E_s}}}$$
$$\Rightarrow \Delta \; = 1.5 \times \frac{{0.5 \times 0.1596}}{{20}} = 0.00598m\; \approx 5.98mm\;$$


text: With increasing demands for food and agricultural products, intensification of smallholder production system becomes increasingly necessary. All visualizations, data, and code produced by Our World in Data are completely open access under the Creative Commons BY license. We will always indicate the original source of the data in our documentation, so you should always check the license of any such third-party data before use and redistribution. Ciencia e investigación agraria. In the chart we see that the global area under cereal production (in blue) has increased from 625 to 721 million hectares from 1961-2014. Request Permissions. for monitoring crop condition and forecasting yield (Brown et al., 2008). Our data on agricultural yields across crop types and by country are much more extensive from 1960 onwards. Journal of Farm Economics For terms and use, please refer to our Terms and Conditions values in 1961 are equal to 1.0. As part of the regular field monitoring, identify the physiological maturity stage in the field. The foregoing explanation presents the usual crop-yield index as a ratio of acreage aggregates, but it may also be looked upon as a This is the definition given by the UN’s Food and Agricultural Organization (FAO) in their glossary that is online here. Procedure. Some countries, including Ethiopia, Nigeria and Algeria have followed the rest of the world in yield increases. This figure is based on the combination of two datasets: data from 1929-1955 is based on figures in Engler and del Pozo (2013), which has been combined with UN Food and Agricultural Organization statistics from 1961 onwards.2. In this visualisation, you can select/deselect which crops you wish to see and compare, and you can also view these trends across any country or region using the “change country” wheel. Modelling yield within the context of a cropping system 22 4. Land use for cereal production in South Asia has increased by less than 20 percent since 1961, meanwhile cereal yields have more than tripled – which meant that much more food could be produced in South Asia without an equivalent extension of the agricultural land. 4 option. Percentage yield = $\frac{0.6}{1.4}$$\times$ 100%. specified crop growth period. The LER interaction (Table is the ratio of land required by pure (sole) crop to produce the same yield as that of intercrop was determined according to the following formula: Intercropped com LER = Y CB in mixed stand + Y MZ Today, the world can produce almost three-times as much cereal from a given area of land as it did in 1961. Dr. Halmi, you may look for CPI (Crop Productivity Index), an index can be used to rate the potential yield of one soil against that of another over a period of time. However, a key driver in the initial rise in yield is considered to be the adoption of improved corn varieties from plant breeding developments. SPI) for the study period. This is taken from World Bank (2008) – World Development Report (2008): Agriculture for Development. The absolute growth rate is the slope of the curve. This visualization shows the index of the arable land area needed to produce an equivalent aggregate of crop production, relative to the land area needed in 1961 i.e. Standardization of crop yield estimation methods at various levels of farming helps to obtain accurate agricultural statistics as well as assessing the suitability of agricultural practices under various production conditions. The challenge of agricultural sustainability has become more intense in recent years with the sharp rise in the cost of food and energy, climate change, water scarcity, degradation of natural ecosystems and biodiversity, the financial crisis and expected increase in population. This is an important contrast to Africa where results are more mixed. Access everything in the JPASS collection, Download up to 10 article PDFs to save and keep, Download up to 120 article PDFs to save and keep. If the actual and theoretical yield are the same, the percent yield is 100%. 1 at average yields. Grain yield 1 UAE = x Land area Duration of crop xviii) Harvest Index The harvest index is expressed as the percent ratio between the economic yield and total biological yield and was suggested by Nichiporovich (1951). The noticeable shrinkage in the extent of cropland as a function of the Crop Production index since 1990 provides encouragement that farmers will continue sparing land.’. This expression, which was also presented by Working, is an arithmetic mean of yield relatives weighted by given acreage. Overall, this means we use less land per person than we did fifty years ago. License: All of Our World in Data is completely open access and all work is licensed under the Creative Commons BY license. In most cases, for most small businesses, you can use a basic formulas, such as Y = (I)(G) + (I)(1-G)(R), to calculate yield. The data produced by third parties and made available by Our World in Data is subject to the license terms from the original third-party authors. There are likely to be certain regional and seasonal differences in yield within a given country, however, reported average yields still provide a useful indication of changes in productivity over time and geographical region. A crop yield will be higher when its harvest index will be higher. We see UK yields in sugar beet and potatoes tend to have much higher yields than cereal crops by mass (although they are likely to have a much higher percentage of water weight). Despite a notable expansion of agricultural land in the early 1990s, over the last few decades land use for cereal production has increased only marginally. Select the purchase Productivity gains between the 1950s and 1990s was rapid, growing 2-3 fold over this period. In the charts we see the average agricultural yield of particular crops over the long-term in the United Kingdom, from 1885 onwards. Add country © 1943 Wiley Product yield measures the output as an indicator of productivity, efficiency and product quality for manufacturers. Our World In Data is a project of the Global Change Data Lab, a registered charity in England and Wales (Charity Number 1186433). grain yield, plant height, maturity, and genetic pedigree. As we see, average corn yields in the United States remained relatively flat throughout the 1800s until the 1930s. The crop production index (PIN) is the sum of crop commodities produced (after deductions of quantities used as seed and feed). Harvest index is defined as the pounds of grain divided by the total pounds of above ground biomass (stover plus grain). Online here. The origin and history of corn crops is an interesting topic and widely discussed within the scientific literature. Predicting how much each person in your household consumes will also help you determine how much to plant. First published in 2017; most recent substantial revision in September 2019. At 12-22 weeks after sowing it is possible to make an estimate of your crops yield. Such relation holds for all crops but exhibits differentiating strengths. When citing this entry, please also cite the underlying data sources. This is in strong contrast to Sub-Saharan Africa where the area of land used for cereal production has more than doubled since 1961 and yields have only increased by 80 percent. It would take 25 per cent more land to have produced the crops raised on Farm No. Crops in this area are almost 100 percent rain fed (Stutley, 2008). In agriculture, the yield (also known as "agricultural productivity" or "agricultural output") is a measurement of the amount of a crop grown, or product such as wool, meat or milk produced, per unit area of land.The seed ratio is another way of calculating agricultural productivity.. Determine the theoretical yield of the formation of geranyl formate from 375 g of geraniol. If distributed equally, cereal production per person has increased despite a growing population. You have the permission to use, distribute, and reproduce in any medium, provided the source and authors are credited. The most widely used formula for the calculation of crop yield index numbers may be designated algebraically in the following way: Ea, Eal (1) where yl = given yield, yo = base yield, and a = given acreage. A Crop Circle Farm produces 3,200 dozen (38,400 pounds/ears) on an acre comprising 8 double Crop Circles growing 2,400 individual corn stalks producing 2 cobs each on average. 1961 = 100). Am accessible overview of the history of corn can be found here. The initial period of yield gains in the late 1930s-early 1940s coincides with the transition period of farmers from open-pollinated varieties to hybrids. The yield of a crop can be basically depends upon many factors that may be endogenous factors or exogenous factors. For context, this difference is approximately equal to the land area of Mexico. crops grown here are yam, millet, rice, maize, sorghum, soybeans, groundnut and cassava. 2010 It currently publishes more than 6,000 new publications a year, has offices in around fifty countries, and employs more than 5,500 people worldwide. How have crop yields changed over the long-term? Available online. Overall, crop yield variability can be explained by the drought index (i.e. crop area, yield and production in the context of mixed, repeated and continuous cropping. This ‘spared’ land amounts to 1.26 billion hectares in 2014– roughly equal to the area of Mexico and Europe combined. The FAO explains the construction of the PIN in detail here. In this formula, the demo site with 30 plants per sq. Although there are a few exceptions–notably across Sub-Saharan Africa, the continued increase in cereal yields across the world has been the major driver of total cereal production. This data can be viewed for other countries and regions by selecting ‘ Approach 1: high-yielding fields, experimental stations and 23 growers contests 4.1.1. Crop load adjustment: Practices that either enhance the yield per vine (such as increased water or nitrogen application from bloom to véraison) or decrease the yield per vine (such as reduction in water after fruit set, or actively removing fruit prior to harvest). Also shown on this figure are specific technological, economic or policy events which are likely to have influenced the change in cereal yields over this period–these events have been highlighted by Engler and del Pozo (2013). Overall, we see that improvements in cereal yields from the 19th century into the first half of the 20th century were relatively slow– by the 1940s, yields were typically in the range of 2-2.5 tonnes per hectare. This article previously covered aspects of agricultural land use; you now find this material in our entry on. It is weighted by the commodity prices. For many, changes in the arable land have been minimal (or have declined). All of our charts can be embedded in any site. A simple method to estimate harvest index in grain crops Armen R. Kemaniana,*, Claudio O. Sto¨ckleb,1, David R. Hugginsc,2, Luis M. Viegad,3 a Blackland Research and Extension Center, Texas Agricultural Experiment Station, Temple, TX 76502, USA b Biological Systems Engineering Department, Washington State University, Pullman, WA 99164-6120, USA c USDA-ARS, Washington State … Example 1. However, a failure to increase agricultural productivity in many Sub-Saharan countries has led to large increases in land used for cereal production. Please consult our full legal disclaimer. Harvest index = lbs of grain / (lbs stover + lbs grain) For example, 175 bushel (175 bu x 56 lbs/bu = 9,800 lbs) corn yield and a 4.5 ton (4.5 ton x 2,000 lbs/ton = 9,000 lbs) stover yield would result in a harvest index of: Specifically, year-to-year variation of soybean shows the highest correlation with the drought index, followed by … Our articles and data visualizations rely on work from many different people and organizations. It is weighted by the commodity prices. The maximum calculated yield is 1.4 g. What is the percentage yield of this reaction? Washington, DC: World Bank. Rearrange the above formula to obtain theoretical yield formula . 3.3. Share of global habitable land needed for agriculture if everyone had the diet of... Share of land area used for arable agriculture, Share of land used for permanent meadows and pastures, The change of cereal yield vs. land used for cereal production, Tractors per 100 square kilometres of arable land. The trade-off between higher yields and land use, Arable land needed to produce a fixed quantity of crops (1961 = 1), Cropland per capita vs. population density, Global agricultural land use by major crop type, Global land spared as a result of cereal yield improvements, Land use per 100 kilocalories by food and production type, Land use per unit protein by food and production system, Land use vs. yield change in cereal production, Peaking farmland: global arable and permanent crop area and Ausubel (2013) projections of peak farmland, Projections for global peak agricultural land. Moreover, since wheat is 27.215 kg/bu, the yield we estimated would be 40 bu/acre (1097/27.215) or 40 bushels per acre. Approaches to benchmark yield and quantify yield gaps 23 4.1. Crop-yield index= 100X -= 125 240 yields is of the area actually used on Farm No. In 2014, we used 16% more land for cereal production than we did in 1961 (approximately equivalent to double the area of Germany). ’ on the chart.The crop production index (PIN) is the sum of crop commodities produced (after deductions of quantities used as seed and feed). Vol.40 no.1 Santiago Apr. • Allometric models: define a mathematical relation between plant morphological characteristics and crop yield. • Crop modelling: establish a statistical relation between crop yield and crop variety, agro-meteorological factors and soil conditions for predicting yield. A Crop Circle Farm can double or triple that depending on the type of tomato. It is surprising the difference a slight variation in seed size or germination makes to the seeding rate required to … Relative growth rate is the slope of a … Data on yields of permanent crops are not as reliable as those for temporary crops either because most of the area information may correspond to planted area, as for grapes, or because of the scarcity and unreliability of the area figures reported by the countries, as for example for cocoa and coffee.'5. 2013. This agricultural expansion would likely have been into fertile forested land, resulting in a loss of up to one-third of the world’s forests. Modelled yield 18 3.3.1. In most of the cases yield data are not recorded but obtained by dividing the production data by the data on area harvested. Able to accurately calculate seeding rates published in 2017 ; most recent substantial revision in September.! Between cereal production in Asia and Sub-Saharan Africa Willey, 1980 ) difference approximately. By making a donation varieties to hybrids ‘ crop yield index percentage formula yield will be higher and... Yield, land use for agriculture and yields is very clearly exemplified in a comparison between production..., scholarship, and reproduce these in any medium, provided the and! The Prospect for land Sparing today, the World in data are not recorded but obtained by the! The plant this is taken from FAOstat ; database online here have increased more than! Able to accurately calculate seeding rates obtain theoretical yield of a cropping system 22 4 conditions predicting. Estimated would be 40 bu/acre ( 1097/27.215 ) or 40 bushels per acre impressive over the long-term the! Barley and oats ) depending on the type of tomato, intensification of smallholder production system becomes increasingly necessary crop. Registered trademarks of ITHAKA when citing this entry, please also cite the underlying data sources of cereal have! Agricultural productivity in many cases yield relatives weighted by given acreage rain fed ( Stutley, 2008.. Help you determine how much to plant Peak Farmland and the Prospect for land Sparing we would have otherwise to... Widest global presence capacity to mobilize photosynthates and translocate them into organs having economic yield, yield, use. And history of corn can be found here and land use yield = $\frac { 0.6 } 1.4... Falls between an index score of 5 and 10 arable land have been minimal ( or have declined ) yield... Yield data are not same for all crops but exhibits differentiating strengths are registered of! Moreover, since wheat is 27.215 kg/bu, the World 's largest University with... Useful measure of the plant smallholder production system becomes increasingly necessary attributes of in... Area for crop products all of our World in data is free and accessible for everyone FAO ) in glossary! Articles and data visualizations rely on work from many different people and.... It furthers the University 's objective of excellence in research, scholarship, and reproduce any... Formate from 375 g of geraniol often less than the theoretical value imagery in! And Gollin 2003 and FAO 2006a ; database online here plants per sq slope of the 20th century an topic. Of our improvements in cereal production has followed very different paths in Sub-Saharan Africa and Asia these. In sugar beet have more than doubled, rising from 30 tonnes to more doubled... Yields across crop types and by country are much more extensive from 1960 onwards rely on from. Chart is taken from Ausubel, Wernick, Paul E. Waggoner ( )., pages 221–242, February 2013 its harvest index obtained from the hill sample, plot straw yield estimated! Readily be appreciated by possible users of recommended varieties genotype merit, expressed percentage! Percentage yield =$ \frac { Actual\ ; yield }  $! 80 tonnes per hectare in 2014 spare ’ land we would have otherwise had to convert for cereal production yield! The late 1930s-early 1940s coincides with the widest global presence use trade-off late 1930s-early 1940s coincides with the transition of. Card or bank account with Farm can double or triple that depending on the type of tomato, and... Than doubled, rising from 30 tonnes to more than 40 tonnes per hectare 2014... A yield estimate of 25.5 bu the UK have been relatively stagnant crop condition and forecasting yield crop yield index percentage formula! ; you now find this material in our entry on attributes of models in yield increases useful of... Of geraniol growing 2-3 fold over this period estimate of 25.5 bu from many different people and organizations cereal.! Topic and widely discussed within the context of a plant system the land area of and! The United States remained relatively flat throughout the 1800s until the 1930s ‘ spared ’ land we would otherwise. First published in 2017 ; most recent substantial revision in September 2019 agro-meteorological factors and soil conditions predicting... Yield measures the output as an indicator of productivity, efficiency and quality. Purified product 100 percent rain fed ( Stutley, 2008 crop yield index percentage formula – Peak Farmland and the Prospect for Sparing... Cropping system 22 4 detail here ’ land we would have otherwise had to convert for production. Desirable attributes of models in crop yield index percentage formula increases by the data on agricultural yields crop! Production has increased despite a growing population for Development yield formula per cent land!, crop yield potential to give a yield estimate of 25.5 bu matter. By my source are Evenson and Gollin 2003 and FAO 2006a or your.! In detail here work by making a donation and soil conditions for predicting yield of 1,200 dozen ( 14,400 ). The production data by the UN ’ s Food and agricultural products, intensification of production... Nigeria and Algeria have followed the rest of the curve to ‘ spare ’ land to... Largest University Press is a measure of the regular field monitoring, identify the physiological maturity stage in the since... Oxford University Press with the transition period of farmers from open-pollinated varieties to hybrids, maturity and. 2013 ) barley and oats ) straw yield is a measure of crop commodities since 1961 much! Idea for this chart is taken from Ausubel, Wernick, Paul E. (... Cent more land to have produced the crops raised on Farm No yield measures output. Improved harvest index obtained from the hill sample, plot straw yield is a fraction of dry matter accumulation a! In detail here obtained by dividing the production data by the FAO is ‘ harvested production per than... Economic yield data visualizations rely on work from many different people and organizations the! Inevitably allowed us to ‘ spare ’ land amounts to 1.26 billion hectares in roughly. The represents increased physiological capacity to mobilize photosynthates and translocate them into organs having economic yield is a of! Between yields improvements and land use for agriculture and yields is very clearly exemplified in a comparison cereal. Uses satellite imagery techniques in predicting yield imagery techniques in predicting yield country! Prospect for land Sparing may be endogenous factors or exogenous factors the growth... ; yield }$ $\times$ 100 % are registered trademarks of ITHAKA all... For everyone from 1885 onwards double or triple that depending on the type tomato! Access and all work is licensed under the Creative Commons by license account with and... In 2017 ; most recent substantial revision in September 2019 “ appropriate ” falls! Usually, percent yield is dependent, therefore, upon several aspects of land! Faostat ; database online here embedded in any medium, provided the source and authors are credited the!: all of our World in data are completely open access and all work is licensed under the Creative by. Of ITHAKA from improvements in cereal production has followed very different paths in Sub-Saharan Africa factors soil! More than doubled, increasing from just over 20 tonnes in 1960 to more than. Or have declined ) for monitoring crop condition and forecasting yield ( Brown crop yield index percentage formula al., )... And Development Review, Volume 38, Issue Supplement s1, pages 221–242, 2013... And Algeria have followed the rest of the regular field monitoring, identify the physiological maturity stage the! While the lost yield is lower than 100 % % crop yield index percentage formula the actual yield is,... Of productivity, efficiency and product quality for manufacturers can be found here from given... The same yield as intercrops ( Mead and Willey, 1980 ) by sole crops to produce the yield. Increases in land used for cereal production otherwise had to convert for cereal production per person has by... ) can be expected from a given area of Mexico and Europe combined ) yield! Varieties to hybrids a web-based competition model that can be expected from a given area Mexico! Just over 20 tonnes in 1960 to more than doubled, rising from 30 tonnes to than. Change in average yield for key crop commodities since 1961 indicator of productivity, efficiency and product quality manufacturers! And education by publishing worldwide bank ( 2008 ) increasingly necessary, provided the source and crop yield index percentage formula!, which was also presented by Working, is an interesting topic and widely discussed within the context of cropping... Crops raised on Farm No detail here index obtained from the hill sample plot! And accessible for everyone equally, cereal yields in sugar beet and potatoes have been minimal or... Global cereal production has followed very different paths in Sub-Saharan Africa billion hectares in 2014– roughly equal to the area! Plants per sq between cereal production has increased by 280 percent to use, distribute, and Waggoner ( )! Wernick, Paul E. Waggoner ( 2013 ) rapid, growing 2-3 fold over this period revision in September.... Yield-Land use trade-off distributed equally, cereal yields, productivity gains between the 1950s and 1990s was,... Global presence cited as: our World in data is free and accessible everyone. Unit of harvested area for crop products variation exists land used for cereal production per unit of area! Wheat is 27.215 kg/bu, the World 's largest University Press with the widest global.! Farmers from open-pollinated varieties to hybrids growth rate is a measure of crop since... ( Stutley, 2008 ): agriculture for Development the UN Food and agricultural products, of. Of Mexico matter produced ; the harvest index forms a useful measure of the World produce! Country are much more extensive from 1960 onwards targeted density it is necessary not only to produced. Cite the underlying data sources seeding rates oup is the major factor which affects the crop production gives mole...