K ia jddlmZddlmZddlmZddlmZddlm Z ddl m Z m Z m Z Gdd e Zy ) ) _sympifyit)global_parameters) fuzzy_bool)S)_sympify)Set FiniteSetSetKindczeZdZdZd fd ZedZdZede dZ dZ dZ d Z ed ZxZS) PowerSetaEA symbolic object representing a power set. Parameters ========== arg : Set The set to take power of. evaluate : bool The flag to control evaluation. If the evaluation is disabled for finite sets, it can take advantage of using subset test as a membership test. Notes ===== Power set `\mathcal{P}(S)` is defined as a set containing all the subsets of `S`. If the set `S` is a finite set, its power set would have `2^{\left| S \right|}` elements, where `\left| S \right|` denotes the cardinality of `S`. Examples ======== >>> from sympy import PowerSet, S, FiniteSet A power set of a finite set: >>> PowerSet(FiniteSet(1, 2, 3)) PowerSet({1, 2, 3}) A power set of an empty set: >>> PowerSet(S.EmptySet) PowerSet(EmptySet) >>> PowerSet(PowerSet(S.EmptySet)) PowerSet(PowerSet(EmptySet)) A power set of an infinite set: >>> PowerSet(S.Reals) PowerSet(Reals) Evaluating the power set of a finite set to its explicit form: >>> PowerSet(FiniteSet(1, 2, 3)).rewrite(FiniteSet) FiniteSet(EmptySet, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}) References ========== .. [1] https://en.wikipedia.org/wiki/Power_set .. [2] https://en.wikipedia.org/wiki/Axiom_of_power_set c|tj}t|}t|tst dj |t|!||S)Nz{} must be a set.) revaluater isinstancer ValueErrorformatsuper__new__)clsargr __class__s Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/sets/powerset.pyrzPowerSet.__new__EsO  &//Hsm#s#077<= =wsC((c |jdS)Nr)argsselfs rrz PowerSet.argPsyy|rcT|j}|jr|jSyN)r is_FiniteSetpowerset)rrkwargsrs r_eval_rewrite_as_FiniteSetz#PowerSet._eval_rewrite_as_FiniteSetTs#hh   <<> !rotherclt|tsyt|jj |Sr)rr rr is_supersetrr$s r _containszPowerSet._containsZs)%%$((..u566rcnt|tr%|jj|jSyr)rr r is_subsetr's r_eval_is_subsetzPowerSet._eval_is_subsetas* eX &88%%eii0 0 'rc2dt|jzS)N)lenrrs r__len__zPowerSet.__len__esCM!!rc#Ktjg}tj|jD]A}g}t|}|D]}||z}||j ||j |Cywr)rEmptySetrr appendextend)rfoundxtempynews r__iter__zPowerSet.__iter__hss jj AD! A !!e  C  ! LL  sA5A7c@t|jjSr)r rkindrs rr;z PowerSet.kindustxx}}%%rr)__name__ __module__ __qualname____doc__rpropertyrr#rNotImplementedr(r+r/r9r; __classcell__)rs@rr r se9t ) (7)7 1" &&rr N)sympy.core.decoratorsrsympy.core.parametersrsympy.core.logicrsympy.core.singletonrsympy.core.sympifyrsetsr r r r rrrJs(,3'"'))m&sm&r