text:
Public Group

Code Review & Cool Stuff

This topic is 634 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

Hello,

My Background:

I'm learning SDL and C++ with LazyFoo's Tutorial and Accelerated C++ by Andrew Koening and Barbara E. Moo.

I've read most of LazyFoo's early tutorials on rendering shapes and textures but not the multithreading yet. From the C++ book, I've learned about basic containers like vectors, lists, and queues but nothing in depth yet because I'm still working through it.

Stuff You Might Like:

I've finished a playable version of pong and I'm making progress on a bullet hell engine.

Here's a ZIP of things that are playable (hopefully) on Windows.

It has:

pong.exe - It's pong.

game.exe - A level I've made with my engine so far. WASD to move and LSHIFT to slow down.

superpong.exe - A goofy version of pong that I never finished with way too many balls and no player 2.

projectiles.exe - Test version of my bullet engine that makes nice patterns if you press 1-7.

Helping Me:

I'm posting some code snips from my engine. I'd like some tips on using the C++ containers because they are a new tool for me. I would also appreciate any style tips.

JGame.h:

#include <SDL.h>
#include <SDL_image.h>
#include <SDL_ttf.h>
#include <list>
#include <cmath>
#include <string>
#include <cstdlib>
#include "LProjectile.h"
#include "LBullet.h"
#include "LEntity.h"
#include "..\LTimer.h"
#include "..\LCircle.h"
#include "..\LPlayer.h"
#include "..\LTexture.h"

const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int FPS = 60;

class JGame {
public:
JGame();
~JGame();

void play();

LEntity* ent;
private:
// initialize SDL window & renderer, SDL_image, SDL_font
bool init();
void reset();

// triggers corresponding game element functions
void handleEvents();
void handleKeystates();
void act();
void render();

// clean up
void close();

// creates a bullet on the player and shoots it to the
// top of the screen
void shootFromPlayer();

void spawnOrbittingEnemy(bool fromLeft);

bool playing;
SDL_Window* gameWindow;
SDL_Renderer* gameRenderer;
LTimer* gameTimer;

// Container for each wave of enemies to spawn
std::queue<std::queue<EntityInfo> > entityWaves;

std::list<LEntity*> enemyEntities;
std::list<LEntity*> allyEntities;

Circle centerMarker;
Circle hLinear;
int hLinLimit;
int hLinModifier;

int frames;
int score;
int maxScore;
bool gameJustEnded;

LPlayer* player;
LTexture background;

// # of invincibility frames
int iFrames;

// Functions that add a wave of enemies to entityWaves
void wave1();
void RLRL_Wave();
void level1();
void stall(int frames);
void alternateSliderPair();
void clumpSpawn();
};

JGame.cpp:

#include "JGame.h"

// functions of interest, the rest removed to keep file shorter
// act(), render(), wave1()

// I use the containers in act and render
// in wave1 I do some memory stuff that might be really bad but I don't know

JGame::JGame(){
// not important
}

JGame::~JGame(){
close();
}

void JGame::play(){
playing = initSuccess;

while(playing){
handleEvents();
handleKeystates();
act();
render();
}
}

bool JGame::init(){
// not important
}

void JGame::reset(){
// not important
}

// not important
}

void JGame::handleEvents(){
// not important
}

void JGame::handleKeystates(){
// not important
}

void JGame::act(){
// if there is another wave of enemies, spawn them
// else the game is over and print out player score
if(!entityWaves.empty()){
if(!entityWaves.front().empty()){
std::queue<EntityInfo> *currentWave = &entityWaves.front();
if(currentWave->front().framesBeforeSpawning <= 0){
enemyEntities.push_back(spawnEntity(currentWave->front()));
currentWave->pop();
} else {
currentWave->front().framesBeforeSpawning--;
}
} else {
entityWaves.pop();
}
} else {
if(enemyEntities.empty() && gameJustEnded){
SDL_Log("final score: %d/%d\n", score, maxScore);
if(!score) score = 1;
int performance = maxScore * 10 / score - 10;
switch(performance){
case 0:{
if(score == maxScore){
SDL_Log("PERFECT! YOU HAVE ACHIEVED EXCELLENCE!\n");
break;
}
}
case 1:{
SDL_Log("GREAT! YOU CAN STILL DO BETTER!\n");
break;
}
case 2:{
SDL_Log("YOU'RE GETTING THE HANG OF IT!\n");
break;
}
case 3:{
SDL_Log("YOU CAN DO THIS! I BELIEVE IN YOU!\n");
break;
}
default: {
SDL_Log("KEEP TRYING! DON'T GIVE UP!\n");
break;
}
}
SDL_Log("R to retry\n");
gameJustEnded = false;
}
}

if(hLinear.x > hLinLimit || hLinear.x < 64){
hLinModifier *= -1;
}
hLinear.x += hLinModifier;

// do player actions
player->act();

// do friendly entity actions
std::list<LEntity*>::iterator i = allyEntities.begin();
for(;i != allyEntities.end();i++){
(*i)->act();
} else {
i = allyEntities.erase(i);
}
}

Circle* pC = player->getHitCircle();

// do enemy collisions with player or bullet
// on hit with player add 2 seconds of iFrames
// on hit with bullet take damage, 'hurt' the bullet back so it is erased in the next loop
// if enemy has a bullet to spawn, in its subqueue mark it to be spawned to the game
std::list<EntityInfo> enemiesToSpawn;
std::list<LEntity*>::iterator j = enemyEntities.begin();
for(;j != enemyEntities.end();j++){
if((*j)->getType() == enemy){
i = allyEntities.begin();
for(;i != allyEntities.end();i++){
if((*i)->getType()== player_bullet){
if(checkCircles((*j)->getCircle(), (*i)->getCircle())){
(*j)->takeDamage(1);
(*i)->takeDamage(1);
}
}
}
}
(*j)->act();
Circle* eC = (*j)->getCircle();
if(checkCircles(eC,pC) && iFrames == 0){
iFrames = FPS * 2;
}
if((*j)->spawnFromSubQueue()){
EntityInfo* frontInfo = (*j)->getFrontSubEntityInfo();
frontInfo->position = (*j)->getPosition();

enemiesToSpawn.push_back(*frontInfo);
}
} else {
SDL_Log("enemy down! +50!\n");
score += 50;
if(!iFrames){
score += 50;
}
}
} else {
j = enemyEntities.erase(j);
}
}

// spawn enemy bullets to the field and lerp them at the player
std::list<EntityInfo>::iterator k = enemiesToSpawn.begin();
for(;k != enemiesToSpawn.end();k++){
EntityInfo info = (*k);

LEntity* spawn = new LEntity(info.type, info.renderer,
info.position.x, info.position.y);
MotionInfo* lerpToPlayer = new MotionInfo();
MotionInfo* end = new MotionInfo();

lerpToPlayer->motion = lerp;
lerpToPlayer->frames = 4 * FPS;
lerpToPlayer->goForward = true;

lerpToPlayer->params.push_back(player->getCenter().x);
lerpToPlayer->params.push_back(player->getCenter().y);
lerpToPlayer->params.push_back(lerpToPlayer->frames / 2 * 1000/FPS);
lerpToPlayer->params.push_back(false);

end->motion = kill;
end->frames = 1;

spawn->pushMotion(*lerpToPlayer);
spawn->pushMotion(*end);

enemyEntities.push_back(spawn);
}
}

void JGame::render(){
SDL_SetRenderDrawColor(gameRenderer, 0,0,0,0xFF);
SDL_RenderClear(gameRenderer);

background.render(gameRenderer, 0, 0, NULL, 0, NULL, SDL_FLIP_NONE);

//run render functions below

SDL_Color green = {0,0xFF,0x55,0xFF};
renderCircle(&hLinear, green, gameRenderer);

player->render(0,0);

SDL_Color red = {0xFF,0,0,0xFF};
renderCircle(&centerMarker, red, gameRenderer);

SDL_Color cyan = {0,0xFF,0xFF,0xFF};

if(!iFrames){
renderCircle(player->getHitCircle(), cyan, gameRenderer);
} else {
if(iFrames % 6 < 2){
renderCircle(player->getHitCircle(), cyan, gameRenderer);
}
}

std::list<LEntity*>::iterator i = allyEntities.begin();
for(;i != allyEntities.end();i++){
(*i)->render();
}

std::list<LEntity*>::iterator j = enemyEntities.begin();
for(;j != enemyEntities.end();j++){
(*j)->render();
}

SDL_RenderPresent(gameRenderer);
frames++;
if(iFrames) iFrames--;
}

void JGame::close(){
// not important
}

void JGame::shootFromPlayer(){
// not important
}

// not important
}

void JGame::wave1(){
std::queue<EntityInfo> theWave;

EntityInfo* rightSlider = new EntityInfo();

rightSlider->type = enemy;
rightSlider->position.x = 0;
rightSlider->position.y = 100;
rightSlider->renderer = gameRenderer;

MotionInfo* moveRight = new MotionInfo();
MotionInfo* end = new MotionInfo();

moveRight->motion = horizontal;
moveRight->frames = 6 * FPS;
moveRight->goForward = true;

moveRight->params.push_back(3);

end->motion = kill;
end->frames = 1;

pushMotion(rightSlider->motionQueue, *moveRight);
pushMotion(rightSlider->motionQueue, *end);

EntityInfo* sliders[4];
int waveSize = 4;

for(int i = 0; i<4; i++){
sliders[i] = new EntityInfo();
memcpy(sliders[i], rightSlider, sizeof(EntityInfo));
sliders[i]->position.y += 100 * i;
sliders[i]->framesBeforeSpawning = FPS;
theWave.push(*sliders[i]);
}

entityWaves.push(theWave);

maxScore += waveSize * 100;

delete rightSlider;
delete moveRight;
delete end;
}

void JGame::RLRL_Wave(){
// not important
}

// stalls by waiting <frames> and spawning an entity that instantly dies
void JGame::stall(int frames){
// not important
}

void JGame::alternateSliderPair(){
// not important
}

void JGame::clumpSpawn(){
// not important
}

void JGame::level1(){
RLRL_Wave();
RLRL_Wave();
stall(FPS);
wave1();
wave1();
stall(FPS);
int ASPCount = 10;
for(int i=0; i<ASPCount; i++){
alternateSliderPair();
stall(FPS/2);
}
stall(4*FPS);
clumpSpawn();
stall(6*FPS);
clumpSpawn();
stall(6*FPS);
}

