100% found this document useful (1 vote)
11 views66 pages

Functional Data Structures in R: Advanced Statistical Programming in R Mailund instant download

The document discusses 'Functional Data Structures in R' by Thomas Mailund, focusing on the implementation of functional data structures in the R programming language, which traditionally relies on mutable data. It highlights the challenges of using traditional data structures in R and presents alternatives that allow for immutable data manipulation. The book serves as a resource for those interested in algorithmic programming within a functional paradigm using R.

Uploaded by

jwwpenkgm173
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
11 views66 pages

Functional Data Structures in R: Advanced Statistical Programming in R Mailund instant download

The document discusses 'Functional Data Structures in R' by Thomas Mailund, focusing on the implementation of functional data structures in the R programming language, which traditionally relies on mutable data. It highlights the challenges of using traditional data structures in R and presents alternatives that allow for immutable data manipulation. The book serves as a resource for those interested in algorithmic programming within a functional paradigm using R.

Uploaded by

jwwpenkgm173
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

Functional Data Structures in R: Advanced

Statistical Programming in R Mailund download

https://textbookfull.com/product/functional-data-structures-in-r-
advanced-statistical-programming-in-r-mailund/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Functional Data Structures in R: Advanced Statistical


Programming in R Thomas Mailund

https://textbookfull.com/product/functional-data-structures-in-r-
advanced-statistical-programming-in-r-thomas-mailund/

Functional Programming in R: Advanced Statistical


Programming for Data Science, Analysis and Finance 1st
Edition Thomas Mailund

https://textbookfull.com/product/functional-programming-in-r-
advanced-statistical-programming-for-data-science-analysis-and-
finance-1st-edition-thomas-mailund/

Domain Specific Languages in R Advanced Statistical


Programming 1st Edition Thomas Mailund

https://textbookfull.com/product/domain-specific-languages-in-r-
advanced-statistical-programming-1st-edition-thomas-mailund/

Domain Specific Languages in R Advanced Statistical


Programming 1st Edition Thomas Mailund

https://textbookfull.com/product/domain-specific-languages-in-r-
advanced-statistical-programming-1st-edition-thomas-mailund-2/
Metaprogramming in R: Advanced Statistical Programming
for Data Science, Analysis and Finance 1st Edition
Thomas Mailund

https://textbookfull.com/product/metaprogramming-in-r-advanced-
statistical-programming-for-data-science-analysis-and-
finance-1st-edition-thomas-mailund/

Advanced Object-Oriented Programming in R: Statistical


Programming for Data Science, Analysis and Finance 1st
Edition Thomas Mailund

https://textbookfull.com/product/advanced-object-oriented-
programming-in-r-statistical-programming-for-data-science-
analysis-and-finance-1st-edition-thomas-mailund/

Advanced R Statistical Programming and Data Models:


Analysis, Machine Learning, and Visualization 1st
Edition Matt Wiley

https://textbookfull.com/product/advanced-r-statistical-
programming-and-data-models-analysis-machine-learning-and-
visualization-1st-edition-matt-wiley/

Advanced linear modeling statistical learning and


dependent data 3rd Edition Christensen R

https://textbookfull.com/product/advanced-linear-modeling-
statistical-learning-and-dependent-data-3rd-edition-
christensen-r/

Advanced R: Data Programming and the Cloud 1st Edition


Matt Wiley

https://textbookfull.com/product/advanced-r-data-programming-and-
the-cloud-1st-edition-matt-wiley/
Functional Data

Structures in R

Advanced Statistical Programming in R

Thomas Mailund
Functional Data

Structures in R

Advanced Statistical

Programming in R

Thomas Mailund

Functional Data Structures in R: Advanced Statistical

Programming in R

Thomas Mailund

Aarhus N, Denmark

ISBN-13 (pbk): 978-1-4842-3143-2

ISBN-13 (electronic): 978-1-4842-3144-9

https://doi.org/10.1007/978-1-4842-3144-9

Library of Congress Control Number: 2017960831

Copyright © 2017 by Thomas Mailund

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

Trademarked names, logos, and images may appear in this book.


Rather than use a trademark symbol with every occurrence of a
trademarked name, logo, or image we use the names, logos, and
images only in an editorial fashion and to the benefit of the
trademark owner, with no intention of infringement of the trademark.

The use in this publication of trade names, trademarks, service


marks, and similar terms, even if they are not identified as such, is
not to be taken as an expression of opinion as to whether or not they
are subject to proprietary rights.

While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.

Cover image by Freepik (www.freepik.com)

Managing Director: Welmoed Spahr

Editorial Director: Todd Green

Acquisitions Editor: Steve Anglin

Development Editor: Matthew Moodie

Technical Reviewer: Karthik Ramasubramanian

Coordinating Editor: Mark Powers

Copy Editor: Corbin P Collins

Distributed to the book trade worldwide by Springer


Science+Business Media New York, 233 Spring Street, 6th Floor, New
York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail
[email protected], or visit www.springeronline.com.
Apress Media, LLC is a California LLC and the sole member (owner) is
Springer Science + Business Media Finance Inc (SSBM Finance Inc).
SSBM Finance Inc is a Delaware corporation.

For information on translations, please e-mail [email protected], or


visit www.apress.com/

rights-permissions.

Apress titles may be purchased in bulk for academic, corporate, or


promotional use. eBook versions and licenses are also available for
most titles. For more information, reference our Print and eBook Bulk
Sales web page at www.apress.com/bulk-sales.

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book's
product page, located at www.apress.com/

9781484231432. For more detailed information, please visit


www.apress.com/source-code.

Printed on acid-free paper

Table of Contents

About the Author vii

About the Technical Reviewer ix

Introduction xi

Chapter 1: Introduction1

Chapter 2: Abstract Data Structures 3

Structure on Data
�������������������������������
�������������������������������
�������������������������������
�����4

Abstract Data Structures in R


�������������������������������
�������������������������������
�����������������6

Implementing Concrete Data Structures in R


�������������������������������
�������������������������9

Asymptotic Running Time


�������������������������������
�������������������������������
���������������������11

Experimental Evaluation of Algorithms


�������������������������������
�������������������������������
�15

Chapter 3: Immutable and Persistent Data 25

Persistent Data Structures


�������������������������������
�������������������������������
��������������������26

List Functions
�������������������������������
�������������������������������
�������������������������������
���������28

Trees
�������������������������������
�������������������������������
�������������������������������
����������������������37

Random Access Lists


�������������������������������
�������������������������������
����������������������������56

Chapter 4: Bags, Stacks, and Queues 67

Bags
�������������������������������
�������������������������������
�������������������������������
�����������������������68

Stacks
�������������������������������
�������������������������������
�������������������������������
��������������������73

Queues
�������������������������������
�������������������������������
�������������������������������
�������������������74

Side Effects Through Environments


�������������������������������
�������������������������������7
7

Side Effects Through Closures


�������������������������������
�������������������������������
���������79

iii

Table of Con

able of Con enT

en s

A Purely Functional Queue


�������������������������������
�������������������������������
��������������82

Time Comparisons
�������������������������������
�������������������������������
���������������������������84

Amortized Time Complexity and Persistent Data Structures


�������������������������85

Double-Ended Queues
�������������������������������
�������������������������������
���������������������87

Lazy Queues
�������������������������������
�������������������������������
�������������������������������
�����������95
Implementing Lazy Evaluation
�������������������������������
�������������������������������
���������96

Lazy Lists
�������������������������������
�������������������������������
�������������������������������
����������98

Amortized Constant Time, Logarithmic Worst-Case, Lazy Queues


���������������107

Constant Time Lazy Queues


�������������������������������
�������������������������������
����������118

Explicit Rebuilding Queue


�������������������������������
�������������������������������
��������������124

Chapter 5: Heaps 135

Leftist Heaps
�������������������������������
�������������������������������
�������������������������������
��������140

Binomial Heaps
�������������������������������
�������������������������������
�������������������������������
����144
Splay Heaps
�������������������������������
�������������������������������
�������������������������������
���������157

Plotting Heaps
�������������������������������
�������������������������������
�������������������������������
������178

Heaps and Sorting


�������������������������������
�������������������������������
�������������������������������1
83

Chapter 6: Sets and Search Trees 189

Search Trees
�������������������������������
�������������������������������
�������������������������������
��������190

Red-Black Search Trees


�������������������������������
�������������������������������
����������������������192

Insertion
�������������������������������
�������������������������������
�������������������������������
���������195
Deletion
�������������������������������
�������������������������������
�������������������������������
����������203

Visualizing Red-Black Trees


�������������������������������
�������������������������������
����������226

Splay Trees
�������������������������������
�������������������������������
�������������������������������
�����������231

iv

Table of Con

able of Con enTs

Conclusions 247

Acknowledgements�����������������������
�������������������������������
�������������������������������
������248

Bibliography 249

Index 251
v

About the Author

Thomas Mailund is an associate professor in bioinformatics at


Aarhus University, Denmark. He has a background in math and
computer science.

For the last decade, his main focus has been on genetics and
evolutionary studies, particularly comparative genomics, speciation,
and gene flow between emerging species. He has published
Beginning Data Science in R, Functional Programming in R, and
Metaprogramming in R with Apress, as well as other books.

vii

About the Technical Reviewer

Karthik Ramasubramanian works for one

of the largest and fastest- growing technology

unicorns in India, Hike Messenger, where

he brings the best of business analytics


and data science experience to his role. In

his seven years of research and industry

experience, he has worked on cross- industry

data science problems in retail, e-commerce,

and technology, developing and prototyping

data-driven solutions. In his previous role at Snapdeal, one of the


largest e-commerce retailers in India, he was leading core statistical
modeling initiatives for customer growth and pricing analytics. Prior
to Snapdeal, he was part of the central database team, managing the
data warehouses for global business applications of Reckitt Benckiser
(RB). He has vast experience working with scalable machine learning
solutions for industry, including sophisticated graph network and self-
learning neural networks.

He has a master’s degree in theoretical computer science from PSG


