[Jprogramming] making this tacit

Don Kelly dhky at shaw.ca
Wed Oct 30 06:51:49 UTC 2013


You are right but it is a bit of serendipity  What I wanted is (a*b+ 
b*c+c*a ) % c a b .
it doesn't matter how the pairs are formed in the numerator ac+ba+cb is 
the same.
The objective is to have this sum divided by a c b a orde.r
The problem is in the notation. Single subscripts due to singular values 
are not adequate ( so the rotation is needed to preserve order of 
terminals in considering the physical setup of impedance elements 
connected in a triangular (delta or Pi) mode and the equivalent Y or T 
connection between the same terminals(consider 3 terminals connected in 
a Delta or triangle  vs a connection iin a Y between the same terminals
I have done some timing and space analysis  which, while of no practical 
meaningfulness for this particular situation , does indicate tmy 
original explicit approach suffers greatly compared to a tacit version  
and the automatically generated tacit version is not as effective as 
"designed" versions such as yours.  I will post these comparisons  but 
right now, bedtime and an excess of wine loom

Don Kelly
On 26/10/2013 3:23 PM, Mike Day wrote:
> Is this the sort of thing you wanted?
> It's worth noting that _1 |. y and 2 0 1 { y yield the same result,  
> so you don't need to use both forms in ytodel
>
> deltoya =: (*_1&|.)%+/                  NB. not tested for edge 
> effects.....
>
>
> ytodela=: ( +/@:* %] ) _1&|.
>
>
> deltoya ytodela 1j2 2j1 3
>
> 1j2 2j1 3
>
>
> ytodela deltoya 1j2 2j1 3
>
> 1j2 2j1 3
>
>
> Mike
>
>
> On 26/10/2013 04:36, Don Kelly wrote:
>> I have written a couple of explicit verbs for Y-delta network 
>> transforms and would like advice on how to express them in a tacit form.
>> This is for my learning benefit as the  use of these comes up only 
>> occasionally and input and output are  always only 3 numbers.
>>
>> deltoy=:3 : '(y*_1|.y)%+/y'  from Delta to Wye
>>
>> ytodel =:3 : '(+/(y*_1|.y))% 2 0 1{y'  Wye to Delta
>>
>> input and output are of the form  zij =: a b c where a bc may be real 
>> or complex
>>
>> my problem is getting around the multiple use of y I suspect that a 
>> train of forks might work but haven't got it yet.
>>
>> In addition is there an easier way to obtain pairs a*b b*c and c*a 
>> than what I have used?
>>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



More information about the Programming mailing list