If you need to see the whole code base I've attached it.

Share on other sites

Thanks Bregma,

I will adopt that using & auto convention because it is much cleaner and clearer. I've also gotta look into writing more modern C++, I'll see what I can find out with google.

I originally used vectors but swapped them for lists because I read that lists are better for deleting elements randomly where vectors excel at deleting from either end as they increase in size.

You've me a lot of useful information thanks again.

Share on other sites
Your attachment didn't happen (I think the GDN attachment system is offline.), so I was unable to look at the rest of the code. You can try posting to GitHub, which is a good habit to be in and makes it easy to share your code. If you're using Visual Studio there is a GitHub plugin that can be used to publish your project fairly easily from the team management pane.

Bregma is correct about avoiding std::list, as it is recognized as being woefully inefficient compared to other containers in almost all cases. He also showed you the use of the range-based for loop, which was introduced in C++11. In all those cases where you're iterating an entire container you can do so far more easily with this syntax.

I see some raw pointer usage that caught my attention, and sure enough I found a fairly serious memory leak:
std::list<LEntity*>::iterator j = enemyEntities.begin();
for(;j != enemyEntities.end();j++){
...
} else {
j = enemyEntities.erase(j); //memory leak!
}
}

The problem here is that you have a container of pointers which point to objects that were allocated using 'new' and are not owned elsewhere.
Look at a trivial case and consider what's happening:
std::list<Foo*> bar;
{
Foo* baz = new Foo; //allocate a Foo and store its address in baz
bar.push_back(baz); //copy baz to bar
}
bar.erase(bar.begin()); //remove baz from bar
//at this point we have lost the address of the Foo that was allocated

The easy way around this is to use a smart pointer:
#include <vector>
#include <memory>
#include <iostream>

struct Foo {
int a;
virtual ~Foo() = default;
};

struct Derived : public Foo {
Derived(int val) {
std::cout << "Derived constructor\n";
a = val;
}
~Derived() { std::cout << "Derived destructor - value was " << a << "\n"; }
};

int main() {
std::vector<std::unique_ptr<Foo>> bar; //this works fine with derived types
{
//prefer std::make_unique to new
//.emplace_back() will construct the new smart pointer in-place in the container
bar.emplace_back(std::make_unique<Derived>(42));
//you have a spawnEntity function that returns a pointer, that can also work here:
//enemyEntities.emplace_back(spawnEntity(whatever));
}
//when the unique_ptr is removed its destructor will be called, which calls delete
//on the pointer it wraps, releasing the allocated memory and calling the object's
//destructor
bar.erase(bar.begin());

std::cin.get();
}

I also see this:
std::queue<EntityInfo> *currentWave = &entityWaves.front();
if(currentWave->front().framesBeforeSpawning <= 0){

Which should really be this:
std::queue<EntityInfo> &currentWave = entityWaves.front();
if(currentWave.front().framesBeforeSpawning <= 0){

Since you're taking a reference to something owned elsewhere and you don't need to reseat the reference at any point, just use an actual reference instead of a pointer. It's easier to work with and it's less error-prone since you know that you don't need to delete it, and you can't accidentally reseat it.
LEntity* ent;

What is that and why is it public?

Returning to this:
std::list<LEntity*>::iterator j = enemyEntities.begin();
for(;j != enemyEntities.end();j++){
...
} else {
j = enemyEntities.erase(j); //memory leak!
}
}

for(auto j = enemyEntities.begin(); j != enemyEntities.end(); j++){
j = enemyEntities.erase(j);
continue;
}
...
}

This reversal of the condition produces similar logic but lets you reduce the scoping depth, which means there are fewer things for the reader to remember about as they proceed through the code.
The scoping in that section is getting extreme. That's usually a sign that you should be delegating to other functions. In this case you may want to delegate collision detection to LEntitiy such as:
void doCollisions(std::vector<std::unique_ptr<LEntity>>& collidables) {
auto myCircle = getCircle();
for(auto& foe : collidables) {
if(checkCircles((myCircle, foe.getCircle())){
//you may want to replace this part with a virtual function
foe.takeDamage(1);
takeDamage(1);
}
}
}

then just
//clean the list first
for(auto iter = enemyEntities.begin(); iter != enemyEntities.end(); iter++) {
if(iter->isDead()) { iter = enemyEntities.erase(iter); }
}

//then run the logic
for(auto& ent : enemyEntites) {
ent.doCollisions(allyBullets);
...
}

I also see if((*j)->getType() == enemy){ which is a code smell (see the L in SOLID), and with good reason in this case. From what I've read it looks like you're storing enemies and their bullets in the same containers and then differentiating between them manually like this. Rather than doing that, just store them in two containers. You'll get a performance boost and you'll write less code.

That's a lot for now, so I'll stop there.
This is a very good start. Keep going.

Share on other sites

Thanks Khatharr,

I've put the code onto git here.  If you or anyone else needs it to further critique. I'll go learn about smart pointers, SOLID, and C++11.

There's leftovers that from debugging that I didn't fully clear out, that's why that Ent line is public so I'm taking it out.

I want to update my engine with all the new things you guys are telling me. I think I'll start with the auto typedef then loops, and tackle my pointer usage. Is there anything else I should keep in mind to keep the code from becoming a mess?

It feels great to start learning the stuff I didn't know I didn't know. Thanks a lot.

Share on other sites

I had assumed based on your use of pointers that LEntity was polymorphic, but it looks like you're just using switching everywhere. Are you familiar with C++ inheritance?

Also, you appear to be loading an instance of the texture for every individual entity, which is wasteful. You should only load one instance of each texture you need for a scene and then have the entities all share that texture. In this case you could load the three textures used by LEntity in your scene, then pass in a pointer to the desired LTexture when constructing the entity. Another approach is to have a 'Sprite' class that stores things like the position and rotation that you want to draw at and holds a pointer or handle to the texture to draw from.

Share on other sites

Thanks for the resource Alberth.

I know of inheritance as the "x is a type of y" relationship example: a hammer is a type of tool and so is a screwdriver.

But I don't know how to use inheritance properly so I didn't because I read it could become messy if you don't know what you're doing. From what you said are suggesting that I use LEntity as a parent class since everything on screen is a type of entity?

Thanks.

Share on other sites

because I read it could become messy if you don't know what you're doing
By that argument, I would strongly advice not to use C++ or any other programming language :p

In general, anything that you cannot mess up by careless use, isn't worth your time, as its expressive power would be so limited, it's basically useless.

Inheritance is easily used too much. However, it is hard to define when that is. Simplest way to find out is to start using it when it seems appropriate. Likely, you'll end up at the wrong side of the balance a few times, but it's all learning experience.

Share on other sites
You've basically already created a polymorphic type, so you may as well use the idiomatic means of doing so instead of storing a type variable and switching.

1. 1
2. 2
Rutin
19
3. 3
khawk
18
4. 4
A4L
14
5. 5

• 12
• 16
• 26
• 10
• 44
• Forum Statistics

• Total Topics
633768
• Total Posts
3013736
×


text:
# Show independence of random variables $R=\sqrt{X_1^2+X_2^2}$ and $W=\arctan{X_1/X_2}$

I am working on a problem that says

Prove or disprove that $$R=\sqrt{X_1^2+X_2^2}$$ and $$W=\arctan{(X_1/X_2)}$$ are independent.

There is no other information given so I will assume a natural situation where $$X_1$$ and $$X_2$$ are the randomly chosen abscissa and the ordinate on the Cartesian coordinate plane.

Intuitively I know that they are independent because $$R$$ and $$W$$ represents the distance from the origin and the angle between the $$y$$-axis and the line do not affect each other.

In other words, we can change the value of $$R$$ while holding $$W$$ constant and vice versa.

I doubt that this argument is rigorous enough to show that this is true, and I am also not convinced because I don't know if there is a particular distribution of $$X_1$$ and $$X_2$$ that actually makes $$R$$ and $$W$$ dependent.

So, here is what I would like.

1), If I were to make a more rigorous proof of the argument that I made, how would it go?

2), Are there situations where $$X_1$$ and $$X_2$$ can be chosen so that $$R$$ and $$W$$ are dependent?

If this question is too open I would like to apologize, but I would like to have some opinion.

• Are $X_1$ and $X_2$ independent normal rvs with mean zero and same variance? Sep 9 '19 at 5:21
• That's the thing, there is no assumption written so I am thinking that the problem depends on the choice of distribution. I would love to see the argument when it is though. Sep 9 '19 at 6:43
• How can one possibly answer the question in the title without the distribution of $(X_1,X_2)$? Sep 10 '19 at 6:48

1. One approach is to start with the joint density of $$(X_1, X_2)$$, and use a change of variables (may involve a Jacobian) to obtain the joint density of $$(R, W)$$. If the joint density is separable (can be written as the product of two marginal densities), then you will have shown independence.

2. Definitely.

• Thank you for your help. Just out of curiosity, would there be a uniform $(-\infty, \infty)$ distribution so that my choice of $X_1$ and $X_2$ can equally likely be any real number? Sep 9 '19 at 6:44

format: plain


text:
About the author

# Abstract

The present paper examines the Brazilian experience from the 'Economic Miracle' to the 'Lost Decade'. Its aim is to advance an alternative measurement of the flows of extraordinary wealth (i.e. ground-rent and net external credit) available for appropriation in the Brazilian economy and to asses their relevance in sustaining the process of accumulation of industrial capital. That is done in order to provide further and more accurate evidence to the claim that the evolution of the Brazilian process of capital accumulation has been extremely dependent on the evolution of those masses of extraordinary wealth.

Brazil; Intersectoral Transferences; External Debt; Economic Miracle; Lost Decade

ARTIGOS

From the 'Miracle' to the 'Lost Decade': intersectoral transfers and external credit in the Brazilian economy

Nicolas Grinberg

Centro para la Investigación como Crítica Práctica (CICP), Buenos Aires, Argentina, e-mail: n.grinberg@gmail.com

ABSTRACT