College of Technology, Anna University, and is a certified big data
professional. He is passionate about teaching and mentoring future
data scientists through different online and public forums. He enjoys
writing poems in his leisure time and is an avid traveler.

ix

Introduction

This book gives an introduction to functional data structures. Many


traditional data structures rely on the structures being mutable. We
can update search trees, change links in linked lists, and rearrange
values in a vector. In functional languages, and as a general rule in
the R programming language, data is not mutable. You cannot alter
existing data. The techniques used to modify data structures to give
us efficient building blocks for algorithmic programming cannot be
used.
There are workarounds for this. R is not a pure functional language,
and we can change variable-value bindings by modifying
environments.

We can exploit this to emulate pointers and implement traditional


data structures this way; or we can abandon pure R programming
and implement data structures in C/C++ with some wrapper code so
we can use them in our R programs. Both solutions allow us to use
traditional data structures, but the former gives us very untraditional
R code, and the latter has no use for those not familiar with other
languages than R.

The good news, though, is that we don’t have to reject R when


implementing data structures if we are willing to abandon the
traditional data structures instead. There are data structures that we
can manipulate by building new versions of them rather than
modifying them. These data structures, so-called functional data
structures, are different from the traditional data structures you
might know, but they are worth knowing if you plan to do serious
algorithmic programming in a functional language such as R.

There are not necessarily drop-in replacements for all the data
structures you are used to, at least not with the same runtime
performance for their operations, but there are likely to be
implementations for most xi

InT

In roduCTIon

CTI

abstract data structures you regularly use. In cases where you might
have to lose a bit of efficiency by using a functional data structures
instead of a traditional one, however, you have to consider whether
the extra speed is worth the extra time you have to spend
implementing a data structure in exotic R or in an entirely different
language.

There is always a trade-off when it comes to speed. How much


programming time is a speed-up worth? If you are programming in R,
chances are you value programmer-time over computer-time. R is a
high-level language and relatively slow compared to most other
languages.

There is a price to providing higher levels of expressiveness. You


accept this when you choose to work with R. You might have to make
the same choice when it comes to selecting a functional data
structure over a traditional one, or you might conclude that you really
do need the extra speed and choose to spend more time
programming to save time when doing an analysis. Only you can
make the right choice based on your situation. You need to find out
the available choices to enable you to work data structures when you
cannot modify them.

xii

CHAPTER 1

Introduction

This book gives an introduction to functional data structures. Many


traditional data structures rely on the structures being mutable. We
can update search trees, change links in linked lists, and rearrange
values in a vector. In functional languages, and as a general rule in
the R

programming language, data is not mutable. You cannot alter


existing data.

The techniques used to modify data structures to give us efficient


building blocks for algorithmic programming cannot be used.
There are workarounds for this. R is not a pure functional language,
and we can change variable-value bindings by modifying
environments.

We can exploit this to emulate pointers and implement traditional


data structures this way; or we can abandon pure R programming
and implement data structures in C/C++ with some wrapper code so
we can use them in our R programs. Both solutions allow us to use
traditional data structures, but the former gives us very untraditional
R code, and the latter has no use for those not familiar with other
languages than R.

The good news, however, is that we don’t have to reject R when


implementing data structures if we are willing to abandon the
traditional data structures instead. There are data structures we can
manipulate by building new versions of them rather than modifying
them. These data structures, so-called functional data structures, are
different from the traditional data structures you might know, but
they are worth knowing if you plan to do serious algorithmic
programming in a functional language such as R.

© Thomas Mailund 2017

T. Mailund, Functional Data Structures in R,


https://doi.org/10.1007/978-1-4842-3144-9_1

Chapter 1 IntroduCtIon

There are not necessarily drop-in replacements for all the data
structures you are used to, at least not with the same runtime
performance for their operations—but there are likely to be
implementations for most abstract data structures you regularly use.
In cases where you might have to lose a bit of efficiency by using a
functional data structure instead of a traditional one, you have to
consider whether the extra speed is worth the extra time you have to
spend implementing a data structure in exotic R or in an entirely
different language.

There is always a trade-off when it comes to speed. How much


programming time is a speed-up worth? If you are programming in R,
the chances are that you value programmer time over computer time.
R

is a high-level language that is relatively slow compared to most


other languages. There is a price to providing higher levels of
expressiveness.

You accept this when you choose to work with R. You might have to
make the same choice when it comes to selecting a functional data
structure over a traditional one, or you might conclude that you really
do need the extra speed and choose to spend more time
programming to save time when doing an analysis. Only you can
make the right choice based on your situation. You need to find out
the available choices to enable you to work data structures when you
cannot modify them.

CHAPTER 2

Abstract Data

Structures

Before we get started with the actual data structures, we need to get
some terminologies and notations in place. We need to agree on
what an abstract data structure is—in contrast to a concrete one—
and we need to agree on how to reason with runtime complexity in
an abstract way.

If you are at all familiar with algorithms and data structures, you can
skim quickly through this chapter. There won’t be any theory you are
not already familiar with. Do at least skim through it, though, just to
make sure we agree on the notation I will use in the remainder of the
book.

If you are not familiar with the material in this chapter, I urge you to
find a text book on algorithms and read it. The material I cover in
this chapter should suffice for the theory we will need in this book,
but there is a lot more to data structures and complexity than I can
possibly cover in a single chapter. Most good textbooks on algorithms
will teach you a lot more, so if this book is of interest, you should not
find any difficulties in continuing your studies.

© Thomas Mailund 2017

T. Mailund, Functional Data Structures in R,


https://doi.org/10.1007/978-1-4842-3144-9_2

Chapter 2 abstraCt Data struCtures

Structure on Data

As the name implies, data structures have something to do with


structured data. By data, we can just think of elements from some
arbitrary set. There might be some more structure to the data than
the individual data points, and when there is we keep that in mind
and will probably want to exploit that somehow. However, in the most
general terms, we just have some large set of data points.

So, a simple example of working with data would be imagining we


have this set of possible values—say, all possible names of students
at a university—and I am interested in a subset—for example, the
students that are taking one of my classes. A class would be a subset
of students, and I could represent it as the subset of student names.
When I get an email from a student, I might be interested in figuring
out if it is from one of my students, and in that case, in which class.
So, already we have some structure on the data. Different classes are
different subsets of student names. We also have an operation we
would like to be able to perform on these classes: checking
membership.

There might be some inherent structure to the data we work with,


which could be properties such as lexicographical orders on names—
it enables us to sort student names, for example. Other structure we
add on top of this. We add structure by defining classes as subsets of
student names. There is even a third level of structure: how we
represent the classes on our computer.

The first level of structure—inherent in the data we work with—is not


something we have much control over. We might be able to exploit it
in various ways, but otherwise, it is just there. When it comes to
designing algorithms and data structures, this structure is often
simple information; if there is order in our data, we can sort it, for
example. Different algorithms and different data structures make
various assumptions about the underlying data, but most general
algorithms and data structures make few assumptions. When I make
assumptions in this book, I will make those assumptions explicit.

Chapter 2 abstraCt Data struCtures

The second level of structure—the structure we add on top of the


universe of possible data points—is information in addition to what
just exists out there in the wild; this can be something as simple as
defining classes as subsets of student names. It is structure we add
to data for a purpose, of course. We want to manipulate this
structure and use it to answer questions while we evaluate our
programs. When it comes to algorithmic theory, what we are mainly
interested in at this level is which operations are possible on the data.
If we represent classes as sets of student names, we are interested
in testing membership to a set. To construct the classes, we might
also want to be able to add elements to an existing set. That might
be all we are interested in, or we might also want to be able to
remove elements from a set, get the intersection or union of two
sets, or do any other operation on sets.

What we can do with data in a program is largely defined by the


operations we can do on structured data; how we implement the
operations is less important. That might affect the efficiency of the
operations and thus the program, but when it comes to what is
possible to program and what is not—or what is easy to program and
what is hard, at least—it is the possible operations that are
important.

Because it is the operations we can do on data, and now how we


represent the data—the third level of structure we have—that is most
important, we distinguish between the possible operations and how
they are implemented. We define abstract data structures by the
operations we can do and call different implementations of them
concrete data structures. Abstract data structures are defined by
which operations we can do on data; concrete data structures, by
how we represent the data and implement these operations.

Chapter 2 abstraCt Data struCtures

Abstract Data Structures in R

If we define abstract data structures by the operations they provide,


it is natural to represent them in R by a set of generic functions. In
this book, I will use the S3 object system for this. 1