The present paper examines the Brazilian experience from the 'Economic Miracle' to the 'Lost Decade'. Its aim is to advance an alternative measurement of the flows of extraordinary wealth (i.e. ground-rent and net external credit) available for appropriation in the Brazilian economy and to asses their relevance in sustaining the process of accumulation of industrial capital. That is done in order to provide further and more accurate evidence to the claim that the evolution of the Brazilian process of capital accumulation has been extremely dependent on the evolution of those masses of extraordinary wealth.

Keywords: Brazil, Intersectoral Transferences, External Debt, Economic Miracle, Lost Decade.

JEL Classification: H60; 011; 013; 054; Q19; N16.

In 1973, the Brazilian economy was at its peak, after six years of strong growth and relatively low and decreasing inflation. That record seemed even more remarkable when compared with the 1961-63 period during which inflation rocketed and Brazil almost defaulted on its external debt or with the 1964-67 years when the economy hardly grew at all. Indeed, the performance of the Brazilian economy during 1968-73 was so notable that many observers began to speak of an 'economic miracle'. Moreover, when the oil crisis shocked the world markets Brazilian policy-makers did not worry much although the country was importing as much as 80% of its oil requirements. It was said that Brazil would remain an 'island of prosperity' within a weak global economy. Seven years later Brazil was heading for its most severe post-WWII economic crisis and nobody was talking about a miraculous economy anymore.

Different interpretations have been advanced to account for the nature of the extraordinary performance of the Brazilian economy between 1968 and 1973, its slowdown during the second half of the 1970s and the 1980s crisis. While some authors signalled the changing external conditions as the main causes for both the 'boom' and 'burst' of the Brazilian economy,1 1 See Abreu et al. (1990); Bacha (1986). other accounts emphasised the role of domestic policy-making.2 2 See Simonsen (1976); Tyler (1986); Fonseca (2001). A third group, in contrast, have focused on the changing patterns of the 'dependent' nature of Brazilian capitalism.3 3 See Serra (1983); Bresser-Pereira (1984). All of these contrasting positions have sprung from correspondingly contrasting understandings of the nature and dynamics of the Brazilian economy and society.

It is not the intention of the present paper to discuss these interpretations. Nonetheless, it can be argued that, despite their several obvious differences, these positions have something in common. Almost all specialists, irrespective of their theoretical background, believe that the transference of resources from the primary sector to the rest of the economy,4 4 Anglade (1985, p. 56) is an exception on this point. mainly the industrial sector, and the process of foreign indebtment have been substantial before the 1980s and have played key roles in the development of capitalism in Brazil, as well as in explaining its booms and bursts.

Several attempts have been advanced to measure those flows of social wealth. The aim of the present paper is to advance an alternative measurement of the intersectoral transferences and of the net inflow of credit capital, and to asses their quantitative relevance in terms of the process of capital accumulation in Brazil between the end of WWII and the late 1980s. It is believed that a more accurate measurement of these variables can contribute to the understanding of the trajectory of the Brazilian economy from the early 1960s crisis to the 'miracle' and from the latter to the 'lost decade'.

The paper is structured as follows. The next section discusses the nature of the resources transferred from the primary sector to the rest of the economy, in particular to the industrial sector, and measures their magnitude. The second section measures their magnitude in relation to the total surplus-value available for social capital's valorisation (i.e. total profits). The third section measures the magnitude of the net inflow (or outflow) of credit capital between the mid-1940s to 1990 and relates it to the total surplusvalue. The fourth section relates the evolution of those masses of extraordinary wealth to the evolution of the Brazilian economy during the period under study. The last section concludes with some remarks and questions.

FORMS OF APPROPRIATION OF THE GROUND-RENT BY INDUSTRIAL CAPITAL IN BRAZIL

It is generally agreed among specialists that economic policies in effect in Brazil between the end of WWII and the mid 1960s entailed a strong transference of resources from the primary to other sectors of the economy to promote industrialization.5 5 See Syvrud (1974, pp. 216-9); Graham et al. (1987 2-3). It is also frequently suggested that those transferences continued during the post-1964 period, although with less intensity.6 6 See Oliveira (1986, pp. 91-109); Graham, et al. (1987 17-8); Andrade Alves and Pastore (1978). Strong differences arise, however, regarding the source and nature of the transferred resources.

Orthodox authors, for instance, have argued that resources transferred to the industrial sector originated in the 'agriculturalist's wealth'.7 7 See Gudin (1969). This opinion was shared, up to a certain extent, by some structuralist authors, who referred to it as the agrarian 'surpluses'.8 8 See Bacha (1978). However, that could hardly be the case if those terms referred to a portion of the normal profits of agrarian capitals. Agrarian capital, as any other productive capital, would have, on average, withdrawn from that sector of the economy if it was not normally valorising there.9 9 On the contrary, agrarian production expanded continuously during the entire period. See Graham et al. (1987). Moreover, as Bacha (1978, p. 144) noticed, the fast expansion of coffee production during the period of higher 'taxation' (i.e. 1947-1954) is an indication that normal profitability was not affected. Neither could those resources normally and solely come from the extraordinary low wages paid to rural workers. In most of its primary productions, Brazilian capitals were competing in the world markets with producers from countries where wages were at least as low as those prevailing in Brazil. They were therefore doubtfully making any substantial and constant extra profit from the cheapness of the labour-force they employed. On the contrary, those resources could normally come from the remaining portion of value contained in the price of agrarian and mining goods and therefore received by the primary sector, the ground-rent.10 10 As the prices of primary goods in the world markets are determined by production costs prevailing in world's marginal (i.e. less fertile or accessible) agrarian and mining lands for whose product there is a solvent demand, the rate of profit is potentially higher for those individual capitals operating in non-marginal lands where relatively favourable natural conditions allow lower production costs. Although extremely attractive for agrarian and mining individual capitals, their competition to rent those lands in which the differentially favourable natural conditions prevail increases their rental prices and therefore allows landowners to appropriate those extraordinary profits under the form of (differential) ground-rent paid for the use of agrarian and mining grounds. In contrast with all other goods and services, agrarian and mining commodities (except those produced in the margins) thus circulate in the world markets at prices which contain not only the costs involved in their production and the normal profit of individual capitals but also a portion of value in the form of differential ground-rent. See Marx (1981, pp. 779-87). Moreover, since owners of marginal lands also receive a rent in exchange for the productive use of their lands, the commercial price of primary goods is set further above their prices of production to include this type of rent of simple absolute monopoly. See Marx (1981, pp. 882-907). However, unlike the differential part of the rent, the magnitude of this last portion varies not according to the fertility of the soil but to the monopoly power of landowners relative to the size of the demand. The characteristics of mining productions (i.e. the possibility of stopping production without losing the scarce natural resource) means that mining landowners have, ceteris paribus, more monopoly power than the agrarian ones and therefore the absolute rent is relatively much larger in the mining than in the agrarian sector where it tends to be insignificant. See Iñigo Carrera (2007, pp. 11-3). In other words, only the extraordinary profits available in the primary sector due to the monopoly over an irreproducible mean of production, which take the form of ground-rent, could be normally transferred to the rest of the economy. Indeed, landowners, unlike agrarian and mining capitalists, had no choice but to 'accept', not without resistance, the loss of a portion of the ground-rent as a condition to unproductively consume the rest of it. Moreover, in the case of publicly owned mining and hydraulic lands, the state could transfer the ground-rent to the rest of the economy without any conflict at all.

Although the transference to, and appropriation by, industrial capital of a portion of the ground-rent took different forms over the period, all of them entailed the action of the state through its policies. Among them, two types of mechanisms prevailed. First, some policies, such as the combination of an overvalued currency and discriminatory import taxes, allowed the direct appropriation of a portion of the ground-rent by industrial capital. Secondly, other policies, such as the provision of inputs and credit at subsidised rates by the public sector and its contribution to the expansion of the domestic markets, transferred to the industrial sector a portion of the ground-rent previously appropriated by the state.11 11 The effect of most of these policies upon the appropriation of the ground-rent was first presented in Iñigo Carrera (2007) for the Argentinean case.

Effectively, during most of the period before 1982 governments fixed the commercial exchange rates at levels that never reflected the purchasing power of the national currency. As a result, the national currency became overvalued. In those circumstances, exporters were forced to sale their foreign exchange below its value, losing therefore a fraction of the sale price which, as it was seen before, could not normally be other than a portion of the ground-rent contained in them.12 12 It is possible that in the case of coffee, before the mid-1960s, the rent of simple absolute monopoly was relatively important, vis-à-vis the differential rent, due to Brazilian quasi-monopoly on the world production of the grain and the high inelasticity of its demand. In fact, capitals producing goods which were not bearers of ground-rent (i.e. others than primary or semi-manufactured goods) could only export by receiving subsidies compensating for the effect of the overvaluation on their normal profits.

A large portion of that value 'retained' in the foreign exchange market was directly appropriated by industrial capitals when purchasing foreign exchange either to import machinery and inputs at particularly low rates or to deliver profits abroad as in the case of MNCs.13 13 See Malan and Bergsman (1970, pp. 151-5). This lowered their production costs and multiplied industrial capital's profits respectively. Additionally, the overvaluation of the currency also reduced primary goods' prices in the domestic markets because those commodities were exported or they could have otherwise been imported at an overvalued exchange rate (sometimes by the state trade monopolies as were the cases of wheat and oil). This not only granted industrial capitals the possibility to purchase raw materials below their international prices (which contained the ground-rent) but also to have access to a cheapened labour-force as several wage-goods circulated locally at reduced prices.14 14 See Oliveira (1986, p. 92).

Simultaneously, several policies were implemented to protect the domestic market in which industrial capitals realised the appropriation of the ground-rent when selling their production. In effect, between 1947 and 1961, when the currency was strongly overvalued, a system of import quotas (1947-53) or multiple exchange rates (1953-61), together with the Law of Similarity,15 15 The Law of Similarity has its origins in 1911 but was made an effective instrument of industrial policy only in 1949. In principle, it forbade the importation of industrial goods that could be produced locally at the same price and quality of their international competitors. In practise, it functioned as a market protection. See Baer (1995, pp. 58-9). protected the domestic markets by respectively reducing the supply or increasing the price of foreign exchange used to import goods competing with local productions.16 16 See Malan and Bergsman (1970, pp. 150-60). Finally, by 1957 a tariff reform was implemented introducing ad-valorem import duties which increased the absolute level of protection of the domestic market and gave final shape to the system.17 17 See Baer (1995, pp. 56-8). In contrast, imports of capital goods and industrial inputs not produced locally paid taxes which were usually lower than the degree of overvaluation.18 18 See Malan and Bergsman (1970, pp. 173-4); Von Doellinger et al. (1974, p. 134).

The overvaluation of the currency not only transferred resources from the primary to the industrial sector; indeed another portion of the ground-rent retained in the exchange process was appropriated by the public sector through the import taxes paid with an overvalued currency19 19 The overvaluation of the currency lowered the price of imported goods and therefore allowed importers to pay relatively high import taxes. or the monopolist administration of the foreign exchange market as was the case during the Auction System (1953-61) when the average price at which the state sold foreign currency to importers was above that at which it had bought it from exporters.20 20 See Avelãs Nunes (1990, p. 211).

Since 1961, when foreign exchange rates were reunified and the national currency lost part of its value, several other policies began to complement the overvaluation as forms of appropriation of the ground-rent materialised in the price of primary goods. Starting that year, particular export taxes, known as 'contribution quotas', began to be applied to the international trade of coffee and later cocoa, to 'compensate' for the relative devaluation of the export exchange rate.21 21 See Brandão and Carvalho (1991, p. 249); Carvalho Filho (1976, p. 47). Though some of those funds were used to stock part of the production in years of low prices, another part of them, particularly in the case of coffee, ended up in the public treasury together with a portion of the proceeds of the sale of accumulated stocks. In any case, the evolution of the rate of those taxes became inversely proportional to the degree of the overvaluation of the currency. Furthermore, in 1966, while the currency continued its path of devaluation (i.e. became less overvalued), a Tax Reform created two new export taxes exclusively applied to primary goods. The first one, collected by the National Treasury, was made effective only to compensate for strong devaluations. The latter, the ICM (a value-added tax) collected by regional governments, remained constantly in effect until 1996, averaging 16%-18% of the sale price. Though the ICM was in principle a tax applied to all sales both in the domestic and external markets, the ICM on exports acted, in practice, as an export tax, as value-added taxes were also charged on destinations.22 22 See Helfand (2000, pp. 464-5). Moreover, acknowledging this duplication, in 1967 all non-primary exports became exempted from paying the ICM on exports.23 23 See Von Doellinger et al. (1974, p. 29). Export taxes, general or particular, not only retained in the public sector's treasury a portion of the price of the internationally traded commodities, which was in fact a part of the ground-rent, but also reduced primary goods' domestic prices, thus allowing industrial capital to appropriate another portion of the ground-rent when directly or indirectly consuming those commodities. This also applied to those primary goods which were only occasionally exported, such as beans and rice, as they were subjected to those export taxes on those occasions.

In the particular case of sugar, the public sector also monopolized its external trade through the Institute of Sugar and Alcohol (IAA). By usually buying domestic production below the international price at which it was later sold in the world markets, the IAA was able to appropriate another portion of the ground-rent materialised in the price of sugar. Most of the value retained by the IAA was used to finance the expansion of the processing industry (i.e. industrial capital) and during the 1980s the substitution of oil by alcohol.24 24 See Nunberg (1987, pp. 66-71).

Furthermore, during some periods, the prohibition to export several raw materials, in particular cotton and soybeans, and the eventual imposition of maximum prices also pushed the domestic prices of these goods further below their international level, thus allowing the industrial sector to appropriate another portion of the ground-rent materialised in them.25 25 See Graham et al. (1987, p. 7); Helfand (1999, p. 7)

Though several policies were also implemented in order to transfer resources to the agrarian sector and therefore to 'counterbalance' the effect of those reviewed above, none of them entailed, in practise, a substantial reduction in the degree of appropriation of the ground-rent. For instance, the system of minimum prices, implemented since the 1950s, was only effective during years of particularly low international prices.26 26 They were otherwise usually below the market price of agrarian goods. See Helfand (1999, p. 20). On its turn, the subsidised credit provided by the Bank of Brazil was quantitatively significant only between 1974 and 1982.27 27 See Helfand (1999, pp. 7-17); Graham et al. (1987, pp. 22-4). Moreover, those resources were mainly made of externally borrowed funds and usually directed to the purchase of tractors and fertilizers, thus constituting, in practise, an expansion of demand for the machinery and chemical industries.

The portion of the ground-rent appropriated by the state either through import duties, the monopoly of the foreign exchange market or export taxes followed later its course to feed industrial capital's profits through the public sector's budget and activities. In fact, the public sector not only almost continuously provided industrial capitals with inputs and credit at below market rates28 28 Until 1966, the Usury Law set a 12% limit on nominal interest rates. With inflation rates averaging 27.5% in the period 1946-65 and only in 1948-49 below that figure, real interest rates were constantly negative. See Anglade (1985, pp. 87-91). After 1966, real interests lent by public banks remained below market rates, especially during the 1970s when they were usually negative. See Batista (1992, p. 119). but also constituted an always expanding market for industrial goods either directly through its purchases or indirectly through the individual consumption of its over-expanded workforce.29 29 See Avelãs Nunes (1990, pp. 193-4).

MAGNITUDE OF THE APPROPRIATED GROUND-RENT

Several attempts have been made to measure the magnitude of the resources transferred from the agrarian to the industrial sector.30 30 See Oliveira (1986); Brandão and Carvalho (1991). In general, however, those attempts have used methodologies which greatly differ from the one put forward in the present paper. The most commonly used method proceeds by estimating the total 'intersectoral transferences of income' as composed by the net addition of two resource movements: the 'implicit taxation' of the agrarian sector and the net subsidies granted to it. Both are calculated as divergences of the actual prices received and paid by farmers (the 'implicit exchange rate') from those which they would have received and paid in the absence of 'distortions' (the 'free-trade equilibrium exchange rate'). The 'free-trade equilibrium exchange rate', on its turn, is calculated as the exchange rate that would balance the external trade account considering the multiple factors affecting imports and exports, such as taxes, deposits, quantitative controls, etc. However, by trying to simultaneously measure the effect of all policies affecting the external trade of primary goods, this methodology ends up missing what is at stake through their combined implementation. For instance, import taxes and export subsidies are considered as counterbalances of the overvaluation despite the fact that they were never universally applied. Consequently, some authors have reached the curious conclusion that between 1949 and 1953, the period of strongest overvaluation of the Brazilian currency since WWII, not only was there no appropriation of any portion of the agricultural income but the sector received a net transference from the rest of the economy equivalent to 2% of its earnings. As the current account was in equilibrium during that period the 'implicit exchange rate' is assumed to have been equal to the 'free-trade equilibrium exchange rate'.31 31 See Oliveira (1986, p. 105-8). However, contrary to this assertion, that was not the result of any market equilibrium but of strong import controls (i.e. the opposite of 'free-trade') since there was indeed a strong incentive to import due to the sharp overvaluation of the currency.

In order to avoid these flaws, another approach is followed here, individually considering the effects of all the forms of appropriation described earlier.32 32 The model presented here is an adaptation for the Brazilian circumstances of a model originally developed to measure the magnitude of the appropriated ground-rent in Argentina by Iñigo Carrera (2007). In fact, the knowledge of the qualitative nature of the resources transferred (i.e. the realisation that they were a portion of the ground-rent instead of the unspecific 'rural incomes') allows a more accurate measurement of the magnitudes involved. A detailed examination of the methodology follows.

Ground-rent appropriated through the effect of the overvaluation of the currency

In order to measure the magnitude of the ground-rent appropriated each year through the effect of the overvaluation of the currency, it is first necessary to have a measure of the degree of the overvaluation prevailing each year. For that purpose, the effective yearly average export exchange rate is compared with the purchasing power parity (PPP). The former is calculated using the relative evolution of Brazilian and US consumer price indexes corrected by the relative evolution of labour productivity in the manufacturing sector.33 32 The model presented here is an adaptation for the Brazilian circumstances of a model originally developed to measure the magnitude of the appropriated ground-rent in Argentina by Iñigo Carrera (2007). The period 1968-88 is used as a base in order to minimize the possible distortions emerging from using a base year in which the currency was heavily overvalued or circumstantially strongly undervalued. The following figure plots the movements of the export exchange rate of the Brazilian currency around its PPP.

The measurement of the magnitude of the portion of the ground-rent appropriated through the effect of the overvaluation of the currency on the value of exports and the prices of domestically consumed primary and semi-manufactured34 34 Though the overvaluation of the currency acted over all exports, industrial goods received subsidies which at least compensated it. goods must be done separately.

The ground-rent appropriated through the effect of the overvaluation of the currency on the value of primary goods exports is calculated in the following way:

Where,

oi is the portion of the value of exports appropriated through the effect of the overvaluation of the currency in the year i;

neri is the nominal commercial exchange rate in the year i;

peri is the PPP exchange rate in the year i;

xy is the quantity exported of the good y in the year i;

py is the Free On Board (FOB) price in US$of the good y in the year i; aoxi is the total value in current US$ appropriated through the overvaluation of the currency over primary and semi-manufactured goods exports the year i.

On its turn, the total value of the ground-rent appropriated through the effect of the overvaluation of the currency over the prices of primary goods consumed domestically is calculated in the following way:

Where,

aoci is the total value in national currency appropriated through the effect of the overvaluation of the currency over the price of locally consumed primary goods in the year i;

cyi is the value in US$of the local consumption of the good y on the year i; tpyi is the total production of the good y in the year i. In this paper it is calculated over the domestic consumption of sugar, beans, cotton, corn, rice, soybeans, cocoa and iron ore. They have constituted not only the basic consumption of the local labour-force but also the main raw materials for the local industry. It should be noticed that this procedure underestimates the total magnitude of the appropriated ground-rent. The domestic consumption of coffee is not included because a large portion of its annual production has been usually stocked and therefore it is not possible to know the exact magnitude of its final domestic consumption. The total magnitude (in current US$) of the ground-rent appropriated through the effect of the overvaluation of the currency on the year i is then:

In order to convert the total value of the ground-rent appropriated through the overvaluation of the currency into current Brazilian national currency it is necessary to multiply it for the PPP exchange rate (peri):

Finally, to be able to compare that magnitude of value along time, it is necessary to convert it into local currency of constant purchasing power as follows:

Where,

cpi2004 is the Consumer Price Index of 2004;

cpii is the Consumer Price Index in the year i.

Ground-rent appropriated through export taxes exclusively applied on primary goods' international trade

During the period under study there have been two different types of taxes applied to primary goods' exports: the ICM on exports collected by regional treasuries and the federal export tax.

Effect of the ICM on primary goods exports

The ICM was paid in local currency. However, as the magnitude of the ICM on primary goods exports has not been reported separately from the total ICM, an alternative procedure must be undertaken to compute its effect. The data of the total ICM collected from primary goods exports has been obtained by multiplying the estimated average national ICM rate by the total value of exports. The ICM rate for the period 1966-78 has been obtained from Brandão and Carvalho (1991: 2). For the years 1978, p. 90 is has been assumed to remained at the level of 1978, the lowest since 1966. It should be noted that it is a conservative assumption considering that the ICM rate usually moved in the opposite direction of the degree of overvaluation of the currency.35 35 Other authors considered values around 13%-16% for the period between 1969 and 1989. See Helfand (2000, p. 465). It should be noticed that the results obtained here do not change substantially using 13% instead of 16% after 1978.

The magnitude of the ground-rent appropriated through the effect of ICM over primary goods' exports is then obtained by the following equation:

Where,

aicmxi is the total value in US$appropriated through the ICM over primary goods (and since 1988 semi-manufactured goods) exports on the year i; ti is the national average rate of the ICM tax on the year i. The magnitude of the portion of the ground-rent appropriated through the effect of ICM over the price of domestically consumed primary goods on the year i (aicmci) is obtained by the following equation: The total magnitude in current US$ on the year i appropriated through the ICM (aicmti) is then:

In order to express aicmt in current local currency it is necessary to multiply it by the nominal exchange rate:36 36 The effect of the overvaluation of the currency was already considered.

Its magnitude in local currency of constant purchasing power is:

Effect of national export taxes applied on primary goods exports

The total magnitude of the ground-rent appropriated through the effect of the national export taxes (axtt) is composed of that appropriated over exports (axtx) and that appropriated through the effect export taxes had over the price of domestically consumed primary goods (axtc). The first portion if obtained from the 'Public Finances' section of the Anuario Estatistico (AE). The second portion, axtc, is calculated in the following way:

Where,

xti is the export tax rate in the year i;

XTi are total exports taxes37 37 Export taxes were applied only to primary goods. collected in the year i;

Xi are total exports of primary goods in local currency in the year i.

The total magnitude of the portion of the ground-rent appropriated through the effect of export taxes expressed in local currency of constant purchasing power is then:

Ground-rent appropriated through the effect of controls and maximum prices

In order to measure the magnitude of the portion of the ground-rent appropriated through the effect of policies controlling the international trade of primary goods and their domestic prices, it is necessary to compare the FOB price (in local currency at the commercial exchange rate) of each commodity with its Free Alongside Ship (FAS) price. The latter is obtained by adding to the producer's price (PP) of every commodity the diverse costs involved in transporting, preparing and stocking it before being exported. This effect has been calculated for soybeans and cotton because they were the most affected by those policies. The PPs were obtained from IPEADATA. Transportation, commercialization and port costs for the years 1966-83 were obtained from Brandão and Carvalho (1991, pp. 53-8). For the period 1984-90 they were estimated under the assumption that total costs as portion of PPs remained equal to the average of the period 1966-83.

Where,

pfobyi is the FOB price in local currency (at the commercial exchange rate) of the good y in the year i;

pfasyi is the FAS price in local currency of the goods y in the year i.

Ground-rent appropriated through 'contribution quotas'

'Contribution quotas' for coffee and cocoa were collected in local currency, except for the case of coffee between 1961 and 1964 when they were a fixed sum per 60kg bag paid in US\$. The value of coffee's total 'contribution quota' for 1961-64 was calculated by multiplying the yearly average fixed sum per bag by the total bags exported each year.38 38 The yearly average fixed sum was calculated using data from Carvalho Filho (1976, pp. 112-7). This total was then converted in local currency by the PPP exchange rate. The value of the 'contribution quotas' for the period 1965-83 for coffee and 1962-83 for cocoa were obtained from Brandão and Carvalho (1991, p. 249). The combined total values of the 'contribution quotas' of coffee and cacao for 1984 and of coffee for the period 1987-90 were obtained from the Relatorio do Banco Central do Brasil.39 39 'Contribution quotas' were transformed into export taxes in 1985 and were reintroduced for coffee in 1987.

The total value of the contribution quotas in local currency of constant purchasing power is:

Where,

cqyi is the value in current local currency of the 'contribution quota' of the good y during the year i.

Total magnitude of the appropriated ground-rent

The total magnitude of the ground-rent appropriated through the different effects during each year in local currency of constant purchasing power (atlci2004) is obtained by adding the partial results of all the effects:

Appropriated ground-rent as portion of total surplusvalue

Up to this point an estimate of the total magnitude of the appropriated ground-rent was obtained. It is also known that the measurement slightly underestimated the actual magnitude since it did not include the effects of the overvaluation and export taxes over the domestic consumption of several 'minor' primary goods.40 40 It neither included the ground-rent materialised in the price of hydraulic energy whose magnitude grew notoriously during the 1980s, especially after the second 'oil shock'. In order to assess the hypothesis that the mass of appropriated ground-rent played a relevant part in sustaining the process of capital accumulation in Brazil during the period under study, its magnitude will be compared with the total surplusvalue (i.e. total profits) produced in the economy.

Total surplusvalue is calculated by deducting the wage mass and the depreciation of fixed capital from the GDP at factor prices. The data for the latter two was obtained from the 'National Accounts' section of AE. The wage mass was calculated by adding the rural and urban wage masses for each year. The former was estimated by multiplying the total rural employment by average annual nominal rural wages generated with the data of average rural wages from the 1980 Rural Census and an index of nominal wages provided by Bacha and Greenhill (1992). Total rural employment was estimated in the following way: the data for the inter-census years were generated by 'correcting' the total rural employment on the census years obtained form Baer (1965, p. 251) and Brandão and Carvalho (1991: 249) by the weighted average of the technical evolution of agrarian labour processes as measured by the agrarian value added at constant prices per labourer. For instance, total employment in 1951 was equal to:

Where,

gdp is agrarian GDP at constant prices;

gdppc is agrarian GDP per labourer employed.

Total urban wages for the period 1947-60 were obtained from the AE. For the period 1961-75, they have been estimated by applying the evolution of an index of total urban employment (from the AE) and an index of industrial wages obtained from Bacha (1986) to the value of 1960. The values for the years 1976-90 were estimated by applying the combined evolution of total industrial employment and nominal wages in São Paulo (from IPEADATA) to the value of urban wage mass of 1975. Both estimations were made under the assumption that non-industrial urban employment and wages evolved in synchrony with industrial employment and wages. The annual data on fixed capital depreciation was obtained from the National Accounts section of the AE.

The following figure plots the mass of the appropriated ground-rent as percentage of total surplus-value. It can be observed that that proportion averaged 44% between 1947 and 1960, when the overvaluation of the currency was at it highest point and major investments in public companies and infrastructure (including the Plano de Metas and the construction of Brasilia) were taking place. It decreased afterwards, averaging 15% between 1961 and 1975, and decreased continuously thereafter. It should be noticed that during the 'miracle' the appropriated ground-rent constituted, on average, 16% of total profits. Moreover, it is also interesting to observe that the 'expansionist' polices implemented in 1967, and sometimes considered the origin of the 'miracle', were correlated with an increase of both the magnitude of the ground-rent available in the economy (see Graph 2 above) and its appropriated portion which jumped form 12% of total profits during the crisis year of 1964 to 22% in 1967. It should also be remarked that after 1975 the constant contraction of the absolute magnitude of the appropriated ground-rent manifested in a continuous reduction of its capacity to sustain the economy's profitability.

INFLOW OF FOREIGN CREDIT

Between the end of WWII and 1981, especially after 1968, the ground-rent was not they only source of extraordinary wealth that fed the process of capital accumulation in Brazil. It was complemented by the inflow of external credit. Though the reasons of this phenomenon and its consequences over the long-term process of development in Brazil have been a matter of intense discussion,41 41 See Fonseca (2001) and Bresser-Pereira (1984) for contrasting perspectives. it is generally agreed that foreign credit capital flew substantially to Brazil during that period.

In effect, between 1947 and 1981, the new loans contracted externally netted from the service of previously acquired external liabilities equalled an annual average of approximately 4% of total profits produced in the economy. The great bulk of those funds were publicly borrowed and used to finance the activities of state-owned companies and, since 1968, also to sustain the overvaluation of the currency through the constant reposition of the Central Bank's reserves after the regular deficit incurred in the current account.42 42 The harvests of the years 1963-64 were particularly poor.

The evolution of the net inflow of credit capital, converted into local currency by the PPP exchange rate, and its quantitative relation with the mass of total profits are plotted in the following figure. It can be noted that both the absolute magnitude of the net inflow of credit capital and its relationship with capital's total profits accelerated notoriously during the 'miracle' and decelerated markedly at the end of the 1970s. It can also be observed that the flow of credit capital remained largely negative during the 'lost decade' of the 1980s.

EVOLUTION OF THE PRODUCTION OF SOCIAL WEALTH IN BRAZIL

It is frequently argued that the evolution of the Brazilian economy has been closely dependent on the evolution of the terms of trade of its exports and the cost of external borrowing. In effect, the price of its primary exports is actually one of the determinants of the magnitude of the ground-rent available for appropriation by industrial capital. The other determinants are the international price of non-exported primary goods, the total production of primary goods and the difference between local natural conditions for the production of primary goods and those prevailing in the world's marginal lands. The cost of external borrowing is, on its turn, probably the most important determinant of the flows of credit capital to Brazil. In fact, while the combined masses of extraordinary wealth (i.e. ground-rent and net inflow of credit capital) available in the economy grew at the pace of its requirement by industrial capital, determined by the difference between the local and international scales of production, the Brazilian economy managed to grow substantially. This was usually the case between WWII and 1980, with the exception of the years 1964-67. When the opposite happened, as was commonly the case after 1980, the Brazilian economy stagnated.