Let’s say we want a data structure that represents sets, and we need
two operations on it: we want to be able to insert elements into the
set, and we want to be able to check if an element is found in the
set. The generic interface for such a data structure could look like
this:
insert <- function(set, elem) UseMethod("insert") member <-
function(set, elem) UseMethod("member") Using generic
functions, we can replace one implementation with another with little
hassle. We just need one place to specify which concrete
implementation we will use for an object we will otherwise only
access through the abstract interface. Each implementation we write
will have one function for constructing an empty data structure. This
empty structure sets the class for the concrete implementation, and
from here on we can access the data structure through generic
functions. We can write a simple list-based implementation of the set
data structure like this: empty_list_set <- function() {

structure(c(), class = "list_set")

insert.list_set <- function(set, elem) {

structure(c(elem, set), class = "list_set")

1 If you are unfamiliar with generic functions and the S3 system, you
can check out my book Advanced Object-Oriented Programming in R
book (Apress, 2017), where I explain all this.

Chapter 2 abstraCt Data struCtures

member.list_set <- function(set, elem) {

elem %in% set

The empty_list_set function is how we create our first set of the


concrete type. When we insert elements into a set, we also get the
right type back, but we shouldn’t call insert.list_set directly. We
should just use insert and let the generic function mechanism pick
the right implementation. If we make sure to make the only point
where we refer to the concrete implementation be the creation of the
empty set, then we make it easier to replace one implementation
with another: s <- empty_list_set()

member(s, 1)

## [1] FALSE

s <- insert(s, 1)

member(s, 1)

## [1] TRUE

When we implement data structures in R, there are a few rules of


thumb we should follow, and some are more important than others.

Using a single “empty data structure” constructor and otherwise


generic interfaces is one such rule. It isn’t essential, but it does make
it easier to work with abstract interfaces.

More important is this rule: keep modifying and querying a data


structure as separate functions. Take an operation such as popping
the top element of a stack. You might think of this as a function that
removes the first element of a stack and then returns the element to
you. There is nothing wrong with accessing a stack this way in most
languages, but in functional languages, it is much better to split this
into two different operations: one for getting the top element and
another for removing it from the stack.

Chapter 2 abstraCt Data struCtures


The reason for this is simple: our functions can’t have side effects. If
a

“pop” function takes a stack as an argument, it cannot modify this


stack. It can give you the top element of the stack, and it can give
you a new stack where the top element is removed, but it cannot
give you the top element and then modify the stack as a side effect.
Whenever we want to modify a data structure, what we have to do in
a functional language, is to create a new structure instead. And we
need to return this new structure to the caller. Instead of wrapping
query answers and new (or “modified”) data structures in lists so we
can return multiple values, it is much easier to keep the two
operations separate.

Another rule of thumb for interfaces that I will stick to in this book,
with one exception, is that I will always have my functions take the
data structure as the first argument. This isn’t something absolutely
necessary, but it fits the convention for generic functions, so it makes
it easier to work with abstract interfaces, and even when a function is
not abstract—when I need some helper functions—remembering that
the first argument is always the data structure is easier. The one
exception to this rule is the construction of linked lists, where
tradition is to have a construction function, cons, that takes an
element as its first argument and a list as its second argument and
construct a new list where the element is put at the head of the list.
This construction is too much of a tradition for me to mess with, and
I won’t write a generic function of it, so it doesn’t come into conflict
with how we handle polymorphism.

Other than that, there isn’t much more language mechanics to


creating abstract data structures. All operations we define on an
abstract data structure have some intended semantics to them, but
we cannot enforce this through the language; we just have to make
sure that the operations we implement actually do what they are
supposed to do.

8
Chapter 2 abstraCt Data struCtures

Implementing Concrete Data Structures in R

When it comes to concrete implementations of data structures, there


are a few techniques we need in order to translate the data structure
designs into R code. In particular, we need to be able to represent
what are essentially pointers, and we need to be able to represent
empty data structures. Different programming languages will have
different approaches to these two issues. Some allow the definition of
recursive data types that naturally handle empty data structures and
pointers, others have unique values that always represent “empty,”
and some have static type systems to help. We are programming in
R, though, so we have to make it work here.

For efficient data structures in functional programming, we need


recursive data types, which essentially boils down to representing
pointers.

R doesn’t have pointers, so we need a workaround. That workaround


is using lists to define data structures and using named elements in
lists as our pointers.

Consider one of the simplest data structures known to man: the


linked list. If you are not familiar with linked lists, you can read about
them in the next chapter, where I consider them in some detail. In
short, linked lists consist of a head—an element we store in the list—
and a tail—another list, one item shorter. It is a recursive definition
that we can write like this: LIST = EMPTY | CONS(HEAD, LIST)

Here EMPTY is a special symbol representing the empty list, and


CONS—a traditional name for this, from the Lisp programming
language—a symbol that constructs a list from a HEAD element and a
tail that is another LIST. The definition is recursive—it defines LIST in
terms of a tail that is also a LIST—and this in principle allows lists to
be infinitely long. In practice, a list will eventually end up at EMPTY.
9

Chapter 2 abstraCt Data struCtures

We can construct linked lists in R using R’s built-in list data structure.

That structure is not a linked list; it is a fixed-size collection of


elements that are possibly named. We exploit named elements to
build pointers. We can implement the CONS construction like this:

linked_list_cons <- function(head, tail) {

structure(list(head = head, tail = tail),

class = "linked_list_set")

We just construct a list with two elements, head and tail. These will
be references to other objects—head to the element we store in the
list, and tail to the rest of the list—so we are in effect using them as
pointers. We then add a class to the list to make linked lists work as
an implementation of an abstract data structure.

Using classes and generic functions to implement polymorphic


abstract data structures leads us to the second issue we need to deal
with in R. We need to be able to represent empty lists. The natural
choice for an empty list would be NULL, which represents “nothing”
for the built-in list objects, but we can’t get polymorphism to work
with NULL. We can’t give NULL a class. We could, of course, still work
with NULL as the empty list and just have classes for non-empty lists,
but this clashes with our desire to have the empty data structures
being the one point where we decide concrete data structures instead
of just accessing them through an abstract interface. If we didn’t give
empty data structures a type, we would need to use concrete update
functions instead. That could make switching between different
implementations cumbersome. We really do want to have empty data
structures with classes.

The trick is to use a sentinel object to represent empty structures.

Sentinel objects have the same structure as non-empty data structure


objects—which has the added benefit of making some
implementations easier to write—but they are recognized as
representing “empty.” We construct a sentinel as we would any other
object, but we remember it 10

Chapter 2 abstraCt Data struCtures

for future reference. When we create an empty data structure, we


always return the same sentinel object, and we have a function for
checking emptiness that examines whether its input is identical to the
sentinel object. For linked lists, this sentinel trick would look like this:
linked_list_nil <- linked_list_cons(NA, NULL)

empty_linked_list_set <- function() linked_list_nil


is_empty.linked_list_set <- function(x)

identical(x, linked_list_nil)

The is_empty function is a generic function that we will use for all
data structures.

The identical test isn’t perfect. It will consider any list element
containing NA as the last item in a list as the sentinel. Because we
don’t expect anyone to store NA in a linked list—it makes sense to
have missing data in a lot of analysis, but rarely does it make sense
to store it in data structures—it will have to do.

Using a sentinel for empty data structures can also occasionally be


useful for more than dispatching on generic functions. Sometimes,
we actually want to use sentinels as proper objects, because it
simplifies certain functions. In those cases, we can end up with
associating meta- data with

“empty” sentinel objects. We will see examples of this when we


implement red-black search trees. If we do this, then checking for
emptiness using identical will not work. If we modify a sentinel to
change meta-information, it will no longer be identical to the
reference empty object. In those cases, we will use other approaches
to testing for emptiness.

Asymptotic Running Time

Although the operations we define in the interface of an abstract data


type determine how we can use these in our programs, the efficiency
of our programs depends on how efficient the data structure
operations are.

11

Chapter 2 abstraCt Data struCtures

Because of this, we often consider the time efficiency part of the


interface of a data structure—if not part of the abstract data
structure, we very much care about it when we have to pick concrete
implementations of data structures for our algorithms.

When it comes to algorithmic performance, the end goal is always to


reduce wall time—the actual time we have to wait for a program to
finish.

But this depends on many factors that cannot necessarily know about
when we design our algorithms. The computer the code will run on
might not be available to us when we develop our software, and both
its memory and CPU capabilities are likely to affect the running time
significantly. The running time is also likely to depend intimately on
the data we will run the algorithm on. If we want to know exactly
how long it will take to analyze a particular set of data, we have to
run the algorithm on this data. Once we have done this, we know
exactly how long it took to analyze the data, but by then it is too late
to explore different solutions to do the analysis faster.

Because we cannot practically evaluate the efficiency of our


algorithms and data structures by measuring the running time on the
actual data we want to analyze, we use different techniques to judge
the quality of various possible solutions to our problems.

One such technique is the use of asymptotic complexity, also known


as big-O notation. Simply put, we abstract away some details of the
running time of different algorithms or data structure operations and
classify their runtime complexity according to upper bounds known
up to a constant.

First, we reduce our data to its size. We might have a set with n
elements, or a string of length n. Although our data structures and
algorithms might use very different actual wall time to work on
different data of the same size, we care only about the number n and
not the details of the data. Of course, data of the same size is not all
equal, so when we reduce all our information about it to a single size,
we have to be a little careful about what we mean when we talk
about the algorithmic complexity of a problem. Here, we usually use
one of two approaches: we speak of the worst-case or the
average/expected complexity. The worst-case 12

Chapter 2 abstraCt Data struCtures

runtime complexity of an algorithm is the longest running time we


can expect from it on any data of size n. The expected runtime
complexity of an algorithm is the mean running time for data of size
n, assuming some distribution over the possible data.

Second, we do not consider the actual running time for data of size n
—where we would need to know exactly how many operations of
different kinds would be executed by an algorithm, and how long
each kind of operation takes to execute. We just count the number of
operations and consider them equal. This gives us some function of n
that tells us how many operations an algorithm or operation will
execute, but not how long each operation takes. We don’t care about
the details when comparing most algorithms because we only care
about asymptotic behavior when doing most of our algorithmic
analysis.

By asymptotic behavior, I mean the behavior of functions when the


input numbers grow large. A function f ( n) is an asymptotic upper
bound for another function g( n) if there exists some number N such
that g( n) ≤ f ( n) whenever n > N. We write this in big-O notation as
g( n) ∈ O( f( n)) or g( n) = O( f ( n)) (the choice of notation is a little
arbitrary and depends on which textbook or reference you use).

The rationale behind using asymptotic complexity is that we can use


it to reason about how algorithms will perform when we give them
larger data sets. If we need to process data with millions of data
points, we might be about to get a feeling for their running time
through experiments with tens or hundreds of data points, and we
might conclude that one algorithm outperforms another in this range.
But that does not necessarily reflect how the two algorithms will
compare for much larger data. If one algorithm is asymptotically
faster than another, it will eventually outperform the other—we just
have to get to the point where n gets large enough.

A third abstraction we often use is to not be too concerned with


getting the exact number of operations as a function of n correct. We
just want an upper bound. The big-O notation allows us to say that
an algorithm 13

Chapter 2 abstraCt Data struCtures

runs in any big-O complexity that is an upper bound for the actual
runtime complexity. We want to get this upper bound as exact as we
can, to properly evaluate different choices of algorithms, but if we
have upper and lower bounds for various algorithms, we can still
compare them.
Another Random Scribd Document
with Unrelated Content
Human eyes can, however, neither see them, nor can human hands
touch them, for they are far removed from them, existing as they do
on another plane of existence. Yet, he who keeps his virtue, and
who knows the key to the chain of existences, can bring them out
from their own realm and into his own and cause them to act.
The third group of the Sephiroth stands in relation to Matter in the
same way as the other two stand to the Mind and the Heart, and
may be called Elementals par excellence. They are called Firmness,
Splendor, primary Foundation and Kingdom.—
I now wish to engage your attention by describing to you
Leibnitz’s Monads. His monads have all the characteristics of
Elementals, at the same time, that they seem to be purely physical
molecules. But this very duplicity is an argument for my theory, that
Leibnitz’s monad is a faithful definition of an Elemental. If it should
be proved that they are not Elementals, and I doubt that that can be
proved, they will at least serve as illustrations as to what an
Elemental is.

Leibnitz158 formulates his conception of substance in direct


opposition to Spinozism. To Spinoza substance is dead and inactive,
but to Leibnitz’s penetrating powers of mind everything is living
activity and active energy. In holding this view he comes infinitely
nearer the Orient than any other thinker of his day or after him. His
discovery that an active energy forms the essence of substance is a
principle that places him in direct relationship to the seers of the
East.
This fact, that the chief points of Leibnitz’s philosophy are derived
from this conception of an active energy forming the essence of
substance, places it at once in our confidence.
From Leibnitz’s Monadology I translate the following paragraphs:
§1. “The Monad is a simple substance, entering into those which
are compound; simple, that is to say, without parts.”
§2. “Monads are the veritable Atoms of Nature, in one word, the
elements of things.”
When Leibnitz speaks of atoms it must not be understood that he
is a materialist. He is far from it. Indeed, his system has been called
a spiritualistic atomistic. Atoms and Elements to him are Substance
not Matter. They are centres of force or better “spiritual beings,
whose very nature it is to act.” These elementary particles are vital
forces, not acting mechanically, but from an internal principle. They
are incorporeal or spiritual units, inaccessible to all change from
without, but only subject to internal movement. They are
indestructible by any external force. Leibnitz’s monads differ from
atoms in the following particulars, which are very important for us to
remember, otherwise we shall not be able to see the difference
between Elementals and mere matter.
Atoms are not distinguished from each other, they are qualitatively
alike, but one monad differs from every other monad, qualitatively;
and every one is a peculiar world to itself. Not so with the atoms;
they are absolutely alike quantitatively and qualitatively and possess
no individuality of their own. Again, the atoms of materialistic
philosophy can be considered as extended and divisible, while the
monads are mere “metaphysical points” and indivisible. Finally, and
this is a point where these monads of Leibnitz closely resemble the
Elementals of mystic philosophy, these monads are representative
beings. Every monad reflects every other. Every monad is a living
mirror of the universe, within its own sphere. And mark this, for
upon it depends the power possessed by these monads, and upon it
depends the work they can do for us: in mirroring the world, the
monads are not mere passive reflective agents, but spontaneously
self-active; they produce the images spontaneously, as the soul does
a dream. In every monad, therefore, the adept may read everything,
even the future. Every monad—or elemental—is a looking-glass that
can speak.
The monads may from one point of view be called force, from
another matter. To occult science force and matter are only two
sides of the same substance.
Such a doctrine is of course much objected to by people of the
modern age, who pretend to possess very fine analytical powers,
and yet are unable to conceive of matter under any other conditions
than those cognizable by our coarse senses.
Those who have intellectual difficulties in seeing that Brahm is
everything and everything is Brahm must take this doctrine on faith
for awhile. A little earnest practice will lead them to see that truth is
not attained through reflection, but through immediate intuition.
If we should desire to look upon these monads as matter, I know
of no better comparison than with that which has been called Matter
in a Fourth state or condition, a condition as far removed from the
state of gas as a gas is from a liquid.
If we should desire to look upon these monads as force, I know of
no better comparison than with that which Faraday called “Radiant
Matter” and which by Crooke’s experiments has been shown to be so
much like mere force, or matter completely divested of all the
characteristics of bodies that its physical properties have been so
modified that it has changed nature and appears under the form of
force.
In §8 of the Monadology Leibnitz declares that “The Monads have
qualities—otherwise they would not even be entities.” The qualities
attributed to them make them appear very much like living rational
beings. I am disposed to look upon them as upon those little beings
represented by Raphael, as heads resting upon a pair of wings: pure
intelligence, or spirits who have not yet attained to bodily life. If they
have not a thinking soul, they are at least forces that resemble life.
Continuing, Leibnitz (§11) says: “We might give the name of
Perfection (Entelechies) to all monads inasmuch as there is in them
a certain Completeness or Perfection. There is a sufficiency which
makes them the sources of their own internal actions, and, as it
were, incorporeal automata.” Says Leibnitz: (§19) “If we choose to
give the name of soul to all that has perceptions and desires, in the
general sense which I have just indicated, all simple substances or
monads may be called souls.”
You see these infinitesimal beings are regarded by the great
philosopher very much like intelligent existences; and yet they are
very far removed from our conceptions of soul-life and existence.
They are like the Elementals of the Kabbala: they never become
men.
Continuing his definitions, he says (§60): “The monads are limited,
not in the object, but in the mode of their knowledge of the object.”
That is, the objective would have no power over them, but they
themselves have only a limited knowledge of the objectivity, hence
also a limited power. But that does not preclude the possibility of
their being the means of the greatest influence upon the objective
world—in the hands, namely, of an intelligent human being or spirit.
“They all”, says Leibnitz, “tend (confusedly) to the infinite, to the
whole; but they are limited and distinguished by the degrees of
distinctness in their perception.”
Now I quote (§62) a sentence that reëchoes the most beautiful
philosophy of the Orient. Leibnitz has seen as distinctly as the old
nature worshippers of the early Aryans, that “every monad
represents the entire universe.” This short sentence is the key to all
mystical philosophy and to all magic; it is only second to such
sentences as these: “God dwells in all things in His fullness,”
(Vemana verse), and “The world is the image of God,” (Sufi
philosophy).
It is a common mistake in the world to believe that God and his
truth is only to be found in the Grand, in the Large, in the infinitely
large.
In opposition to this, much of our mystical and esoteric philosophy
points to the infinitely Small, declaring, that if we can become
humble enough to descend to nature’s workshop, we shall learn
more from the “atoms in space” upon which God let fall a “beam of
his glory,” than from all the magnificent systems of the learned. Hear
what Leibnitz himself says, though he is not a mystic. He ought to
have been, for his insight was truly remarkable. He declares: (§66)
“There is a world of creatures, of living things, of animals, of
Perfection of souls, in the minutest portion of matter.” (§67) “Every
particle of matter may be conceived as a garden of plants, or as a
pond full of fishes—all swarming with life!“
Keep this in mind, that I am not talking about atoms of MATTER,
but of atoms of substance, real unities, the first principles in the
composition of things. Leibnitz himself, besides calling these
corpuscular units Monads, has also called them Metaphysical points,
and Scaliger called them seeds of eternity, and a Persian poet has
put it very clearly before us, that an atom is not a unit, by saying,
”Cleave an atom, and you will find in it a Sun.” Here is the kernel of
our subject, the substance of an atom in space is the storehouse of
the immanent forces to which elementals, and elementary spirits to
some extent, have access, and by means of which they work.
This view is fully corroborated by a representative of modern
science, Sir John F. W. Herschel, who has approached very near to
the teachings of occult science by declaring the presence of mind in
atoms. In the Fortnightly Review of 1865, Sir John Herschel stated
as follows: “All that has been predicated of Atoms, ‘the dear little
creatures,’ as Hermione said, all their hates and loves, their
attractions and repulsions, according to the primary laws of their
being, only becomes intelligible when we assume the presence of
Mind.”
These various definitions of the Monads as given by Leibnitz,
answer in many important points exactly to what we find in occult
teachings about the Elementals, and I can see no good reason why
we should not look upon Leibnitz’s Monadology as a work on
Elementals.
We are really done with him as far as our subject is concerned,
but before dismissing him to turn to other wisdom, permit me to
quote a few more passages, though they do not bear directly upon
the subjects of monads. He says (§83-86): “Among other differences
which distinguish spirits from ordinary souls, there is also this: ‘That
souls in general are living mirrors, or images of the universe of
creatures, but spirits are, furthermore, images of Divinity itself, or of
the Author of Nature, capable of cognizing the system of the
universe, and of imitating something of it by architectonic
experiments, each spirit being, as it were, a little divinity in its own
department.’—Hence spirits are able to enter into a kind of
fellowship with God.—All spirits constitute the City of God—that is to
say, the most perfect state possible under the most perfect of
monarchs.—The City of God, this truly universal monarchy, is a moral
world within the natural; and it is the most exalted and the most
divine among the works of God.”
(To be continued.)

What is the “Theosophical Society”?

The subjoined extracts from the writings and public utterances of


some of the leading members of the Theosophical Society will it is
believed throw considerable light on the issues raised in Dr.
Hartmann’s article in the number for October entitled “What is the
Theosophical Society”; not so much perhaps as testing the validity of
his observations as expanding their scope, and throwing into relief
the true character of the Theosophical Society. Anything done or said
by anybody without exception, not in harmony with the spirit of
these extracts is entirely without binding power on the Theosophical
Society or any of its members.
UNIVERSAL BROTHERHOOD THE MAIN OBJECT OF THE
THEOSOPHICAL SOCIETY.
In support of this assertion it may be noticed that in the April
number of the Theosophist for the year 1880 in the extract of the
rules of the Society as given in 1879, it is alternatively described as
the Theosophical Society or Universal Brotherhood, and further
stated that “The Theosophical Society is formed upon a basis of a
Universal Brotherhood.”
In March, 1880, in a speech by Ráo Báhádur Gopálráo Hurry
Deshmuk, the Society is described in the following words: “This
Society was established in America four years ago (i.e. in 1875) and
its object is to inquire into the philosophies of the East, to announce
the brotherhood of man, and to create the bonds of fellowship
among nations and sects of different denominations.”
In the June number of the Theosophist for 1881, the name of the
Society is again put forward as, “Universal Brotherhood” and its first
object is stated to be—To form the nucleus of a Universal
Brotherhood of Humanity.
The same sentiment is to be found enunciated by Mr. Sinnett in a
speech made on the occasion of the seventh anniversary of the
Society. He says: “But even this philosophical search for truth is
hardly the primary object of the Society. That object is promoted by
the philosophical search for truth, as I hope directly to show, that
object itself is that pressed in the foremost watchword of the
Society, Universal Brotherhood.” (Supplement Theosophist, January,
1883.)
In the last edition of his lectures, published in 1885, Col. Olcott
quotes a passage from Lange’s “History of Materialism” p. 361, in
which it is stated:—“That the new epoch will not conquer unless it
be under the banner of a great idea which sweeps away egoism, and
sets human perfection in human fellowship as a new aim in the
place of reckless toil, which looks only to personal gain.” Col. Olcott
then proceeds: “It is to such an idea as this that the Theosophical
Society seeks to give a formal if not already a quite practical
expression,” p. 30. Further on in the same book, p. 117, he states
“Our Society might have added to the name ‘Theosophical’ that of
‘Philadelphian’ as it was always meant to be a Society of Universal
Brotherhood and for promoting brotherly love among all races.”
In No. 8, Transactions of the London Lodge Theosophical Society,
Mr. Mohini M. Chatterji, in a paper “On the Theosophical Society and
its Work,” after enumerating the three objects of the Society, makes
the following observation:—“Of these three the first (i.e. Universal
Brotherhood) is to be looked upon as the crown and end, the other
two are merely accessories and means. Every member of the
Theosophical Society must be inspired by that end, but may or may
not be interested in the other two objects.”
A letter from Dewan Bahadoor Ragoonath Row published in the
Theosophist for March, 1884, and quoted in the same “Transaction,”
still further accentuates this position. He says:—“Theosophy, as
understood by me, is made up of three elements, viz, universal
brotherhood, knowledge of truths discovered by science generally
known to the ordinary scientist, and knowledge of truths still in store
for them. It may be described in another way, viz, ‘universal religion
and science reconciled.’ To be a Theosophist he must acknowledge
and practice universal brotherhood. If he is not prepared to admit
the principle, he cannot be a Theosophist. In addition to this, he
should be a student of truths generally known, of course to the
extent of his capacity. He should, besides, be a searcher of truths
hitherto unknown. If he be all these three, he is undoubtedly a
Theosophist. It is, however, possible that one may not be capable of
knowing scientific truths, extant or prospective, and yet may be able
to recognize and practice universal brotherhood; he is still a
Theosophist. No one who does not admit and practice universal
brotherhood, though he be a scientist of the first degree, can ever
be a Theosophist.”
In the last published report (1886) of the Rules of the
Theosophical Society it will also be seen that the first object of the
Society is again stated as the promotion of a “Universal Brotherhood
of Humanity.”
It is evident from these extracts, dating from the first formation of
the Society to the present year, that Universal Brotherhood has been
the one and only constant object of the Theosophical Society. The
other objects which have at different times been added to this can
only be looked upon as additions forming no part of the basic nature
of the original, admissible only on the principle of toleration but in no
sense binding on the Society. Whatever may be the statement put
forward by individuals, from the President to the youngest member
of the Society, or by any groups of individuals, such statements
ought to be considered as representing individual opinion only and
as having no authoritative legislation over the members of the
Society.
THE UNSECTARIAN CHARACTER OF THE SOCIETY.
This point which is the logical outcome of the former position, is
likewise as clearly enunciated in Theosophical literature.
In October, 1879, in an article entitled “What are Theosophists,”
which has since been acknowledged by Madame Blavatsky, it is
stated:
“With how much, then, of this nature-searching, God-seeking
science of the ancient Aryan and Greek mystics, and of the powers
of modern spiritual mediumship, does the Society agree? Our answer
is:—with it all. But if asked what it believes in, the reply will be:—‘as
a body—Nothing.’ The Society, as a body, has no creed, as creeds
are but the shells around spiritual knowledge; and Theosophy in its
fruition is spiritual knowledge itself—the very essence of
philosophical and theistic enquiry. Visible representative of Universal
Theosophy, it can be no more sectarian than a Geographical Society,
which represents universal geographical exploration without caring
whether the explorers be of one creed or another. The religion of the
Society is an algebraical equation, in which so long as the sign = of
equality is not omitted, each member is allowed to substitute
quantities of his own, which better accord with climatic and other
exigencies of his native land, with the idiosyncracies of his people, or
even with his own. Having no accepted creed, our Society is very
ready to give and take, to learn and teach, by practical
experimentation, as opposed to mere passive and credulous
acceptance of enforced dogma. It is willing to accept every result
claimed by any of the foregoing schools or systems, that can be
logically and experimentally demonstrated. Conversely it can take
nothing on mere faith, no matter by whom the demand may be
made. * *
“Born in the United States of America, the Society was constituted
on the model of its Mother Land. The latter, omitting the name of
God from its constitution lest it should afford a pretext one day to
make a state religion, gives absolute equality to all religions in its
laws. All support and each is in turn protected by the state. The
Society, modelled upon this constitution, may fairly be termed a
‘Republic of Conscience.’
“We have now, we think, made clear why our members, as
individuals, are free to stay outside or inside any creed they please,
provided they do not pretend that none but themselves shall enjoy
the privilege of conscience, and try to force their opinions upon the
others. In this respect the Rules of the Society are very strict. It tries
to act upon the wisdom of the old Buddhistic axiom: ‘Honor thine
own faith, and do not slander that of others;’ echoed back in our
present century, in the ‘Declaration of Principles’ of the Brahmo
Samaj, which so nobly states that: ‘no sect shall be vilified, ridiculed,
or hated.’” * * * * *
“In conclusion, we may state that, broader and far more universal
in its views than any existing mere scientific Society, it has plus
science its belief in every possibility, and determined will to
penetrate into those unknown spiritual regions which exact science
pretends that its votaries have no business to explore. And, it has
one quality more than any religion in that it makes no difference
between Gentile, Jew or Christian. It is in this spirit that the Society
has been established upon the footing of a Universal Brotherhood.”
In the supplement of the Theosophist, January, 1886, in the
Preamble or Statement of Principles, first put forth in 1875 are these
words: “Whatever may be the private opinions of its members, the
Society has no dogmas to enforce, no creed to disseminate. It is
formed neither as a Spiritualistic schism, nor to serve as the foe or
friend of any sectarian or philosophical body. Its only axiom is the
omnipotence of truth, its only creed a profession of unqualified
devotion to its discovery and propagation. In considering the
qualification of applicants for membership, it knows neither race,
sex, color, nor creed.
In the rules of the Theosophical Society, published in 1886, it is
also stated “That the Society represents no particular religious creed,
is entirely unsectarian, and includes professors of all faiths.”
In the paper before alluded to No. 8, Transactions of the London
Lodge—Mr. Mohini M. Chatterji makes the following remark:—“All
attempts to fasten the authority of the Society to any creed,
philosophical or otherwise, which is not covered by these rules (viz,
the printed objects of the Society) are void ab initio; not because of
the merits of such creed or doctrine, or of their exponents, but
simply for the reason that the Theosophical Society, by its
constitution, is not capable of holding any creed or doctrine in its
corporate character.”
It is important that each individual member should clearly realize
what the Theosophical Society is, what its fundamental principles
and what is required of its members. It has been with the thought of
giving further emphasis to the idea set forth by Dr. Hartmann in his
concluding paragraph that these few extracts have been put
together. A little attention to these statements will it is believed show
the true character and purpose of the Theosophical Society and aid
people to discern what is and what is not consistent with that
character and purpose.
F. A.
Rotation-Individual Evolution.

[BY THE AUTHOR OF “LINES FROM LOWER LEVELS.”]

The paper on “The Higher Life,”159 and the remarks which it has
called forth, have led me to further reflections upon the subject.
That subject is in fact, Individual Evolution, and the warning
expressed by Murdhna Joti, in that article about “impetuously
rushing into the circle of ascetics,” opens up an important phase of
the topic most vital to humanity. For this sentence is not a mere
advisory caution; it points out the only available procedure, the one
course conducive to successful evolution, or final perfection. This
course may be briefly summed up in one word,—Rotation. Upon
examination we shall find this fact proved by the laws governing
Universal Brotherhood.
To begin with, when we take into consideration the personalities
of the real Founders of the Theosophical Society, we find ourselves
safely concluding that the institution of this principle of Brotherhood
as the basis of that Society, did not occur from any arbitrary
selection, nor yet from ethical or even humanitarian considerations
merely. We may say that it was not chosen; it presented itself as a
central fact, one which correlates with all things, and is itself one of
the aspects of the Great, the Mysterious Law. It must be moreover
that level of the Law most nearly related to the human being, and by
which alone he can raise himself from this “Slough of Despond”
called matter. Upon no lesser precedent than this would the Masters,
those supreme exponents of the Law, proceed. The outcome and
teaching of that Law is Unity; the power of Unity is its exoteric
expression. (Its hidden expression, Great Spirits alone can declare.)
This power is conferred by the economic tendency of Nature, which
uniformly moves along the line of least resistance and of larger
currents of energy, which draw in turn all minor streams of being
into their resistless tide. In order to bring home to all mankind the
primary fact that only as a united body, only by living in and working
with and for all, can unbroken advance to the Perfect Goal be
achieved, this unitarian necessity had to be conveyed by a term
which would appeal to the untrained, as well as to the cultured
mind. No man or woman so grossly ignorant but can sense the
advantages of “Universal Brotherhood,” while the more profound the
thinker, the more he warms to the sublime comprehensiveness of
this idea.
Many readers will doubtless recall an italicised sentence in the
“Diary of a Hindu,” also published in The Path. It ran as follows:—“No
Yogee will do a thing unless he sees the desire in another Yogee’s
mind.” These were the words of a teacher, and those who may
require it have here an authoritative recognition of the need of
humanitarian unity. For man’s strength lies in his perfect equilibrium,
and by man I now mean the whole, triune man. That this fact is also
true on the physical plane alone, is evidenced by medical testimony
to the effect that while perfect health is perfect balance, the more
complete this balance, the more readily is it disturbed. Thus trained
athletes are compelled to take dietetic and other precautions, which
men of minor strength disregard with apparent impunity. I say
“apparent,” because the result is of course visible in their inferior
physical powers. Only when the triune man has attained equilibrium
is he a moral force; then alone is he in complete harmony. Harmony
with what? With the Law that works for perfection or reunion, faith
in which and accordance with which, is the sum of the highest
consciousness of the human being. Now remember that there is at
all times a body, (be it numerically large or small,) of individuals
cognizing and waiting upon this Law. They perceive its tendency,
they only act with and through it, and the cumulative energy of this
compact body, plus certain impersonal forces, is in itself a
tremendous power, so vast in fact, that plus the energizing spirit
again, it may be said to form the exoteric expression of the Law
itself. Imagine some one member of this body attempting to act
from his separate impulse, and not from the general instinct. By
disengaging his unit of force from the sum total, he at once
neutralizes its effect and limits its expansive ratio; hence it is that
action from self, however disinterested, is enfeebling in its tendency.
This man may join himself to the powers of evil and act in opposition
to the Law: he has then the accruing benefit of that energetic total,
but this must fail in the long run, because it is minus the creative
spirit, which works for eventual harmony. So true is it that a given
cause produces similar results on all the planes alike, that in the
spiritual as in the physical world, there must be united action to
produce large results. The inutility of weak, single effort was
acknowledged by St. Paul when he said—“Because thou art neither
cold nor hot I will spew thee out of my mouth.” Unless the Yogee
therefore, perceives an idea in other related minds, as the reflection
of the Universal mind, he does not act. When the individual mind
has freed itself from all desire for personal action and resting in the
Universal Mind, acts passively with it alone, saying: “I rise with thy
rising, with thee subside,”—then the individual has attained Nirvana.
So that our present unit of power depends upon our greater or
lesser assimilation with the highest aggregate of mind, and its
continuance, upon our adherence to that manifested body of the
Universal Mind which works for Good, with faith into the Perfect Law.
This body in turn depends upon the individual efforts of its
members, for the continuous elevation and expansion of its highest
Ideal. Being thus interdependent, I think we may easily recognize
that Universal Brotherhood is the starting point towards final
success, and that its complete realization is the goal itself. Each may
attain Omniscience, but only as one of a body, not as a separate
part. “You shall enter the light, but you shall never touch the
flame.”160 So we may be part of the universal spirit, yet never that
spirit itself.
This Brotherhood then, in its harmonious equilibrium, implies
subservience to the Law of Evolution. The course marked out by this
Law is one of gradual progression through a series of interlinked
processes, not one of which can be intermitted or dropped, any
more than we can omit a link from a chain without break of
continuity, which would in this case imply a break of individuality,
either as applied to a member or to the whole body. We find this
course substantiated by Nature, who is our great initiator. Murdhna
Joti’s phrase about not rushing “into the circle of ascetics,” refers to
the rotation prevalent in Nature, and may be used in a large general
sense, and not merely applied to any especial circle, such as the
Hindu, Mahomedan, Christian or other group of ascetics. He refers to
the disadvantages consequent upon any violation of this rotatory
course; these apply quite as much to the farmer who fails to rotate
his crops, as to any thing or person rushing into any plane, before
being in all respects fitted to go there. Each plane in itself
constitutes a “circle of ascetics,” and must be entered in the proper
manner. In every department of Life we meet with an acceptance of
this fact. No man is admitted to the privileges of naturalization until
he has resided in a country, and has had time to accustom himself to
its manners and laws. It is ever held necessary to serve a certain
apprenticeship before entering any profession or trade. The social
usages even make “circles of ascetics” in this sense. A boor, a
ploughman, or even unsuitably attired persons, are not desired or
admitted in a parlor full of people in splendid array, and a natural
instinct makes them shrink from entering there. When exceptions
occur, there is an undercurrent of discord perceptible; all are alike ill
at ease. So in Nature, minerals, plants and animals are limited to
their proper sphere. Birds cannot swim nor fishes fly. I would say, as
birds or as fish per se they cannot do so, nor can the boor, as a boor,
be at ease with elevated minds. But advancement is the common lot
of all, provided it be made step by step in the natural series of
succession.
What then is this process in practical Life? It is, firstly, the
identification of yourself with the highest consciousness accessible
on your present plane, the engrafting upon your entire life of the
best ideal attainable, so that you may act upon it in every thought
and word. If you can do no more, select in your own mind the most
unselfish and pure-hearted person in your horizon, and study the
workings of such gracious aspirations and deeds. Noble ideals will
soon spring up within you, and by this lodestone similar minds will
swiftly be attracted, until you shall collectively form a nucleus of
persons identical in aim and influence. If one receives a ray of Truth,
he will speedily reflect it to all, and thus our attainment is largely
regulated by that of our compeers. Largely, but not entirely. There
are exceptional souls who progress with amazing velocity, far
outstripping the comrades of their starting-level. But even these
hearts of power reach up to the more perfect spirits above them,
and to feel this attraction they must have prepared themselves for it,
in the uniform, if rapid, rotation of previous existences. Each must
trace out the prescribed circuit, but he may travel fast or slow. Let
him not rashly conceive himself to be endowed with unusual spiritual
momentum: time is better spent in caution than in failure.
Murdhna Joti gives valid warning not to rush in until all is ready.
The circle is prepared, but you may not be so. Again, your fitness
may be assured and the circle for the moment closed. The course of
physical nature will exemplify my meaning. The blood leaves the
heart by the arteries and goes on to the capillary interchange with
the venous system, even as man descends from Spirit into matter,
and at the point of choice, turns, and reascends towards Spirit. The
veins take up the function of returning the blood to the heart; in
these are valves; they receive, hold and transmit the impulse from
the central heart. All the blood between any two valves has to stay
there until the next impulse comes from the heart; when this arrives,
it passes on. The valves close behind each quantum of blood thus
ejected through: it is not possible for the blood to recede;
retrogression is impeded by the closed valve. Nor can it remain;
progress is imperative when the next impulse drives it forward, and
so it goes on to the heart In the same manner each person should
stay in his appropriate place, not only until he is ready, but also until
the great Heart of all is ready to give the next impulse. Then he will
inevitably go on to the next place.
Masters have said that for “chelas and adepts alike there is an
abyss behind each step; a door closed. To stop or to go back is
impossible.” That which is true for the Adept is true for the humblest
disciple, each in his own manner and degree. It behooves us then to
concentrate our attention upon the natural and fitting method of
progression, and to assist those about us in maintaining a high
average of ideality, that the entire body may progress evenly,
steadily, and that nowhere may ignorance or undue haste clot or
clog the way. In the end, the reward of patience is holy. In every
effort you make to lighten the mind of another and open it to Truth,
you help yourself. “Those pearls you find for another and give to
him, you really retain for yourself in the act of benevolence. Never
lose, then, that altitude of mind. Never, never desire to get
knowledge or power for any other purpose than to give it on the
altar, for thus alone can it be saved to you. When you open any
door, beyond it you find others standing there who had passed you
long ago, but now, unable to proceed, they are there waiting; others
are there waiting for you! Then you come, and opening a door, those
waiting disciples perhaps may pass on; thus on and on. What a
privilege this, to reflect that we may perhaps be able to help those
who seemed greater than ourselves.”161
The consent of the Spirit has hallowed those thoughts. Another
Messenger of Truth once said:—“The first shall be last and the last
first; contain yourselves, therefore, in Peace.”
Jasper Niemand, F. T. S.

Thoughts in Solitude.

I.
Within the symbols and doctrines of the Christian Church may
indeed lie hidden all the truths of the Occult Philosophy, and another
and abler pen has already traced the correspondences, but it is
necessary to realize differences as well as likenesses, and while
Christianity, as a definite system, has embodied for the world many
noble ideas, it seems to the writer to have been able to display only
one fact of the divine jewel of Truth—to have been able to trace only
a short line of the celestial circle of Wisdom.
Putting aside all such unphilosophical dogmas, as a personal
anthropomorphic God—atonement by the vicarious sacrifice of
another—eternal damnation and such like, which may be regarded
as the outworks of the Creed, and which indeed many of its own
professors deny or minimize, and coming to the essential kernel of
the system—the inner stronghold of the faith—that which would be
regarded as such by all its truest sons throughout these nearly
nineteen centuries of its existence, it would yet seem to be but a
one-sided statement—a partial view—compared with the all-
embracing Catholicity of the Occult Wisdom.
Unfortunately the outworks and excrescences above referred to,
have, during these many centuries, so warped the thoughts and
feelings of the populations professing this religion that it is no longer
the pure and exalted doctrine as preached by its founder, but
something very different. There are, no doubt, here and there good
and noble souls, who practice the higher virtues of Christianity, but
they are in such a minority that they are quite unable to affect the
popular standard.
When one begins to analyse the stupendous outgrowth called
Western Civilization, of which steam and electricity, in their practical
uses, may be regarded as the types, and to ask how and by what
means this vast fabric has arisen, we are informed by those who are
able to see below the mere surface of things that the setting of
men’s minds in a certain direction must have been the factor, and it
is only logical that if a man’s highest religious duty is put before him
as the saving of his own soul from perdition, a tendency of mind
which may be characterized as the supremely selfish must naturally
be set in motion. When the converging lines of heredity through
many generations have so strengthened this tendency that it has
become a potent factor, the development “in excelsis” of the purely
intellectual faculties as dissociated from the moral will be seen to be
the inevitable result, and from this has naturally evolved the Western
Civilization which is spoken of with so much pride. But are not
nations like trees to be known by their fruits? “Do men gather
grapes of thorns, or figs of thistles?”
What sins are dwelt on with more emphatic reprobation
throughout the whole teachings of Christ than those of hypocrisy
and cupidity? And where is hypocrisy deeper than within the
Christian fold? So deep indeed, that it has become an integral part of
the nature, and is no more recognized as a vice than it was by the
Pharisees of old. And where is the worship of mammon more
rampant than throughout the length and breadth of Christendom?
The preachers of the Churches may utter faint-hearted protests, but
the nations nevertheless remain prostrate before their idol, and as
steam and electricity extend their sway, and new countries are laid
open to modern progress, the more primitive races, to avoid
extinction, join in the mad competition for wealth. But whether
conspicuously shown in the acts of States lustful to conquer fresh
territory, or hidden in the individual character, where it displays itself
in the haste to grow rich by fair means or foul, it remains none the
less a gnawing canker at the heart of Christendom.
What a gulf there lies between the practice of modern Europe and
the divine teachings of the Master.

“Lay not up for yourselves treasures upon Earth, where moth


and rust doth corrupt, and where thieves break through and
steal. But lay up for yourselves treasures in heaven where
neither moth nor rust doth corrupt, and where thieves do not
break through nor steal. For where your treasure is, there will
your heart be also.”
And again: “Ye cannot serve God and Mammon.”

There is probably no teaching more thoroughly altruistic in its


character, and which, if it could be literally applied, would exercise so
direct and beneficial an influence on the human race as the teaching
of Christ, but to the impartial student there seems to be none, the
spirit of whose revelation has been more perverted and degraded by
his followers of all denominations, and following the spiritual law
whose complement on the physical plane may be recognized in the
axiom that action and reaction are equal, the moral light to which
Christ’s teachings soared is the measure which decides the depth to
which such teaching, when perverted, must inevitably fall, and
Christendom may veritably be said to have become Anti-Christian.162
All the religions of the world have more or less lost the divine
afflatus by which they were originally vivified, but it has been
reserved for Christianity to mould the life of the nations from the
very blackness of the shadows cast by the “Light of the World.”
When we ask to what goal or catastrophe this Western Civilization
is hurrying, it is still more necessary to have the eyes of those who
are able to read the signs of the times. The following is an extract
from a letter to which many of the above ideas may be traced which
was signed “a Turkish Effendi” (in the absence of any right to
suggest the real and more authoritative name), and was published
by his correspondent in Blackwood’s Edinburgh Magazine of January,
1880:

“The persistent violation for centuries of the great altruistic


laws propounded and enjoined by the great founder of the
Christian religion, must inevitably produce a corresponding
catastrophe; and the day is not far distant when modern
civilization will find, that in its great scientific discoveries and
inventions, devised for the purpose of ministering to its own
extravagant necessities, it has forged the weapons by which it
will itself be destroyed. No better evidence of the truth of this
can be found than in the fact that Anti-Christendom alone is
menaced with the danger of a great class revolution: already in
every so-called Christian country we hear the mutterings of the
coming storm, when labor and capital will find themselves
arrayed against each other—when rich and poor will meet in
deadly antagonism, and the spoilers and the spoiled solve, by
means of the most recently invented artillery, the economic
problems of modern ‘progress.’ It is surely a remarkable fact
that this struggle between rich and poor is specially reserved for
those whose religion inculcates upon them as the highest law—
the love of their neighbor—and most strongly denounces the
love of money. No country which does not bear the name of
Christian is thus threatened.”

But to return from this long digression, take Christianity, I say, in


its loftiest ideal, as taught and practiced by its founder—and it
certainly is a very lofty one—altruism in its most sublimated form—
self-sacrifice incarnate upon Earth—giving of its life-blood to raise
the sons of men, and drawing all to Him by the sheer force of divine
love, until the believer’s heart is set on flame, and nothing seems
worthy in his eyes short of absolute union with this divine
personality who is at once his Saviour, his brother and his God.
Yet were you to analyse the thoughts and feelings of the most
ecstatic saint, would they display more than an ardent soul, a devout
mind and a holy life?
Those of the Dualist Philosophy might indeed argue that such an
one had his feet well planted on the narrow way—but the students
of the wider Philosophy of Nature know well that everything on
Earth—religion included—is under the governance of natural law.
The attainment of perfection is not to be achieved by sentiment
alone—it is a scientific process, and knowledge is the supreme
enlightener.
The devotion of Bhakti is indeed a necessary prelude to progress
in the religious life, under the guidance of whichever special cult the
neophyte may aspire, but it is as it were the outer court of the
Temple, and the Holy of Holies cannot be reached by any save those
who have attained knowledge.
Without some previous study of occult writings, this word
knowledge will entirely fail to carry home the idea which it is
intended to express, and let alone the liability to misinterpretation
from this cause, how can anyone pretend to describe it who has
himself none of this knowledge, who has not yet trodden one step of
the path that leads there, and who can only strain with vague
imagination towards the sublime conception of the inmost workings
of Nature through her manifold diversity laid bare before the intuitive
vision? However, although it is an act of temerity on the writer’s
part, these few words may convey some idea to those who are no
further on the path than himself.
When the lower states of consciousness have been so welded in
the fire of supreme emotion that duty, though involving the most
appalling sacrifice, is no longer a thing to strive after with pain and
struggle, but is a natural outcome of the life—the absolute
expression of unity with nature—when the higher faculties,
emotional, ethical and intellectual, whose respective functions may
be said to be the perceiving of the Beautiful, the Good, and the True,
have been so merged in one that the Buddhi or divine spark which
hitherto flickered, becomes a bright, steady, luminous flame—when
the “Explosion,” as St. Martin called it, has taken place, “by which
our natural will is forever dispersed and annihilated by contact with
the divine,”—then and then only is one fit to begin to tread the path
of knowledge.
That it leads altogether beyond human experience, and entirely
transcends what we can conceive is but too apparent.
The 15th and 16th Rules in the second part of “Light on the Path”
may help towards a vague apprehension of what this knowledge
means.
15th. Inquire of the earth, the air and the water of the secrets
they hold for you. The development of your inner senses will enable
you to do this.
16th. Inquire of the holy ones of the earth of the secrets they hold
for you. The conquering of the desires of the outer senses will give
you the right to do this.
And the final secret of all may be said to be wrapped up in the
mystery of “self.” When the knowledge of the individualization of
Being is reached, man has learned all that this world can teach him,
and in the words “Know thyself” lie folded the ultimate possibilities
of Humanity. Knowledge is indeed the supreme enlightener.
“There is no purifier like thereto
In all this world, and he who seeketh it
Shall find it—being grown perfect—in himself.”
Whether any intelligible idea as to the knowledge itself can be
evolved from what is here written—it will at least be apparent that a
goodness so exalted as to be scarcely imaginable as a human
attribute is required as the necessary qualification for the
commencement of the search.
Well did Shelley write in his Prometheus:
“The good want power but to weep barren tears
The powerful goodness want—worse need for them.
The wise want love; and those who love want wisdom.
And all best things are thus confused to ill.
Many are strong and rich, and would be just
But live among their suffering fellow-men
As if none felt: they know not what to do.”
and the current Theologies of the world have not been able to
remove the reproach. In the case of Christianity the failure may, to a
great extent, be owing to its sentimentality and its failure to realize
that to be supremely good it is necessary to be wise—though wise
with a higher wisdom than that referred to in the above lines.
But Christianity’s greatest fall has probably been its disregard of
the facts of Reincarnation. Whatever interpretation may be put on
the great Master’s utterance on this subject, and however the early
church may have regarded it, it is notorious that Christianity, as
interpreted by its mediæval and modern professors alike, has
entirely ignored the evolution of the soul progressing through
innumerable earthly existences, and has instead adopted the illogical
and unphilosophic dogma of a human soul born into the world from
nothingness and meriting by its 70 or 80 years of earth-life an
Eternity of bliss or an Eternity of misery.
But one does not expect of the child the reason-guided actions of
mature manhood—its teachings must be given in the form of
dogma, to which it must yield implicit obedience. Nor do we expect
the infant school to provide the same training that the University
does for the cultured intellect. Similarly the various Religions of the
world have been the infant schools for growing Humanity until the
complete stature of manhood should be reached.
It has been remarked by some Christians who are much enamored
of the self-devoted love exhibited by the Founder of their faith, and
the strong feeling of personal love and attachment thereby called
forth from them, that Theosophy is cold because it does not dwell
exclusively on that side of the nature, but while each separate
Religion that has existed in the world may be regarded as the
analysis of one special characteristic of the mind, the occult
philosophy gathers into one synthetical whole all its varied
characteristics. The different religions accentuating as they do
different truths may be regarded at the same time—according as
one looks at them from the scientific or religious standpoint—and
both views are equally tenable and mutually comprehensive—as
natural evolutions of the peoples among whom they arose, and as
revelations from the unseen universe of partial truths which have to
be received and assimilated before mankind can be fitted to
comprehend the Supreme Truth in its abstract purity.
It will be seen from the foregoing that what we call Theosophy is
the supreme expression of all Religion, as it is the final synthesis of
all Science—for it is faith merged in Knowledge.
When one looks abroad on the world and sees how few even
among the Religious, the Cultured and the Intellectual are able to
grasp the Truth by intuitive vision—while the masses of mankind are
sunk in degradation and semi-barbarity, the mind is lost in the vistas
of the future, during which the present Religions or those which may
have taken their place will have to continue their work of teaching.
Education is slow and Evolution is tardy, and the whole circle of
wisdom is slow to trace; but the march of Nature has been as it was
bound to be—for the best—and the line of Pope
“One truth is clear, whatever is is right.”
seems more and more to be borne in upon the mind as an Eternal
verity.
Destiny has guided us till now, and has made us what we are, but
we who now realize the omnipotence of the divinely guided Will,
have become potentially the makers—let us take it in our hands and
shape our own career, for the sooner we rise to the heights of our
Being, the sooner shall we be able to stretch down helping hands to
the suffering Humanity of To-day.
Pilgrim.

Tea Table Talk.

THE TENDENCY OF THE PRESENT CIVILIZATION.—An Ancient


Hindu Story.
Pretty much every subject comes up for discussion at our
afternoon tea-table. Hence I was not surprised lately, walking in
upon our five-o’clock callers, to find an argument on crime going the
rounds with the bread and butter.
“What is the worst thing you have seen in the papers lately?” This
question imparted the flavor of caviare to the mild refreshment of
the ladies. The Club Bachelor held a certain divorce case to be——;
the mother drowned the rest in the peremptory rattle of her tea-
cups and instanced cruelty to the child slave of an Italian padrone.
Sue let off a pyrotechnic series of wrath-compelling wrongs to
animals, whom she considers “miles above horrid humans.” The
widow pilloried that brutal subject of recent press dispatches “who
murdered his fifth wife at her tea-table. Fancy! What an invasion of
the Sanctuary.” Pretty Polly was also heard battling vi et armis with
the Medical Student over a breach of promise case, and all were
moderately heated over these comparative claims to condemnation
when the professor entered. Tumultuously appealed to, he replied in
his serious way that if he must discriminate between evils, he should
give precedence to the matter of the Chicago Anarchists. First,
because of the blood-shed and riot; second, because of recent
manifestations of incipient public sympathy with the criminals. “For,”
said he, “considering the infectious nature of the evil, a crime which
strikes at principles as well as at humanity is a thousandfold crime.”
A murmur of approbation showed that as usual, he had conveyed
the ultimate sense of the tea-table,—minus a paltry minority. For the
widow fixing her eyes on me where I had edged between Polly and
the Student, remarked that Mr. Julius looked “as if he sympathised
with incitors of riots rather than with their victims.”
The prompt horror visible on Polly’s face nettled me into this reply.
“Madam, your discrimination merits my homage, I am not totally
devoid of all sympathy with the incitors of riots,” (gutturals of dismay
from every throat,) “for those incitors,” here I bowed in a semi circle,
“are yourselves.”
The silent indignation of my peers was brought presently home to
my recreant soul by the mother’s gentle—“Really, Mr. Julius, you will
excuse me if I regret what you have just said.”
“Excuse me, you who are Charity itself, and read my clumsy
speech in the light of a declaration made by a Hindu theosophist—
Mr. Mohini: “Whence springs the great diversity of conditions, the
contemplation of which breeds Socialism? Is it not the direct
outgrowth of the passion of acquisitiveness? The more a Western
man gets, the more he wants, and while your world holds to this
principle you can never be free from the danger and fear of
socialism. The Brotherhood of Man which Jesus Christ believed in
has become unthinkable to you, with your millionaires at one end of
the scale and your tramps at the other.”163
“Do I understand you to conclude that Society, being responsible
for crime, should permit criminals to go unpunished?”
“By no means, Professor, but if you will excuse another quotation,
—‘Give moral restraint to moral maladies, and not impious
chastisements. Do not travel in a bloody circle in punishing murder
by murder, for so you sanction assassination in one sense and you
perpetuate a war of cannibals.’ * * Remember the condemned man
who said: ‘In assassinating I risked my head. You gain; I pay; we
are quits.’ And in his heart he added: ‘we are equals.’”
“Who said that?” queried the widow.
“Eliphas Levi, at your service.”
“Thanks. I’ve no use for French morals!” Under cover of this dart
she retired. What I love most in woman is her way of retreating from
the field of defeat with all the honors of war!
“Seems to me,” said Sue, emerging from a monopoly of tea bun,
“that things are just perfectly awful anyhow.”
“My Dear! What can you know about it?” remonstrated the
mother. Sue silently pointed a sticky and accusing finger towards
those philanthropic journals which cheerfully fulfil their mission of
household enlightenment] ad nauseam.
“Things are as they always were,” said the Professor smoothing
his philosophic beard.
The old Lady ruffled up in her shady corner. “By no means. When
I was young—”
The mother looked deprecatingly at me. “Mr. Julius, have you
never wondered why Life should be so dark? And yet there was once
a Golden Age!”
“The occultists say that every age has its own characteristics. This
is Kali Yuga, the dark age. In the Satwa Yuga, cycle of causes or
truth, the highest of the three conditions or states, known as Satwa
Guna, prevailed.164 Consequently in that age, men lived longer,
happier and more spiritual lives. In Treta, the second age, prevailed
Raja Guna the second condition, and the life period and happiness of
men decreased. In the Dwarapa, (third age) there was less of Raja
Guna. In the present Kali Yuga, there is more of Tamo Guna, and
this is the worst of the cycles.
“The characteristics of these grand cycles and the different minor
cycles are elaborately described in the sacred literature of the
Hindus. If it would not weary you I could tell a story which gives
some idea of the nature of cyclic influence and how coming events
cast their shadows before.”
Popular opinion, led by Sue, clamored for the story.
“This story is taken from a secret sanscrit book, called the Diary of
the Pandavas. It gives a diurnal account of the 18 years forest life of
five exiled princely brothers immediately previous to our dark age.
This book contains 18 x 360 stories describing the cumulative
tendency of sin, and it is said was used in the last yugas as the first
book of morals for boys;165 every story has its moral; the series
reveals the genealogy of evil, or of the descent of spirit into matter.
“The volume is secretly preserved for the training of occultists,
and the entire order in which the stories are arranged is only
revealed during initiations. An initiate who has passed three
initiations and is preparing for the fourth, is only shown that series
treating of such especial elements of his evil nature as he is then
preparing to convert into higher energies. In this story, the five
brothers are ideal kings. The eldest is regarded as an embodiment of
Dharma, (the Law itself,) an incarnation of the God of Justice, yet so
strong was the influence of the coming dark cycle, that one
Adharma, (transgression of law, injustice) occurred daily within the
palace. Late one evening the Maharaja, (elder brother) had retired
and was chatting with his wife. The four younger brothers were as
usual respectively guarding the four palace gates. Bhima, (the
terrible) wisest of the younger brothers was invariably at the chief
gate during the first three hours. To him comes a poor injured
Brahmin who asks to see the Maharaja immediately and knocks the
“Bell of Complaint.” The Maharaja sends a servant to say that he is
in bed and will hear the complaint next morning. The Brahmin saw
that the shadow of Kali Yuga had come and smiling, turned away.166
But Bhima would not let him go without knowing whether justice
had been done him. The Brahmin refused to reply; he would not sit
in judgment nor reveal the king’s faults. Bhima knew from the
petitioner’s silence that no attention had been paid to his case, and
ordered that a trumpet be sounded and a proclamation be thus
issued: “Strange that our just brother the Monarch has relied upon
to-morrow and sacrificed duty to pleasure.” The king heard the cry
of the trumpeter and coming hastily on foot, he overtook the
Brahmin, fell at his feet, heard and redressed his complaint, then
walked sullenly back. Kali’s influence was thus doubly seen. First in
the Monarch’s conduct and secondly, in that the younger brother
should presume to judge and to teach the elder. If even in the
palace of the five most law abiding persons, Kali played so powerful
a part, we may imagine her influence in other circles of life, amongst
the ignorant, or amongst us later mortals now when her momentum
has full swing.”
There was a brief silence. Then a shooting fire ray revealed a
divine gem in the Mother’s eye and her soft voice said lowly; “After
all, it seems that we are our brother’s keeper.” And no one gainsayed
her.
Julius.
Note.—Any one desirous of having queries answered, or of relating
authentic dreams, experiences, etc., is invited to communicate with
“Julius, Care The Path, P. O. Box 2659.” No attention will be paid to
anonymous letters.

Theosophical Work in America.

Boston.—The Boston T. S. meets every Friday evening. Mr. Mohini


M. Chatterji is stopping quietly with friends in Boston. He is not here
on a public mission, feeling that a different instrument is needed for
arousing general interest in Theosophy. He is always glad to see
Theosophists, however, and has set apart Monday, Wednesday and
Friday afternoons to receive them and other earnest inquirers. He
has a small class in the Bhagavat-Gita Tuesdays and Thursdays.
Interest in occult subjects is largely increasing this winter. Some
experiments by Mr. W. I. Bishop in “Thought Transference” have
done their share in directing public interest that way. It is amusing to
observe the crude theories to account for the phenomenon put
forward by some of the members of the American Society for
Psychical Research, which seems to have been organized for the
special purpose of not finding out anything. One of the members,
Rev. Minot J. Savage, however, comes out with the declaration that
three things are proven beyond doubt; Thought Transference,
Hypnotism, and Clairvoyance. There are rumors of a notable book by
a strictly anonymous author, and of special interest to Theosophists,
soon to be issued by a Boston publisher.
On Tuesday evening, December 21, by invitation of a well known
theosophist, the Boston and Malden Societies held a largely attended
joint meeting, to listen to Mr. Mohini Chatterji, who spoke on various
phases of Theosophy, and with his spiritual insight, eloquence and
learning, afforded questioners much light in the course of the
discussion that followed.
In the field of psychical research much interest has been aroused
by an able article by Mr. Charles Howard Montague, city editor of The
Globe, describing the results and nature of experiments by which,
after a few days’ trial, he was enabled to accomplish all that was
done by Mr. W. I. Bishop, in his so-called feats of mind-reading. Mr.
Montague says that it is not “muscle-reading,” but “impulse reading,”
or close attention to unconscious impulses given by the subject. As it
is absurd to seek a psychical explanation for what proves to be
physical phenomena, it is well for the public to know the truth and
not be deluded by the claims of Mr. Bishop and other public
performers. Mr. Montague does not pretend to account, by his
solutions, for the well-known cases of genuine thought transference.

Malden.—A largely attended open meeting of the Malden Branch,


T. S., held Monday evening, December 6, was addressed by Mohini
M. Chatterji on the Theosophical Aspects of the Christian Religion,
based on a study of the New Testament. The broad and tolerant
attitude of the speaker made a deep impression. At one of the
recent previous meetings a record of some religious conversations
held by the three Zuñi Indians who have been spending the summer
on the neighboring coast with Mr. Frank Hamilton Cushing, the
Ethnologist, was read and discussed, with one of their beautiful
folktales, both showing deep veins of pure Theosophy.

New York.—The Aryan Theosophical Society continues to hold bi-


monthly meetings, which have been well attended. In November,
Brother Mohini M. Chatterji and Col. Aymé addressed meetings. Col.
Aymé gave an address on Theosophy and Mathematics, with
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like