This can be observed from the following two figures. The first plots the evolution of the combined masses of the appropriated ground-rent and the net inflow of external credit as percentage of total surplus-value. The second figure plots the evolution of the value of total production in Brazil between 1947 and 1990, measured by the GDP in local currency of constant purchasing power, using the CPI as deflator, and the evolution of physical production (i.e. GDP at constant prices of 2004). Since in capitalism social wealth is not expressed in the quantity of goods and services produced but in their value, the former is used here to measure the evolution of the magnitude of the Brazilian process of capital accumulation.

Several further observations can be taken from both figures. First, it can be noticed that the crisis of 1964-67 was concurrent with a contraction of both the appropriated ground-rent43 43 The harvests of the years 1963-64 were particularly poor. and the net inflow of credit which became negative. Secondly, it can be seen that despite the fact that there was a relative robust economic recovery between 1968 and 1970, the period of strongest growth in the production of value was 1971-74 which was correlated with the peak in the mass of appropriated ground-rent and of the net inflow of external credit. Thirdly, it can be observed that though the economy began to slowdown in 1975, growth rates remained relatively high until 1980, when the reduction of the capacity of the combined masses of the extraordinary wealth to sustain capital's profitability became more compelling. Moreover, the magnitude of the 1980s crisis corresponded to the sharp contraction of the availability of those extraordinary sources of wealth.

CONCLUSION

The aim of the present paper was to advance an alternative measurement of the magnitude of the extraordinary wealth appropriated by industrial capital in Brazil between the end of WWII and the late 1980s. This was done in order to shed some light over the trajectory of the Brazilian economy from the 'miracle' to the 'lost decade'. These masses of wealth, it was argued, were composed of the ground-rent and the net inflow of credit capital. In order to accomplish that measurement, the forms of appropriation of those masses of extraordinary wealth by industrial capital were analysed first.

It was shown, hopefully convincingly, that the performance of the Brazilian economy during that period was highly dependent on the evolution of the mass of appropriated ground-rent and the inflow of external credit. This, however, has not answered the most important question: why did this happen? Or, in other words, what specific kind of process of capital accumulation have both sources of extraordinary wealth fed?

The answer to the last question, which exceeds the goals of the present paper, will surely advance an alternative explanation on the development of capitalism in Brazil and to question of why the Brazilian economy could not overcome its dependence of the evolution of the terms of trade of its exports and the costs and availability of external loans.

Submitted: July 2006; Approved: February 2007.

• 1
See Abreu et al. (1990); Bacha (1986).
• 2
See Simonsen (1976); Tyler (1986); Fonseca (2001).
• 3
See Serra (1983); Bresser-Pereira (1984).
• 4
Anglade (1985, p. 56) is an exception on this point.
• 5
See Syvrud (1974, pp. 216-9); Graham et al. (1987 2-3).
• 6
See Oliveira (1986, pp. 91-109); Graham, et al. (1987 17-8); Andrade Alves and Pastore (1978).
• 7
See Gudin (1969).
• 8
See Bacha (1978).
• 9
On the contrary, agrarian production expanded continuously during the entire period. See Graham et al. (1987). Moreover, as Bacha (1978, p. 144) noticed, the fast expansion of coffee production during the period of higher 'taxation' (i.e. 1947-1954) is an indication that normal profitability was not affected.
• 10
As the prices of primary goods in the world markets are determined by production costs prevailing in world's marginal (i.e. less fertile or accessible) agrarian and mining lands for whose product there is a solvent demand, the rate of profit is potentially higher for those individual capitals operating in non-marginal lands where relatively favourable natural conditions allow lower production costs. Although extremely attractive for agrarian and mining individual capitals, their competition to rent those lands in which the
differentially favourable natural conditions prevail increases their rental prices and therefore allows landowners to appropriate those extraordinary profits under the form of (differential) ground-rent paid for the use of agrarian and mining grounds. In contrast with all other goods and services, agrarian and mining commodities (except those produced in the margins) thus circulate in the world markets at prices which contain not only the costs involved in their production and the normal profit of individual capitals but also a portion of value in the form of differential ground-rent.
See Marx (1981, pp. 779-87). Moreover, since owners of marginal lands also receive a rent in exchange for the productive use of their lands, the commercial price of primary goods is set further above their prices of production to include this type of rent of simple
absolute monopoly. See Marx (1981, pp. 882-907). However, unlike the differential part of the rent, the magnitude of this last portion varies not according to the fertility of the soil but to the monopoly power of landowners relative to the size of the demand. The characteristics of mining productions (i.e. the possibility of stopping production without losing the scarce natural resource) means that mining landowners have,
ceteris paribus, more monopoly power than the agrarian ones and therefore the absolute rent is relatively much larger in the mining than in the agrarian sector where it tends to be insignificant. See Iñigo Carrera (2007, pp. 11-3).
• 11
The effect of most of these policies upon the appropriation of the ground-rent was first presented in Iñigo Carrera (2007) for the Argentinean case.
• 12
It is possible that in the case of coffee, before the mid-1960s, the rent of simple absolute monopoly was relatively important, vis-à-vis the differential rent, due to Brazilian quasi-monopoly on the world production of the grain and the high inelasticity of its demand.
• 13
See Malan and Bergsman (1970, pp. 151-5).
• 14
See Oliveira (1986, p. 92).
• 15
The Law of Similarity has its origins in 1911 but was made an effective instrument of industrial policy only in 1949. In principle, it forbade the importation of industrial goods that could be produced locally at the same price and quality of their international competitors. In practise, it functioned as a market protection. See Baer (1995, pp. 58-9).
• 16
See Malan and Bergsman (1970, pp. 150-60).
• 17
See Baer (1995, pp. 56-8).
• 18
See Malan and Bergsman (1970, pp. 173-4); Von Doellinger et al. (1974, p. 134).
• 19
The overvaluation of the currency lowered the price of imported goods and therefore allowed importers to pay relatively high import taxes.
• 20
See Avelãs Nunes (1990, p. 211).
• 21
See Brandão and Carvalho (1991, p. 249); Carvalho Filho (1976, p. 47).
• 22
See Helfand (2000, pp. 464-5).
• 23
See Von Doellinger et al. (1974, p. 29).
• 24
See Nunberg (1987, pp. 66-71).
• 25
See Graham et al. (1987, p. 7); Helfand (1999, p. 7)
• 26
They were otherwise usually below the market price of agrarian goods. See Helfand (1999, p. 20).
• 27
See Helfand (1999, pp. 7-17); Graham et al. (1987, pp. 22-4).
• 28
Until 1966, the Usury Law set a 12% limit on nominal interest rates. With inflation rates averaging 27.5% in the period 1946-65 and only in 1948-49 below that figure, real interest rates were constantly negative. See Anglade (1985, pp. 87-91). After 1966, real interests lent by public banks remained below market rates, especially during the 1970s when they were usually negative. See Batista (1992, p. 119).
• 29
See Avelãs Nunes (1990, pp. 193-4).
• 30
See Oliveira (1986); Brandão and Carvalho (1991).
• 31
See Oliveira (1986, p. 105-8).
• 32
The model presented here is an adaptation for the Brazilian circumstances of a model originally developed to measure the magnitude of the appropriated ground-rent in Argentina by Iñigo Carrera (2007).
• 33
See Iñigo Carrera (2007) for a wide discussion of the literature on PPP and the justification of the methodology used here.
• 34
Though the overvaluation of the currency acted over all exports, industrial goods received subsidies which at least compensated it.
• 35
Other authors considered values around 13%-16% for the period between 1969 and 1989. See Helfand (2000, p. 465). It should be noticed that the results obtained here do not change substantially using 13% instead of 16% after 1978.
• 36
The effect of the overvaluation of the currency was already considered.
• 37
Export taxes were applied only to primary goods.
• 38
The yearly average fixed sum was calculated using data from Carvalho Filho (1976, pp. 112-7).
• 39
'Contribution quotas' were transformed into export taxes in 1985 and were reintroduced for coffee in 1987.
• 40
It neither included the ground-rent materialised in the price of hydraulic energy whose magnitude grew notoriously during the 1980s, especially after the second 'oil shock'.
• 41
See Fonseca (2001) and Bresser-Pereira (1984) for contrasting perspectives.
• 42
The harvests of the years 1963-64 were particularly poor.
• 43
The harvests of the years 1963-64 were particularly poor.
• ABREU, M. de Paiva, et. al. (1990), A Ordem do Progresso: Cem anos de Política Econômica Republicana (1889-1989). Rio de Janeiro: Campus.
• ANDRADE ALVES, E.R. de and A.C. PASTORE (1978), 'Import Substitution and Implicit Taxation of Agriculture in Brazil', in American Journal of Agrarian Economics, December: 865- 871.
• ANGLADE, C. (1985), 'The State and Capital Accumulation in Contemporary Brazil', in Anglade, C. and C. Fortin (eds.), The State and Capital Accumulation in Latin America Vol. 1, London: Macmillan.
• ANUÁRIO ESTATISTICO DO BRASIL, Vol. 11-52, Instituto Brasileiro de Geografia e Estatística.
• AVELÃS NUNES, A.J. (1990), Industrialización y desarrollo: La economía política del modelo brasileño de desarrollo, Mexico: F.C.E.
• BACHA, E.L. (1978), 'O papel do café na economia brasileira: do pós-guerra a meados dos anos 60', in Bacha, E.L., Os Mitos de uma Década, Rio de Janeiro: Paz e Terra.
• BACHA, E.L. (1986), El milagro y la crisis: economía brasileña y latinoamericana, México: F.C.E.
• BACHA, E.L., and GREENHILL, R. (1992), 150 Anos de Café, Rio de Janeiro: Marcellino Martins & E. Johnston.
• BAER, W. (1965), Industrialization and economic development in Brazil, Homewood: Irwin.
• BAER, W. (1995), The Brazilian Economy: Growth and Development, Westport: Praeger.
• Banco Central do Brasil, Series Temporais, http://www4.bcb.gov.br/pec/series/port/
• BARATA DE PAULA PINTO, M. (1983), "Exportações brasileiras de manufaturados: crescimento e mudança de estrutura", São Paulo, Instituto de Pesquisas Econômicas.
• BATISTA, J.C. (1992), Debt and Adjustment Policies in Brazil, Boulder: Westview Press.
• BRANDÃO, A.S.P. and J.L. CARVALHO (1991), Trade, Exchange Rate, and Agricultural Pricing Policies in Brazil, Washington D.C.: The World Bank.
• BRESSER-PEREIRA, L. C. (1984), Development and Crisis in Brazil, 1930-1983, Boulder: Westview Press.
• CARVALHO FILHO, J.J. de (1976), Poli?tica cafeeira do Brasil, seus instrumentos, 1961-1971, Sa?o Paulo: IPE.
• FONSECA, M.A.R. de (2001), 'Analysis of Brazil's Macroeconomic Trends', in Guilhoto, J.J.M. and G.J.D., Hewings (eds.), Structure and Structural Change in the Brazilian Economy
• GUDIN, E. (1969), 'The chief characteristics of the post-war economic development of Brazil', in Ellis (ed.), The Economy of Brazil, Berkeley: University of California Press.
• GRAHAM D.H., et. al. (1987), 'Thirty Years of Agricultural Growth in Brazil: Crop Performance, Regional Profile, and Recent Policy Review', Economic Development and Cultural Change, 36 (1): 1-34.
• HELFAND, S.M. (1999), 'The Political Economy of Agricultural Policy in Brazil: Decision Making and Influence from 1964 to 1992', Latin American Research Review, 34 (2): 3-41.
• HELFAND, S.M. (2000), 'Interests Groups and Economic Policy: Explaining the Pattern of Protection in the Brazilian Agricultural Sector', Contemporary Economic Policy, 18 (4): 462-476.
• INSTITUTO DE PESQUISA ECONÔMICA APLICADA (IPEA), IPEADATA.
• IÑIGO CARRERA, J. (2007), La formación económica de la sociedad argentina, Volumen I, Renta agraria, ganancia industrial y deuda externa 1882-2004, Buenos Aires: Imago Mundi.
• MALAN, P., J. BERGSMAN, (1970), 'The Structure of Industry Protection in Brazil', Revista Brasileira de Economia, 24 (2): 145-189.
• MARX, K. (1981), Capital Vol. III, Penguin Books.
• NUNBERG, B. (1987), 'Structural Change and State Policy: The Politics of Sugar in Brazil Since 1964', Latin American Research Review, 21 (2): 53-92.
• OLIVEIRA, J.C., (1986), 'Trade Policy, Market 'Distortions', and Agriculture in the Process of Economic Development: Brazil, 1950-1974', Journal of Development Economics, 24 (1): 91-109.
• OXFORD LATIN AMERICAN ECONOMIC HISTORY DATABAse (OXLAD).
• RELATÓRIO DO BANCO CENTRAL DO BRASIL, Nos. 1985-7/1990, Brasília, Banco Central do Brasil.
• SERRA, J. (1983), 'Ciclos e Mudanças Estruturais na Economia Brasileira de Pós-guerra'. In Gonzaga M. Belluzzo, L. and R. Coutinho (eds.), Desenvolvimento Capitalista no Brasil São Paulo: Editora Brasiliense.
• SIMONSEN, M.H. (1976), 'O modelo Brasileiro do desenvolvimento'. In Simonsen, M. and Campos, A Nova Economia Brasileira Rio de Janeiro: Livraria Jose Olympio.
• SINGER P. (1977), A crise do 'milagre' Rio de Janeiro: Paz e Terra.
• SYVRUD, D. E. (1974), Foundations of Brazilian economic growth, Stanford, California: Hoover Institution Press.
• TYLER, W.G. (1986), 'Stabilization, external adjustment, and recession in Brazil: perspectives on the mid-1980s', Studies in Comparative International Development, 21 (3), Summer: 5-29.
• UN COMMODITY TRADE STATISTICS DATABASE (UN Comtrade).
• VON DOELLINGER, C., et. al. (1974), A política brasileira de comercio exterior e seus efeitos: 1967-73, Rio de Janeiro, IPEA.
1 See Abreu et al. (1990); Bacha (1986). 2 See Simonsen (1976); Tyler (1986); Fonseca (2001). 3 See Serra (1983); Bresser-Pereira (1984). 4 Anglade (1985, p. 56) is an exception on this point. 5 See Syvrud (1974, pp. 216-9); Graham et al. (1987 2-3). 6 See Oliveira (1986, pp. 91-109); Graham, et al. (1987 17-8); Andrade Alves and Pastore (1978). 7 See Gudin (1969). 8 See Bacha (1978). 9 On the contrary, agrarian production expanded continuously during the entire period. See Graham et al. (1987). Moreover, as Bacha (1978, p. 144) noticed, the fast expansion of coffee production during the period of higher 'taxation' (i.e. 1947-1954) is an indication that normal profitability was not affected. 10 As the prices of primary goods in the world markets are determined by production costs prevailing in world's marginal (i.e. less fertile or accessible) agrarian and mining lands for whose product there is a solvent demand, the rate of profit is potentially higher for those individual capitals operating in non-marginal lands where relatively favourable natural conditions allow lower production costs. Although extremely attractive for agrarian and mining individual capitals, their competition to rent those lands in which the differentially favourable natural conditions prevail increases their rental prices and therefore allows landowners to appropriate those extraordinary profits under the form of (differential) ground-rent paid for the use of agrarian and mining grounds. In contrast with all other goods and services, agrarian and mining commodities (except those produced in the margins) thus circulate in the world markets at prices which contain not only the costs involved in their production and the normal profit of individual capitals but also a portion of value in the form of differential ground-rent. See Marx (1981, pp. 779-87). Moreover, since owners of marginal lands also receive a rent in exchange for the productive use of their lands, the commercial price of primary goods is set further above their prices of production to include this type of rent of simple absolute monopoly. See Marx (1981, pp. 882-907). However, unlike the differential part of the rent, the magnitude of this last portion varies not according to the fertility of the soil but to the monopoly power of landowners relative to the size of the demand. The characteristics of mining productions (i.e. the possibility of stopping production without losing the scarce natural resource) means that mining landowners have, ceteris paribus, more monopoly power than the agrarian ones and therefore the absolute rent is relatively much larger in the mining than in the agrarian sector where it tends to be insignificant. See Iñigo Carrera (2007, pp. 11-3). 11 The effect of most of these policies upon the appropriation of the ground-rent was first presented in Iñigo Carrera (2007) for the Argentinean case. 12 It is possible that in the case of coffee, before the mid-1960s, the rent of simple absolute monopoly was relatively important, vis-à-vis the differential rent, due to Brazilian quasi-monopoly on the world production of the grain and the high inelasticity of its demand. 13 See Malan and Bergsman (1970, pp. 151-5). 14 See Oliveira (1986, p. 92). 15 The Law of Similarity has its origins in 1911 but was made an effective instrument of industrial policy only in 1949. In principle, it forbade the importation of industrial goods that could be produced locally at the same price and quality of their international competitors. In practise, it functioned as a market protection. See Baer (1995, pp. 58-9). 16 See Malan and Bergsman (1970, pp. 150-60). 17 See Baer (1995, pp. 56-8). 18 See Malan and Bergsman (1970, pp. 173-4); Von Doellinger et al. (1974, p. 134). 19 The overvaluation of the currency lowered the price of imported goods and therefore allowed importers to pay relatively high import taxes. 20 See Avelãs Nunes (1990, p. 211). 21 See Brandão and Carvalho (1991, p. 249); Carvalho Filho (1976, p. 47). 22 See Helfand (2000, pp. 464-5). 23 See Von Doellinger et al. (1974, p. 29). 24 See Nunberg (1987, pp. 66-71). 25 See Graham et al. (1987, p. 7); Helfand (1999, p. 7) 26 They were otherwise usually below the market price of agrarian goods. See Helfand (1999, p. 20). 27 See Helfand (1999, pp. 7-17); Graham et al. (1987, pp. 22-4). 28 Until 1966, the Usury Law set a 12% limit on nominal interest rates. With inflation rates averaging 27.5% in the period 1946-65 and only in 1948-49 below that figure, real interest rates were constantly negative. See Anglade (1985, pp. 87-91). After 1966, real interests lent by public banks remained below market rates, especially during the 1970s when they were usually negative. See Batista (1992, p. 119). 29 See Avelãs Nunes (1990, pp. 193-4). 30 See Oliveira (1986); Brandão and Carvalho (1991). 31 See Oliveira (1986, p. 105-8). 32 The model presented here is an adaptation for the Brazilian circumstances of a model originally developed to measure the magnitude of the appropriated ground-rent in Argentina by Iñigo Carrera (2007). 33 See Iñigo Carrera (2007) for a wide discussion of the literature on PPP and the justification of the methodology used here. 34 Though the overvaluation of the currency acted over all exports, industrial goods received subsidies which at least compensated it. 35 Other authors considered values around 13%-16% for the period between 1969 and 1989. See Helfand (2000, p. 465). It should be noticed that the results obtained here do not change substantially using 13% instead of 16% after 1978. 36 The effect of the overvaluation of the currency was already considered. 37 Export taxes were applied only to primary goods. 38 The yearly average fixed sum was calculated using data from Carvalho Filho (1976, pp. 112-7). 39 'Contribution quotas' were transformed into export taxes in 1985 and were reintroduced for coffee in 1987. 40 It neither included the ground-rent materialised in the price of hydraulic energy whose magnitude grew notoriously during the 1980s, especially after the second 'oil shock'. 41 See Fonseca (2001) and Bresser-Pereira (1984) for contrasting perspectives. 42 The harvests of the years 1963-64 were particularly poor. 43 The harvests of the years 1963-64 were particularly poor.

# Publication Dates

• Publication in this collection
27 May 2008
• Date of issue
June 2008

# History

• Accepted
Feb 2007
• Received
July 2006
Centro de Economia Política Rua Araripina, 106, CEP 05603-030 São Paulo - SP, Tel. (55 11) 3816-6053 - São Paulo - SP - Brazil
E-mail: cecilia.heise@bjpe.org.br


text:
### Home > AC > Chapter 11 > Lesson 11.3.1 > Problem11-105

11-105.

Rewrite each of the expressions below. Avoid leaving negative exponents in your solution.

1. $( \frac { 2 x } { y ^ { 2 } } ) ^ { 2 }$

Multiply.

$( \frac { 2 x } { y ^ { 2 } } ) ( \frac { 2 x } { y ^ { 2 } } )$

$\frac { 4 x ^ { 2 } } { y ^ { 4 } }$

1. $\left(6x^{3}\right)\left(3x^{−1}y\right)$

Eliminate the negative exponents.

$\left. \begin{array} { c } { ( 6 x ^ { 3 } ) ( \frac { 3 y } { x } ) } \\ { \frac { 18 x ^ { 3 } y } { x } } \end{array} \right.$

Reduce by looking for factors in the numerator and denominator that make one.

$18x^{2}y$

1. $\frac { ( x y ) ^ { - 1 } } { ( x ^ { 2 } y ^ { 3 } ) ^ { - 1 } }$

Eliminate the negative exponents.

$\frac { x ^ { 2 } y ^ { 3 } } { x y }$

Reduce by looking for factors in the numerator and denominator that make one.

$xy^{2}$


text:
# Dimension of $\left(\lambda |\psi\rangle \langle\psi| +(1-\lambda)\frac{\mathrm{I}}{2}\right)^{\otimes N}$

I have the $N$-fold tensor product of a convex combination of a pure state, i.e. $|\psi\rangle\langle\psi|$ with $|\psi\rangle$ a unit vector in a complex Hilbert space of dimension two, and the completely mixed state $\frac{\mathrm{I}_2}{2}$, with $\mathrm{I}_2$ the identity operator in two dimensions:

$$\rho(\lambda) = \left(\lambda|\psi\rangle\langle\psi|+(1-\lambda)\frac{\mathrm{I}_2}{2}\right)^{\otimes N},\\ \mathrm{with}~\lambda \in \left(0,1\right)$$

Writing w.l.o.g. $|\psi\rangle = \begin{bmatrix} \alpha\\ \beta \end{bmatrix}$ with $\alpha,\beta \in \mathbb{C}, ~|\alpha|^2+|\beta|^2 = 1$,

$$\rho(\lambda) = \left(\begin{bmatrix} \lambda|\alpha|^2+\frac{1-\lambda}{2} & \lambda\alpha\beta^*\\ \lambda\alpha^*\beta &\lambda|\beta|^2+\frac{1-\lambda}{2} \end{bmatrix}\right)^{\otimes N}$$

For $\lambda = 0$, the dimension of all the states in the form of $\rho$ with varying $|\psi\rangle$ is $2^N$, while for $\lambda = 1$ the space of all possible $\rho$ is the totally symmetric subspace, so that the dimension is given by $N+1$. A way to formalize the dimension of some space is to calculate the (lowest possible) trace of the identity operator working on that space. For example, $N = 2, \lambda = 1$ we can write our identity operator on all states of those form as

$$\begin{bmatrix} 1 & 0 & 0 & 0\\ 1 & \frac{1}{2} & \frac{1}{2} & 0\\ 1 & \frac{1}{2} & \frac{1}{2} & 0\\ 0 & 0 & 0 & 1\\ \end{bmatrix}$$

The trace over this operator gives $2+1 = 3$, and doing the same for $N>2$ and $\lambda = 1$ you would be always able to find some operator that acts as the identity operator on those states, where $N+1$ will be the trace over that operator. We can assign the trace of that operator to the dimension of that space (see https://en.wikipedia.org/wiki/Dimension_(vector_space)#Trace).

What can you say about the dimension for intermediate values of $\lambda$? Do you immediately lose the ability to reduce the dimension for $\lambda<1$?

• What do you mean by "dimension" here? The dimension of the range? – Martin Argerami Jul 31 '15 at 16:44
• I updated the original post a bit to clarify what I mean by the dimension. – Kenneth Goodenough Jul 31 '15 at 17:18

For $\lambda\in [0,1)$, you are taking the positive (rank-one) operator $\lambda |\psi\rangle\langle\psi|$ and you are adding a positive multiple of the identity, so the resulting operator is invertible. Thus your dimension (the range) will be $2^N$.


text:
Math Notation Help

This glossary will help you build complex mathematical equations using the Tex markup language. This will involve using @@ or $$before and after the expression to display the desired results. Browse the glossary using this index Special | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ALL Page: (Previous) 1 2 ALL P Psi (upper case greek letter)$$\Psi gives $\Psi$

Page: (Previous)   1  2
ALL


text:
## convergent/divergent with natural log

Preparing for the math test, and cannot understand what to do for one of my practice problems:

I need to find if the series is convergent or divergent, using test for divergence (divergent if limit doesn't equal 0)

sigma from 1 to infinity of ln((n^2+1)/(2n^2+1))

I see that I should use l'Hopital rule, and show that as n goes to infinity, the limit will equal to 1/2 (and series is diverges), but the ln (ie, natural log) gives me a doubt about my answer...

Also, i figured that I can use one of the natural log properties and rewrite as sigma ln(n^2+1) - sigma ln(2n^2+1), but still i have no idea what to do with ln...

help! what kind of influence does the natural log have on this problem??
 PhysOrg.com science news on PhysOrg.com >> New language discovery reveals linguistic insights>> US official: Solar plane to help ground energy use (Update)>> Four microphones, computer algorithm enough to produce 3-D model of simple, convex room
 Another idea is that to do a l'Hopital rule on ln((n^2+1)/(2n^2+1)), which will flip my fraction, getting rid of natural log, and do l'Hopital rule 2 times more, and that will make my limit equals to 2, and show that the series is divergent... Is my logic solid, or does it have a hole somewhere?
 Recognitions: Gold Member There's no need for l'Hopital. It's easy to show that (n^2+1)/(2n^2+1) goes to 1/2 as n goes to infinity - just divide the numerator and denomonator by n^2. Since ln is continuous, the sequence converges to ln(1/2) =/= 0 so the series diverges.

## convergent/divergent with natural log

thank you very much

 Similar discussions for: convergent/divergent with natural log Thread Forum Replies Calculus & Beyond Homework 11 Calculus & Beyond Homework 1 Calculus 12 Calculus & Beyond Homework 2 Introductory Physics Homework 2


text:
Research Activities > Lectures
 Click here to subscribe to the CSCAMM Seminar mailing list All talks are in the CSIC Bldg (#406) Room 4122 at 2.00pm (unless otherwise stated) Directions can be found at: www.cscamm.umd.edu/directions Refreshments will be served after the talk Contact Email: seminar

### Spring 2010 Seminars

TBA

Rescheduled due to snow.

Prof. Irene Gamba, Department of Mathematics/ICES, University of Texas

Convolution like estimates for the Boltzmann Transport Equation and classical solutions and stability for soft potentials

We focus on the study of existence and uniqueness of distributional and classical solutions to the Cauchy Boltzmann transport problem in n dimensions assuming in the case of $S^{n-1}$-integrability of the angular part of the collision kernel (Grad cut-off assumption) with data near Maxwellian distributions. We will show convolution estimates of Young's inequality type for the case of hard potentials and Hardy-Littlewood-Sobolev and Brascamp Lieb type inequality for soft potentials. The main technique is radial average symmetrization using classical tools of harmonic analysis. Then, we revisit elementary proofs of existence for initial data near local Maxwellians to obtain globally bounded solutions for soft potentials. We also study the propagation of regularity using the convolution estimates estimate and $L^p$-stability with $1 <= p <= \infty$.

This is work in collaboration with Ricardo Alonso, and partly with Emanuel Carneiro as well.


text:
## § The algebraic structure of the 'nearest smaller number' question

The nearest smaller number problem can be solved by using a stack along with an observation of monotonicity. This is explained in the USACO guide to stacks in the Gold section . What I find interesting is that we need a stack . Why does a stack show up? Stacks are usually related to a DFS on some appropriate object. What's that object? And can we gain insight into when we need to use a stack based on this? The idea is that we are trying to construct the Hasse diagram of the original array, treated as a poset with ground set $P \equiv \{ (val, ix) : \texttt{arr}[ix] = val \}$ with the ordering $(a_1, a_2) < (b_1, b_2) \iff a_1 < b_1 \land a_2 < b_2$. So we have this hasse diagram, which interestingly is going to be a tree. this need not always be the case! consider the divisiblity poset with the elements $3, 5, 15$. Then the answer is to print the parent of each node in the tree as the parent in the Hasse diagram is going to be closest number that is smaller than it. Why does this Hasse diagram show up? What is the relationship between this problem, and that of Graham Scan which also uses a similar technique of maintaining a stack. Does this also have a hasse diagram associated to it? or a DFS tree?


text:
# Wydawnictwa / Czasopisma IMPAN / Fundamenta Mathematicae / Wszystkie zeszyty

## Proper translation

### Tom 215 / 2011

Fundamenta Mathematicae 215 (2011), 1-38 MSC: Primary 03E15, 03E17, 03E35. DOI: 10.4064/fm215-1-1

#### Streszczenie

We continue our work on weak diamonds [J. Appl. Anal. 15 (1009)]. We show that $2^\omega = \aleph _2$ together with the weak diamond for covering by thin trees, the weak diamond for covering by meagre sets, the weak diamond for covering by null sets, and “all Aronszajn trees are special” is consistent relative to ZFC. We iterate alternately forcings specialising Aronszajn trees without adding reals (the NNR forcing from [“Proper and Improper Forcing”, Ch. V]) and ${<}\omega _1$-proper ${}^\omega \omega$-bounding forcings adding reals. We show that over a tower of elementary submodels there is a sort of a reduction (“proper translation”) of our iteration to the countable support iteration of simpler iterands. If we use only Sacks iterands and NNR iterands, this allows us to guess the values of Borel functions into small trees and thus derive the above mentioned weak diamonds.

#### Autorzy

• Heike MildenbergerAbteilung für Mathematische Logik
Mathematisches Institut
Universität Freiburg
Eckerstr. 1
79104 Freiburg im Breisgau, Germany
e-mail
• Saharon ShelahEinstein Institute of Mathematics
The Hebrew University of Jerusalem
Edmond Safra Campus Givat Ram
91904 Jerusalem, Israel
and
Mathematics Department
Rutgers University
Piscataway, NJ 08854-8019, U.S.A.
e-mail

## Przeszukaj wydawnictwa IMPAN

Zbyt krótkie zapytanie. Wpisz co najmniej 4 znaki.

Odśwież obrazek